# 打破黑盒 GEO,将证据还给用户。
**AI 是否认识你的产品?它如何描述你?没有点名品牌时,谁会出现在答案里?**
NiubiGEO 是开源、可自托管的 AI 品牌可见度与竞争观察工具。
输入一个域名,选择模型,直接查看回答、竞争对象、关键词与引用来源。
[](https://github.com/Albert-Weasker/niubigeo/releases)
[](../LICENSE)
[](deployment/docker.md)
[](https://github.com/Albert-Weasker/niubigeo/stargazers)
**[⚡ 立即部署](#quick-start) · [◉ 查看真实测试](#cases) · [↗ 官方服务](https://niubigeo.ai/) · [✦ AI 顾问](https://video.niubistar.com/niubigeo)**
[English](PRODUCT-GUIDE.md) · [项目主页](https://github.com/Albert-Weasker/niubigeo) · [发布版本](https://github.com/Albert-Weasker/niubigeo/releases)
---
## 你不缺另一个分数。你缺的是分数背后的回答。
当用户问 AI「有哪些产品可以解决这个问题」「哪一个更适合我」「有哪些替代方案」,你想知道的不是一个孤立的百分比,而是:
- **有没有提到你?** 没有点名品牌时,你的产品是否出现?
- **有没有说对?** 产品定位、能力和使用场景是否准确?
- **还提到了谁?** 哪些产品被放在一起比较?
- **依据是什么?** 回答引用了哪里,哪些描述可以回到原文核查?
NiubiGEO 把问题、模型、联网状态、原始回答与来源放在一起。打开一项结果,就能继续查看它背后的证据。
**QUESTION → MODEL → ANSWER → SOURCE → EVIDENCE**
**问题 → 模型 → 回答 → 来源 → 证据**
不隐藏问题。保留完整原文。不把一次回答包装成永久排名。
## 一次运行,看清四件事
01 · AI 怎样理解你
它是否认识这个域名?
认为品牌叫什么、做什么、属于什么类别?
把不同模型的回答放在一起,直接比较。
|
02 · 谁被放在你身边
模型提到了哪些竞争对象?
给它们关联了哪些关键词和使用场景?
打开原文,核对它实际说了什么。
|
03 · 没点名你时,谁会出现
用确认后的中性关键词继续测试。
回答出现了你的品牌、其他产品,
还是只解释了一个概念?
|
04 · 每条结论从哪里来
查看完整回答、原文位置与来源。
接口引用与正文中的普通 URL 分开记录。
失败和无法确认的结果也能回查。
|
> [!IMPORTANT]
> **品牌认知不等于自然发现。** 点名域名后能够识别,不代表用户询问某个品类时,AI 会主动提到或推荐你。NiubiGEO 将这两类测试分开呈现。
打开工作台实图:逐模型比较回答与来源
[](../examples/cases/R04/README.zh-CN.md)
*真实工作台截图,来自 2026-09-08 的 PostHog 公开测试记录。[打开对应回答与来源 →](../examples/cases/R04/README.zh-CN.md)*
## 证据,不是装饰
| 你需要确认什么 | NiubiGEO 保留什么 |
| :--- | :--- |
| **AI 回答了哪个问题?** | 测试协议、输入域名或关键词 |
| **哪个模型给出了回答?** | Provider、模型标识与运行记录 |
| **当时是否联网?** | 每个模型的联网设置、实际执行信息及无法确认状态 |
| **提到和推荐是一回事吗?** | 原始措辞、提及位置与判断结果 |
| **这个来源是谁返回的?** | Provider Citation 与正文普通 URL 分开记录 |
| **某次运行失败了吗?** | 错误、失败尝试与无法分析的记录 |
| **历史变化来自哪里?** | 每个数据点对应的运行与原始回答 |
为什么不只给一个“可见度百分比”?
百分比需要明确的范围和分母。NiubiGEO 保留模型、关键词、联网状态、测试轮次和可分析结果,让你从汇总回到具体回答,检查变化是从哪里来的。
没有足够证据时会怎样?
失败、歧义和证据不足会保留为失败或无法确认。你可以检查具体尝试、调整配置并重试,不必把没有成功取得的回答误当成品牌缺席。
## 从一个域名,到一条可复查的证据链
```mermaid
flowchart LR
A["输入域名"] --> B["选择模型
设置联网"]
B --> C["建立认知基线"]
C --> D["确认关键词"]
D --> E["自然发现测试"]
E --> F["查看回答与来源"]
F --> G["重复测量"]
```
1. **输入域名。** 为产品创建独立项目。
2. **选择模型。** 搜索 OpenRouter 模型,逐个设置是否联网。
3. **建立基线。** 查看各模型是否认识品牌、如何描述产品,以及提到了哪些竞争对象。
4. **确认关键词。** 选择值得继续观察的中性品类词和使用场景。
5. **运行发现测试。** 不点名目标品牌,查看回答实际出现了谁。
6. **检查证据。** 打开原始回答、来源、原文位置、失败和不确定项。
7. **继续观察。** 使用相同范围重复测量,或创建定时任务积累记录。
## 现在就运行
### Node.js
准备 **Node.js 22.13+** 和自己的 **OpenRouter API Key**。以下命令安装发布版本 `v0.2.0`:
```bash
git clone --branch v0.2.0 --depth 1 https://github.com/Albert-Weasker/niubigeo.git
cd niubigeo
npm ci
cp .env.example .env
```
在 `.env` 中填写:
```dotenv
OPENROUTER_API_KEY=your_key_here
```
启动工作台:
```bash
npm run server
```
打开 **[http://localhost:8787](http://localhost:8787)**,创建你的第一个项目。
使用 Docker 部署
```bash
git clone --branch v0.2.0 --depth 1 https://github.com/Albert-Weasker/niubigeo.git
cd niubigeo
cp .env.example .env
```
先在 `.env` 中填写 `OPENROUTER_API_KEY`,再启动:
```bash
docker compose up --build -d
```
打开 **[http://localhost:8787](http://localhost:8787)**。工作台和记录使用你自己的部署环境。
[Docker 部署说明](deployment/docker.md) · [备份与升级](upgrade.md)
> [!TIP]
> 还不想安装?先浏览 [20 组公开测试案例](../examples/README.zh-CN.md)。不需要 Key,就能查看测试条件、模型回答、截图和失败记录。
## 为长期观察而设计
| 你想做什么 | NiubiGEO 如何完成 |
| :--- | :--- |
| **管理多个产品** | 每个域名拥有独立项目、配置、运行记录和证据 |
| **对照多个模型** | 搜索、筛选与选择模型,分别查看结果;单个失败不吞掉其他模型的回答 |
| **逐模型设置联网** | 分别选择离线或支持的 Provider 原生联网方式,保留实际执行条件 |
| **核查品牌认知** | 查看品牌、业务描述、类别、竞争对象和关联关键词 |
| **检查自然发现** | 使用不含目标品牌名的中性关键词,观察实际提及与推荐 |
| **复核每条结论** | 从结果返回完整回答、可核查的原文位置与来源 |
| **追踪后续变化** | 重复运行或定时监测,从历史数据点打开对应证据 |
启用定时监测
在工作台确认项目、模型、关键词与定时任务后,还需要运行独立的监测 Worker。HTTP 服务本身不执行定时扫描。
源码部署:
```bash
npm run schedule:worker -- 60
```
Docker 部署:
```bash
docker compose --profile monitoring up --build -d niubigeo-worker
```
Worker 与工作台应读取同一数据目录。定时执行会产生模型调用费用;先确认任务范围,再启用。
[调度说明](deployment/docker.md#显式启用-worker) · [测量口径](measurement-methodology.md)
### 你的部署。你的 Key。你的记录。
- **开源:** Community Edition 使用 [Apache-2.0](../LICENSE) 许可证。
- **自托管:** 项目与运行记录保存在你的部署环境中。
- **BYOK:** 使用自己的 OpenRouter API Key,选择要测试的模型。
- **可追溯:** 从结果回到回答、来源和执行条件。
- **回答语言:** 可选择英文或简体中文;`v0.2.0` 部分界面仍为中文,具体语言支持见[版本说明](releases/v0.2.0.md)。
## 先看三个真实例子
以下是 2026-09-08 归档的公开产品测试记录,可以直接打开原始回答与截图。
Notion
同一个产品,不同模型看到了什么?
对照品牌描述、竞争对象和关联关键词,查看各模型强调的能力。
查看回答 →
|
Figma
没有点名品牌,回答里出现了谁?
用 Prototyping 测试,区分出现具体产品、解释概念与明确推荐。
查看发现测试 →
|
PostHog
来源与历史变化,能查到哪里?
打开引用、失败与三轮测量记录,其中包含一次定时触发。
查看证据 →
|
这些记录展示品牌认知、发现测试和证据查看;短间隔复测不代表长期增长。
**[浏览全部 20 组测试案例 →](../examples/README.zh-CN.md)**
## 看见问题之后,继续解决问题
开源版可以独立使用。如果希望团队协助测试、核查或改进内容,也可选择官方服务:
| 官方服务 | 你会得到什么 |
| :--- | :--- |
| **AI 可见度诊断** | 模型 API 回答、返回来源、人工事实核查与改进建议 |
| **真人 AI 测试** | 指定地区、语言、平台、网页或 App 下的实际回答、截图与来源 |
| **GEO 内容优化** | 根据诊断修改产品资料,补足缺失信息,并按约定范围复测 |
| **内容与发布** | 自选发布网站,包含免费代写与修改;稿件经你确认后发布,提供文章链接 |
付费报告由团队完成测试与核查;自行使用开源版不需要购买报告。[查看官方服务](https://niubigeo.ai/) · [与 AI 顾问交流](https://video.niubistar.com/niubigeo)
Growth Canvas 是什么?
Growth Canvas 是官方平台的可视化推广画布。输入产品或 GitHub 链接,选择推荐链路或自定义节点,把目标用户招募、产品试用、社区与创作者传播、网站文章发布和 GEO 复测组合为同一份计划,并在工作台查看预算、项目进度与交付。它属于独立的官方平台,不随 Community Edition 安装。
### NiubiStar × NiubiGEO
[NiubiStar](https://www.niubistar.com/) 支持 NiubiGEO 的开源开发,并为官方服务提供全球真人执行网络与相关推广资源。NiubiGEO 组织测试与交付,让开源测量和真实使用环境中的验证相互补充。使用开源版不要求开通 NiubiStar 账户。
## FAQ
NiubiGEO 免费吗?
Community Edition 免费开源。测试自己的项目需要自己的 OpenRouter API Key,并承担模型、搜索服务与服务器费用。阅读仓库里的测试案例不需要 Key。
不开启联网,也能测试吗?
可以。每个模型可以分别设置不联网或支持的 Provider 原生联网方式。NiubiGEO 保留实际执行条件,不把“请求联网”直接等同于“确认联网成功”。
只有一个模型失败,需要全部重来吗?
不需要。各模型独立运行,成功结果继续保留;你可以检查失败原因并单独重试。没有成功获得的回答不会自动变成品牌未出现。
为什么 API 结果和网页端不同?
模型版本、系统指令、搜索能力、地区、账号和界面都可能不同。Community Edition 观察配置的模型 API 回答;需要查看消费者实际使用的网页或 App,可另行安排真人测试。
修改网站后,能立即看到变化吗?
不一定。公开内容的发现、抓取和使用时间不同,AI 回答也可能波动。保留相同模型、关键词和联网条件重复观察,再检查变化对应的原文和来源。
能测传统搜索排名,或保证 AI 推荐吗?
当前工具观察 AI 回答,不提供传统搜索引擎排名监测。内容修改与发布也不能保证 AI 收录、引用或推荐。一次回答中的提及、引用与明确推荐分别判断。
如何理解指标、引用和测量边界?
查看 [测量方法](measurement-methodology.md)、[来源与证据](evidence-model.md)、[能力边界](limitations.md) 与 [已知问题](known-issues.md)。引用能帮助核查回答,但不能单独证明它造成了模型的推荐。
## GEO 原理与学习资料
在 NiubiGEO 官网了解 AI 如何检索与引用内容,以及怎样测试和优化品牌表现。
[资源总览](https://niubigeo.ai/resources) · [GEO 原理](https://niubigeo.ai/resources/principles) · [优化方法](https://niubigeo.ai/resources/methods) · [GEO 术语](https://niubigeo.ai/resources/glossary)
---
### GEO 不应该是一个无法解释的数字。
**它应该是一条你可以亲自检查的证据链。**
**[⚡ 部署 NiubiGEO](#quick-start) · [◉ 打开测试案例](../examples/README.zh-CN.md) · [↗ 访问官网](https://niubigeo.ai/)**
[GitHub Issues](https://github.com/Albert-Weasker/niubigeo/issues) · [参与开发](../CONTRIBUTING.md) · [support@niubigeo.ai](mailto:support@niubigeo.ai)
Open source under Apache-2.0 · Built with evidence, not promises.