← 文档中心

内置工具

参考

工具是 AI 与你的项目交互的唯一途径。DuoDuoCode 内置下列工具,模型只能看到其中已启用的部分

文件读写

工具说明
read读取文件内容
write写入整个文件
edit精确字符串替换,适合局部修改
apply_patch补丁式修改

edit / write / apply_patch 三者互斥:DuoDuoCode 按当前模型自动选择——GPT 系列(不含 gpt-4oss)使用 apply_patch,其余模型使用 editwrite,同一时刻只有一种改法暴露给模型。

搜索

工具说明
grep基于 ripgrep 的文本搜索,适合日志、配置、字符串等非代码内容
glob按模式匹配文件名
symbol_search单文件内的符号查询,精确到定义位置
graph_query知识图谱查询,用于函数/类定义、调用链、依赖关系
search_modifications查询本次会话造成了哪些文件改动

知识图谱就绪后,搜索行为会自动改变grepbash 的工具说明里会追加提示,要求模型用 graph_query 做代码结构搜索,而 grep 只用于文本。这让 AI 不再靠关键词瞎猜代码结构。

执行

工具说明
bash执行 shell 命令
webfetch抓取网页内容

bashwebfetch 是最需要关注权限的两个工具,建议保持 ask

任务与协作

工具说明
task派生子任务,交给另一个 Agent 执行
todowrite维护待办清单,让长任务进度可见
skill加载技能,注入领域专用的指令与工作流
question向用户提问并等待回答

question 仅在桌面端与 CLI 中启用;在服务端模式下默认关闭,可用环境变量 DUODUO_ENABLE_QUESTION_TOOL 强制开启。

记忆与知识

工具说明
recall_memory跨会话的长期记忆检索

详见记忆

阶段推进

proceed_to_investigateproceed_to_planproceed_to_executeproceed_to_verify——供 Agent 在调查、规划、执行、验证四个阶段之间显式推进,让长任务的状态可追踪。

多智能体协作

blackboard_readblackboard_writeblackboard_findblackboard_submit_draftblackboard_submit_stableblackboard_annotate——子 Agent 之间交换进度与草稿的黑板机制,仅在开启并行分发后使用。详见Agent 与子任务

按需启用

工具启用条件
lsp设置环境变量 DUODUO_EXPERIMENTAL_LSP_TOOL
plan_exit设置 DUODUO_EXPERIMENTAL_PLAN_MODE 且运行在 CLI
graph_query知识图谱索引就绪后自动出现
invalid内部占位,模型不应调用

关闭单个工具

用配置中的 tools 字段:

{
  "tools": {
    "webfetch": false
  }
}

更彻底的做法是用权限 deny——被拒绝的工具不会出现在给模型的清单里:

{
  "permission": {
    "webfetch": "deny"
  }
}

自定义工具

在配置目录下创建 tool/tools/ 目录,放入 .js.ts 文件:

~/.config/duoduocode/
  tool/
    deploy.ts      # 工具名前缀为 deploy

文件导出多个工具时,工具名为 <文件名>_<导出名>;若导出名为 default,则直接用文件名。

自定义工具会被追加到内置工具之后,参与同样的权限校验。

相关