Skip to main content
参考

工具

Qoder CLI 通过工具处理本地工作区和外部信息源。工具可以搜索和读取项目内容、修改文件、执行命令、获取网页内容、维护上下文,并通过 MCP 接入外部服务。 工具可以在交互式 TUI 会话和非交互式 Print Mode 中使用。实际可用的工具集合取决于当前会话、已启用的功能、MCP 配置和权限设置。 在 TUI 中使用 /tools 可以查看当前会话可用的工具。

搜索与探索

Qoder CLI 会使用搜索和探索类工具先理解当前任务,再决定下一步操作。
范围说明
文件在当前工作区中查找文件。
代码搜索代码、文本和配置文件。
目录浏览项目结构并定位相关路径。
Web当任务需要当前信息或公开资料时搜索网页。
网页内容获取指定网页的内容。

读取项目上下文

Qoder CLI 可以读取文件和其他项目资产,为当前请求收集上下文。
功能说明
查看文件读取源代码、文档、配置和其他文本资产。
读取大文件当文件过大时,只读取相关片段。
读取文档类资产在支持时读取 PDF 等文档格式。

编辑文件

当任务需要变更时,Qoder CLI 可以在工作区中创建或修改文件。
功能说明
修改文件对已有文件进行定向修改。
创建文件新增源代码、测试、文档或配置等文件。
编辑 Notebook在支持 Notebook 的场景中修改 Notebook 内容。
文件编辑会经过权限系统。根据权限模式和规则,Qoder CLI 可能直接应用变更、请求确认,或阻止操作。

执行命令

当任务需要本地执行时,Qoder CLI 可以运行 shell 命令。
功能说明
运行命令执行构建、测试、打包、Git 检查、项目排查或自定义 shell 命令。
运行长任务跟踪耗时命令,例如测试套件或开发脚本。

后台命令与事件监控

当后续工作不依赖命令的即时结果时,Qoder CLI 可以把 shell 命令放到后台运行,让主会话继续处理其他工作。明确要求后台运行的命令无论执行时间长短,都会建立后台任务;任务完成、失败或需要处理时,结果会自动返回所属会话,无需反复询问进度或运行轮询命令。
后台任务启动 -> 主会话继续工作 -> 完成通知返回 -> 主会话处理结果
对于日志、部署状态、测试观察等持续产生事件的场景,Qoder CLI 可以启动事件监控。监控命令每输出一个完整行,就会把该行作为事件通知主会话。监控命令应只输出需要关注的事件,避免直接转发高频完整日志。 在 TUI 中输入 /tasks,可以查看后台 Shell 和 Subagent 的状态与输出,并停止仍在运行的任务。后台任务结束后,完成通知会回到主会话,由 Qoder CLI 根据结果继续处理。 Shell 命令通常比只读操作风险更高。建议用权限规则允许常规命令,并对敏感命令设置询问或拒绝。 启用 Shell 命令前缀后,Bash 工具会在完整 shell 命令组装完成后通过配置的可执行 wrapper 运行。权限检查和命令展示仍使用原始命令。wrapper 必须执行收到的单个命令参数,并保留进程输入输出和退出状态。

管理上下文

部分工具用于帮助 Qoder CLI 维护当前任务和会话状态。
功能说明
跟踪任务在工作过程中维护轻量级计划或任务列表。
澄清问题当缺少决策或关键信息时向用户提问。
管理记忆在记忆能力可用时保存长期信息。
使用 Skills在配置后加载特定领域的说明或工作流。
规划工作当任务需要先分析再执行时进入或退出 Plan Mode。
记忆和 Skills 会为模型提供上下文,但它们不是安全边界。需要强制策略时,请使用权限规则和 Hooks。

分派与自动化

当当前环境启用相关能力时,Qoder CLI 可以使用分派和自动化能力。
功能说明
Subagents将特定工作分派给专门的 Agent。
Workflows运行已配置的可重复工作流。
Goals跟踪并执行较长周期的目标。
Worktrees当需要并行会话时,在独立 Git worktree 中工作。
定时任务在调度能力启用时创建或管理定时任务。
具体可用范围取决于产品配置、功能开关和当前会话。

MCP 工具

Qoder CLI 可以连接 Model Context Protocol(MCP)服务,以使用外部工具和数据源。MCP 服务配置完成后,它们的工具会出现在同一个 /tools 视图中,并经过相同的权限系统。 MCP 工具适合接入 Issue 系统、代码托管平台、数据库、浏览器自动化、内部平台或企业自定义服务。 MCP 配置请参考 MCP Servers

控制工具使用

工具是否可见和工具是否允许执行是两件事。
控制项说明
--tools限制当前会话中可见的工具。
--allowed-tools预先允许指定工具或工具模式。
--disallowed-tools阻止指定工具或工具模式。
permissions.allow / permissions.ask / permissions.deny写在 settings 文件中的持久化权限规则。
tools.exclude启动时从发现结果中移除工具。
示例:
# 只读探索
qoder --tools Read Grep Glob --allowed-tools 'Read,Grep,Glob'

# 允许常用状态检查命令
qoder --allowed-tools 'Read,Grep,Bash(git status)'

# 在非交互式审查中禁止文件编辑
qoder -p "review this repository" --disallowed-tools 'Write,Edit'
权限模式、规则语法和判定顺序请参考 权限。拦截工具调用的 Hook 用法请参考 Hooks