优化 AGC 会话恢复超时与 Runner 启动校验 (#253)
## 变更内容 - 增加启动会话恢复阶段、等待时间和可操作错误提示。 - 为客户端 HTTP 请求增加默认超时、AbortController 取消和可选长请求豁免。 - 会话恢复失败后提供重试,并隔离旧请求的迟到结果。 - 让 Runner 启动探测严格遵守剩余启动时间预算。 - 补充前端、HTTP、Runner 定向测试并同步技术方案。 ## 验证 - npm run typecheck --workspace @genarrative/ai-game-creator-shell - npm run check:encoding - clientHttp 定向测试 - AuthenticatedClient 定向测试 - Runner 启动探测测试 - cargo fmt --check - git diff --check Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/253 Co-authored-by: kdletters <kdletters@qq.com> Co-committed-by: kdletters <kdletters@qq.com>
This commit was merged in pull request #253.
This commit is contained in:
@@ -1,5 +1,12 @@
|
||||
# AI 游戏创作智能体 App 实施计划
|
||||
|
||||
## 2026-09-02 客户端会话恢复可观测性与超时兜底
|
||||
|
||||
- AGC 客户端启动恢复按“读取本地凭据 → 刷新会话(无 token 或失效时)→ 读取当前用户 → Tauri 本地运行时会话安装”阶段执行。界面必须展示当前阶段和已等待时间;不能以无期限的单一 loading 文案隐藏网络或 Runner 故障。
|
||||
- 客户端 HTTP 传输默认使用 15 秒超时并通过独立 `AbortController` 终止请求;调用方可为确需长耗时的请求显式传入 `timeoutMs: null`。调用方主动取消仍保留原始 `AbortError`,超时使用稳定的 `ClientHttpTimeoutError`,由认证层转换为可操作的中文提示。
|
||||
- 会话恢复或本地 Runner 连接超时后必须进入登录页并提供“重试登录状态检查”。重试递增恢复代次并以运行标识忽略旧恢复任务的迟到 UI 写回;不得清除仍可用于后续重试的 access token,也不得重复并发刷新同一服务器的 refresh 请求。
|
||||
- Tauri Runner 的启动与 IPC 超时继续以 `runner/protocol.rs` 的 30 秒启动、10 秒读写为权威;启动等待循环会把 endpoint 探测预算裁剪到剩余启动期限,避免单次 ping 把 30 秒门禁延长。考虑复用旧 endpoint 前可能先消耗一次 IPC 等待,前端 UI 兜底取 45 秒,不改变 Runner 协议、启动策略或认证接口。
|
||||
|
||||
## 2026-08-26 运行中自主扩图提案
|
||||
|
||||
- `agent-runtime-orchestration` 提供严格 serde 的 `GraphProposal`、`TaskProposal`、`GraphEdge` 与 `GraphLimits`。宿主可把 LLM function-call arguments 解析后交给 `TaskGraph::apply_proposal`,在内存中得到新的、完整校验过的候选 DAG。
|
||||
|
||||
Reference in New Issue
Block a user