返回 DeepSeek-Reasonix
MODEL_CONNECTION_BUGFIX_VALIDATION.zh-CN.md
根目录 / docs / MODEL_CONNECTION_BUGFIX_VALIDATION.zh-CN.md
1 # 模型连接缺陷修复验证
2
3 所有复现与验证使用临时 Reasonix home 和本地测试,不接触生产凭据、不请求真实模型。
4
5 | 问题 | 修复 | 回归证据 |
6 | --- | --- | --- |
7 | F1:粘贴 Key 进入聊天 | 凭据编辑器接管终端和原生剪贴板事件 | `TestAuditSetupPasteDoesNotEnterChat` |
8 | F2:修复覆盖并发凭据 | 验证只打开文件,不创建、截断或重写内容 | `TestAuditRepairVerificationPreservesConcurrentSave`、`TestRepairPreservesCredentialContentsAndFileIdentity` |
9 | F3:shell 只换 Key 不保存 | 凭据编辑纳入操作和并发前置条件,触发提交 | `TestAuditShellSetupKeyOnlyEditPersists`、`TestShellCredentialOnlyEditRejectsConcurrentRotation` |
10 | F4:独立编辑串 Key | 凭据草稿按连接身份保存 | `TestAuditShellSetupDistinctConnectionKeysStaySeparate` |
11 | F5:修复越过目录链接 | 检查 home、目标路径和对象身份,通过打开的文件句柄修改和回滚 | `TestAuditRepairRefusesLinkedHome` |
12 | F6:TUI 编辑被遮蔽的项目连接 | 使用配置合并器实际选中的来源 | `TestAuditSetupEditsEffectiveProviderSource`、`TestProviderEditPathRespectsProjectOverrideOfBuiltins` |
13 | F7:恢复错误确认提交 | 发布前记录准确候选 revision,恢复时同时匹配版本和引用 | `TestAuditRecoverDoesNotInventReceiptAfterExternalEdit` 及持久化边界测试 |
14 | F8:重启后回执冲突 | 持久化私有 HMAC 密钥,锁内再次查重 | `TestAuditDurableReceiptAcrossProcessRestart`,实际启动子进程 |
15 | F9:偏好编辑无法恢复回执 | 空槽位集合合法;回执查询恢复有证据的发布 | `TestAuditRecoverCommittedPreferenceReceipt`、`TestReceiptQueryRecoversPublishedPreferenceBeforeMark` |
16 | F10:清理失败丢证据 | 删除失败或配置变化时保留事务记录 | `TestAuditCleanupRetainsEvidenceOnFailedRemoval` |
17 | F11:辅助请求反复认证失败 | 标题等辅助入口记录认证拒绝;403 按模型、401 按连接隔离 | `TestAuditTitleAuthenticationRejectionStopsFurtherRequests`、`TestAuxiliaryAuthenticationFailureIsScopedToConnectionAndModel` |
18 | F12:前端重试绕过就绪检查 | 移除本地发送授权,串行重试后刷新后端权威 tab 状态 | `composer-authentication-recovery.test.tsx`、`TestRetryAuthenticationPublishesAuthoritativeTabRefresh` |
19
20 浏览器夹具:`desktop/frontend/bench/authentication-recovery.html`。使用真实 Composer 和
21 临时宿主,已验证迟到重试、切 tab、controller 未就绪、替换连接、草稿保留及后端 Ready
22 恢复发送。整个验证过程模型提交数为零。
23
24 兼容性:TOML、`.env` 和 RPC 字段名不变。事务仍使用 schema 1,利用现有 revision 字段
25 增加 `config_prepared` 阶段。旧记录没有发布 revision 且存在引用时保持结果未知,不伪造
26 成功。旧 Desktop 摘要无法验证重放内容时返回 `unknown_result`。旧应用仍可读取保存后的
27 连接配置和凭据。
28
29 Windows 文件句柄修复已进行本地交叉编译;原生 ACL、共享占用和 reparse point 行为仍需
30 Windows CI 验证,交叉编译不能替代这些证据。
31
32 本地验证(2026-09-17):根目录和 Desktop 独立模块 `go test ./...`、共享核心与 Desktop 针对性 race
33 测试、共享包 `go vet`、前端生产构建与测试 typecheck、Composer 和 app-lifecycle
34 测试及上述浏览器场景均通过。真实 Electron smoke 通过服务握手、renderer RPC、
35 原生窗口查询、网页视图、服务子进程归属和干净退出检查。smoke 使用标准二进制名称,
36 因为进程断言按可执行文件名中的 `reasonix-desktop` 匹配。
37 ## 补充审批审查修复
38
39 安装审批摘要现在使用持久化 HMAC 绑定导入的环境变量和请求头;公开预览不包含这些值。
40 升级前的 plan ID 需要重新预览。插件 CLI JSON 恢复操作列表、风险、plan ID、失败原因和恢复说明。
41
42 桌面端以绑定当前 runtime 的待应用提示,让保留的草稿在保存凭据后进入后端“先应用再接纳”流程,
43 不会将旧 controller 伪装成认证成功。CLI 在认证校验前异步检查已保存设置,通过已有替换入口
44 重建 controller,再向激活后的实例提交。重建失败保留旧实例和草稿,迟到结果不启动其他会话。
45
46 实际主模型、子任务和辅助请求共用 context 门禁,保留 Provider 的能力接口与请求内容。
47 缺凭据覆盖同一连接的其他模型;HTTP 和流内认证错误绑定实际请求模型,子任务 403 不再误封主模型。
48 项目换 Key 和 shell setup 使用配置增量编辑,保留未知及嵌套字段,不把项目连接提升为全局连接。
49 Windows 修复同时保留操作失败和回滚失败的错误链。
50
51 回归测试覆盖审批失效、完整预览、保存后接纳、重建失败、迟到结果、辅助模型零请求、子任务拒绝隔离、
52 HTTP/流内认证错误、请求不变和项目字段保留。测试名见英文版“Follow-up approval review”。
53
54 兼容性:新增 `modelSettingsPending` 为可选字段,默认 false;TOML 与凭据文件仍可读取。
55 旧版非 HMAC 凭据回执返回 `unknown_result`,不会自动重放无法核验内容的写入;新回执沿用持久化 HMAC。
56
56 lines MARKDOWN