Files
goodbuddy/docs/features/model-connections/ui-design.md
T
mesalogo b2c85b8ece fix: describe saved fixed project models accurately
Projects with a saved fixed Runtime model could incorrectly claim to follow
the global Runtime configuration. Restore the fixed-model description while
keeping the simplified menu and the ability to return to inherited settings.
Model resolution, permissions, and remote Agent behavior are unchanged.

Validation: 3911 tests passed, 66 skipped; typecheck, lint, and release-note
validation passed. Added bilingual regressions for all three Agent Runtimes.

Release note: 项目已固定 Runtime 模型时,现在明确显示所用固定模型,不再误报为跟随全局设置。
2026-09-11 01:21:24 +08:00

3.6 KiB

模型连接请求定制 UI 设计

本文件定义模型连接请求定制的界面行为。全局视觉、表单和无障碍规则继续以 UI-DESIGN.md 为准。

信息架构

“自定义请求头”和“自定义请求体”位于当前 LLM 连接详情的最底部、连接兼容性摘要之前。 它们不新增页签、弹窗或高级模式。每个编辑器使用可纵向调整大小的等宽文本域,默认值为 {}。

编辑与保存

  • 请求头接受 JSON 对象,所有值必须是字符串。
  • 请求体接受 JSON 对象,值必须是有界、可序列化的 JSON。
  • 用户输入在编辑时原样保留。JSON 语法、类型、大小或保留字段无效时,文本域显示 aria-invalid 和就地错误;点击保存时阻止写入,并在现有设置错误区域显示对应连接。
  • 保存成功后,编辑器使用两个空格缩进重新格式化已保存对象。
  • 新连接从两个空对象开始。

兼容性说明

请求头说明明确列出直连、Continue、OpenCode 和 DeepSeek Harness 在原生支持范围内使用 该值。请求体说明明确列出直连、Continue 和受管远程 OpenCode 支持,并说明本地 OpenCode 与 DeepSeek Harness 不使用该值。

同一区域还必须说明:

  • Runtime、协议和认证生成的字段优先。
  • 请求体只做顶层浅合并,不递归合并对象。
  • 自定义值按普通连接设置保存,不能用于保存 API Key 或其他密钥。

无障碍与键盘

  • 每个文本域有稳定的可访问名称,并通过 aria-describedby 关联兼容性说明。
  • 无效状态不能只依赖颜色,必须同时提供错误文字和 aria-invalid。
  • 文本域遵循标准键盘编辑、选择、复制和粘贴行为;保存继续使用设置页唯一的主保存操作。
  • 焦点边框、字体、间距、颜色和深浅主题全部复用全局语义令牌。

会话与项目 Runtime 选择

会话与项目选择器只提供直连模型和各 Runtime 入口,不再枚举每个 Runtime 与每个模型的 组合;Runtime 模型在系统设置中配置。已保存的固定 Runtime 模型选择继续保留,项目 选择器的选项与帮助文字均显示其固定模型,不能误报为跟随全局设置;用户可选择普通 Runtime 入口恢复跟随。该展示规则不改变模型解析、远程 Agent 协议或执行权限。

Harness 模型来源展示

DeepSeek Harness 的 platform 选项命名为“管理员环境优先,回退 GoodBuddy 兼容连接”, 不能沿用 OpenCode/Continue 的“Runtime 自有配置”标签。来源规则以 Harness 模型配置为准。 帮助文字与选择器通过 aria-describedby 关联,并明确此选项不加载用户 profile 或 配置文件;无兼容 GoodBuddy 连接时仍可选择管理员环境来源。

概览使用 Main 提供的平台来源投影, 明确显示实际管理员预置模型,或“未配置完整的管理员预置”及已保存兼容回退的名称与模型; 没有可解析连接时显示明确空状态,但保留 platform 选项。不得从通用模型名称或 credentialSource 猜测管理员来源,也不得显示密钥或读取 Main 环境。

没有管理员覆盖且草稿兼容候选发生变化时,额外显示“草稿兼容候选(未保存)”,保留实际 已保存来源;草稿失去兼容连接时也明确说明。管理员覆盖生效时不把草稿回退显示为实际模型。 保存完成后以 Main 重新解析的投影刷新概览。