Skip to content

UX: reasoning-effort / thinking-mode UI placement needs a redesign #212

Description

@blueberrycongee

背景

最近接入 DeepSeek V4 + GPT-5.5 后,引入了两个新的 LLM 参数轴:

  • reasoning effort (low | medium | high | xhigh) — GPT-5.5 / DeepSeek V4 Pro 等模型支持的"推理深度"
  • thinking mode (auto | thinking | instant) — DeepSeek V4 / Kimi K2.5 这类支持思考开关的模型

当前实现把这两个控件都塞在了聊天输入框旁边的 + popover 里(src/components/layout/MainAIChatShell.tsx:1506-1577)。

问题

`+` popover 在用户认知里是**"附件 / skills"入口** —— 不是会去调推理参数的地方。导致:

  • 用户选了 GPT-5.5 后,effort 选择器完全找不到 —— 反馈原文:"我们现在在我们的面板上面没有办法选,也没有办法填"
  • AI Settings 弹窗(齿轮图标)里也没有 —— 用户找设置的第一直觉就是死路
  • thinking-mode 同病相怜,藏在同一个 popover 里

用户心智模型分析

reasoning effort 不是 set-and-forget 的"设置",而是 per-message 的取舍:

  • 直接决定单次提问的等待时间(xhigh 可能 1 分钟+)
  • 直接决定花的钱(reasoning tokens 不便宜)
  • 直接决定回答质量

用户预期:这条消息想要快/便宜 → low,这条消息要深度分析 → xhigh。同一会话内反复切换。这个性质和"选哪个模型"一样,不像 temperature(后者基本不会动)。

对标其他产品

产品 做法
Cursor effort 折进模型 dropdown(`GPT-5 · low`, `GPT-5 · medium`...)—— 单 picker 解决
Claude.ai extended thinking 开关贴在 send 按钮旁边 —— 但无 effort 粒度
ChatGPT 通过模型变体抽象掉(GPT-5.5 Thinking / Pro 当成不同模型)—— 完全不暴露
OpenAI Playground 侧栏 slider,持久化 —— tinker 场景才合适

候选方向(待设计稿确认)

A. 模型选择器旁边加 effort chip

  • `[GPT-5.5 ▾] [Effort: medium ▾]`
  • 不支持 effort 的模型 chip 自动消失
  • 跟 V4 Pro 这种"thinking 二态 + effort"的二维结构兼容

B. Cursor 派,折进模型 dropdown

  • `GPT-5.5 · Low` / `GPT-5.5 · Medium` / ...
  • 单 picker,UI 更省地方
  • 但和 V4 Pro 这种二维结构对不上(thinking on/off 还是要单独控件)

待办

  • 确认 UI 方向(待 @blueberrycongee 附设计稿)
  • 重做 effort + thinking-mode 的入口位置
  • AI Settings 弹窗补一个"默认 effort / 默认 thinking-mode"配置(全局 fallback)
  • 默认值校准:GPT-5.5 应默认 medium(对齐 OpenAI 官方默认),不要用"未设置"占位
  • thinking-mode hint 文案重新审视
  • hover tooltip 解释每档 effort 的速度/成本/质量权衡

现有实现位置

  • UI: `src/components/layout/MainAIChatShell.tsx:1506-1577`
  • Capability 抽象: `src/services/llm/thinking.ts`(`effort-only` / `param-toggle` 两种 strategy)
  • 后端 → opencode 透传: `electron/main/agent/providers/thinking-options.ts` + `electron/main/agent-v2/provider-bridge.ts`
  • 相关提交: `4a023bf`(DeepSeek V4) / `afc296d`(GPT-5.5 + opencode 端到端)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions