This guide is currently available in Simplified Chinese.
CODEAGENT / PLUGINS
插件开发指南
CodeAgent 插件通过 plugin.json 声明扩展能力。可以组合任务指令、快捷命令、技能、受限专家和 MCP 服务。
最小可导入插件
建立 review-helper 文件夹,把下面的文件保存为 plugin.json。文件夹名须与 id 一致。
{
"manifestVersion": 1,
"id": "review-helper",
"name": "代码审查助手",
"version": "1.0.0",
"description": "为代码审查提供一个可编辑的任务草稿。",
"permissions": [],
"commands": [
{
"id": "review",
"title": "审查当前修改",
"prompt": "检查当前项目的修改,先说明正确性风险,再给出有证据的改进建议。需要修改文件时先说明计划。"
}
],
"sandbox": {
"mode": "declarative"
}
}从桌面端“插件”页导入文件或文件夹,审查并启用后使用命令。命令会填入可编辑的任务草稿,不会自动发送任务。
清单字段与贡献类型
id、name、version 必填。推荐声明 manifestVersion: 1 和 sandbox.mode: "declarative"。ID 为 1–64 个字母、数字或连字符,且以字母或数字开头。版本使用语义化版本。
| 字段 | 用途 |
|---|---|
instructions | 插件级任务说明,最多 40,000 字符。 |
tools | 现有内置工具的别名,须匹配工具所需的权限;不能用此字段定义新的执行实现或参数 Schema。 |
skills | 声明技能及其 tools、permissions、instructions。 |
commands | 带 id、title、prompt 的可编辑任务草稿。 |
agents | 基于内置工具白名单的受限专家配置。 |
ui | 静态 text、key_value、badge、command、agent 贡献;不接受 HTML、脚本或任意组件。 |
mcp | 独立进程的 stdio MCP 服务启动声明。 |
contributions | 可选的贡献类型列表;省略时根据实际字段推导。 |
publisher、signature | 发布者信息与可选 Ed25519 签名;签名可信仍需要本项目明确批准发布者。 |
插件采用声明式沙箱。客户端不会执行插件包内的 JavaScript、原生代码或 DSH 的 apply() 生命周期。扩展新工具应使用 MCP 接入。
权限与凭据
支持的权限名称如下;贡献所需权限必须同时包含在插件根级声明中。工具执行时仍受任务权限和审批约束。
workspace.read workspace.write
shell.execute network.access
credentials.read mcp.start
git.read git.write
artifact.read artifact.write插件工具别名的权限须与目标内置工具完全匹配。MCP 贡献的 permissions 须恰为 ["mcp.start"],根级也须包含它。
不要把密钥写入 plugin.json。MCP 的 environment 只声明 name、label、description、required、secret;用户在桌面端配置实际值。凭据由系统安全存储保护,按需传给服务进程。
验证与发布
下载的 JSON Schema 可用于编辑器提示;客户端的实际校验器是最终依据。若你有 CodeAgent 源码和已安装的开发依赖,可在仓库根目录运行:
pnpm plugin:validate -- ./review-helper此命令不是桌面安装包提供的终端命令。没有源码开发环境时,可以从插件页导入,通过预览查看校验结果。
- 验证 plugin.json,检查 ID、贡献引用和权限。
- 在桌面端导入、启用,并在测试项目执行目标任务。
- 发布包含根级 plugin.json 的文件夹或公开 GitHub 仓库。
- 让用户通过文件、文件夹或公开仓库发现流程导入,并重新审查。
你可以在 插件市场 下载官方插件与 Skill,或搜索公开 GitHub 仓库。当前不提供开发者自动上架、私有仓库凭据接入或自动升级机制。远程发现会固定仓库 revision 并校验内容;更新仍需用户重新导入和审查。
导入边界与常见错误
清单最大 64 KiB;文件夹最多 128 个常规文件、总计 8 MiB、8 层子目录;不接受符号链接,忽略 .git 和 node_modules。项目最多发现 64 个插件。审查令牌绑定项目、单次使用,有效期 5 分钟。
| 现象 | 处理方法 |
|---|---|
| ID 不匹配 | 保持直接子目录名与 plugin.json 的 id 一致。 |
| unknown field / invalid contribution | 对照 Schema 移除不支持的字段,检查贡献引用的 ID。 |
| permissions 不匹配 | 同时检查贡献声明与根级 permissions;工具别名需与内置工具要求完全一致。 |
| 已导入但不可用 | 确认已审查并启用、权限可用;MCP 插件另需正确启动服务及配置凭据。 |