docs: 回写 Z22 绑定表单失败可重试(宇恒已改完)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# 联调后修改意见 · 宇恒松离线(形态 B)
|
# 联调后修改意见 · 宇恒松离线(形态 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)
|
> 焦点:**§0.2**(按负责方);**改代码前须先写入本意见**(见 §0.0)
|
||||||
> 来源:宇恒 `yuhengyihao_client` ↔ 智建(生产 `aisite.yuxindazhineng.com`)
|
> 来源:宇恒 `yuhengyihao_client` ↔ 智建(生产 `aisite.yuxindazhineng.com`)
|
||||||
> 依据:`松离线-dbsync方案-最终版.md`、`宇恒-松离线数据同步使用文档.md`
|
> 依据:`松离线-dbsync方案-最终版.md`、`宇恒-松离线数据同步使用文档.md`
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
| **Z19 禁默认登记先绑定** | **宇恒已改完;智建无需** | 无绑定不得静默 agent/register;登记失败引导绑定;修 sendFrom 漏 components(§5.17) |
|
| **Z19 禁默认登记先绑定** | **宇恒已改完;智建无需** | 无绑定不得静默 agent/register;登记失败引导绑定;修 sendFrom 漏 components(§5.17) |
|
||||||
| **Z20 失败即弹绑表单** | **宇恒已改完;智建无需** | 启动失败不只发文字,直接 force_rebind 弹绑定/换绑表单(§5.18) |
|
| **Z20 失败即弹绑表单** | **宇恒已改完;智建无需** | 启动失败不只发文字,直接 force_rebind 弹绑定/换绑表单(§5.18) |
|
||||||
| **Z21 绑定接口空体安全解析** | **宇恒已改完;智建无需** | `sync_bind_flow` 空响应/`Expecting value` 不再打断 prepare;配合 Z19/Z20(§5.19) |
|
| **Z21 绑定接口空体安全解析** | **宇恒已改完;智建无需** | `sync_bind_flow` 空响应/`Expecting value` 不再打断 prepare;配合 Z19/Z20(§5.19) |
|
||||||
|
| **Z22 绑定表单失败可重试** | **宇恒已改完;智建无需** | prepare 只做非交互检测;`ask_fields`/`Expecting value` 不冒泡成「绑定引导失败」;必弹绑定表单(§5.20) |
|
||||||
| **仍关注** | 用法 | 通道断了靠智建自愈;表数据靠宇恒双向指纹 / 数据恢复;不是「再点启动」 |
|
| **仍关注** | 用法 | 通道断了靠智建自愈;表数据靠宇恒双向指纹 / 数据恢复;不是「再点启动」 |
|
||||||
|
|
||||||
### 0.0 修改流程(冻结)
|
### 0.0 修改流程(冻结)
|
||||||
@@ -64,6 +65,7 @@
|
|||||||
| **Z19** | **禁静默默认登记 + 修表单 components(2026-08-06 · 宇恒已改完)**:未绑定先弹绑定;`build_sendfrom_form` 补回 `components`。**智建无需改** |
|
| **Z19** | **禁静默默认登记 + 修表单 components(2026-08-06 · 宇恒已改完)**:未绑定先弹绑定;`build_sendfrom_form` 补回 `components`。**智建无需改** |
|
||||||
| **Z20** | **启动失败直接弹绑定/换绑表单(2026-08-06 · 宇恒已改完)**。**智建无需改** |
|
| **Z20** | **启动失败直接弹绑定/换绑表单(2026-08-06 · 宇恒已改完)**。**智建无需改** |
|
||||||
| **Z21** | **绑定 HTTP 空体安全 JSON(2026-08-06 · 宇恒已改完)**:`_safe_http_json` 替代裸 `r.json()`,避免 `Expecting value` 打断启动。**智建无需改** |
|
| **Z21** | **绑定 HTTP 空体安全 JSON(2026-08-06 · 宇恒已改完)**:`_safe_http_json` 替代裸 `r.json()`,避免 `Expecting value` 打断启动。**智建无需改** |
|
||||||
|
| **Z22** | **绑定表单失败可重试(2026-08-06 · 宇恒已改完)**:启动检测改为非交互;表单推送/JSON 解析失败不向用户暴露 `Expecting value`,捕获后重试弹表。**智建无需改** |
|
||||||
|
|
||||||
#### A′. 宇恒 · 配合注意(非阻塞新开发)
|
#### 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 返回 `{}`,不抛。
|
1. `yxd/app_fastapi/sync_bind_flow.py`:`_safe_http_json`,空体/非 JSON 返回 `{}`,不抛。
|
||||||
2. 与 Z19/Z20 配合:解析失败不阻断 → 走「未绑定」→ 直接弹绑定表单。
|
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. 联系与附件
|
## 6. 联系与附件
|
||||||
|
|
||||||
- **待改清单(优先看)**:§0.2(**A′ 宇恒配合 · B′ 智建运维**;开发项已清空);**改代码前先写本意见**(§0.0);配合见 **§0.3**
|
- **待改清单(优先看)**:§0.2(**A′ 宇恒配合 · B′ 智建运维**;开发项已清空);**改代码前先写本意见**(§0.0);配合见 **§0.3**
|
||||||
|
|||||||
Reference in New Issue
Block a user