feat(v3): T29 token 级流式输出(SSE 流式解析 + delta 事件 + 打字机渲染,D10)
- OpenAICompatChat 默认 stream=True:httpx 流式解析 OpenAI chunk, tool_calls 碎片按 index 组装(不在正文展示),include_usage 计量; 失败自动回退非流式一次(已有部分增量输出则如实抛出); 补 raise_for_status(修复流式 4xx 误入回退的缺陷) - ToolLoop 增 on_delta(签名探测兼容 2/3 参 chat_fn);_loads_json_object 宽松解析 - DeltaThrottle >=48 字符节流落 delta 事件;单模型与两级模式(含规划者)接线 - 前端:streamText 打字机渲染 + 光标动画;工具/阶段事件到达时清空归档 - 配套修复:AgentView 闭包持有 push 前原始对象导致响应式丢失、过程事件不渲染 - 测试 +7(SSE 解析/碎片组装/回退/部分失败抛出/on_delta/节流/service delta 事件), 全量 296 passed
This commit is contained in:
@@ -1 +1 @@
|
||||
{"touched":[],"bashMutation":true,"reportedFindings":[],"findingEvents":[],"baseline":null,"stateErrors":[],"omittedReportedFindings":0,"omittedFindingEvents":0,"processing":null,"updatedAt":"2026-09-01T11:06:08.696Z"}
|
||||
{"touched":[],"bashMutation":true,"reportedFindings":[],"findingEvents":[],"baseline":null,"stateErrors":[],"omittedReportedFindings":0,"omittedFindingEvents":0,"processing":null,"updatedAt":"2026-09-01T15:40:06.242Z"}
|
||||
@@ -360,8 +360,9 @@ async function send() {
|
||||
}
|
||||
|
||||
messages.value.push({ role: 'user', content: task })
|
||||
const aiMsg: ChatMsg = { role: 'assistant', content: '', liveEvents: [] }
|
||||
messages.value.push(aiMsg)
|
||||
messages.value.push({ role: 'assistant', content: '', liveEvents: [] })
|
||||
// 关键:取响应式代理对象(闭包持原始对象会丢失响应式,过程事件不渲染)
|
||||
const aiMsg = messages.value[messages.value.length - 1] as ChatMsg
|
||||
scrollToBottom()
|
||||
|
||||
try {
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
| T28 | 操作审批流:approval_policy(off/dangerous/all) + 挂起/裁决/超时 + /approve + 审批卡 | ✅ 完成 | T28 |
|
||||
| T29 | token 级流式:SSE 解析/tool_calls 碎片组装/回退 + DeltaThrottle + 打字机渲染 | ✅ 完成 | T29 |
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
## 9. 增补:审批流与流式输出(D9/D10,T28/T29)
|
||||
|
||||
- **决策 D9(操作审批,对齐 dsh)**:`agent.approval_policy` = off | dangerous(默认:
|
||||
写/编辑/命令询问,只读自动放行)| all;工具执行前经 approval_hook 挂起等待,
|
||||
UI 两按钮(拒绝 / 允许一次),超时 `approval_timeout_s`(默认 120s)自动拒绝
|
||||
(fail-closed);拒绝结果回喂模型可改道;approval_request/decided 事件对入审计。
|
||||
- **决策 D10(token 级流式)**:OpenAICompatChat 默认 stream=True(SSE 逐段解析,
|
||||
tool_calls 碎片按 index 组装、不在正文展示;include_usage 计量);流式失败自动
|
||||
回退非流式一次(已有部分增量输出时如实抛出);ToolLoop 经 on_delta 转发,
|
||||
DeltaThrottle ≥48 字符节流落 delta 事件;前端打字机式实时渲染 + 光标。
|
||||
- **配套修复**:Vue 响应式丢失 bug——闭包持有 push 前原始对象导致过程事件不渲染,
|
||||
改取响应式代理对象。
|
||||
Reference in New Issue
Block a user