# 账户、模型与 Go 修复候选

Hub `1.13.4` 在稳定通道上继续承接账户/模型/Go 修复集，并纳入 OpenCode Go 与 DSH 原生供应商隔离及模型 UI 修复。迁移、回退与验证边界说明仍适用。稳定共装请使用 Hub `1.13.4` 与 Subscription `0.8.5`。构建依赖仍采用原 BOM，DSH `0.1.5-rc.2` 的隔离运行证据单独记录。

## 连接与日常使用

- 在“账户与模型”连接服务。Go 使用 API key，OAuth 服务使用其支持的授权方式，或导入运行 DSH 的电脑上的 CLI 授权。
- 新增账户保留当前默认，首个账户自动成为默认。重新授权针对明确账户，目标在授权开始时绑定；身份不符、目标删除或并发更新时拒绝覆盖。
- 模型展示是服务级设置。默认集合跟随目录；指定集合允许为空，保存空集合会隐藏全部模型但保留账户和凭据。后台刷新不会替换未应用的选择。
- Go 已配置时首先显示配置、模型与最近调用摘要。修改连接时复用凭据引用或保存新密钥，再获取目录、选择模型及协议、应用。密钥保存、目录读取和对话成功分别报告，无需开启网关。
- DeepSeek V4.1 Flash 使用 `openai-completions`，GPT 5.6 Luna 使用 `openai-responses`，MiniMax M3 使用 `anthropic-messages`。宿主的 Go 路由只有一个协议；切换前要在 DSH 原生模型设置中移除不匹配的模型。已知冲突会被拒绝，不隐式转换。
- Anthropic SDK 自行追加 `/v1/messages`，其 baseURL 不包含最后的 `/v1`。界面通过宿主设置服务处理协议和路径，无需编辑 YAML。
- 配置冲突时保留输入，读取最新配置、核对影响后再应用。高级能力在相关账户详情展开，技术诊断默认折叠。
- 用量首先显示统计、配额、更新时间和异常。未定价不代表零费用；Token 估算费用与订阅支出分别说明。不能精确关联账户的配额只作供应商汇总，不分别用于各账户调度。

## 设置并发

草稿保留编辑基线和 revision，提交实际修改的字段路径，数组整体更新。不同字段可合并，同字段冲突需要选择本地或最新值。“保留本地”只保留用户改过的字段。提交后继续输入的内容仍为未保存草稿。旧 PATCH/PUT 契约保留。

## 可选外部网关迁移

旧 `opencodeGo.enabled` 或 `opencodeGoEnabled: true` 只标记待迁移，不再全局转发聊天。查看网关中的模型、协议和上游凭据预览，确认后应用 `opencodeGoRoute`。现有本地密钥不会自动轮换。

客户端使用 `coding-opencode-go/<model-id>`（过渡期仍接受 `opencode-go/<model-id>`）和对应的 Chat Completions、Responses 或 Messages 端点，每段对话提供稳定的 `x-opencode-session`。缺失或冲突的标识明确报错，不生成替代 ID。模型目录与推理入口使用同一映射；插件设置写入独立供应商，不占用 DSH 原生 `opencode-go`。

本地密钥只用于入站认证。上游密钥从所选宿主凭据引用解析，缺失时失败，不回退为本地密钥。非 Go 模型继续走原后端。设置整批校验后落盘，端口绑定失败会恢复原配置和监听状态。

## 升级与回退

升级前保留旧包、宿主 Go 相关设置、插件设置和模型选择缓存。包含密钥的备份不得提交 Git 或进入公开证据。

首次升级模型缓存会保留 `.pre-selection-mode` 快照。旧配置缺少选择或为空数组时仍表示默认集合；新配置的显式空集合才表示隐藏全部。旧包无法表达隐藏全部，因此回退须同时恢复升级前的选择快照，不能只替换二进制后声称行为不变。

网关回退需要恢复旧包和原网关配置、密钥文件，以及迁移涉及的 Go 模型和凭据引用。官方 CLI 授权文件不在插件修改范围。生产重启由操作者选择时间执行。

## 验证边界

自动化行为测试与真实请求分开记录。真实验收使用隔离 profile、合成工作区和任务专属浏览器；证据记录最终端点、协议、匿名会话关联、流终态和文件结果，不包含密钥、原始会话 ID 或对话正文。

Windows DSH Pwsh 沙箱启动失败，批准一次后仍返回 `spawn EPERM`。文件读取和补丁工具已真实执行；主代理另外运行的测试不能替代 DSH 内 Shell 验收。系统原生目录窗口以预置隔离工作区作为测试前置条件处理，Go 凭据与模型配置仍通过界面完成。

具体通过、未通过和未验证项目以最终验收记录为准。真实供应商授权、未执行的协议组合或旧版混装不得标为通过。历史版本的入口协调不具备本次完整的退出恢复契约，建议两个候选包配对升级。

本候选的具体证据与未通过项见 [验收记录](repair-verification.md)。
