diff --git a/联调后修改意见-宇恒松离线.md b/联调后修改意见-宇恒松离线.md index d37a5ff..947e700 100644 --- a/联调后修改意见-宇恒松离线.md +++ b/联调后修改意见-宇恒松离线.md @@ -1,6 +1,6 @@ # 联调后修改意见 · 宇恒松离线(形态 B) -> 初稿:2026-08-01 · 修订至 **2026-08-06 20:20**(Z27 他机自动生成 host_key)(Z24 已绑定勿 force 清落点) +> 初稿:2026-08-01 · 修订至 **2026-08-06 20:20**(Z27 他机自动生成 host_key) > 焦点:**§0.2**(按负责方);**改代码前须先写入本意见**(见 §0.0) > 来源:宇恒 `yuhengyihao_client` ↔ 智建(生产 `aisite.yuxindazhineng.com`) > 依据:`松离线-dbsync方案-最终版.md`、`宇恒-松离线数据同步使用文档.md` @@ -29,6 +29,9 @@ | **Z22 绑定表单失败可重试** | **宇恒已改完;智建无需** | prepare 只做非交互检测;`ask_fields`/`Expecting value` 不冒泡成「绑定引导失败」;必弹绑定表单(§5.20) | | **Z23 表单推送失败禁止空等** | **宇恒已改完;智建无需** | `ask_fields_via_chat` 推送失败立即抛错;进行中再选中会话给出提示;对齐 ty_host≥1.2.35(§5.21) | | **Z24 已绑定勿 force 清落点** | **宇恒已改完;智建无需** | 启动自动引导绑定时禁止 `force_rebind` 清 CHANNEL;仅用户点「换绑」才清(§5.22) | +| **Z25 自动引导勿 force + host_key** | **宇恒已改完;智建无需** | prepare 失败只弹表单不清落点;host_key 回落 env/config,禁止空串打智建(§5.23) | +| **Z26 已有 CHANNEL 禁再弹绑表** | **宇恒已改完;智建无需** | 本机已有同步通道时自动引导不再弹「绑定公司同步」;仅换绑才清(§5.24) | +| **Z27 他机自动生成 host_key** | **宇恒已改完;智建无需** | 无 YXD_HOST_KEY/config.host_key 时自动生成并固化,禁止空串绑定失败(§5.25) | | **仍关注** | 用法 | 通道断了靠智建自愈;表数据靠宇恒双向指纹 / 数据恢复;不是「再点启动」 | ### 0.0 修改流程(冻结) @@ -940,6 +943,21 @@ POST /api/v1/agent/sync/channels/{id}/pull 3. 已 sync_bound 时 bootstrap_auth 失败不要清绑定;保留 runtime 或走门闸。 +### 5.23 【Z25 · 2026-08-06】自动引导禁止 force 清绑;host_key 必须回落 + +**状态**:**宇恒已改完**。 + +1. `runtime is None` 自动绑定时 `force_rebind=False`(仅「换绑」/门闸显式换绑才 clear)。此前 `force_rebind=not already_bound` 在未绑时仍会 clear,出现「已清空」+ 空表。 +2. `_host_key` / `_host_key_default` 回落 `YXD_HOST_KEY` 与技能 `config.json`;空 host_key 本地拦截,避免智建 `host_key required`。 + + +### 5.24 【Z26 · 2026-08-06】已有 CHANNEL 禁止再弹绑定表 + +**状态**:**宇恒已改完**。 + +本机 `YXD_SYNC_CHANNEL_ID` 已存在时:`ensure_sync_bound_interactive` 直接 skip;`prepare` 失败分支也不再打开绑定表单,只走门闸「重新检查/换绑」。避免他机已绑仍反复弹出「绑定公司同步」。 + + ### 5.25 【Z27 · 2026-08-06】他机自动生成并固化 host_key **状态**:**宇恒已改完**。