From e7ad2700607a78e2907f5b24a5fea669777bd966 Mon Sep 17 00:00:00 2001 From: whm <973418690@qq.com> Date: Thu, 6 Aug 2026 18:11:02 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=9B=9E=E5=86=99=20Z22=20=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E8=A1=A8=E5=8D=95=E5=A4=B1=E8=B4=A5=E5=8F=AF=E9=87=8D?= =?UTF-8?q?=E8=AF=95=EF=BC=88=E5=AE=87=E6=81=92=E5=B7=B2=E6=94=B9=E5=AE=8C?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- 联调后修改意见-宇恒松离线.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/联调后修改意见-宇恒松离线.md b/联调后修改意见-宇恒松离线.md index 94f7b56..159fccd 100644 --- a/联调后修改意见-宇恒松离线.md +++ b/联调后修改意见-宇恒松离线.md @@ -1,6 +1,6 @@ # 联调后修改意见 · 宇恒松离线(形态 B) -> 初稿:2026-08-01 · 修订至 **2026-08-06 17:45**(Z21 绑定接口空体不抛 JSON) +> 初稿:2026-08-01 · 修订至 **2026-08-06 18:10**(Z22 绑定表单失败不再冒泡 Expecting value) > 焦点:**§0.2**(按负责方);**改代码前须先写入本意见**(见 §0.0) > 来源:宇恒 `yuhengyihao_client` ↔ 智建(生产 `aisite.yuxindazhineng.com`) > 依据:`松离线-dbsync方案-最终版.md`、`宇恒-松离线数据同步使用文档.md` @@ -26,6 +26,7 @@ | **Z19 禁默认登记先绑定** | **宇恒已改完;智建无需** | 无绑定不得静默 agent/register;登记失败引导绑定;修 sendFrom 漏 components(§5.17) | | **Z20 失败即弹绑表单** | **宇恒已改完;智建无需** | 启动失败不只发文字,直接 force_rebind 弹绑定/换绑表单(§5.18) | | **Z21 绑定接口空体安全解析** | **宇恒已改完;智建无需** | `sync_bind_flow` 空响应/`Expecting value` 不再打断 prepare;配合 Z19/Z20(§5.19) | +| **Z22 绑定表单失败可重试** | **宇恒已改完;智建无需** | prepare 只做非交互检测;`ask_fields`/`Expecting value` 不冒泡成「绑定引导失败」;必弹绑定表单(§5.20) | | **仍关注** | 用法 | 通道断了靠智建自愈;表数据靠宇恒双向指纹 / 数据恢复;不是「再点启动」 | ### 0.0 修改流程(冻结) @@ -64,6 +65,7 @@ | **Z19** | **禁静默默认登记 + 修表单 components(2026-08-06 · 宇恒已改完)**:未绑定先弹绑定;`build_sendfrom_form` 补回 `components`。**智建无需改** | | **Z20** | **启动失败直接弹绑定/换绑表单(2026-08-06 · 宇恒已改完)**。**智建无需改** | | **Z21** | **绑定 HTTP 空体安全 JSON(2026-08-06 · 宇恒已改完)**:`_safe_http_json` 替代裸 `r.json()`,避免 `Expecting value` 打断启动。**智建无需改** | +| **Z22** | **绑定表单失败可重试(2026-08-06 · 宇恒已改完)**:启动检测改为非交互;表单推送/JSON 解析失败不向用户暴露 `Expecting value`,捕获后重试弹表。**智建无需改** | #### A′. 宇恒 · 配合注意(非阻塞新开发) @@ -890,6 +892,22 @@ POST /api/v1/agent/sync/channels/{id}/pull 1. `yxd/app_fastapi/sync_bind_flow.py`:`_safe_http_json`,空体/非 JSON 返回 `{}`,不抛。 2. 与 Z19/Z20 配合:解析失败不阻断 → 走「未绑定」→ 直接弹绑定表单。 + +### 5.20 【Z22 · 2026-08-06】绑定表单失败可重试 + +**状态**:**宇恒已改完**;**智建无需开发**。 + +**现象** + +- 聊天出现「绑定引导失败:Expecting value: line 1 column 1」且下方无绑定表单。 +- 根因:`prepare` 内过早走交互绑定;`ask_fields`/宿主回包空体 JSON 解析异常冒泡。 + +**诉求** + +1. `prepare_runtime` 仅非交互检测是否已绑(channel/token),不在此处 `ask_fields`。 +2. 交互绑定集中在 `_try_bind_interactive`;失败捕获、友好文案、重试弹表,禁止把 `Expecting value` 原文给用户。 +3. `config.json` 空/坏档自动重建;宿主 command 回包空体安全解析。 + ## 6. 联系与附件 - **待改清单(优先看)**:§0.2(**A′ 宇恒配合 · B′ 智建运维**;开发项已清空);**改代码前先写本意见**(§0.0);配合见 **§0.3**