跳到主要内容

AW 能力支持矩阵

AW 用一份配置组合 Hook、受管 MCP 和策略更新,通过 aw run --config aw.yaml --agent <target> 选择目标。 本页按 Adapter 和启动模式说明可用范围;各行适用于所链接的版本和接线方式。

Hook 与 MCP​

八个 Adapter 均支持 tool.before 的观察与阻断,以及 tool.after 的观察。 一份配置可按目标和工具选择步骤,组合布尔命令、结构化 Provider 与原生 Hook 命令。 步骤选择方法见配置指南。

Adapter / 接入入口后置结果替换受管 MCP 接点可配置 withhold_result
Qoder CLI支持的成功 PostToolUse 结果;失败回调未接入无独立受管接点不支持
Qoder SDK不支持受管 createSdkMcpServer 的进程内 handler普通 resident 支持
OpenClaw运行时作用域内的原生结果槽位无独立受管接点不支持
Hermes原生工具结果槽位无独立受管接点不支持
QwenPaw支持的原生结果槽位managed_mcp_tools(client) 包装实际 ClientSession.call_tool普通 resident 支持
Pi SDK成功的单文本结果通过受管自定义工具接入 MCP 客户端不支持配置
Claude SDK获准的原生文本或受管 MCP 结果槽位resident 客户端配合 aw_claude.create_sdk_mcp_server 的进程内 handler不支持配置
AgentScope SDK支持的 middleware 结果无独立受管接点不支持

结果替换仅供结构化 Provider 修改获准的结果槽位,并保留原生回执和失败状态。 withhold_result 在后置步骤失败时阻止结果交付,适用于普通 Qoder SDK、QwenPaw 的 结构化 Provider 和布尔 Hook。Pi、Claude SDK resident 的回调故障会停止任务。 工具已产生的副作用继续生效,原生权限与拒绝保持优先。

受管 MCP 在实际 handler 或远端调用处检查身份、server、tool 和获准参数。 表中没有独立受管接点的入口,仅覆盖框架已暴露的原生工具回调。 选择入口时还需检查以下差异。

  • Qoder SDK 提供 Query 身份,缺少来源模型工具 ID;parentIdentity: "required" 会被拒绝。
  • QwenPaw helper 解析固定工具列表;动态 Toolkit(mcps=[client]) 发现需另行接线。
  • Claude 受管 MCP 仅替换成功、单文本且不含结构化内容的结果。Pi 沿用受管自定义工具的策略链。

MCP 接线、身份与取消规则见原生接入参考, 协议细节见结构化 MCP和 Claude MCP。 按工具的实际语义配置安全检查和输出压缩,保留结构化及多模态结果。

策略更新模式​

策略更新可修改 Provider、事件和 execution.default_event_budget_ms。 AW 校验完整候选配置,在确认实例空闲后显式激活;配置文件变更不会自动触发更新。 每个任务的工具前后检查和受管 MCP 使用同一策略版本。

Adapter / 启动模式空闲策略更新就绪与切换条件
普通 Qoder SDK 1.0.56 / Worker 1.1.78 resident支持,保留严格 Post、受管 MCP 和私有执行租约受管 startDaemon() 确认就绪;全部 Query 完整关闭且清理结束
普通 QwenPaw 2.2.2.post1 / AgentScope 2.0.10 App resident支持,保留严格 Post、受管 MCP 和私有执行租约受管 App startup 确认就绪;全部 reply 及清理结束
Qoder 1.1.73 TUI、上述 Qoder SDK / QwenPaw 的 --reloadable 模式受限支持使用原生空闲桥接;SDK 要求显式 daemon 和已初始化 Query;不提供 resident 严格 Post 和私有执行租约
外部启动的 Qoder 1.1.73 TUI / QwenPaw App受限支持,经 PID 接管首请求前接管;满足受限桥接的原生空闲与清理条件
普通 Qoder CLI、Pi SDK、Claude SDK、OpenClaw、Hermes、AgentScope SDK不支持策略随宿主启动,修改需重启

暂停任务派发后执行 aw update --config aw.yaml --agent TARGET,成功后恢复派发。 同一目标有多个实例时用 --instance ID 选择。普通 Qoder SDK 预热时应使用受管 startDaemon();未使用显式 daemon 时,须在 30 秒启动期限内初始化 createQuery(), 该 Query 完整关闭前持续占用实例。

活跃任务或清理未完成时返回 busy,更新不排队。候选准备失败或版本冲突保留旧策略。 激活后审计失败会停止后续派发,需停止受影响的 worker,再按期望策略重启 service 和 worker。 模型凭据、SDK / Worker 版本、启动配置及 AW 二进制的变更需重启或重新部署。 完整操作和恢复步骤见更新预热实例, 外部 PID 接入见接入已启动的原生进程。

尚未开放的能力​

其余 14 个配置事件名尚无公共 Provider 派发,完整词汇见 开发配置参考。 replace_input、通用 ask 和 guard 尚不支持;sec-core 使用选中的 tool.before 步骤。 活动任务中的策略切换、通用 MCP 网关,以及 Tokenless Schema/BeforeModel、Retrieve 接入仍待实现。

验收依据​

支持范围由 Adapter catalog、 回归矩阵和 原生验收清单共同维护。 原生清单记录固定版本、验收命令和自动化 / 手工范围;Qoder SDK 托管模型受管 MCP 用例仍使用手工容器证据。完整验收说明见贡献指南。

<details> <summary>Hook 事件与效果契约表</summary>

下表从回归矩阵生成,由 CI 检查声明与契约用例的一致性。 ✓ 表示已声明且有契约覆盖,× 表示尚未支持;原生结果范围与启动模式以上文为准。

<!-- aw-regression-matrix:start -->

Agenttool.before / observetool.before / blocktool.after / observetool.after / replace_result
agentscope✓✓✓✓
claude-sdk✓✓✓✓
hermes✓✓✓✓
openclaw✓✓✓✓
pi✓✓✓✓
qoder✓✓✓✓
qoder-sdk✓✓✓×
qwenpaw✓✓✓✓
<!-- aw-regression-matrix:end -->

</details>