Repository navigation
[bugfix] agent: fix stalled Default replies and scope tool guidance - #275
Conversation
## summary - Frame loopback model responses with HTTP chunked encoding so the bundled runtime can finish reading each response. - Keep interrupted streams and cancellation distinct from completion, preserve local error statuses, and record transport outcomes. - Run bundled OpenCode gateway regressions in CI and cover streaming, cancellation, tool-result continuation and persisted asset identity. - Keep delivery guidance in shared system instructions and allow replies without unnecessary project-tool discovery. Fixes: ThinkFlowLab#274
|
Investigated the voice-library timeout. The failed run showed eight consecutive The full bilingual workflow passed locally. Delaying the old lease release by 4.5 seconds reproduced the eight The latest Release checks run is passing. We will address lease handoff/recovery and clearer test diagnostics separately; a passing rerun does not mean the race itself is fixed. |
Summary
Default Agent 的模型网关原先依靠关闭连接表示 HTTP 响应结束。内置 OpenCode 1.19.5 / Bun 1.4.4 在收到全部字节后仍无法结束 body reader,导致对话卡住,约 300 秒后重试相同上下文。
Linked issue
Fixes #274
Labels
type:bug、area:agent、area:harness、area:ci。Test plan
Local:相关测试共 69 项通过。
pytest tests/test_model_gateway.py tests/test_model_reasoning_trace.py tests/test_assistant_conversations.py tests/test_native_runtime.py -q -raOPENDIRECTOR_REAL_CLI=1 pytest tests/test_native_runtime.py -k real_opencode -q -rapytest tests/test_deepseek_runtime.py tests/test_deepseek_engine.py tests/test_jiuwenswarm_engine.py -q -ranpm run check:i18nlint-imports --no-cachepython scripts/generate_contracts.py --checkgit diff --check本地测试显式加载开发工作树的源码;模型服务使用替身,真实 bundled OpenCode 测试使用隔离目录。网关测试覆盖增量输出、UTF-8 内容、错误响应、上游超时/断流、取消、连接清理异常和空响应。请求测试覆盖六种运行器的中英文输入,不把模型替身测试当作模型自主行为的证明。
Left to CI:完整 Release checks、全量 Python/前端测试、构建及浏览器检查;新增
Bundled OpenCode model gateway regression步骤显式设置OPENDIRECTOR_REAL_CLI=1,不会仅依赖默认跳过真实 CLI 的测试套件。本 PR 创建时尚未宣称远端 CI 已通过。Evidence that it works
Provider verification
Bilingual UI
check:i18n通过。