Appearance
功能特性
ReadBrief 不做「大而全」,只专注把「划词 → 立即看到 AI 总结」这一件事做到极致。
划词即总结
在任意应用中选中一段文字,按下全局快捷键(默认 ⌘ShiftZ),总结浮窗即时出现在光标附近,AI 开始流式输出。
- 浮窗基于 macOS 原生 NSPanel,悬浮于任意应用之上——包括全屏视频、全屏 IDE
- 浮窗不会激活应用、不会切出桌面,全程不打断你的工作流
- 若未能捕获选中文本(部分应用 AX 属性不完整),浮窗自动降级为输入框,支持手动粘贴后回车总结
三协议 AI 适配
内置 OpenAI / Anthropic Claude / Google Gemini 三套协议适配层,字段差异(如 Claude 的 system 独立、Gemini 的 contents/parts)由协议层消化。
- 可同时配置多个服务,测速回显、拖动排序、设默认
- 兼容任何 OpenAI 格式的中转 / 代理网关(自定义 Base URL)
- 每个快捷键可独立绑定「提示词 + 模型」,由快捷键决定模型
系统级浮层(NSPanel)
最核心也最复杂的能力:运行期通过 object_setClass 将 Tauri 窗口转换为 NSPanel 子类,设置 NonactivatingPanel + CanJoinAllSpaces | FullScreenAuxiliary,全程只用 orderFront(绝不调用 show/set_focus)。
- 跨 Space、悬浮全屏应用上方
- 双击顶部拖拽条可固定浮窗,固定后不响应 Esc,避免误触丢失内容
- Esc 分层退出:停止生成 → 关闭浮窗 → 隐藏主窗
本地历史 · 三栏浏览
每次成功总结自动存入本地 SQLite,主窗口采用邮件客户端式三栏布局(导航 208px / 列表 296px / 详情自适应)。
- 列表摘要用 AI 总结的结论而非原文开头——数百条记录仍可肉眼扫读
- 每条记录持久化:原文 / 总结 / AI 小标题 / 时间 / 模型 / 提示词 / 标签 / 收藏
- 支持搜索、标签、收藏、复制、重新生成
- 详情区原文与总结对照阅读,原文默认折叠、展开带渐隐遮罩限高
提示词管理
每个提示词是一套「完整工作方式」:独立输出格式、可绑定独立快捷键。卡片式网格管理。
- 内置三个提示词(总结 / 翻译 / 问答),不可修改、不可删除
- 自定义提示词支持编辑、复制、删除;免费版限 3 个
- 变量语法
{{text}}在预览中高亮,运行时替换为选中文本 - 付费墙做成网格里的第 4 张卡片,而不是打断心流的弹窗
快捷键 · 录制式绑定
对齐 Bob / MASShortcutView 的录制式输入:点击进入监听态,按下组合即录入,单独修饰键不计入。
- 单个控件内切换 空态 / 绑定态 / 录制态 三种形态
- 冲突检测在失焦前完成,冲突项标红并说明与什么冲突
- 每个快捷键可绑定提示词与模型,触发时运行对应提示词
密钥安全 · AI 下沉 Rust
- AI 请求全部由 Rust 后端通过
reqwest发起,前端只收流式事件 - 密钥永不进入渲染进程,不打印、不日志输出
- 统一超时、输入截断(20k 字符)、协议白名单
- 密钥存于本机
config.json(MVP 明文,路线图计划接入系统钥匙串)
错误处理 · 三类专属文案
绝不用一句「请求失败」打发用户,三类错误各有文案与可点的解决按钮:
| 类型 | 文案方向 | 主按钮 |
|---|---|---|
| 401 鉴权失败 | 密钥无效或已过期,检查是否完整粘贴 | 前往设置 |
| 429 限流/额度 | 触发频率或额度限制,说明等待时长 | 切换服务 |
| 网络异常 | 无法连接,提示检查代理设置 | 重试 |
中英双语 · 亮暗主题
- 界面默认中文,一键切换英文;按钮宽度已按英文 30–60% 的膨胀预留
- 「总结语言」独立设置:跟随界面 / 中文 / English
- 设计令牌(Design Tokens)驱动,深色模式零改动切换
- 字体大小三档调节;
prefers-reduced-motion下动效全部归零
托盘常驻
菜单栏常驻,不打开主窗也能完成高频动作:
- 查看监听状态与今日总结次数
- 粘贴并总结(读剪贴板,无需任何系统权限)
- 切换当前提示词、暂停 / 恢复划词监听
- 进设置、退出
