agentao

11 Ask-User ACP Extension Method

Parent doc: ACP Client And Project-Local Servers

Issue index: ACP Client Project-Local Servers Issues

Goal

为 Agentao 在 ACP 模式下补齐自由文本用户输入能力,并将其定义为一个明确的 ACP extension method,而不是伪装成标准 ACP method。

Scope

Deliverables

Dependencies

Design Notes

Request Shape

建议:

{
  "jsonrpc": "2.0",
  "id": "srv_123",
  "method": "_agentao.cn/ask_user",
  "params": {
    "sessionId": "sess_xxx",
    "question": "Please provide branch name"
  }
}

Response Shape

建议成功结果:

{
  "outcome": "answered",
  "text": "feature/acp-client"
}

建议取消结果:

{
  "outcome": "cancelled"
}

Transport Mapping

建议 sentinel:

避免抛异常炸掉整轮执行。

Capability Advertisement

需要在 ACP initialize 结果中显式声明支持的扩展,避免 client 误判。

具体字段形态可在实现时根据 ACP ext schema 定稿,但原则是:

Non-goal

原因:

Tests

Acceptance Criteria

  1. ACP 模式下的 ask_user 不再抛 NotImplementedError
  2. 扩展方法命名明确且不与标准 ACP method 混淆
  3. 不支持该扩展的 client 不会导致 turn 直接崩溃

Out Of Scope