能力与密钥
插件先声明自己最多能使用哪些能力,每个 AI 节点再声明这一步实际用到的更小的子集。
{
"capabilities": {
"skills": ["requirements-analysis", "office-docs"],
"mcpServers": ["jira", "gitlab"],
"secrets": ["JIRA_TOKEN"],
"runtime": ["browser", "office"],
"network": true
},
"workflow": {
"nodes": [
{
"key": "analyse",
"type": "ai",
"config": { "prompt": "分析需求并形成基线" },
"capabilities": {
"skills": ["requirements-analysis"],
"mcpServers": ["jira"],
"secrets": ["JIRA_TOKEN"],
"runtime": ["browser"],
"network": true
}
}
]
}
}
节点不能申请插件没有声明的能力,否则导入时直接拒绝。节点的 capabilities 请始终显式写出。没写的旧插件会继承插件级的能力。
能力字段
| 字段 | 控制什么 |
|---|---|
skills | 这一步收到哪些 Skill,只下发列出的 |
mcpServers | 这一步能连接哪些 MCP 服务,具体工具再由绑定逐项批准 |
secrets | 逻辑环境变量名,不写值 |
runtime | 执行机必须具备的能力:files、terminal、repository、browser、office、computer |
network | 这一步能否联网 |
MCP 工具
节点限制这一步能连接哪些 MCP 服务,组织绑定再从服务实际提供的工具中逐项批准。
- 未批准的工具不会出现在 Agent 看到的工具列表里。
- 直接调用未批准的工具,会被 Hub 和 Runner 两侧拒绝。
- 插件不能借用底座自己的全局 MCP 配置绕过这些限制。
每一轮都带一张短期签名票据,调用预算是固定的。Hub 会限制总调用次数、并发数和工具列表的读取次数;某个连接连续失败时,会短暂停止调用它。下发给 Runner 的每个连接都有统一的超时和返回大小限制,在结果交给任何 Agent 底座之前生效。
执行机能力
runtime 声明执行机需要具备的条件,用于逐节点模拟和选择执行机。没有执行机具备该能力时,这一步不会退回到不具备能力的 Hub 服务器上执行。
网络
network 是给审查者看的声明;在底座支持时,它也会收紧工具策略。组织的执行机可以用自己的网络策略做更严格的隔离。
密钥
secrets 只列逻辑变量名,例如 JIRA_TOKEN。
- 在绑定里,管理员把每个名字映射到一个
runner-env类型的密钥引用。这个引用必须属于同一组织、已启用、并已通过探活检查。 - Hub 只向 Runner 发送"目标变量名 → Runner 上的来源变量名"。
- 密钥值不离开 Runner,只注入当前节点的子进程。
密钥值不会出现在插件、绑定、运行证据或日志里。插件定义、inputs 和 setup 都会拒绝密码、令牌、私钥和 API Key。
不是沙箱
Skill 和插件不是安全沙箱。只安装可信来源的插件,审批版本之前先查看权限摘要。
harness harnesses runtime runtimes 底座