fix: 只用最终 agentMessage 生成 reply
This commit is contained in:
@@ -38,7 +38,7 @@ Backend adapter 的第一阶段实现应吸收 HWLAB v0.2 已验证的 Codex std
|
||||
| --- | --- | --- |
|
||||
| Codex app-server JSON-RPC stdio | `internal/cloud/codex-stdio-session.ts`、`internal/cloud/codex-stdio-session-turn-state.ts` | 支持 `initialize`、`thread/start`、`thread/resume`、`turn/start`,并处理 app-server client request;未知请求要记录 unsupported error,不能静默等待。 |
|
||||
| completed 判定 | `docs/reference/code-agent-chat-readiness.md` | 只有 Codex turn terminal completed 且 assistant reply 可聚合时才输出 completed;assistant delta、item completed、stdout 或 transport close 不能单独完成。 |
|
||||
| assistant stream 和 trace | `internal/cloud/code-agent-trace-store.ts` | assistant delta 可归并为 `assistant_message`;event 必须保留 `threadId`、`turnId`、session 摘要和 redacted backend metadata。 |
|
||||
| assistant stream 和 trace | `internal/cloud/code-agent-trace-store.ts`、`internal/cloud/codex-stdio-session-turn-state.ts` | assistant delta 只能作为 stream/progress 证据;最终 `assistant_message` 必须优先来自最后一个 completed `agentMessage` item,不能把 commentary/progress delta 与 final response 直接串接。event 必须保留 `threadId`、`turnId`、session 摘要和 redacted backend metadata。 |
|
||||
| command/tool output bounded | `docs/reference/code-agent-chat-readiness.md`、`web/hwlab-cloud-web/app-trace.ts` | `tool_call` 和 `command_output` 必须记录状态、摘要、字节数、截断标记;完整大输出只能通过后续 log/artifact 引用。 |
|
||||
| provider/profile 隔离 | `internal/cloud/code-agent-contract.ts` | `codex` 与 `deepseek` 共享同一 backend kind,但必须使用 profile-scoped SecretRef、model/base-url/config 和 writable runtime home。 |
|
||||
| Secret redaction | `internal/cloud/code-agent-trace-store.ts` | `OPENAI_API_KEY`、auth/config、token、password、kubeconfig、URL credential 不得进入 event、result、log 或 health。 |
|
||||
@@ -59,7 +59,7 @@ Registry 只表达能力和选择边界,不读取 Secret 值。Manager 负责
|
||||
Adapter 输出给 runner 的 event 类型至少包括:
|
||||
|
||||
- `backend_status`:backend 启动、模型/profile、能力和阶段状态,不包含 Secret 值。
|
||||
- `assistant_message`:模型回复的用户可见文本。
|
||||
- `assistant_message`:模型回复的最终用户可见文本。Codex app-server 的 `item/agentMessage/delta` 只能作为流式过程证据或缺少 completed item 时的兜底;一旦收到 completed `agentMessage` item,adapter 必须以最后一个非空 completed item 文本作为 reply authority,避免把 commentary/status/progress 堆入 final response。
|
||||
- `tool_call`:工具调用摘要和 redacted 参数。
|
||||
- `command_output`:stdout/stderr 或命令输出摘要。
|
||||
- `diff`:代码变更摘要或 patch 片段;必须受长度限制。
|
||||
|
||||
Reference in New Issue
Block a user