编程 CodeSchema:Go 单二进制索引服务,12 个 MCP 工具里 impact / tests 默认是断的

2026-09-25 21:08:28

CodeSchema:Go 单二进制索引服务,12 个 MCP 工具里 impact / tests 默认是断的

CodeSchema 是给 AI 编码助手「喂」代码上下文的索引服务,发布日期 2026-09-03。它扫描仓库、抽取结构、存进三层存储,再通过 MCP / HTTP 按需返回裁剪好的代码片段,避免把整个仓库塞进 Cursor / Claude Code / Cline 的上下文窗口。

数据流大致是:文件(JSON) → 三层存储(符号/标签)→ MCP Server(SSE / stdio)→ VS Code / Cursor / Claude Code / JetBrains;另有一套 REST 接口(OpenAPI)。

构建与启动

# 主仓库在 Gitee;idcu-go 也需 clone 到同级目录,详见 README「开发前必读」
git clone https://gitee.com/idcu/code-schema.git && cd code-schema

make build
# 或:go build -o codeschema ./cmd/codeschema

./codeschema scan ./your-repo   # 扫描仓库并入库
./codeschema mcp --addr :8080   # 启动 MCP Server(SSE,端点 /sse)

接入客户端

  1. 启动 MCP:./codeschema mcp --addr :8080
  2. 打印配置:./codeschema mcp --print-config,直接输出 VS Code / JetBrains / Claude Code / Cursor / npx 五类接入片段
  3. 在客户端粘贴,即可调用 12 个 MCP 工具:search_symbols / context / impact / tests / affected / get_call_graph / search_config / find_dependencies / get_tags / search_by_tag / get_all_tags / list_projects

目前能力

  • 22 个 HTTP 路由:/context /impact /tests /search /tags* /projects /metrics /openapi.json /docs /viz(向量索引可视化仪表盘)等
  • 双路检索:符号图精确检索 + 向量语义检索(FTS + 向量融合重排);低置信度结果默认过滤
  • 增量监听:fsnotify 原生监听 + 轮询,300ms 防抖合并,改完即更新
  • 多租户:一个进程服务多个隔离仓库,按 project / X-Tenant 路由
  • 可观测与安全:结构化日志、Prometheus 指标、Bearer 认证、限流、优雅关闭
  • 单二进制 / Docker / 多平台交叉编译

已知限制(作者自述)

  1. 影响面 / 关联测试 / 调用图默认返回空。 根因是默认正则解析器只填了「被调用方」,没有回填「调用方」(CallerFQN),调用图抽取不完善,导致 impact / tests / get_call_graph 在默认路径下基本是断的。LSP / SCIP 适配器已就绪,可作为补强路径。

  2. 语义检索精度有门槛。 默认构建免 CGO,语义检索走本地 TF-IDF 降级,R@1≈0.42;要拿到向量级精度(bge-small-zh-v1.5,R@1=1.00),需要 go build -tags onnx + onnxruntime 动态库 + 模型文件。另外提供了内置 ONNX 的 codeschema:onnx 镜像。

  3. 多语言解析以启发式为主。 默认 30 种语言走正则轻量解析,调用关系抽取对 Go / Python 较准,其余语言偏弱;要更准的调用图,建议开 LSP 适配器(gopls / jdtls / clangd)。

  4. 项目仍在快速演进。 P0–P18 里程碑已交付,单测关联策略、AI 标签增强、更多语言的真语法树还在打磨。

复制全文 生成海报 Go MCP 开源项目 AI 编码

推荐文章

程序员茄子在线接单