5 分钟跑起来
// 从 git clone 到 AI 直接读懂你的代码库,只需四步。
01克隆项目并启动
$ git clone https://github.com/ilyuve/code-pop.git
$ cd code-pop
$ docker compose up -d
等待服务启动,访问 http://localhost:3000 打开管理后台。
02配置 GitHub Webhook
进入 GitHub 仓库 Settings → Webhooks → Add webhook
| 配置项 | 值 |
|---|---|
| Payload URL | http://你的服务器:8080/webhook/github |
| Content type | application/json |
| Secret | 与 .env 里的 GITHUB_WEBHOOK_SECRET 一致 |
| Events | 选 Push |
配置完成后,每次 push 代码会自动触发索引更新。
03MCP 接入 AI 工具
Claude Code
在 Claude Code 的 MCP 配置中添加:
{
"mcpServers": {
"codepop": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-codepop"]
}
}
}
Cursor
Cursor Settings → MCP → Add Server,填写 CodePop 的 SSE endpoint。
使用方式
接入后直接在 AI 对话中输入:
帮我找一下用户登录的 JWT 验证逻辑
这个项目里哪里做了限流?
AI 会自动调用 CodePop 查询你的代码库并返回结果。
04核心概念:四路召回
CodePop 同时用四种方式检索代码,确保不遗漏:
AST 结构检索
通过 tree-sitter 解析代码结构,按函数、类、方法精准定位。
语义向量
BAAI/bge-m3 将代码转为 1024 维向量,理解语义而非字面。
BM25 关键词
经典文本检索,补充精确匹配能力。
编辑距离
模糊匹配,容错拼写差异和相近词。
05环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
| DATABASE_URL | - | PostgreSQL 连接串 |
| EMBEDDING_MODEL | BAAI/bge-m3 | 嵌入模型 |
| EMBEDDING_DIM | 1024 | 向量维度 |
| GITHUB_WEBHOOK_SECRET | - | GitHub Webhook 密钥 |
| HF_ENDPOINT | https://hf-mirror.com | HuggingFace 镜像源 |
京ICP备2026012277号-2