← 文档中心

插件与扩展

配置

DuoDuoCode 有三层扩展方式,按复杂度从低到高:

  1. 自定义工具 —— 写几行代码给 AI 加一个工具
  2. 插件 —— 打包分发一组能力
  3. MCP —— 接入标准协议的外部服务

方式一:自定义工具

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

目录位置见配置

~/.config/duoduocode/
  tool/
    deploy.ts
    notify.ts

文件内导出工具定义,每个导出对应一个工具。工具名为 <文件名>_<导出名>;若导出名为 default,则工具名就是文件名。

// ~/.config/duoduocode/tool/notify.ts
import { tool } from "@duoduo-ai/plugin"

export default tool({
  description: "发送通知到指定渠道",
  args: {
    message: tool.schema.string(),
  },
  async execute(args) {
    // ...
    return "已发送"
  },
})

自定义工具与内置工具一样参与权限校验

方式二:插件

在配置文件中声明插件:

{
  "plugin": [
    "my-plugin",
    ["another-plugin", { "option": true }]
  ]
}

两种写法:

写法说明
字符串插件名或路径,无配置
二元数组[名称或路径, 配置对象]

插件可以:

  • 注册自定义工具
  • 注册自定义 Agent
  • 注入提示词与指令
  • 注册终端插件(界面扩展)

方式三:MCP

需要接入标准协议的外部服务时,用 MCP 更合适。详见 MCP


终端插件

终端界面(TUI)也支持插件扩展,在 tui.json 中配置:

{
  "$schema": "https://www.dd322.cn/code/tui.json",
  "plugin": ["my-tui-plugin"],
  "plugin_enabled": true
}
字段说明
plugin终端插件列表
plugin_enabled是否启用终端插件总开关

技能(Skill)

技能是另一类轻量扩展:它不改代码,只在匹配场景时把领域专用的指令与工作流注入给 AI。

duoduocode gear search <关键>     # 搜索技能
duoduocode gear list                # 列出已安装
duoduocode gear install <id>        # 安装
duoduocode gear create              # 创建自己的技能

也可以在配置中追加技能目录:

{
  "skills": {
    "paths": ["./my-skills"]
  }
}

AI 通过 skill 工具在合适的时机加载技能。

相关