Releases: Open-Less/openless
OpenLess v1.2.9-tauri
🎉 新功能
- 划词追问 v2 — 多轮 + 流式(#119):选段文字 →
Cmd+Shift+;弹浮窗 →Option录音 → 答案逐字流出。同一面板里可以连续多轮追问,LLM 带完整上下文。- 流式输出(SSE):答案边生成边渲染,末尾闪烁 caret 表示生成中
- 浮窗可拖动(macOS NSWindow
movableByWindowBackground) - 胶囊与 QA 状态同步(录音/转写/思考)
- 选区每轮重新抓取,原 app 焦点不会被浮窗夺走
- 后续路线图:
docs/qa-reasoning-roadmap.md(思考能力 v2.2 设计稿)
- 跨 App 语气适应(#117):前台 App 注入 LLM context,按当前 app 的常见沟通风格调语气
- Settings 供应商鉴权 + 模型拉取(#122):填入凭据后可一键验证并列出可用模型
🛠 修复
- Volcengine ASR 12s 超时保护(#120):避免 ASR final result 死等无限挂起,超时返回
FinalResultTimeouterror - Windows 粘贴前校验目标窗口已恢复(#121):粘贴前确认原 app 已重新成为前台,避免插入到 OpenLess 自己窗口
- Settings 火山字段命名跟控制台对齐(#124):
App Key→APP ID、Access Key→Access Token、Resource ID默认volc.bigasr.sauc.duration,加 mapping note 说明 Secret Key 当前不需要 - 划词追问 macOS 关键修复(#119 内):
- capabilities 加
qa窗口 → 修listen('qa:state')被 Tauri 权限拦截,浮窗永远收不到事件 show_qa_window用orderFrontRegardless替代makeKeyAndOrderFront→ 修浮窗夺前台焦点导致选区抓不到- 所有
NSWindow操作 wrap 进app.run_on_main_thread→ 修 macOS 26 主线程断言 SIGTRAP - QA hotkey 注册必须在主线程(Carbon
RegisterEventHotKey事件靠主 run loop dispatch)
- capabilities 加
📝 文档
- 新增火山 ASR 极简配置指南:
docs/volcengine-setup.md+ 4 张截图(#126) - 新增思考能力 v2.2 设计稿:
docs/qa-reasoning-roadmap.md(C 路线 reasoner model 切换 + reasoning_content 流式 + 折叠思考块)
⚠️ 已知遗留
- Windows 圆角窗口 + resize handles(PR #125)作者标 draft,本版本不含;下个版本再上
- 未签名分发:macOS 首次打开会被 Gatekeeper 拦,需要:
xattr -cr /Applications/OpenLess.app - 思考能力(reasoner model + 强度配置)暂未实施,详见
docs/qa-reasoning-roadmap.md
Full Changelog: v1.2.8-tauri...v1.2.9-tauri
OpenLess v1.2.8-tauri
✨ 改动
- 🏷 火山引擎 ASR "Access Key(访问密钥)" → "Access Key":zh-CN UI label 精简,与英文版统一、与上版 "App ID" 改名风格一致。后端 keychain account 名
volcengine.access_key不变,已配置过的用户不需要重新输凭据。
⚠️ 首次安装:如遇"OpenLess 已损坏"提示
这是 macOS Gatekeeper 在浏览器下载未公证 app 时强加的隔离属性。终端运行一行即可:
xattr -cr /Applications/OpenLess.app然后正常打开即可。已经装过 OpenLess 的老用户从应用内自动更新到 1.2.8 不会出现这个问题——in-app 更新通路在重启前会自动剥掉隔离属性。
长期方案是 Apple Developer ID 签名 + 公证。配齐
APPLE_CERTIFICATE等 5 个 secrets 后下次发版即可免去这一步。
What's Changed
Full Changelog: v1.2.7-tauri...v1.2.8-tauri
OpenLess v1.2.7-tauri
✨ 主要新增
- 🌐 翻译模式 — 录音过程中按一下 Shift(任一侧),结束后会把转写翻译为目标语言再插入到光标。新增独立「翻译」一级 tab:可在内置 15 种语言里多选「工作语言」、单选「翻译目标语言」,附完整使用指南。胶囊上方会出现"● 正在翻译"实时指示器。
- 🛡 ASR 稳定性大改 — Volcengine 流式协议改成单 mpsc worker 串行 send,彻底消除"autoAssignedSequence mismatch"断连问题。
- 🪟 修复 macOS 主窗口红黄绿 — 之前的 Windows 自定义标题栏 PR 误把 macOS 原生窗口按钮也关了,现已恢复。
- 📋 剪贴板恢复开关 — 设置 → 录音 加新选项「插入后恢复剪贴板」(仅 Windows/Linux),关掉后听写文本留剪贴板,模拟粘贴失败时可手动 Ctrl+V 找回(#111)。
- ⚙️ 设置弹窗滚动修正 — X 按钮和 section 标题固定不滚,仅右栏内容滚动。
- 🏷 火山引擎"App Key" → "App ID" — UI 文案与官方文档对齐(凭据本身不变,老用户无须重输)。
⚠️ 首次安装:如遇"OpenLess 已损坏"提示
这是 macOS Gatekeeper 在浏览器下载未公证 app 时强加的隔离属性。终端运行一行即可:
xattr -cr /Applications/OpenLess.app然后正常打开即可。已经装过 OpenLess 的老用户从应用内自动更新升到 1.2.7 不会出现这个问题——in-app 更新通路在重启前会自动剥掉隔离属性。
长期方案是 Apple Developer ID 签名 + 公证。配齐
APPLE_CERTIFICATE等 5 个 secrets 后下次发版即可免去这一步。
What's Changed
- fix(credentials): 串行化凭证文件写入 by @H-Chris233 in #101
- chore(i18n): 补齐剩余可见文案翻译 by @H-Chris233 in #107
- fix(asr): 修 Volcengine 序号竞态 + UI 重做 by @appergb in #110
- fix(windows-gnu): 禁止 MinGW 为 cdylib 自动导出符号 by @Cooper-X-Oak in #106
- fix(windows): polish capsule and custom titlebar shell by @Cooper-X-Oak in #108
- [谨慎发布,需要测试]fix(recorder): 上报录音流运行期错误 by @H-Chris233 in #109
- feat: 翻译模式 + Codex 后审修复 + 胶囊翻译指示器 by @appergb in #113
Full Changelog: v1.2.6-tauri...v1.2.7-tauri
OpenLess v1.2.6-tauri
What's Changed
- fix(insertion): 修正 macOS 无权限时插入状态 by @H-Chris233 in #92
- fix(ui): 清理卸载后的延迟状态更新 by @H-Chris233 in #93
- fix: stabilize Windows recording startup by @appergb in #94
Full Changelog: v1.2.5-tauri...v1.2.6-tauri
OpenLess v1.2.5-tauri
What's Changed
- fix(windows): 修复 OpenLess 前台主窗口热键失效 by @Cooper-X-Oak in #86
- fix(hotkey): 补齐 Windows 主窗口前台热键 by @H-Chris233 in #90
Full Changelog: v1.2.4-tauri...v1.2.5-tauri
OpenLess v1.2.4-tauri
OpenLess v1.2.4
本次更新
- 调整 macOS 主窗口红绿灯位置:显式使用系统窗口按钮坐标,并让顶部拖动区域避开系统按钮热区,更贴近 macOS 标准窗口体验。
- 同步 1.2.4 版本号到 Tauri、Cargo、npm package 与 lockfile,确保桌面包、自动更新 manifest 和发布资产版本一致。
- 以
main分支上的a853b59提交发版;develop和main已对齐后再打v1.2.4-tauritag。
已记录的后续问题
这些语音纠错问题本版本先完成 issue 记录,尚未作为功能修复发布。
安装包
- macOS:
OpenLess_1.2.4_aarch64.dmg,以及自动更新用OpenLess.app.tar.gz/.sig/latest-darwin-aarch64.json。 - Windows:CI 完成后应包含
OpenLess_1.2.4_x64-setup.exe、OpenLess_1.2.4_x64_en-US.msi及对应.sig/latest-windows-x86_64.json。 - Linux:CI 完成后应包含 deb / rpm / AppImage 及自动更新 manifest。
Full Changelog: v1.2.3-tauri...v1.2.4-tauri
Full Changelog: v1.2.3-tauri...v1.2.4-tauri
OpenLess v1.2.3-tauri
Full Changelog: v1.2.2-tauri...v1.2.3-tauri
Full Changelog: v1.2.2-tauri...v1.2.3-tauri
Full Changelog: v1.2.2-tauri...v1.2.3-tauri
OpenLess v1.2.2-tauri
What's Changed
- ci(release): 显式 strip macOS bundle xattr (defense-in-depth) by @appergb in #83
- fix(settings): 避免凭据加载前被空值覆盖 by @H-Chris233 in #82
Full Changelog: v1.2.1-tauri...v1.2.2-tauri
What's Changed
- ci(release): 显式 strip macOS bundle xattr (defense-in-depth) by @appergb in #83
- fix(settings): 避免凭据加载前被空值覆盖 by @H-Chris233 in #82
Full Changelog: v1.2.1-tauri...v1.2.2-tauri
What's Changed
- ci(release): 显式 strip macOS bundle xattr (defense-in-depth) by @appergb in #83
- fix(settings): 避免凭据加载前被空值覆盖 by @H-Chris233 in #82
Full Changelog: v1.2.1-tauri...v1.2.2-tauri
OpenLess v1.2.1-tauri
OpenLess v1.2.1
中英文 UI · 用户的话不丢 · 取消即取消 · 单实例锁 · 全平台释放。
macOS 一行安装(免去 Gatekeeper 拦截):
curl -L -o /tmp/OpenLess.dmg "https://github.com/appergb/openless/releases/download/v1.2.1-tauri/OpenLess_1.2.1_aarch64.dmg" && \ hdiutil attach /tmp/OpenLess.dmg -nobrowse && \ ditto "/Volumes/OpenLess/OpenLess.app" /Applications/OpenLess.app && \ hdiutil detach "/Volumes/OpenLess" && \ xattr -cr /Applications/OpenLess.app && \ open /Applications/OpenLess.app
中文 / Chinese
✨ 主要改动
- i18n:完整中英双语,设置 → 语言 一键切换;首启自动按系统语言
- 数据安全:ASR partial 缓存 + 末帧排队 + Whisper 失败保留 buffer,"用户的话不能丢"
- 会话状态机:Esc 取消支持任何阶段(包括 Processing);hold/toggle 边沿不再卡死
- 单实例锁:tauri-plugin-single-instance,防双安装重复粘贴
- UI 动画补齐:所有按钮 hover/active 反馈;页面切换淡入;胶囊随电平实时呼吸
- 胶囊 2s 自动隐藏:所有终止态(Done/Cancelled/Error)2 秒后悬浮窗自动消失
- 词汇本实时刷新:每次说话结束、命中数立即更新,不用切 tab
📥 安装指引
macOS (arm64) — 浏览器下载用户:
- 下载
OpenLess_1.2.1_aarch64.dmg并打开,拖 OpenLess 到「应用程序」 - 终端跑一句
xattr -cr /Applications/OpenLess.app && open /Applications/OpenLess.app - 或者「访达」里 右键 → 打开 → 仍要打开
- 授权 麦克风 + 辅助功能 后完全退出再重新打开(macOS TCC 规则)
Windows (x64)
- 下载
OpenLess_1.2.1_x64-setup.exe或.msi - 双击安装,遇到 SmartScreen 蓝色窗口 → 更多信息 → 仍要运行
Linux:见对应 .AppImage / .deb / .rpm 文件,按发行版常规方式安装。
⚠️ 已知限制
- macOS 版本未公证(Apple Developer 证书未配置)— 首次打开必须
xattr -cr或右键打开 - 自动更新功能未上线(issue #33)— 新版需手动重新下载
English
✨ Highlights
- i18n: Full English/简体中文 UI, switchable in Settings → Language; auto-detect at first launch
- Data integrity: ASR partial cache + serialized audio finalize + Whisper buffer retained on failure — "your words don't get lost"
- Session state machine: Esc cancels at any phase (including Processing); hotkey edges no longer get swallowed during Starting
- Single-instance lock: tauri-plugin-single-instance prevents two OpenLess processes from pasting twice
- UI polish: hover/active transitions everywhere; page-swap fade; capsule breathes with live audio level
- Capsule auto-hide: All terminal states (Done / Cancelled / Error) auto-dismiss after 2s
- Vocabulary live refresh: Hit counter updates immediately when a session ends — no need to switch tabs
📥 Install
macOS one-liner (skips Gatekeeper):
curl -L -o /tmp/OpenLess.dmg "https://github.com/appergb/openless/releases/download/v1.2.1-tauri/OpenLess_1.2.1_aarch64.dmg" && \
hdiutil attach /tmp/OpenLess.dmg -nobrowse && \
ditto "/Volumes/OpenLess/OpenLess.app" /Applications/OpenLess.app && \
hdiutil detach "/Volumes/OpenLess" && \
xattr -cr /Applications/OpenLess.app && \
open /Applications/OpenLess.appBrowser-download macOS (arm64, Apple Silicon)
- Download
OpenLess_1.2.1_aarch64.dmg, open, drag OpenLess to /Applications - In Terminal:
xattr -cr /Applications/OpenLess.app && open /Applications/OpenLess.app - Or in Finder: right-click → Open → Open Anyway
- Grant Microphone + Accessibility, then fully quit and relaunch (macOS TCC requirement)
Windows (x64)
- Download
OpenLess_1.2.1_x64-setup.exeor.msi - Double-click; on the blue SmartScreen warning click More info → Run anyway
Linux: see the bundled .AppImage / .deb / .rpm and install per your distro.
⚠️ Known limitations
- macOS build is not notarized (Apple Developer cert not configured) — first-launch needs
xattr -cror right-click-Open - Auto-updater not yet shipped (issue #33) — manual re-download for new versions
OpenLess v1.2.0-tauri
What's Changed
- fix(hotkey): 收口桌面热键适配边界 by @H-Chris233 in #38
- chore(repo): 统一项目目录命名 by @H-Chris233 in #39
- test(hotkey): 补齐热键自动注入门禁 by @H-Chris233 in #41
- feat(i18n+polish+cleanup): 中英文 UI 切换 + polish prompt 重写 + 清理 Swift 残留 by @appergb in #42
- fix(polish): 过滤模型深度思考输出 by @H-Chris233 in #45
- fix(settings): 移除 SiliconFlow ASR 选项 — 后端未实现 (closes #58) by @appergb in #70
- fix(infra): 接入 tauri-plugin-single-instance 防双实例双插入 (closes #50) by @appergb in #71
- fix(asr): ASR 数据不丢失三件套 — partial 缓存 + 末帧排队 + Whisper 失败保留 (closes #54 #55 #56) by @appergb in #74
- fix(coordinator): 会话状态机修复 — Starting 边沿 + Esc 取消支持 Processing (closes #51 #52) by @appergb in #76
- fix(capsule): 终止态 2s 自动隐藏 — 覆盖 Done/Cancelled/Error 全路径 by @appergb in #77
- fix(coordinator): 关闭 cancel race 两处窗口期 (Codex HIGH #1 #2) by @appergb in #79
- release(v1.2.0): i18n + ASR 数据不丢失 + 状态机修复 + 单实例 + UI 动画补齐 by @appergb in #78
Full Changelog: v1.1.4-tauri...v1.2.0-tauri
What's Changed
- fix(hotkey): 收口桌面热键适配边界 by @H-Chris233 in #38
- chore(repo): 统一项目目录命名 by @H-Chris233 in #39
- test(hotkey): 补齐热键自动注入门禁 by @H-Chris233 in #41
- feat(i18n+polish+cleanup): 中英文 UI 切换 + polish prompt 重写 + 清理 Swift 残留 by @appergb in #42
- fix(polish): 过滤模型深度思考输出 by @H-Chris233 in #45
- fix(settings): 移除 SiliconFlow ASR 选项 — 后端未实现 (closes #58) by @appergb in #70
- fix(infra): 接入 tauri-plugin-single-instance 防双实例双插入 (closes #50) by @appergb in #71
- fix(asr): ASR 数据不丢失三件套 — partial 缓存 + 末帧排队 + Whisper 失败保留 (closes #54 #55 #56) by @appergb in #74
- fix(coordinator): 会话状态机修复 — Starting 边沿 + Esc 取消支持 Processing (closes #51 #52) by @appergb in #76
- fix(capsule): 终止态 2s 自动隐藏 — 覆盖 Done/Cancelled/Error 全路径 by @appergb in #77
- fix(coordinator): 关闭 cancel race 两处窗口期 (Codex HIGH #1 #2) by @appergb in #79
- release(v1.2.0): i18n + ASR 数据不丢失 + 状态机修复 + 单实例 + UI 动画补齐 by @appergb in #78
Full Changelog: v1.1.4-tauri...v1.2.0-tauri