关于 CodeNib
CodeNib 为编码 Agent 提供本地代码搜索和类型化符号图,用带源码引用的上下文导航代码仓库。它面向使用 Claude Code 或 Codex 的开发者,并支持多种语言的图后端。
主要功能
- 01按相关性搜索源码上下文
- 02类型化符号和依赖图
- 03追踪调用方、被调用方和引用
- 04导出带源码引用的 Wiki 页面
- 05本地运行,无需模型或 API 密钥
适用场景
- 01定位仓库中的功能实现
- 02追踪代码符号之间的依赖
- 03将带引用的仓库发现发布为 Wiki
MCP 相关
CodeNib 提供 MCP 集成,将本地搜索和代码图连接到已安装的 Agent 客户端。其 MCP 工具包括 `explore_context` 和 `dependency_subgraph`。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
找到合适的代码,追踪调用链。
为 Claude Code 和 Codex 提供源码上下文,以及跨语言的类型化图导航。
在 100 个真实问题上,代码块 Recall@5 达到 71.4%。
模型规划的 grep → Jev:与使用相同 grep 候选项但不重新排序相比,提升 12.8 个百分点。
实验结果 · 方法与局限
与 Agent 配合使用 · 浏览 Wiki · 语言 · 复现 · 发行版本
▶ 观看 15 秒回放 · 真实 CLI 输出 · 已压缩等待时间 · 固定源码、文字记录和设置详情。
快速开始
需要 Python 3.10+、Git、干净的代码仓库,以及 Claude Code 或 Codex。
python -m pip install "codenib[graph,mcp]"
codenib codegraph init /path/to/your/repo
然后向你的 Agent 提问:“使用 CodeNib 的 explore_context,找出请求重试行为的实现位置。请注明文件和行号。”
这条正式发布的使用路径会构建本地搜索和类型化符号图,然后连接已安装的 Agent 客户端。CodeNib 本身无需模型、API 密钥或 GPU;你的 Agent 会使用自己的模型。此路径与上方的 grep/Jev 实验相互独立。语言工具链和项目先决条件因项目而异。
安装与故障排查 · 源码排除项 · 所有 MCP 工具 · 本地 Wiki
为什么选择 CodeNib
- 检查证据。 获取有范围限制的代码上下文,并附带文件和行号引用, 然后追踪调用方、被调用方、定义和引用。
- 跨语言使用相同的工具。 注册表跟踪 14 种语言条目,其中 12 种支持图后端。请在语言矩阵中查看能力和设置方面的差异。
- 在相同源码上比较方法。 固定的 Agent 契约、数据集和评分器检查,让复现范围可供检查。
- 分享你的发现。 将带有源码引用的 Wiki 导出到你自己的 GitHub Pages,或浏览 公开示例。
对比
截至 2026-09-28,根据上游文档核查 Agent 可以向每种工具提出的问题。 此处比较的是功能,而非基准测试分数。
| 工具 | 可用自然语言提问 | 可追踪超过一跳的调用方/被调用方 | 关系解析方式 | 运行位置 |
|---|---|---|---|---|
| grep / read | 否;字面匹配或正则表达式 | 否 | 文本匹配 | 本地 |
| CodeNib CodeGraph | 是;排名后的源码锚点(explore_context) | 是;一次调用,深度 ≤ 8(dependency_subgraph) | SCIP/LSP 索引器(由编译器解析) | 本地 |
| Serena | 否;符号名称或正则表达式 | 每次调用一级(find_referencing_symbols) | 实时语言服务或 IDE | 本地 |
| CodeGraph (colbymchenry) | 是;FTS5 全文搜索(codegraph_explore) | 是;codegraph_explore 中的调用路径 | Tree-sitter AST 提取 | 本地;可选择退出遥测 |
| DeepWiki public MCP | 是;生成式回答(ask_question) | 无结构化图工具 | 生成的 Wiki | 托管 |
这些代码库工具都不需要自带模型或 API 密钥;你的 Agent 使用自己的模型。详细对比、来源和界限。 CodeNib 0.2.4 还包含可选的 grep → Jev 路由,使用 OpenRouter 进行规划和重排序;选定的代码会发送给远程模型。授权预览仍为自选启用。上文的历史研究结果与产品评估及无模型的 CodeGraph 行相互独立。
语言
图后端:Python、Go、Rust、C/C++、C#、Java、Ruby、PHP、Kotlin、 Scala、JavaScript 和 TypeScript。Swift 和 Lua 支持分块/检索。 不同语言的提供方前置要求和覆盖范围各不相同。
生成的语言矩阵 分别列出分块、图后端、增量后端支持和解码器一致性。产品目前会复用或重建视图;尚未启用文件级增量修复。
结果与复现
| 从这里开始 | 可检查的内容 |
|---|---|
| 上下文方法与支持矩阵 | 每种检索流水线、大模型工作流和 Agent 路由,按其读取的视图及搜索控制方分类 |
| 基准测试 | 本地化、Agent 上下文和定位层、证据级别,以及涵盖 CodeNib Base/Synthesis、SWE-bench Lite、Loc-Bench、SWE-Explore、Agent Retrieval Bench 和 ContextBench 的方法 × 基准测试矩阵 |
| grep → Jev 结果 | 100 个问题的检索对比、候选项控制、模型使用情况和限制 |
| Agent 集成矩阵 | 固定修订版本的 LocAgent、Agentless、CoSIL、OrcaLoca 和 RepoNavigator 契约;兼容并不意味着复现了论文中的分数 |
| SWE-Explore 验证 | 在固定的 20 个案例运行中,1,020/1,020 个真实输出指标单元格均与固定版本的官方评估器匹配 |
| DGX Spark 部署 | 在 GB10 上运行本地 Wiki、CodeGraph 和模型服务;这是部署指南,不是节省令牌的基准测试 |
文档与社区
文档 · 架构 · 贡献指南 · CI 与测试 · 更新日志 · Discord
CodeNib 目前处于 beta 阶段;稳定版发布前,公开接口可能会发生变化。 历史研究资料保留其已发布的数据集标识符。
引用
如果您在研究中使用 CodeNib,请引用我们的 arXiv 论文:
@misc{yu2026codenibmultiviewdataserving,
title={CodeNib: A Multi-View Data System for Serving Repository Context to Coding Agents},
author={Zhongming Yu and Hengjia Yu and Boqin Yuan and Shuting Zhao and Yizhao Chen and Aryan Dokania and Mihir Jagtap and Jiayu Chang and Yitong Ma and Yash Jayswal and Wentao Ni and Hejia Zhang and Zhaoling Chen and Gangda Deng and Jishen Zhao},
year={2026},
eprint={2607.25431},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2607.25431},
}
CodeNib 根据 Apache 2.0 许可证授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。