Skip to content

[area:ux] 设置项增加「?」悬浮提示,说明各配置项用途 #736

Description

@HKLHaoBin

问题

设置页(SettingsModal)里大量配置项只有标题 + 控件,没有说明文字。用户看到「触发模式」「润色上下文窗口」「Beta 通道」等标签时,往往不知道具体影响什么、何时该改。

2026 年初做过「页面瘦身」:SettingRowdesc prop 和 SectionDesc 被刻意隐藏——调用点仍传 desc={t('...Desc')},i18n 里也有大量 *Desc / *Hint 文案,但界面上完全不可见

期望

在每个(或绝大多数)非自明配置项标题旁增加 「?」悬浮提示(桌面 hover / 移动 tap),展开详细说明该选项的作用、适用场景与注意事项。

  • 不恢复每行下方小字描述(保持当前紧凑布局)
  • 帮助信息应可发现(用户知道有问号可点/可悬停),而非隐藏 dead copy

现状(代码级)

位置 说明
openless-all/app/src/pages/settings/shared.tsx SettingRow 接受 desc 但不渲染;SectionDescreturn null
openless-all/app/src/pages/settings/tabs.tsx General / Services / Privacy / Advanced / About 五个 Tab
openless-all/app/src/i18n/*.ts 约 100+ 条 settings.*Desc / *Hint 已存在,6 语言
Icon.tsx 已有 help(问号圆)图标,设置行未使用
可复用 Tooltip 组件 仅零星 title= 原生 tooltip

典型「只有标题、用户看不懂」的例子

  1. 触发模式RecordingInputSection)— 有 settings.recording.modeDesc,UI 不显示
  2. 录音时静音(同上)— 有 muteDuringRecordingDesc,行上甚至未传 desc
  3. 历史保留 / 润色上下文DataStorageSection)— 多条 *Desc 全部隐藏
  4. 主题ThemeSection)— 无 *Desc i18n,需新增
  5. LLM 提供商 / Thinking 模式ProvidersSection)— 注释写明 desc 因换行被拿掉

Android 权限面板(AndroidPermissionsPanel)有部分 inline hint,风格与桌面不一致,需统一决策。

建议实现

1. 共享组件

shared.tsx 扩展 SettingRow,或新增 SettingHelp

  • 标题旁小号 Icon name="help" 触发器
  • 桌面:hover / focus 显示 tooltip
  • 移动 / 触屏:tap 显示 popover(不可 hover-only)
  • aria-describedby + 键盘可聚焦

2. 文案来源(优先复用)

  • 已有 desc={t('...Desc')} 的调用点 → 接到 tooltip
  • 已有 i18n *Desc / *Hint 但未 wired → 补 prop
  • 缺失 key 的项(如 Theme)→ 补 6 语言文案

3. 分 Tab rollout 优先级

优先级 Tab / Section 理由
P0 General:RecordingInputSectionLanguageSectionThemeSection 新用户首屏,选项最抽象
P1 Services:ProvidersSection(凭证、Thinking、模型) 配错影响核心功能
P2 Privacy:DataStorageSection、桌面 PermissionsSection 数据/权限敏感
P3 Advanced:DebugToolsSectionLocalModelSectionBetaChannelSection 进阶用户,但术语多

4. 平台

  • Desktop + Android WebView 设置共用 pages/settings/*,同一套 SettingRow 即可
  • Android 专属 inline hint 决定是否迁移为统一 ? 样式(建议统一,减少两套 UX)

接受标准

  • SettingRow(或等价 primitive)支持可选 help / 复用现有 desc 作为 tooltip 内容
  • P0 节所有非自明配置项均有可发现的 ? 帮助
  • 桌面 hover + 键盘 focus 可查看;触屏 tap 可查看(非 hover-only)
  • 复用的 i18n 在 en / zh-CN / zh-TW / ja / ko 均可用(新增 key 需 6 语同步)
  • 设置页整体行高/密度与现版相当,不因恢复 inline desc 而变长
  • (可选)Storybook 或截图:General Tab before/after

非目标

  • 不恢复每行 permanent 小字描述(除非个别 section 维护者明确要求)
  • 不一次性重写全部 Advanced 里开发者向工具的 long-form 文档(可先链到 Help Center)
  • 不在本 issue 内重做 RemoteInputSection(当前未接入 tabs)

相关

  • 设置入口:components/SettingsModal.tsx
  • 外部帮助:SettingsModal 侧栏已有 Help Center 链接,行级 tooltip 是就地补充,不替代文档站

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions