Repository navigation
fix(host): 保留外部 Harness 图片引用并支持运行中追加 - #654
BytePioneer-AI merged 2 commits into
Conversation
|
Caution Review failedThe pull request is closed. No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
共享输入规范化与 turn 启动 packages/host-runtime/src/external-turn-input.ts, packages/host-runtime/src/app-server-host.ts, packages/host-runtime/test/external-turn-input.test.ts, packages/host-runtime/test/app-server-host.attachments.test.ts, packages/host-runtime/test/app-server-host.official-passthrough.test.ts |
新增共享输入转换,处理文本、本地图片路径和内嵌图片。转换会校验绝对路径及附件上下文;图片引用不足或图片与 Harness 命令同时提交时会拒绝输入。turn/start 使用该转换。测试覆盖输入规范化、启动行为及原生请求转发。 |
Renderer 校验与 steering 接入 packages/renderer-extension/src/renderer-external-steering.ts, packages/renderer-extension/test/renderer-external-steering.test.ts, packages/host-runtime/src/external-turn-steering.ts, packages/host-runtime/test/external-turn-steering.test.ts, packages/host-runtime/test/app-server-host.attachments.test.ts |
Renderer 校验接受有效的文本和图片项。steering 使用共享输入转换,并将解析错误转换为 -32602。测试覆盖图片输入、去重、活动 Turn 和停止后重启路径。 |
端到端验证与附件规则说明 tests/integration/external-image-steering.test.ts, tests/vitest.config.js, docs/architecture/external-thread-steering.md, docs/platforms/remote/remote-ssh-host*.md |
集成测试覆盖远程附件回退、队列图片 steering、附件上下文和输入拒绝。文档说明外部 Thread 的图片路径规则、回退行为及限制;Vitest 配置纳入集成测试。 |
Priority:
Estimated code review effort: 3 (Moderate) | ~25 minutes
Change: Bug fix
Possibly related PRs
- BytePioneer-AI/codex-host#572:该 PR 建立 External Thread 的
turn.steer插入和停止后重启路径;本次改动更新同一入口的图片输入解析。 - BytePioneer-AI/codex-host#604:该 PR 恢复 Desktop 附件上下文中的图片路径;本次改动在外部输入中使用该附件上下文。
- BytePioneer-AI/codex-host#511:该 PR 为
turn/start和turn/steer增加输入准备回调;本次改动修改同一外部 steering 输入管线。
Suggested labels: 功能:生成中调整, 范围:桌面界面
Suggested reviewers: bytepioneer-ai
Merge Risk: 
Low · up to 5eacc
-
The image-steering integration test bypasses package boundaries. Give its cross-package dependencies public test entry points before merging, or explicitly accept this bounded issue for follow-up.
Pre-merge checks: 
4
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands.
|
@vv-get-ti 感谢你定位并修复外部 Harness 运行中追加(steer)时只有图片的排队消息会消失的问题,已合并。 深审后维护者在你的分支上追加了一个提交
如果你在实际使用中发现问题,欢迎直接在这里或新 Issue 反馈。再次感谢你的贡献。 |
问题
外部 Harness 的图片输入在普通发送和运行中追加时行为不一致:
turn/start只提取文字,localImage没有对应的 Desktop 文字附件清单时,图片路径会被丢弃。localImage或image预览条目时,turn/steer仍因存在非文本条目而拒绝消息。修改
start 和 steer 共用 Host 内部的输入规范化,保持现有
HostTextInput[]公共契约:localImage路径缺失时,才补入同格式的清单。同步更新中英文远程附件说明及调整方向文档。
验证
Windows,Node.js 24.14.0。
npm run typecheck、改动文件 ESLint/Prettier、node tools/check-boundaries.mjs、git diff --check通过。定向测试命令:
未运行真实 Desktop 拖图/粘贴截图、真实 Harness 或跨平台实机验收。
关联
Issue:N/A。
与 #604 的缩略图/媒体显示修复互补。本 PR 处理输入送达,不依赖该 PR,也不改图片呈现、所有 Adapter 的类型或专用图片协议。