找到值得复用的逻辑。
跨服务按词语、调用的函数或与草稿的相似性搜索,获取排序后的候选及匹配原因。
spec_nav_find_functions你需要的逻辑可能已经存在。帮助 AI 编程智能体找到并理解它,在修改前检查影响范围。
帮助智能体在确定实现方案前检查仓库。
跨服务按词语、调用的函数或与草稿的相似性搜索,获取排序后的候选及匹配原因。
spec_nav_find_functions在决定如何使用函数之前,检查实现、签名、文档及相关导入——一次调用最多 10 个函数。
spec_nav_read_function修改函数签名或行为前,检查调用方、动态用法和未解析的引用。
spec_nav_callers“添加订单费用计算前,先跨服务查找现有实现并阅读最合适的候选。”
spec_nav_find_functions
{ "query": "calculate order fees", "limit": 20 }随后阅读匹配函数,导入前检查服务边界。由编程智能体判断哪个合适。
在 README 中查看所有工具 ↗跟随一个订单费用请求,从用户提示到发现代码、修改、测试及交付。两个智能体遵循同一规则。
跨 billing、checkout、orders、invoicing 和 shipping:添加可选手续费减免,将集中费用从 5 改为 7,复用现有总额计算,更新调用方,检查费用的不同写法,并验证普通及免手续费总额。两侧遵循相同的复用与调用方规则。
rg --files -g 'package.json' services/ packages/ \ && cat package.json services/*/package.json
spec_nav_services
{}大型任务示意:探索部分显示 11 次 Grep/Read 与 9 次 spec-nav 调用;Grep 一侧像真实智能体一样,在一次 Bash 调用中串联多次搜索和读取。计数来自脚本,并非实测智能体。修改、测试与分页需额外调用。Immich 实测大型会话平均总调用 146.9 对 117.7,不证明整个任务只需几次调用或 MCP 工具运行更快。
需要 Node.js 18+、npm/npx、Git,以及待扫描仓库的本地副本。
.mcp.json ,放在目标仓库中。SPEC_NAV_ROOT 替换为代码库的绝对路径。/mcp,并检查 spec-nav 已连接。{
"mcpServers": {
"spec-nav": {
"command": "npx",
"args": [
"-y",
"github:khoitd-voyager/mcp-spec-nav"
],
"env": {
"SPEC_NAV_ROOT": "/absolute/path/to/your-repo"
}
}
}
}真实运行:Claude Code(Claude Sonnet 5.5)在 8 个 Grafana PR 上,对比纯 Claude Code 与一个不只是 MCP 的 spec-nav 设置:MCP + 说明 + 强制调用 spec-nav 的钩子。两者均通过全部隐藏测试;质量差异在噪声范围内,强制设置每会话成本约高 58%。仅 MCP 的设置尚未测量。其余测试采用确定性智能体策略,Token 数为估算值。引用前请阅读方法及局限。
查看真实 LLM 运行报告 ↗immich@cc7fd67 · 10 大型会话 · 已记录 2026-10-13
平均工具执行时间包含每个会话的新 MCP 服务器启动,不包含模型思考时间,并非 LLM 端到端延迟。
使用确定性智能体策略,而非真实 LLM。数值为每会话平均值。Token 按 3.5 字符/token 估算。大型会话合并 3 个功能请求。Immich 仅为一个真实仓库,结果不适用于所有项目。
局限:搜索仍基于词语;TS/JS/Vue/Svelte/Astro 的调用方经过类型检查,其他语言基于证据解析。覆盖可能不完整。单文件简单修改可能收益有限。