Nella — 内拉
v0.2.7为非平凡的仓库提供代码库感知的搜索和索引,实现符号位置、调用跟踪、依赖检查和持久会话上下文。
运行时依赖
安装命令
点击复制技能文档
Nella MCP Nella 是一个为 AI 编码代理提供的代码库智能层。它通过 Model Context Protocol 将仓库暴露为一组可搜索的、结构化的工具,因此代理可以根据实际代码进行推理,而不是根据文件名或部分代码片段进行猜测。
何时使用 Nella 当以下情况之一成立时,使用 Nella 工具: 仓库非平凡(超过几十个文件),并且 grep 会返回太多假阳性。 用户询问行为、调用站点或关系,而不是字面字符串。 会话涉及多个回合,需要保持上下文(假设、先前的搜索、先前的决定)。 正在进行更改,依赖项漂移或影响分析很重要。 如果问题是纯粹的词法(在一个文件中找到一个字面标记),则 plain grep 或 view 更快,Nella 是过度的。
设置 软件包提供两个二进制文件:nella(CLI)和 mcp(stdio MCP 入口点)。 本地 stdio 配置用于 MCP 客户端: { "mcpServers": { "nella": { "command": "npx", "args": ["-y", "@getnella/mcp", "--workspace", "/absolute/path/to/project"] } } } 托管配置(推荐用于共享或始终打开的工作空间): { "mcpServers": { "nella": { "url": "https://mcp.getnella.dev/mcp", "headers": { "Authorization": "Bearer nella_your_key_here" } } } } 快速快捷方式用于 Claude Code:nella setup。对于其他客户端:nella connect --client 。
可用工具 工具 当调用它 nella_index 首次接触工作空间,或在大规模重构之后。传递 --force 以从头开始重建。 nella_search 默认查找。支持混合(最佳通用默认)、语义(概念级)和词法(确切标记)。 nella_get_context 在回答之前拉取当前会话内存,以便不会丢失先前的假设和搜索。 nella_add_assumption 记录任何非平凡假设(“此函数仅从工作线程调用”),以便稍后可以验证。 nella_check_assumptions 审查记录的假设,特别是在提交依赖于它们的更改之前。 nella_check_dependencies 检测索引和工作树之间的漂移,或显示更改的上游影响。 nella_heartbeat 验证工具调用之间的信任链连续性,在长会话中。
推荐流程 调用 nella_get_context 以加载任何先前的会话状态,开始一个非平凡任务。如果工作空间尚未索引,则调用 nella_index。跳过此步骤,如果索引已经是最新的。使用 nella_search(默认为混合)定位相关代码,然后再阅读文件。使用 nella_add_assumption 记录任何重要假设,以便在回合之间生存。在最终确定更改之前,运行 nella_check_assumptions 和 nella_check_dependencies。
搜索模式选择 hybrid:默认。结合词法和语义信号。使用时不确定。 semantic:概念查询(“我们在哪里处理速率限制”,“OAuth 的授权流程”)。容忍重述。 lexical:确切标识符、错误字符串或已知标记形状。更快,无嵌入成本。
代理注意事项 始终将绝对路径传递给 --workspace。相对路径在某些客户端中会默默失败。托管模式需要有效的 API 密钥。如果 nella_search 返回身份验证错误,请将其显示给用户,而不是盲目重试。索引可能会在大型存储库中落后于工作树。如果结果看起来过时,请调用 nella_index(不带 --force)以进行增量刷新。将 nella_get_context 输出视为会话中先前决定的权威。不要默默覆盖。