Skip to content

Releases: Open-Less/openless

OpenLess v1.2.9-tauri

01 May 12:02

Choose a tag to compare

🎉 新功能

  • 划词追问 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 死等无限挂起,超时返回 FinalResultTimeout error
  • Windows 粘贴前校验目标窗口已恢复(#121:粘贴前确认原 app 已重新成为前台,避免插入到 OpenLess 自己窗口
  • Settings 火山字段命名跟控制台对齐(#124App KeyAPP IDAccess KeyAccess TokenResource ID 默认 volc.bigasr.sauc.duration,加 mapping note 说明 Secret Key 当前不需要
  • 划词追问 macOS 关键修复(#119 内)
    • capabilities 加 qa 窗口 → 修 listen('qa:state') 被 Tauri 权限拦截,浮窗永远收不到事件
    • show_qa_windoworderFrontRegardless 替代 makeKeyAndOrderFront → 修浮窗夺前台焦点导致选区抓不到
    • 所有 NSWindow 操作 wrap 进 app.run_on_main_thread → 修 macOS 26 主线程断言 SIGTRAP
    • QA hotkey 注册必须在主线程(Carbon RegisterEventHotKey 事件靠主 run loop dispatch)

📝 文档

  • 新增火山 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

01 May 03:33
39c4633

Choose a tag to compare

✨ 改动

  • 🏷 火山引擎 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

  • chore: release 1.2.8 + zh-CN Access Key label 精简 by @appergb in #115

Full Changelog: v1.2.7-tauri...v1.2.8-tauri

OpenLess v1.2.7-tauri

01 May 02:22
b7e934a

Choose a tag to compare

✨ 主要新增

  • 🌐 翻译模式 — 录音过程中按一下 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

30 Apr 13:45
884455a

Choose a tag to compare

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

30 Apr 11:06

Choose a tag to compare

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

30 Apr 10:34

Choose a tag to compare

OpenLess v1.2.4

本次更新

  • 调整 macOS 主窗口红绿灯位置:显式使用系统窗口按钮坐标,并让顶部拖动区域避开系统按钮热区,更贴近 macOS 标准窗口体验。
  • 同步 1.2.4 版本号到 Tauri、Cargo、npm package 与 lockfile,确保桌面包、自动更新 manifest 和发布资产版本一致。
  • main 分支上的 a853b59 提交发版;developmain 已对齐后再打 v1.2.4-tauri tag。

已记录的后续问题

  • #87:上下文纠错不足导致 issue 被误写成 iOS
  • #88:提交 issue 场景会丢失前置问题描述。
  • #89:需要在 ASR 和 LLM polish 之间增加混淆词纠错层。

这些语音纠错问题本版本先完成 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.exeOpenLess_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

30 Apr 10:14

Choose a tag to compare

OpenLess v1.2.2-tauri

30 Apr 07:06

Choose a tag to compare

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

30 Apr 06:36
90141e2

Choose a tag to compare

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) — 浏览器下载用户:

  1. 下载 OpenLess_1.2.1_aarch64.dmg 并打开,拖 OpenLess 到「应用程序」
  2. 终端跑一句 xattr -cr /Applications/OpenLess.app && open /Applications/OpenLess.app
  3. 或者「访达」里 右键 → 打开 → 仍要打开
  4. 授权 麦克风 + 辅助功能 后完全退出再重新打开(macOS TCC 规则)

Windows (x64)

  1. 下载 OpenLess_1.2.1_x64-setup.exe.msi
  2. 双击安装,遇到 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.app

Browser-download macOS (arm64, Apple Silicon)

  1. Download OpenLess_1.2.1_aarch64.dmg, open, drag OpenLess to /Applications
  2. In Terminal: xattr -cr /Applications/OpenLess.app && open /Applications/OpenLess.app
  3. Or in Finder: right-click → Open → Open Anyway
  4. Grant Microphone + Accessibility, then fully quit and relaunch (macOS TCC requirement)

Windows (x64)

  1. Download OpenLess_1.2.1_x64-setup.exe or .msi
  2. 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 -cr or right-click-Open
  • Auto-updater not yet shipped (issue #33) — manual re-download for new versions

OpenLess v1.2.0-tauri

30 Apr 06:13
94c8507

Choose a tag to compare

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