5 分钟跑起来
// 从 git clone 到 AI 直接读懂你的代码库,只需四步。
01克隆项目并启动
$ git clone https://github.com/ilyuve/code-pop.git
$ cd code-pop
$ docker compose up -d
等待服务启动,访问 http://localhost:13000 打开管理后台(Docker Compose 将 Web 容器内 3000 端口映射到宿主机 13000)。
02配置 GitHub Webhook
进入 GitHub 仓库 Settings → Webhooks → Add webhook
| 配置项 | 值 |
|---|---|
| Payload URL | http://你的服务器:18080/webhook/github |
| Content type | application/json |
| Secret | 与 .env 里的 GITHUB_WEBHOOK_SECRET 一致 |
| Events | 选 Push |
配置完成后,每次 push 代码会自动触发索引更新。
端口说明:Docker Compose 默认将后端容器内 8080 映射到宿主机 18080;若你的部署方式为 8080 直通,则使用 :8080。
03MCP 接入 AI 工具
Claude Code
在 Claude Code 的 MCP 配置中添加(原生 Streamable HTTP 直连,无需 npx 转发,请将 18080 换成你的实际端口):
{
"mcpServers": {
"codepop": {
"type": "http",
"url": "http://localhost:18080/mcp/sse"
}
}
}
Cursor
Cursor Settings → MCP → Add Server,选择 HTTP 类型,URL 填写 http://localhost:18080/mcp/sse(端口按你的部署调整)。或写入项目根目录 .cursor/mcp.json:
{
"mcpServers": {
"codepop": {
"type": "http",
"url": "http://localhost:18080/mcp/sse"
}
}
}
使用方式
接入后直接在 AI 对话中输入:
帮我找一下用户登录的 JWT 验证逻辑
这个项目里哪里做了限流?
AI 会自动调用 CodePop 查询你的代码库并返回结果。
04核心概念:多路召回
CodePop 同时用五种方式检索代码,再经 RRF 融合 + 重排确保不遗漏:
符号检索(AST)
解析代码结构,按函数、类、方法精准定位,忘了名字也能按结构找到。
语义向量
BAAI/bge-m3 将代码转为 1024 维向量,理解语义而非字面。
BM25 关键词
经典文本检索,补充精确匹配能力。
稀疏检索
BGE-M3 稀疏向量按词权重召回,兼顾字面与语义。
图链路
调用关系图检索,跨文件串联上下游实现。
05环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
| DATABASE_URL | - | PostgreSQL 连接串 |
| EMBEDDING_MODEL | BAAI/bge-m3 | 嵌入模型 |
| EMBEDDING_DIM | 1024 | 向量维度 |
| GITHUB_WEBHOOK_SECRET | - | GitHub Webhook 密钥 |
| HF_ENDPOINT | https://huggingface.co | HuggingFace 镜像源(国内网络建议设为 https://hf-mirror.com) |
京ICP备2026012277号-2