mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
docs(apiproxy): record that a pending question dies with the host
The pending-question registry holds the awaiting tool call's own resolve/reject, so it is host-process memory. events.mux replays every still-pending question on reopen, which covers a browser reload or a reconnect, but a host restart takes the awaiting turn with it and the reopened Session offers no composer for that question.
This commit is contained in:
@@ -76,6 +76,7 @@ Workspace 列表与 Session 列表是相互独立的重连基线。`workspace.cr
|
||||
|
||||
- **转发的 Remote 事件寄居在这套 legacy 帧联合里**:`host/remote-event` 住在 `HostFrame` 中,是为了让投递路径复用现有宿主流、不必新开第三条下行通道,因此读起来像是本包拥有 Remote 事件契约。并非如此:名单归 `dsh-api-remotes`,消费端动词是 `ctx.remote.$on`。将来宿主流整体搬离本包时,该帧随之搬走,消费端契约不受影响([原委](../../../.agents/notes/implemented/architecture/2026-08-10-remote-event-delivery.md))。
|
||||
- **待处理交互状态位于宿主侧**:wire 使用 POST `/api/respond` 加 `RpcReceipt`;`src/api-proxy.ts` 中的表只处理问题,不包含审批条目。
|
||||
- **待回答的提问无法跨宿主重启存活**:登记表持有等待中那次工具调用自身的 `resolve`/`reject`,因此它是宿主进程内存。`events.mux` 在每次重开时重放所有仍在等待的提问,这覆盖了浏览器刷新与重连;宿主重启则把等待中的 turn 一并带走,重新打开的 Session 不会为该提问提供任何作答界面。要让它跨宿主重启恢复,需要一份持久化的待处理交互记录,此项暂缓。
|
||||
- **预留 seam 不进入 `RpcMethodMap`**:`prompt.mode: 'inject'`、`job.list` 和描述字段 `hostInstanceId` 都是已记录的预留项;模型发现使用 `llm.models`。未知方法会在信封解析时直接失败,而不会返回「尚未实现」错误码。
|
||||
- **没有协议版本字段**:客户端与宿主一同发布;只有出现独立发布的客户端后,`host.describe` 才会增加版本协商字段。
|
||||
- **搜索失败会包含提供方诊断信息**:网关是单用户本地服务。将其暴露给多名用户的载体必须用可安全公开的诊断信息替代内部搜索细节。
|
||||
|
||||
Reference in New Issue
Block a user