版本:v0.1
日期:2026-06-04
状态:Draft
目标平台:macOS
设计目标:尽可能接近 Apple 原生体验
Bufferly 的 UI 不追求炫技,不做网页感、SaaS 感或重型素材库。它应该像一个系统级 macOS 工具:安静、快速、清晰、可键盘驱动,并且在任何工作流里出现和消失都不打扰。
核心原则:
- 原生优先:使用 SwiftUI / AppKit 原生控件、系统字体、系统颜色和平台交互习惯。
- 内容优先:剪贴板内容是主角,装饰元素必须克制。
- 键盘优先:搜索、选择、粘贴、关闭、pin、删除都必须可以用键盘完成。
- 低打扰:面板呼出后快速完成任务,完成后自动隐藏。
- 本地可信:隐私和敏感内容状态要清楚,但不要制造焦虑。
- 高信息密度:像 Raycast 一样快,像 Paste 一样能扫读历史,但面向普通用户,不需要学习就能上手。
设计和实现应遵守以下 macOS 习惯:
- 使用系统字体:
.system/ SF Pro,不自定义品牌字体。 - 使用系统颜色:
primary,secondary,tertiary,accentColor,windowBackgroundColor,separatorColor等。 - 支持 Light / Dark / Auto 外观。
- 尊重系统 Accent Color,不强行指定高饱和品牌主色。
- 使用 vibrancy / material 时保持克制,避免模糊过强影响可读性。
- 窗口、菜单、快捷键、键盘导航遵守 macOS 平台预期。
- 主流程必须支持 Full Keyboard Access 语义。
关键词:
- Native
- Quiet
- Precise
- Fast
- Dense
- Trustworthy
避免:
- 大面积渐变背景
- Web dashboard 风格
- 过度圆角卡片
- 明显 Tailwind/Web UI 味道
- 玻璃拟态过重导致文字不清楚
- 大标题营销页风格
- 花哨图标和插画
Quick Panel 是 Bufferly 的核心界面,按全局快捷键呼出。
方向变更(见 §16-(a)):自 v0.2 起 Quick Panel 由「居中竖向列表」改为 Paste 式底部横向卡片墙。下文已按新方向描述。
建议尺寸:
- 高度:约 364 pt(固定)。
- 宽度:按当前屏幕宽度铺开,左右各留 24 pt 边距,最大 1280 pt。
- 卡片:宽 200 pt、高 272 pt,横向排列。
位置:
- 贴当前屏幕底部居中,距底部约 24 pt(类似 Paste 的底部条)。
- 多显示器场景下显示在当前鼠标所在屏幕。
窗口行为:
- 非文档窗口。
- 不显示标准标题栏。
- 失焦后可自动隐藏,设置里允许关闭。
Esc关闭。- 回车完成粘贴后自动关闭。
视觉:
- 背景使用轻量 material 模糊叠加半透明系统底色,不使用大面积
.glassEffect强模糊。 - 整体圆角约 20 pt,贴近系统浮层。
- 卡片为主角:彩色头部 + 白色正文,圆角 14 pt,无投影;不绘制默认选中态,最新信息由卡片顺序表达。
- 层级由位置、材质和边界表达,不使用投影。
结构:
+--------------------------------------------------------------+
| [search] [剪贴板 | 已固定] pinboard tabs [x] |
+--------------------------------------------------------------+
| ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ → |
| │ type │ │ type │ │ type │ │ type │ 横向滚动 |
| │ time │ │ time │ │ time │ │ time │ |
| ├────────┤ ├────────┤ ├────────┤ ├────────┤ |
| │preview │ │preview │ │preview │ │preview │ |
| │ source▸│ │ source▸│ │ source▸│ │ source▸│ |
| └────────┘ └────────┘ └────────┘ └────────┘ |
+--------------------------------------------------------------+
搜索框是默认焦点。
要求:
- 呼出面板后立即可输入。
- Placeholder:
Search clips - 输入时实时过滤结果。
- 支持
Command + F聚焦搜索,但默认已聚焦。 - 支持清空按钮。
视觉:
- 使用接近
NSSearchField的样式。 - 高度 36-40 pt。
- 左侧搜索图标使用系统符号。
- 不做夸张边框。
方向变更(见 §16-(a)):信息单元由「紧凑行」改为 Paste 式卡片。原 §4.3 Clip Row 的「不使用大卡片堆叠」已被本次决定否决。
Clip Card 是卡片墙的信息单元,富预览、可扫读。
尺寸:
- 宽 200 pt、高 272 pt,固定,避免横向滚动时跳动。
结构:
- 头部(高约 52 pt):按类型使用纯色背景(见 §9 类型色),显示类型名(白色粗体)+ 相对时间 + 类型图标。
- 正文(白色):富预览,代码 / JSON / 命令用等宽字体,最多 8 行;底部一行显示来源 App + pin 按钮。
状态:
- Default:无投影、无选中描边。
- Hover:只做轻微上移,不整体放大,避免文字被纹理采样后发糊。
- Pinned:pin 图标点亮为 accentColor。
- Sensitive blocked:正文用 lock 图标和脱敏文案,不显示明文。
类型标识要小而清楚,避免彩虹标签。
类型(见 §16-(g):优先展示普通用户能理解的类型):
- Text
- URL(链接)
- Email(邮箱)
- Image(图片)
- File(文件)
- Secret(受保护内容)
- 规划中:验证码、电话、地址
- 技术类型(JSON / CMD / Code):现有实现保留,展示优先级降级为高级能力
建议:
- 使用 Hugeicons stroke-rounded 图标 + 极短文本。
- Badge 宽度稳定,避免列表抖动。
- 色彩以系统 secondary/tertiary 为主。
- 只有 Secret 使用更明确的警示语义,但仍保持克制。
Pinned 是主动复用区,不是历史区。
规则:
- 默认最多展示 3-5 条。
- 搜索时 pinned 也参与过滤。
- Pinned 区域为空时不显示大面积 empty state,只显示 Recent。
- Pin 操作可通过
Command + P或行内按钮触发。
Recent 是默认历史流。
规则:
- 按最近复制时间倒序。
- 相同内容去重并更新
updatedAt。 - 右侧时间使用短格式:
now,2m,1h,Yesterday。 - 长文本只显示前两行,详情后续用 Quick Look / Detail Popover。
已移除(见 §16-(i)):自 v0.10 起 Quick Panel 不再有 footer,结果数量与按键提示不常驻展示。按键提示由首次引导覆盖层承担,搜索时的匹配数量在搜索框内胶囊显示。
设置页使用 macOS 原生 Settings 风格。
分组:
-
信任与存储
- 本地存储状态
- 联网行为状态
- 历史保留策略
- 排除 App 数量
-
快捷键
- Show Bufferly
- Pin selected clip
- Delete selected clip
- Paste as plain text
-
粘贴行为
- Return 默认只复制到剪贴板
- 可选“复制后粘贴到上一应用”
- 完成后关闭面板
- 辅助功能权限状态
-
隐私
- Sensitive filtering
- Store blocked placeholder
- Excluded apps
- Link previews opt-in
-
历史保留
- Retention duration
- Max history count
- Clear history
- Local database path
-
外观与启动
- Launch at login
- Follow system Light / Dark
- Respect Reduce Transparency / Reduce Motion
视觉:
- 使用系统表单控件。
- 主体控件与标签跟随系统默认字号;说明文字使用
footnote层级,不使用caption2做主要信息。 - 选项型设置优先使用菜单式 Picker,避免长中文挤在 segmented control 里。
- 使用 sidebar 或 tab settings 取决于实现成本。
- 不自定义复杂设置组件。
默认建议:
- 呼出 / 隐藏:
Option + Space
备选:
Control + Space可能与输入法冲突,不建议默认。Command + Shift + V常被“粘贴为纯文本”占用,不建议默认。
主面板:
Esc:关闭。Arrow Left / Right:在卡片墙左右移动选中项(Up / Down作为等效别名,见 §16-(a))。Enter:按设置执行:默认只复制到剪贴板;启用后复制并粘贴到上一应用。Option + Enter:只复制到剪贴板,不粘贴到上一应用。Command + Enter:粘贴为纯文本。Command + P:Pin / Unpin。Command + Delete:删除。Command + 1 / 2:切换 剪贴板 / 已固定 分区。Command + ,:打开设置。
- 单击选中。
- 双击粘贴。
- Hover 时显示行内操作。
- 右键显示上下文菜单。
上下文菜单:
- Paste
- Copy
- Paste as Plain Text
- Pin / Unpin
- Delete
定位说明(见 §16-(g)):Bufferly 面向普通用户,预览与类型展示优先照顾链接、图片、文件、验证码等日常内容。JSON / Command / Code 等技术类型的识别与渲染是现有实现,保留但不作为主线展示重点。
- 保留原文本换行,但预览最多两行。
- 连续空白折叠为单个空格。
- 主预览显示 domain + path。
- 次要信息显示完整 URL 或标题,后续可抓取。
- 不提供 URL 清理等转换动作,避免把产品变成开发者转换工具。
- 合法 JSON 显示
{}icon。 - 预览显示第一层 key 或压缩后的前缀。
- 不提供 JSON 格式化 / 压缩等转换动作,保留为历史检索与粘贴工具。
- 常见命令如
git,npm,pnpm,cargo,swift,xcodebuild,curl标记为 CMD。 - 保留 monospace 预览。
- 多行、含明显语法符号或代码关键字时标记为 Code。
- 不在 MVP 做完整语法高亮,避免性能和复杂度过早上升。
- 命中敏感规则时不显示原文。
- 预览文案:
Sensitive content hidden - 显示 lock icon。
- 默认不保存明文。
动效必须短、轻、系统感。
- 面板出现:80-120ms opacity + scale 0.98 -> 1。
- 面板关闭:60-90ms opacity。
- 卡片 hover:~120ms ease-out 的轻微上移,不整体放大。
- 卡片按下:100-140ms 的 0.98 scale 反馈。
- 键盘定位卡片滚入视野:~160ms ease-out,不绘制可见选中态。
- 删除:轻微 fade/collapse,避免夸张动画。
- 搜索结果变化:优先即时更新,不做复杂过渡。
禁止:
- 弹性过强的 spring。
- 长时间模糊动画。
- 大面积渐变动效。
- 卡片飞入飞出式的入场动画。
不要定义一套重品牌色。Bufferly 应跟随系统。
建议:
- Background:system window background / material。
- Text primary:system primary label。
- Text secondary:secondary label。
- Separator:system separator。
- Keyboard target:仅滚入视野,不使用卡片描边或投影表达。
- Warning / Secret:system red or orange,仅用于状态点和 icon。
类型色(卡片头部,见 §16-(a)):
- 仅用于卡片彩色头部,正文与列表其余部分仍跟随系统语义色,不扩散成全局品牌色;头部使用纯色,不叠加渐变或高光。
- Text:#0088FF / URL:#34C758 / JSON:#CB30E0 / Command:石墨灰 / Code:#CB30E0 / Email:pink / Image:#FF383C / Secret:orange。
- 色彩只负责类型识别,不承载选中态或主要层级。
Dark Mode:
- 不手写独立暗色 palette。
- 使用系统语义色。
- 验证 selected row、Secret row 在深色下的对比。
全部图标统一使用 Hugeicons(stroke-rounded,免费 MIT 集),见 §16-(j);SF Symbols 仅作为资源缺失时的运行时回退。App 图标与菜单栏图标同样取自 Hugeicons glyph,保证整体图标语言一致。
映射(Hugeicons 名称):
- 系统操作:Search
search-01、清除cancel-circle、Pinpin、移除minus-sign-circle、空态/引导copy-01/ai-content-generator-01 - 状态:成功
checkmark-circle-02、警告alert-02、信息information-circle - 内容类型:Text
text-align-left、URLlink-01、JSONthird-bracket、Commandcommand-line、Codecode、Emailmail-01、Imageimage-02、Filefile-empty-02、Rich Textfile-02、Secretsquare-lock-01、验证码lock-password、电话call-02、地址location-01、账号user-account
图标规则:
- 不手绘临时 SVG;图标从
@hugeicons/core-free-icons的数据生成 SVG,随包离线分发(Resources/Hugeicons/)。 - 不使用彩色插画图标。
- 工具按钮必须有 accessibility label。
首次启动若尚未完成引导,可以自动显示 Quick Panel 并覆盖一次性引导。引导完成后,后续启动 / 登录只常驻菜单栏,不主动弹出主面板。
空状态要克制:
No clips yet
Copied text will appear here.
不要放大插画,不放营销文案。
No matching clips
如果“复制后粘贴到上一应用”需要 Accessibility 权限:
- 用系统风格提示。
- 清楚说明只需要权限来把选中内容粘贴回前台 App。
- 提供打开 System Settings 的按钮。
- 没权限时仍允许“复制到剪贴板”。
必须支持:
- VoiceOver 可读行内容、类型、pin 状态、敏感状态。
- 所有按钮有 label。
- 主要流程可纯键盘完成。
- 选中状态不仅靠颜色表达。
- 遵守 Reduce Motion。
- 遵守 Increase Contrast。
建议 SwiftUI 组件边界:
BufferlyApp
AppDelegate
QuickPanelWindowController
ClipboardMonitor
ClipStore
ClipClassifier
SensitiveContentFilter
GlobalShortcutManager
QuickPanelView
SearchFieldView
ClipRowView
PinnedSectionView
RecentSectionView
SettingsView
优先实现静态 UI,再接真实数据:
- QuickPanelView with mock clips。
- ClipRow states。
- Search filtering。
- Pin / delete mock actions。
- ClipboardMonitor。
- Persistence。
- Global shortcut。
MVP UI 验收:
- 看起来像 macOS 原生工具,而不是网页套壳。
- 呼出面板后搜索框立即聚焦。
- 500 条历史仍能快速搜索和滚动。
- 只用键盘能完成找回并粘贴。
- Light / Dark 都可读。
- 长文本不会撑乱布局。
- Secret 内容不会泄露明文。
- 设置页能明确说明本地存储、不上传、保留多久、哪些 App 不记录。
- 设置页符合 macOS 设置习惯。
- 没有大面积渐变、营销式 hero、装饰性插画。
- Apple Human Interface Guidelines: https://developer.apple.com/design/human-interface-guidelines
- Apple HIG - Windows: https://developer.apple.com/design/Human-Interface-Guidelines/windows
- Apple HIG - Keyboards: https://developer.apple.com/design/human-interface-guidelines/keyboards
- Paste: https://pasteapp.io — 视觉与交互的主要参照(卡片墙、Pinboard、富预览)。
日期:2026-06-05
决策人:项目所有者(明确选择「真正向 Paste 看齐」)。
改了什么
- 面板从「屏幕居中浮层 + 竖向紧凑行列表」改为「屏幕底部横向卡片墙」。
- 信息单元从 Clip Row(紧凑行)改为 Clip Card(彩色头部 + 白色正文)。
- 键盘导航主方向从上下改为左右。
- 顶部新增 Pinboard 分段标签(剪贴板 / 已固定)。
- 新增按类型的卡片头部色(§9 类型色)。
为什么改
- 原 v0.1 只取了 Paste 的「可视化历史」概念,刻意用 Raycast 式竖向列表实现,并主动驳回了 Paste 的卡片形态。
- 实际使用后,项目所有者希望直接对齐 Paste 的具体样式(富预览、可横向扫读、来源与类型一眼可辨),认为卡片墙比紧凑行更符合产品期望。这是基于真实使用偏好的方向调整,优先级高于 v0.1 当初的取舍。
因此被否决/取代的原 v0.1 条款
- §4.1「屏幕水平居中」「略高于中心,类似 Spotlight / Raycast」「内部不要再嵌套大卡片」——改为底部卡片墙。
- §4.3「不使用大卡片堆叠」——改为正式采用卡片。
- §3 避免清单「过度圆角卡片」——卡片为主角,14 pt 圆角属正常范围;仍避免「过度」与 Web 卡片味。
- §8「卡片飞入飞出」——仅保留禁止「入场动画式」的飞入飞出。
- §6.2 上下导航——主方向改为左右。
仍然保留的原则(未被本次推翻)
- 原生优先、键盘优先、低打扰、本地可信、高信息密度。
- 跟随系统语义色:类型色只用于卡片头部,不扩散成全局品牌色;正文仍用系统色。
- 不自定义品牌字体、支持 Light / Dark、尊重 Reduce Motion / Increase Contrast。
- 不做营销 hero、不做 Web dashboard 味、玻璃拟态不过重影响可读性。
日期:2026-06-05 决策人:项目所有者(「完全按照 Apple 范式来」「全部都 Apple」)。
改了什么
- 部署目标提到
macOS 26,作为完整的 macOS 26 app(Package.swift+ 打包LSMinimumSystemVersion)。 - 顶部控件接入官方 Liquid Glass:搜索框用
.glassEffect(in: Capsule());分段控件保留原生胶囊形态,选中 pill 使用实底系统色和极轻小投影,不画描边。 - 面板底层曾使用官方
.glassEffect(.regular, in:)形成 Liquid Glass 背板;v0.7 起主面板改为轻量 material 模糊叠加半透明系统底色,内容卡片保持实底,不把正文区域玻璃化。 - 顶部控件改用 SF Symbols + 原生组件,去掉自绘 PNG 图标封装(删除 RemixIcon / NativeSearchField 等)。
- 搜索框定为常驻玻璃药丸(曾尝试「默认收起、点击展开」,因收起态不好看回退;见对话)。
- 去掉右上角关闭按钮:呼出式浮层靠 Esc / 点外部 / 再按快捷键关闭,不放关闭按钮(Spotlight / Raycast 范式)。
- 去掉顶栏下的硬
Divider:Tahoe 浮动工具栏让内容从下方透出,不用硬分割线。 - 顶部控件内边距与卡片墙对齐为 20pt,符合同心圆
外圆34 = 内圆 + 边距,分段控件不再顶到 34pt 外圆弧;搜索药丸与分段控件用.controlSize(.large)配齐高度读成一排。 - 卡片选中描边 3pt → 2pt,更贴近 Apple 选中惯例;后续已被 v0.4 的「无可见选中态」取代。
- 状态 Toast 使用官方 Liquid Glass 小浮层,不画描边;语义色只放在图标上,避免打扰复制流程。
- Quick Look 预览使用官方 Liquid Glass 外壳,正文内容区保持实底,避免长文本和代码被玻璃材质干扰。
- 开启「降低透明度」时,Liquid Glass 表面回退为实底系统色,避免可读性依赖透明材质。
为什么改
- 项目所有者要求「完全按照 Apple 范式」,且开发机已是 macOS 26(SDK / 部署目标可用真正的 Liquid Glass)。
- 对照官方 Liquid Glass 文档审查:主面板背板和顶部控件使用官方 Liquid Glass,内容卡片保持实底;本次主要修掉「不够 Tahoe」的细节(硬分割线、控件尺寸/对齐、字号过大、冗余关闭按钮)。
仍然保留的原则(未被本次推翻)
- (a) 的 Paste 式彩色卡片墙不变:彩色头部仅用于内容卡片,不是玻璃,不与「玻璃只给控件层」冲突。
- 原生优先、键盘优先、低打扰、尊重 Reduce Motion / Increase Contrast;系统组件自动适配「降低透明度」。
参考:Apple「Liquid Glass」技术总览 https://developer.apple.com/documentation/TechnologyOverviews/liquid-glass
日期:2026-06-29 决策人:项目所有者。
改了什么
- 主面板卡片不再显示选中态:最新内容由最前位置表达,键盘导航只保持内部目标和滚动位置。
- 去掉卡片与浮层投影,层级由材质、边界、位置和内容密度表达。
- 保留彩色头部用于类型识别,同时去掉默认选中态和投影来降低解释成本。
- 设置页隐私摘要改为实时状态:本地历史、敏感过滤、链接预览是否联网一眼可见。
为什么改
- 用户实际使用中认为“默认选中的卡”会制造不必要的解释成本;放在最前面已经代表最新信息。
- 投影和默认选中态会增加解释成本;hover 放大曾导致文字发糊,高频工具应优先稳定、清楚、快速。
日期:2026-07-01 决策人:项目所有者。
改了什么
- 设置页信息架构改为信任与存储、快捷键、粘贴行为、隐私、历史保留、外观与启动。
- 设置页必须明确展示:本地存储、不上传、保留多久、哪些 App 不记录。
- 用户可设置历史保留时长;未固定内容按时间过期,已固定内容不按时间自动删除。
- 默认排除 Passwords、Keychain Access、1Password、Bitwarden 等敏感来源,并提供恢复建议列表。
- 剪贴板监听先检查 pasteboard 类型 / 元数据 / transient 或 concealed 标记,再读取真实内容。
- 卡片彩色头部继续保留上一版系统纯色,不再额外压暗;类型色只负责扫读,不承载可读长文本。
为什么改
- 剪贴板工具的核心信任来自“我知道它记录什么、保存多久、哪些地方不会记录”。
- macOS 新 pasteboard 隐私机制鼓励先检测模式和元数据,减少不必要的内容读取与系统提醒。
日期:2026-07-04 决策人:项目所有者。
改了什么
- 类型色调整为:Text
#0088FF、URL#34C758、Image#FF383C、Code#CB30E0;JSON 同 Code 使用#CB30E0,Command / Email / Secret 保持原有区分。 - 所有文本型内容统一使用正文预览和底部淡出,减少每种文字内容一套版式带来的扫读成本。
- 图片卡从完整 letterbox 预览改为正文区域 full-bleed 填充预览,并在底部叠加低位渐隐和来源。
仍然保留的原则
- 卡片宽高、头部高度和头部右侧类型图标尺寸不变。
- 不恢复卡片默认选中态,不给真实产品卡片加大投影;层级仍主要由面板材质、卡片边界和内容预览表达。
- 渐隐只在底部低位收尾,不能过早遮住正文或图片主体。
日期:2026-07-05 决策人:项目所有者。
改了什么
- 主面板背板使用
.ultraThinMaterial提供轻量模糊,并叠加半透明系统底色,当前透明度为0.64,避免读成全透明。 - 大面积背板不叠加
.glassEffect;顶部控件等小面积交互控件仍可使用系统玻璃效果。
日期:2026-07-07 决策人:项目所有者。
改了什么
- 产品定位从「开发者和 AI heavy user 的剪贴板工作台」调整为「普通 macOS 用户的本地优先剪贴板助手」。
- 类型展示优先级向普通用户倾斜:链接、邮箱、图片、文件、受保护内容优先;验证码、电话、地址列入规划。
- JSON / Command / Code 等技术类型的识别、类型色与等宽预览属于现有实现,全部保留,但降级为高级能力,不作为主线展示与宣传重点。
- 敏感内容对用户的措辞从「过滤」转向「保护」,强调默认本地保存、不上传、自动保护。
为什么改
- 「验证码被顶掉、链接图片文件找不回」是普通用户的高频痛点,市场空间比开发者细分更大。
- 开发者 / AI 工作流能力(MCP、AI 上下文打包等)保留为未来高级功能,不与主线体验冲突。
仍然保留的原则(未被本次推翻)
- 原生优先、键盘优先、低打扰、本地可信、高信息密度。
- 底部横向卡片墙、类型色头部、无可见选中态等既有设计决定不变。
日期:2026-07-07 决策人:项目所有者。
改了什么
- 动效参数收敛为统一 token(
Motion):按下 130ms / hover 120ms / 键盘滚动 160ms / 覆盖层 120ms / toast 160ms / 列表增删 180ms,全部 ease-out,替换散落的 snappy 与自定义曲线。 - 键盘导航滚动补上 160ms ease-out 动画(§8 原要求),且只在目标卡不完全可见时滚到最近一侧边缘,不再每按一次就整排居中。
- 键盘落到目标卡时播一次 ~150ms 的瞬时上移脉冲(与 hover 同量级,动完无痕),解决卡片不足一屏时方向键零反馈;不引入持久选中态,v0.4 决定不变。
- 卡片按下反馈改为真实按下状态(mouse-down 即 0.98,松手回弹),替换点击完成后补播的脉冲。
- 删除 / 取消固定的卡片退场加轻微 fade + 0.98 缩小(§8 删除动效);入场保持直入,不做飞入。
- 空格 Quick Look 预览与首次引导覆盖层加 120ms 出入场:scrim 淡入,浮层本体 0.98 → 1。
- 卡片墙支持滚轮 / 触控板「纵向为主」的滚动映射为横向(Paste 惯例);横向手势保持原生行为,预览 / 引导覆盖层期间不接管。
- 面板呼出、搜索变化、新条目等程序性定位不播滚动动画,直接就位;所有新增动效尊重 Reduce Motion(含补上 pin 图标 bounce 的门控)。
日期:2026-07-22 决策人:项目所有者(明确指出「这俩不要」:左下结果数量与右下快捷键提示)。
改了什么
- 移除面板底部常驻辅助条(原 §4.7 footer):左下「N 条」结果计数与右下「← → 选择 · 回车… · 空格预览 · ⌘P 固定」按键提示整条去掉。
- 面板高度 392 pt → 364 pt,卡片墙底部 20 pt 内边距成为面板底边,其余布局不变。
为什么改
- 常驻计数与按键提示对高频使用是噪音;按键提示已有首次引导覆盖层与设置页速查承担,搜索时的匹配数量仍在搜索框内胶囊显示。
仍然保留的原则(未被本次推翻)
- 键盘优先、低打扰:快捷键本身全部保留,只是不再常驻展示提示。
- 四周统一 20 pt 边距与同心圆角(外 34 = 卡片 14 + 边距 20)不变。
日期:2026-07-22 决策人:项目所有者(「所有的 icon 都换成 Hugeicons 库里的 icon」)。
改了什么
- 内容类型图标从 Tabler Icons 换为 Hugeicons stroke-rounded(免费 MIT 集,
@hugeicons/core-free-icons生成 SVG 离线分发),删除 TablerIcons 资源与TablerIconView。 - 界面内原 SF Symbols 图标(搜索、清除、pin、空态、引导、状态 toast、设置移除按钮、卡片内 email/link/lock/photo/花括号等)全部换为 Hugeicons,SF Symbols 降级为资源缺失时的运行时回退。
- pin 图标的 SF Symbol bounce 动效改为等价的 130ms 缩放脉冲(
PinButton),仍尊重 Reduce Motion。 - App 图标与菜单栏图标此前已换为 Hugeicons glyph(
ai-content-generator-01solid 变体),本次让面板内图标与其保持同一图标语言。
为什么改
- 项目所有者希望全 App 图标风格统一到 Hugeicons;此前 Tabler(内容类型)+ SF Symbols(操作)+ Hugeicons(App 图标)三套混用。
因此被调整的原有条款
- §10「系统操作优先使用 SF Symbols」→ 全部图标统一 Hugeicons,SF Symbols 仅作回退。
- v0.3 中「顶部控件改用 SF Symbols」的图标部分由本条取代;原生控件、语义色等其余原则不变。