docs: 回写 Z20–Z21 启动弹绑定与空体安全解析(宇恒已改完)
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:15**(Z19 禁默认登记、修表单 components)
|
> 初稿:2026-08-01 · 修订至 **2026-08-06 17:45**(Z21 绑定接口空体不抛 JSON)
|
||||||
> 焦点:**§0.2**(按负责方);**改代码前须先写入本意见**(见 §0.0)
|
> 焦点:**§0.2**(按负责方);**改代码前须先写入本意见**(见 §0.0)
|
||||||
> 来源:宇恒 `yuhengyihao_client` ↔ 智建(生产 `aisite.yuxindazhineng.com`)
|
> 来源:宇恒 `yuhengyihao_client` ↔ 智建(生产 `aisite.yuxindazhineng.com`)
|
||||||
> 依据:`松离线-dbsync方案-最终版.md`、`宇恒-松离线数据同步使用文档.md`
|
> 依据:`松离线-dbsync方案-最终版.md`、`宇恒-松离线数据同步使用文档.md`
|
||||||
@@ -24,6 +24,8 @@
|
|||||||
| **Z17 鉴权失败可换绑** | **宇恒已改完;智建无需** | 鉴权/换票失败门闸提供「绑定或更换绑定」:清本机同步落点后重走绑定表单(§5.15) |
|
| **Z17 鉴权失败可换绑** | **宇恒已改完;智建无需** | 鉴权/换票失败门闸提供「绑定或更换绑定」:清本机同步落点后重走绑定表单(§5.15) |
|
||||||
| **Z18 模块操作换绑按钮** | **宇恒已改完;智建无需** | 「模块操作」表单底部独立**按钮**「换绑」(非下拉选项);点后强制清落点并弹绑定表单(§5.16) |
|
| **Z18 模块操作换绑按钮** | **宇恒已改完;智建无需** | 「模块操作」表单底部独立**按钮**「换绑」(非下拉选项);点后强制清落点并弹绑定表单(§5.16) |
|
||||||
| **Z19 禁默认登记先绑定** | **宇恒已改完;智建无需** | 无绑定不得静默 agent/register;登记失败引导绑定;修 sendFrom 漏 components(§5.17) |
|
| **Z19 禁默认登记先绑定** | **宇恒已改完;智建无需** | 无绑定不得静默 agent/register;登记失败引导绑定;修 sendFrom 漏 components(§5.17) |
|
||||||
|
| **Z20 失败即弹绑表单** | **宇恒已改完;智建无需** | 启动失败不只发文字,直接 force_rebind 弹绑定/换绑表单(§5.18) |
|
||||||
|
| **Z21 绑定接口空体安全解析** | **宇恒已改完;智建无需** | `sync_bind_flow` 空响应/`Expecting value` 不再打断 prepare;配合 Z19/Z20(§5.19) |
|
||||||
| **仍关注** | 用法 | 通道断了靠智建自愈;表数据靠宇恒双向指纹 / 数据恢复;不是「再点启动」 |
|
| **仍关注** | 用法 | 通道断了靠智建自愈;表数据靠宇恒双向指纹 / 数据恢复;不是「再点启动」 |
|
||||||
|
|
||||||
### 0.0 修改流程(冻结)
|
### 0.0 修改流程(冻结)
|
||||||
@@ -60,6 +62,8 @@
|
|||||||
| **Z17** | **鉴权失败门闸:绑定或更换绑定(2026-08-06 · 宇恒已改完)**:`pending_auth` 选项含「绑定或更换绑定」;点选后 `clear_local_sync_bind` + `force_rebind` 再弹绑定表单,避免因 agents/me 已绑而跳过。**智建无需改** |
|
| **Z17** | **鉴权失败门闸:绑定或更换绑定(2026-08-06 · 宇恒已改完)**:`pending_auth` 选项含「绑定或更换绑定」;点选后 `clear_local_sync_bind` + `force_rebind` 再弹绑定表单,避免因 agents/me 已绑而跳过。**智建无需改** |
|
||||||
| **Z18** | **模块操作页底部「换绑」按钮(2026-08-06 · 宇恒已改完)**:sendFrom 增加 `showRebind`/`rebindText`;`ask_module_action` 点按钮 → `FormRebindInterrupt` → `force_rebind`。鉴权门闸同步改为按钮而非下拉选项。**智建无需改** |
|
| **Z18** | **模块操作页底部「换绑」按钮(2026-08-06 · 宇恒已改完)**:sendFrom 增加 `showRebind`/`rebindText`;`ask_module_action` 点按钮 → `FormRebindInterrupt` → `force_rebind`。鉴权门闸同步改为按钮而非下拉选项。**智建无需改** |
|
||||||
| **Z19** | **禁静默默认登记 + 修表单 components(2026-08-06 · 宇恒已改完)**:未绑定先弹绑定;`build_sendfrom_form` 补回 `components`。**智建无需改** |
|
| **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` 打断启动。**智建无需改** |
|
||||||
|
|
||||||
#### A′. 宇恒 · 配合注意(非阻塞新开发)
|
#### A′. 宇恒 · 配合注意(非阻塞新开发)
|
||||||
|
|
||||||
@@ -866,6 +870,26 @@ POST /api/v1/agent/sync/channels/{id}/pull
|
|||||||
3. sendFrom 表单必须带 `components`。
|
3. sendFrom 表单必须带 `components`。
|
||||||
|
|
||||||
|
|
||||||
|
### 5.18 【Z20 · 2026-08-06】启动失败直接弹绑定表单
|
||||||
|
|
||||||
|
**状态**:**宇恒已改完**。启动未完成时禁止只 notify 文字;立即 force_rebind 推绑定表单(底部换绑同源)。门闸异常时同样回落弹表。
|
||||||
|
|
||||||
|
另:`ty_host`≥1.2.33 禁止用 DONE 永久跳过 bootstrap(旧日志「已自动登记过,跳过」会导致选中会话再也不弹表)。失败后 ACTIVE 清掉,可再拉起。
|
||||||
|
|
||||||
|
|
||||||
|
### 5.19 【Z21 · 2026-08-06】绑定接口空体安全解析
|
||||||
|
|
||||||
|
**状态**:**宇恒已改完**;**智建无需开发**。
|
||||||
|
|
||||||
|
**现象**
|
||||||
|
|
||||||
|
- 日志 `prepare_runtime failed: Expecting value: line 1 column 1` → 某绑定/鉴权 HTTP 返回空体,裸 `r.json()` 抛错,启动被打断;再选会话若被旧 DONE 跳过则只剩文字。
|
||||||
|
|
||||||
|
**诉求 / 改动**
|
||||||
|
|
||||||
|
1. `yxd/app_fastapi/sync_bind_flow.py`:`_safe_http_json`,空体/非 JSON 返回 `{}`,不抛。
|
||||||
|
2. 与 Z19/Z20 配合:解析失败不阻断 → 走「未绑定」→ 直接弹绑定表单。
|
||||||
|
|
||||||
## 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