Releases: Open-Less/openless
OpenLess v1.1.4-tauri
What's Changed
- chore(release): rustfmt 后端 + 更新 CLAUDE.md by @appergb in #24
- docs(github): 添加中文 issue 和 PR 模板 by @Cooper-X-Oak in #15
- 增加Linux支持 by @H-Chris233 in #11
- fix(windows): 补齐运行时反馈和平台化交互 by @Cooper-X-Oak in #23
New Contributors
- @Cooper-X-Oak made their first contribution in #15
- @H-Chris233 made their first contribution in #11
Full Changelog: v1.1.3-tauri...v1.1.4-tauri
What's Changed
- chore(release): rustfmt 后端 + 更新 CLAUDE.md by @appergb in #24
- docs(github): 添加中文 issue 和 PR 模板 by @Cooper-X-Oak in #15
- 增加Linux支持 by @H-Chris233 in #11
- fix(windows): 补齐运行时反馈和平台化交互 by @Cooper-X-Oak in #23
New Contributors
- @Cooper-X-Oak made their first contribution in #15
- @H-Chris233 made their first contribution in #11
Full Changelog: v1.1.3-tauri...v1.1.4-tauri
What's Changed
- chore(release): rustfmt 后端 + 更新 CLAUDE.md by @appergb in #24
- docs(github): 添加中文 issue 和 PR 模板 by @Cooper-X-Oak in #15
- 增加Linux支持 by @H-Chris233 in #11
- fix(windows): 补齐运行时反馈和平台化交互 by @Cooper-X-Oak in #23
New Contributors
- @Cooper-X-Oak made their first contribution in #15
- @H-Chris233 made their first contribution in #11
Full Changelog: v1.1.3-tauri...v1.1.4-tauri
OpenLess v1.1.3-tauri
What's Changed
Full Changelog: v1.1.1-tauri...v1.1.3-tauri
What's Changed
Full Changelog: v1.1.1-tauri...v1.1.3-tauri
OpenLess v1.1.1-tauri
Full Changelog: v1.1.0-tauri...v1.1.1-tauri
Full Changelog: v1.1.0-tauri...v1.1.1-tauri
OpenLess v1.1.0-tauri
第一个跨平台版本(macOS arm64 + Windows x64)。
下载 + 安装
macOS (Apple Silicon)
下载 OpenLess_1.1.0_aarch64.dmg,挂载,把 OpenLess.app 拖到 Applications。首次启动前必须做下面之一:
方法 A(推荐):终端一行命令解除 quarantine
```bash
xattr -dr com.apple.quarantine /Applications/OpenLess.app
```
然后正常双击打开。
方法 B:右键打开两次
- 在 Finder 里 右键 OpenLess.app → "打开"
- 系统弹"无法验证开发者"窗口,点"打开"
- 第二次双击就能正常启动了
之所以需要这一步:OpenLess 是 ad-hoc 签名(无 Apple Developer 证书 + 公证)。
用户从浏览器下载 .dmg 时 macOS 会自动加 `com.apple.quarantine` 标记 →
Gatekeeper 第一次启动会拦。这一步是 macOS 对所有"未公证"应用的默认行为,
跟 OpenLess 本身的安全性无关。后续启动直接双击即可。
Windows (x64)
二选一下载:
OpenLess_1.1.0_x64-setup.exe— NSIS 安装器(轻量,推荐)OpenLess_1.1.0_x64_en-US.msi— MSI 安装包
首次运行 Win 11 SmartScreen 会弹"未识别的发布者",点 更多信息 → 仍要运行。
配置
首次启动会有 Onboarding 引导你授权 macOS 辅助功能 + 麦克风。授权完后:
- 主界面 → 设置 → 提供商 → 填火山 ASR + 你选的 LLM(DeepSeek / OpenAI / 豆包 等)凭据
- 凭据存在 `~/.openless/credentials.json`(macOS) 或 `%APPDATA%\OpenLess\credentials.json`(Windows)
已知限制
- 没有自动更新机制,后续新版需要手动来 Releases 页下载
- macOS / Windows 都未公证,首次启动有上面的"绕一下"步骤
- 词汇表加载在 v1.1.0 上有 bug(显示"加载中"卡死) → 已在 main 分支修了,v1.1.1-tauri 包含修复
OpenLess 1.0.08
OpenLess 1.0.08
build B1007 — macOS 版本整理、provider 配置合并、移除 Windows spike 方向。
新增
- ASR provider 可切换。配置页现在支持火山引擎、Apple Speech、阿里 Paraformer,以及自定义 OpenAI Whisper 兼容接口。
- LLM provider 可切换。Ark、OpenAI、阿里通义、DeepSeek、Moonshot 和自定义 OpenAI 兼容接口统一放在「配置」页。
- 配置统一保存。LLM 与 ASR 的 provider、凭据和 active 选择先进入草稿,点击「保存」后一次性写入,避免切换 provider 时把半成品配置落盘。
修复
- 阿里 Paraformer / 自定义 Whisper 凭据不再写入 UserDefaults。现在通过统一 vault schema 保存,避免敏感字段散落。
- 多 provider 凭据迁移。旧版火山/Ark/DeepSeek 字段会迁移到 versioned schema,保留兼容兜底。
- 润色输出清理更稳。OpenAI 兼容 provider 的输出会经过统一 cleaner,减少包装文案进入最终插入文本。
整理
- 删除 Windows spike 本地代码与构建缓存。移除
apps/windows-tauri和build/windows-spike这类本地遗留产物,当前公开发布只保留 macOS 主线。 - 配置页拆分。
ProvidersConfigTab.swift从 1086 行拆成页面、chip 组件、草稿模型和添加 provider sheet,逻辑边界更清楚。 - 忽略本地 apps 工作目录。避免后续本地 spike 目录误进入 macOS 发布分支。
安装
老用户:启动 OpenLess 后自动检查更新。
新用户:到 Releases 下载 zip,解压拖到 /Applications,跑一次:
xattr -dr com.apple.quarantine /Applications/OpenLess.app之后双击启动。
OpenLess 1.0.07
OpenLess 1.0.07
build B1006 — 修复更新后权限不会重新进入授权流程的问题。
修复
- 新版本安装后自动清理旧权限。OpenLess 从
.appbundle 启动时会比较当前版本和上次已处理版本;发现新版本后,先自动清理旧的 Accessibility、Microphone、AppleEvents、ListenEvent TCC 授权记录。 - 清理后自动进入权限请求流程。旧权限清掉后,启动流程继续按实际授权状态判断;缺少辅助功能或麦克风权限时,会直接显示现有授权引导窗口,让用户为新版本重新授权。
- 同一版本不重复清理。授权完成后再次打开同一版本不会反复 reset;下一个版本安装后会再次执行同样逻辑。
- 开发运行更安全。只有从
.appbundle 启动时才触发版本化权限清理,避免swift run等开发调试误清理已安装应用的权限。
安装
老用户:启动 OpenLess 后自动检查更新。安装新版本并重新打开后,会按新版本权限流程重新授权。
新用户:到 Releases 下载 zip,解压拖到 /Applications,跑一次:
xattr -dr com.apple.quarantine /Applications/OpenLess.app之后双击启动。
OpenLess 1.0.06
OpenLess 1.0.06
build B1005 — 紧急修复设置页更新入口。
修复
- 设置里的「检查更新…」按钮无响应。设置页通过 responder chain 发送
checkForUpdates:,但实际的UpdaterController不是 responder chain 的一员,导致 action 找不到 target。现在由AppDelegate接住同名 action 并转发给 Sparkle updater。 - 帮助中心 GitHub 链接 404。链接已从旧的
github.com/baiqing/openless改为正确的github.com/appergb/openless。 - 帮助中心链接行布局乱。右侧改为简洁的「打开」按钮,完整 URL 放到 tooltip。
- 常见问题 Q/A 太挤。增加问题和答案之间的间距,提升可读性。
安装
老用户:什么都不用做。下次启动 OpenLess 会自动检查更新。
新用户:到 Releases 下载 zip,解压拖到 /Applications,跑一次:
xattr -dr com.apple.quarantine /Applications/OpenLess.app之后双击启动。
OpenLess 1.0.04
OpenLess 1.0.04
build B1003 — A 系收尾、切到 B 系前缀。本次主体是项目结构整理 + 两处 Codex 体检发现的细节修复。
修复
- 编辑词条时命中次数被清零。词汇表 chip 上的命中数代表"该词在润色后的最终输出里出现过的次数";此前点击 chip 进入编辑、保存后
hitCount被默认值 0 覆盖,统计静默归零。已在DictionaryEditorSheet保存时把原值带回去。 - 帮助中心文案过期。1.0.03 把"火山 ASR" / "润色模式" 两个独立 Tab 合并到了"设置",但帮助页里"快速上手"和"常见问题"还在指原来的 Tab 名。已统一改成「设置」/「风格」。
内部结构整理
旧的 Sources/OpenLessApp/Settings/SettingsView.swift 长到 1697 行,超出 800 行红线一倍多。本版本拆成单一职责文件,零行为变化:
Settings/SettingsView.swift 87 根:枚举 + 导航模型 + 主分发
Settings/SettingsComponents.swift 218 共享 UI 组件 + 通知名 + 工具函数
Settings/Sidebar.swift 270 侧边栏 + 状态卡 + stats
Settings/Tabs/HomeTab.swift 161
Settings/Tabs/HistoryTab.swift 50
Settings/Tabs/DictionaryTab.swift 350 含 Chip + ChipFlow + EditorSheet
Settings/Tabs/StyleTab.swift 123
Settings/Tabs/HelpTab.swift 100
Settings/Tabs/SettingsHubTab.swift 184
Settings/Tabs/LegacyTabs.swift 172 旧版孤儿集中放(待清)
整个项目最长文件现在是 566 行的 DictationCoordinator.swift,全部在 800 红线以下。
安装
老用户:什么都不用做。下次启动 OpenLess 会自动检查更新。
新用户:到 Releases 下载 zip,解压拖到 /Applications,跑一次:
xattr -dr com.apple.quarantine /Applications/OpenLess.app之后双击启动。
OpenLess 1.0.03
OpenLess 1.0.03
整轮 UI 重构 + 词汇表升级 + 自动学词关闭。老用户走自动更新即可。
侧边栏
旧 4 项变成 6 项,把臃肿的「设置」拆开:首页 / 历史记录 / 词汇表 / 风格 / 帮助中心 / 设置。
- 风格(原「润色模式」改名):右上角启用开关 + 4 个模式卡片(忠实转写 / 去口癖 / 结构化 / 正式书面),每张卡有样例文本预览,选中卡顶部一条绿色 stroke。关闭时识别后直接插入原文,不调 Ark。
- 帮助中心(新增):4 步快速上手、快捷键速查、3 条常见问题、GitHub / Issues 外链。
- 设置:火山 ASR 凭据、Ark / DeepSeek 润色凭据、录音快捷键、授权状态、隐私说明、版本 + 检查更新——全部归到这一处。
词汇表
「词典」改名「词汇表」。整页换成 chip 流式布局:
- 每个词条显示
phrase + 命中次数,命中数高的排前面 - 鼠标悬停时右上角浮 ✕,点击删除
- 顶部支持一行一个批量添加;右上角 重置统计 / 清除全部
- 命中次数:每次润色后的最终输出里出现该词,自增 1
- AI 自动学词已关闭——之前会自动从转写里抓
MCP、CLI之类的英文词塞进词汇表,行为太乱。现在词汇表只增长用户手动输入的词
修复
- 胶囊外圈黑边:
NSPanel.hasShadow关闭 + macOS 26 路径去掉冗余 SwiftUI 阴影;过大背景下不再裁出深色矩形带 - 侧边栏灰边 / 黑色卡顿:
glassPanel的strokeBorderopacity 从 0.08 → 0.04、阴影 radius 从 16 → 6;侧边栏顶 padding 收紧后不再被父容器裁出暗矩形
首页
底部新增两个区块:今日概览(7 段柱状图)+ 风格(当前模式 + 模式说明,关闭时显示「已关闭 / 直接插入原文」)。
安装
老用户:什么都不用做。下次启动 OpenLess 会自动检查更新并提示。
新用户:到 Releases 下载 zip,解压拖到 /Applications,跑一次:
xattr -dr com.apple.quarantine /Applications/OpenLess.app之后双击启动。
OpenLess 1.0.02
OpenLess 1.0.02
第一个支持自动更新的版本。装一次之后,所有未来版本会通过 Sparkle 静默推送,不再需要手动下载或 xattr -dr。
新功能
- 按住说话(hold-to-talk)模式。设置 → 「录音方式」可以在「切换式」和「按住说话」之间切换。按住快捷键说话、松手立即结束,适合短句和连续口播。Closes #1.
- 检查更新…。OpenLess 菜单第一项,手动触发;同时每小时后台自检一次,发现新版自动下载替换。
- API 密钥眼睛切换。设置里的 Token / Key 字段右侧加了 👁️ 按钮,可临时显示明文便于核对。
修复
- 设置窗口拖动吞掉文字选择。之前任何位置拖都拖窗,现在只有原生顶栏(traffic lights 那条)才拖窗,TextField 里能正常选词复制了。
- 润色失败/缺凭据时假装成功。Ark Key 没填或调用失败时,胶囊不再显示绿色「已插入」假装润色完成;改为橙色「已插入原文 · 未润色」或「润色失败 · 已用原文」,历史记录也按真实情况存为「原文」mode。
提示词改进
- 「清晰结构」模式强制三层层级输出:
1.大板块 →1)子要点 →a.细分项。prompt 内带具体示例,弱模型也能稳定遵守。
安装
老用户(已经装过 1.0.0):什么都不用做。下次启动 OpenLess 会自动检查并提示升级。
新用户:到 Releases 下载 zip,解压拖到 /Applications,跑一次:
xattr -dr com.apple.quarantine /Applications/OpenLess.app之后双击启动。详见 USAGE.md。