🌍 开源一站式 GEO(生成式引擎优化)引擎 — 从关键词发现、9 维评分、AI 可见性探测到多平台自动发布,全流程工程化。
🇬🇧 English | 🇨🇳 简体中文
gitgeo 是一套完整的 GEO 工作流引擎。大多数内容系统止步于「关键词 → 生成 → 发布」。gitgeo 多做了一步:测量你的内容是否真的被 AI 引用,把测量结果反哺给下一轮生成。
本项目源于四川深亚电子科技有限公司的真实 GEO 业务需求。📧 huangkuifu010@gmail.com
关键词发现 → 证据采集 → Prompt 组装 → 9 维质检 → AI 探测(4 平台 × 2 端)
→ 反馈写回 → 自动内链 → 多平台发布 → 审计追踪
DeepSeek / 豆包 / Kimi / 元宝(混元),桌面 + 移动端各探测一次。每篇文章 8 个探测通道,检测品牌提及、引用线索、证据标签命中率。
from core.active_prober import ActiveProber
prober = ActiveProber()
results = prober.probe_all("PCB阻抗控制") # 8 个通道同时跑探测结果自动提取「工程实践 / 官方文档 / 标准文档」等引用标签,未命中的标签写回为下一轮 Prompt 的优化约束。
字数深度、H2 结构、数据表格、FAQ、参考文献、首句定义、违禁词、逻辑链、标题质量。低于 80 分自动返修,最多 3 轮。
基于 CloakBrowser(Playwright + 57 C++ patches)的反检测浏览器引擎。加新平台 = 写一个 Adapter 类,4 个方法。
class MyPlatformAdapter(PlatformAdapter):
platform_key = "myplatform"
async def login(self, engine, *, headless=False): ...
async def check_auth(self, engine): ...
async def publish(self, engine, article): ...
async def get_status(self, engine, article_id): ...已实现:知乎、微信公众号、DEV.to、Telegraph、DryRun。登录态保存到 config/auth/(已加入 .gitignore)。
品牌可验证能力参数的结构化存储与引用溯源。12 组能力条目 + 11 条证据来源,生成时自动查询。
Next.js 14 页管理系统,亮色/暗色双主题。Demo Mode 无需 API Key。
| 层 | 技术 |
|---|---|
| 数据库 | PostgreSQL 17 + pgvector |
| ORM | SQLAlchemy 2.0 async |
| 后端 | FastAPI (Python 3.12+) + 27 条 API 路由 |
| AI 编排 | 6 Agent 流水线(Scout → Writer → Checker → Fixer → Linker → Prober) |
| LLM | OpenAI 兼容 API(DeepSeek v4-pro / GPT-4 / Claude) |
| 浏览器引擎 | CloakBrowser(反检测 Playwright) |
| 前端 | Next.js 14 + React 18 + Tailwind CSS |
| 向量存储 | ChromaDB |
| 测试 | pytest + httpx + AsyncMock(12/12 passed) |
| CI/CD | GitHub Actions(PostgreSQL service + test + GEO review) |
| 部署 | Docker Compose |
git clone https://github.com/xxxbozzz/gitgeo.git && cd gitgeo
cp .env.example .env
# 编辑 .env: 填入 GEO_LLM_API_KEY
docker compose up -d首次启动自动初始化 PostgreSQL 表结构 + 导入种子关键词。
本地开发(不需要 Docker):
# 需要本地 PostgreSQL 17+
brew install postgresql@17 && brew services start postgresql@17
createdb geo_engine
psql geo_engine -f database/init_postgres.sql
pip install -r requirements.txt
GEO_LLM_API_KEY=sk-xxx uvicorn backend.app.main:app --port 8001跑测试:
# 本地(mock DB,6 passed, 6 route-check)
pytest backend/tests/ -v
# 真 PostgreSQL(12/12 passed)
GEO_TEST_DB=1 DB_HOST=localhost DB_USER=geo_app DB_PASSWORD=xxx pytest backend/tests/ -v已构建并推送至 GitHub Container Registry:
docker pull ghcr.io/xxxbozzz/gitgeo:latest镜像包含(4.3GB,全预装,拉取即用):
- CloakBrowser 反检测 Chromium(140MB 预下载)
- Playwright Chromium + Firefox + WebKit
- PostgreSQL 客户端工具
- 全部 Python 依赖
或通过 Docker Compose 使用完整环境:
docker compose up -d
# PostgreSQL + Backend (FastAPI :8001) + Dashboard (Streamlit :8503)
# + ChromaDB + Scheduler — 全部就绪# LLM(必填)
GEO_LLM_API_KEY=sk-xxx
GEO_LLM_BASE_URL=https://api.deepseek.com
GEO_LLM_MODEL=deepseek-v4-pro
# 数据库
DB_HOST=localhost # Docker 内用 postgres
DB_PORT=5432
DB_USER=geo_app
DB_PASSWORD=change-this-password
DB_NAME=geo_engine
# 品牌(可选)
TARGET_ENTITY_NAME=我的品牌
GEO_ORG_NAME=我的品牌
# 发布(可选)
WECHAT_APP_ID=xxx
WECHAT_APP_SECRET=xxx
GEO_ENABLE_LIVE_PUBLISH=false # 安全阀,必须显式开启| 指标 | 值 |
|---|---|
| API 路由 | 27 条(8 个模块) |
| 数据库表 | 12 张(ORM 模型) |
| Repository | 7 个 |
| 测试 | 12/12 passed(0.87s) |
| CI | GitHub Actions(PostgreSQL + test + GEO review) |
| MySQL 残留 | 0(全项目已迁移) |
| 发布适配器 | 5 个(知乎/微信/DEV.to/Telegraph/DryRun) |
| 探测通道 | 8 个(4 平台 × 2 端) |
本项目在早期得到了四川深亚电子科技有限公司的业务场景验证支持。
MIT © xxxbozzz













