Skip to content

refactor(settings): drop the specs and jargon nobody can act on - #2118

Merged
jackwener merged 1 commit into
mainfrom
pr-ux-voice-search-7
Aug 4, 2026
Merged

refactor(settings): drop the specs and jargon nobody can act on#2118
jackwener merged 1 commit into
mainfrom
pr-ux-voice-search-7

Conversation

@jackwener

Copy link
Copy Markdown
Member

Task #145 — UX 信息暴露清理 B(owner 拍板 msg 30f736ed)。

语音页

删「采集上限 60秒 · 16MB」「通道 单声道 · ≤48kHz」 —— 两个都不可调,知道了也不改变用户任何行为。是实现在自我描述。

「隐私:不保存音频 · 不进遥测」行删掉 —— 它是承诺不是状态,改成组自己的一句话描述。

「当前边界」整段删掉 —— 它开头写「这页现在可以验证…」,然后列三条语音模型「必须遵守」的规则。那是写给下一个做模型接入的人的变更说明,却摆在打开设置的用户面前。

内容没丢,压成一句用户语言放进「语音能力状态」组描述:

麦克风只在自检时录一小段,用完即丢弃;配置语音转写模型前不会把音频发往任何服务,转写结果也会先回到输入框、由你确认后再发送。

组里剩下的正是这个组服务的全部任务:有动作的那一行(麦克风权限)+ 自检按钮 + 自检结果

联网搜索页

Electron 内部词汇外泄

  • 「保存在主进程设置中,渲染器永远看不到明文」→「密钥只保存在本机」(同样的承诺,不暴露进程模型)
  • 搜索按钮禁用理由里的「或设置 TAVILY_API_KEY 环境变量」→ 删(那是写给开着终端的人的)

一个动作戴了三层标签真实查询验证查询执行查询,每层还各带一句 help —— 而它其实是一个动作:输入查询、按按钮、看结果。

现在一层:标签落在用户真正要填的那个输入框上,下面一个按钮,再下面结果区。

Copy 清理(中英都删)

captureLimit / durationSize / channels / channelValue / privacy / privacyValue / boundary / boundaryAria / boundaries / subtitleliveTitle / liveHelp / query / queryHelp / execute / executeHelp

.settingsFeatureStatusList 随边界列表一起删了 —— 顺带修正了它上面那句注释,原文写「still used by the voice 边界 list」,留着会误导下一个读的人。

验证

build ✅ / typecheck 0 error ✅ / format:check ✅ / check-dead-css ✅ / test:checks ✅ / workspace desktop ✅ ui ✅。两页真实 app 截图已发任务线程。

已知失败:storage / cli 是 Node v25 node:sqlite(本轮 runtime / runtime-host 都过了)。

@maka-审美专家 请 review。

Second pass of the UX audit, on 语音 and 联网搜索.

语音 · the status group listed 采集上限 60秒 · 16MB and 通道 单声道 · ≤48kHz.
Neither is adjustable and neither changes anything the user does; they were
the implementation describing itself. The 隐私 row was a promise rather than
a status, so it becomes the group's own sentence instead of a row with a
value.

The 当前边界 section went too. It opened "this page can now verify…" and
listed three rules speech models "must preserve" — a changelog note to
whoever builds the next model integration, addressed to whoever opened
Settings. Its content survives as one sentence in the user's terms: the mic
records briefly and discards, nothing leaves the machine until a
transcription model is configured, transcripts land in the composer for you
to confirm. What is left in the group is the row with an action behind it,
the self-check, and its result — which is the whole task the group serves.

联网搜索 · Electron's internals were leaking into user copy. "Saved in
main-process settings; the renderer never sees the clear text" becomes "the
key is stored only on this machine" — same promise, no process model. The
env-var hint on the disabled search button was written for someone with a
shell open, so it goes.

And one action wore three labels: 真实查询验证 over 查询 over 执行查询, each
with its own help line, for a single act — type a query, press the button,
read the result. One label now, on the field you actually fill in.

Copy removed in zh and en: captureLimit, durationSize, channels,
channelValue, privacy, privacyValue, boundary, boundaryAria, boundaries,
subtitle; liveTitle, liveHelp, query, queryHelp, execute, executeHelp.
`.settingsFeatureStatusList` went with the boundary list it styled, and its
comment — which claimed the voice page still used it — is corrected rather
than left to mislead the next reader.

Verified: build, typecheck, format:check, check-dead-css, test:checks, and
the desktop + ui workspace suites, with captures of both pages from the real
app. storage and cli remain the known Node v25 node:sqlite failures.
@jackwener

Copy link
Copy Markdown
Member Author

Review by maka-审美专家 — 通过:语音/联网搜索两页信息暴露清理过审(规格行删除、工程词汇归化、三层标签收一层);隐私承诺文案三条逐条核对无弱化;envKeyHelp 的「解释现状(有动作)vs 建议配置(无任务)」区分是正确判断;死 CSS + 注释顺手修正。CI 全绿。合入。

@jackwener
jackwener merged commit 4b4f68a into main Aug 4, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant