Keep interactive questions and answered cards at their original position in conversation history, including remote reception, recovery, and reopening. Preserve legacy history placement without a database migration. Move supplementary guidance into shared accessible contextual-help popovers across pages and settings. Add keyboard, modal, accessibility, and Electron regressions, plus bounded opt-in live canvas-analysis validation. Remove unused Agent, Runtime, and in-memory graph-search helpers, obsolete mocks and browser copy; reuse the existing package-size formatter. Keep production execution paths, protocol schemas, and released data migrations. Validation: targeted cleanup tests, typecheck, lint, shared Linux Host attach/read/re-attach, and added help/Electron checks passed. Final full-suite verification passed 4,858 tests with 67 skipped and zero failures (412 files passed, 9 skipped). Focused help checks passed 54 tests, including Electron style comparisons and Chromium accessibility descriptions. Details and validation boundaries are recorded in feature docs. Release note: 修复交互式问答在回答后排到后续输出末尾的问题,重新打开会话仍保留提问位置。页面和设置中的补充说明改为标题或字段旁的按需帮助,支持鼠标与键盘操作。
3.9 KiB
模型连接请求定制 UI 设计
本文件定义模型连接请求定制的界面行为。全局视觉、表单和无障碍规则继续以
UI-DESIGN.md 为准。
信息架构
“自定义请求头”和“自定义请求体”位于当前 LLM 连接详情的最底部、连接兼容性摘要之前。
它们不新增页签、弹窗或高级模式。每个编辑器使用可纵向调整大小的等宽文本域,默认值为
{}。
编辑与保存
- 请求头接受 JSON 对象,所有值必须是字符串。
- 请求体接受 JSON 对象,值必须是有界、可序列化的 JSON。
- 用户输入在编辑时原样保留。JSON 语法、类型、大小或保留字段无效时,文本域显示
aria-invalid和就地错误;点击保存时阻止写入,并在现有设置错误区域显示对应连接。 - 保存成功后,编辑器使用两个空格缩进重新格式化已保存对象。
- 新连接从两个空对象开始。
兼容性说明
请求头说明明确列出直连、Continue、OpenCode 和 DeepSeek Harness 在原生支持范围内使用 该值。请求体说明明确列出直连、Continue 和受管远程 OpenCode 支持,并说明本地 OpenCode 与 DeepSeek Harness 不使用该值。
两项说明使用标签同行的 InlineHelp,交互遵循同行帮助规范。下列警告及字段错误保持常显。
同一区域还必须说明:
- Runtime、协议和认证生成的字段优先。
- 请求体只做顶层浅合并,不递归合并对象。
- 自定义值按普通连接设置保存,不能用于保存 API Key 或其他密钥。
无障碍与键盘
- 每个文本域有稳定的可访问名称,并通过
aria-describedby关联兼容性说明。帮助关闭时保留隐藏说明,展开时替换为同 ID 的浮层,避免关联丢失或 ID 重复。 - 无效状态不能只依赖颜色,必须同时提供错误文字和
aria-invalid。 - 文本域遵循标准键盘编辑、选择、复制和粘贴行为;保存继续使用设置页唯一的主保存操作。
- 焦点边框、字体、间距、颜色和深浅主题全部复用全局语义令牌。
会话与项目 Runtime 选择
会话与项目选择器只提供直连模型和各 Runtime 入口,不再枚举每个 Runtime 与每个模型的 组合;Runtime 模型在系统设置中配置。已保存的固定 Runtime 模型选择继续保留,项目 选择器的选项与帮助文字均显示其固定模型,不能误报为跟随全局设置;用户可选择普通 Runtime 入口恢复跟随。该展示规则不改变模型解析、远程 Agent 协议或执行权限。
Harness 模型来源展示
DeepSeek Harness 的 platform 选项命名为“管理员环境优先,回退 GoodBuddy 兼容连接”,
不能沿用 OpenCode/Continue 的“Runtime 自有配置”标签。来源规则以
Harness 模型配置为准。
帮助文字收进标签同行的 InlineHelp,与选择器通过 aria-describedby 持续关联,并明确此选项不加载用户 profile 或
配置文件;无兼容 GoodBuddy 连接时仍可选择管理员环境来源。
概览使用 Main 提供的平台来源投影,
明确显示实际管理员预置模型,或“未配置完整的管理员预置”及已保存兼容回退的名称与模型;
没有可解析连接时显示明确空状态,但保留 platform 选项。不得从通用模型名称或
credentialSource 猜测管理员来源,也不得显示密钥或读取 Main 环境。
没有管理员覆盖且草稿兼容候选发生变化时,额外显示“草稿兼容候选(未保存)”,保留实际 已保存来源;草稿失去兼容连接时也明确说明。管理员覆盖生效时不把草稿回退显示为实际模型。 保存完成后以 Main 重新解析的投影刷新概览。