工具¶
minacode 使用工具检查项目并执行操作。你描述目标,由 agent 选择工具。工具调用会在运行时显示在终端中,它们与你输入的 / 命令不同。只读工具可以并发运行;可能改变系统的操作会请求确认,除非已启用 --yolo 或 /yolo。
内置工具¶
工具 |
作用 |
|---|---|
|
读取一个或多个 UTF-8 文件中的指定行范围。返回的每一行都有可供后续编辑验证的锚点。 缩短后的结果如下: <Read path="minacode.py">
<file_stat mtime_ns="..." size="222039"/>
<total_lines>5031</total_lines>
<range>684:687</range>
<content hashline-numbered>
anchor=684:234ew | class Tool:
anchor=685:7xy0d | NAME: ClassVar[str] = ""
anchor=686:5exvk | DESCRIPTION: ClassVar[str] = ""
</content>
</Read>
在 |
|
使用不区分大小写的正则表达式搜索文本,也可限制路径或文件名模式。它会跳过隐藏文件、二进制文件和被 gitignore 的文件,并返回可编辑锚点。 |
|
通过代码索引查找定义、引用、实现、调用者、被调用者和文件 outline。它适合分析代码结构,而不是精确文本搜索。 |
|
通过插入、替换或删除内容来创建或修改一个 UTF-8 文件。执行锚点编辑时,
确认前,Edit 会预览拟议修改。¶ |
|
在项目中运行一条 shell 命令,并实时显示输出。运行超过
Bash 输出会随命令运行实时出现。¶ |
|
启动或管理后台命令:查看输出、等待、列出或停止。相同任务也可通过 |
|
当对话中只有缩短结果时,取回完整的早期工具结果或指定行范围。 |
|
当早期细节被 compaction 淘汰后,按 seg.N 键取回已存储的压缩对话摘录。也可以用不区分大小写的正则(如 |
|
维护任务 goal、plan、成功检查和已知事实。它帮助组织长任务,但不会编辑项目文件。 goal: ship the tokenizer fixcheck: pytest -q passesplan: - [x] reproduce the failing test - [~] fix the tokenizer - [ ] update the changelogknown: + tests run with pytest -q
Plan 条目使用 |
|
在确实需要用户决定时暂停。问题可以包含选项和推荐项。 Which approach? Select: j/k move, / search, Esc/q back/cancel> 1. Refactor (recommended) 2. Rewrite │ Extract module +87 -12
按 |
|
按需加载已安装 skill 的完整指令。仅当存在已安装 skill 时才会出现;见 Skills。 |
|
描述或调用已连接 MCP server 的工具,并读取其资源。仅在 server 连接后出现;见 MCP。 |
代码符号索引¶
minacode 内置代码符号索引,用于结构化导航:无需外部 language server 即可查找定义、调用者、引用和实现。索引会按项目分别构建。
它是什么¶
索引是从项目源文件中提取的符号(function、class、method、variable 等)静态数据库。它由 code-symbol-index 构建,支持多种语言。
索引可用时,InspectCode 可以:
按名称进行模糊匹配,查找符号
检查符号 — 显示其定义和成员
列出引用 — 项目中的 call、read、write 和 type 引用
遍历调用链 — 递归查找调用者和被调用者
文件 outline — 显示单个文件的符号树
询问 MCPManager 在哪里定义时,返回的是符号本身,而不是所有提到该单词的行:
每个结果都包含文件和行范围,因此 agent 可以只打开准确位置。同一索引也可以回答“谁调用它”和“谁实现它”。
备注
没有索引时,InspectCode 会报告索引不可用。在项目中运行一次 /index 即可构建。
构建与同步¶
运行 /index 构建或重建索引。首次构建会扫描所有源文件;后续构建会基于之前的快照同步,因此快得多。加上 force 可从头重建。
索引已存在时,minacode 会在启动时后台刷新。Agent 完成一轮后,会自动更新少量已修改的源文件;如果大量改动导致索引过期,请运行 /index。/status 会显示当前状态:
状态 |
含义 |
|---|---|
synced |
索引已同步,可以使用 |
stale |
索引已过期;等待后台刷新或运行 |
syncing |
正在后台刷新 |
missing |
索引尚未创建;运行 |
error |
索引构建或同步失败; |
项目索引保存在 .code-symbol-index/index.sqlite。支持 Python、JavaScript、TypeScript、Go、Rust、C、C++、Java 等语言。