Files
openless/appcast.xml
T

276 lines
15 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" standalone="yes"?>
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>OpenLess</title>
<link>https://raw.githubusercontent.com/appergb/openless/main/appcast.xml</link>
<description>OpenLess update feed</description>
<item>
<title>OpenLess 1.0.08</title>
<pubDate>Wed, 29 Apr 2026 05:42:46 +0000</pubDate>
<sparkle:version>B1007</sparkle:version>
<sparkle:shortVersionString>1.0.08</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<description><![CDATA[# 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](https://github.com/appergb/openless/releases) 下载 zip,解压拖到 `/Applications`,跑一次:
```bash
xattr -dr com.apple.quarantine /Applications/OpenLess.app
```
之后双击启动。]]></description>
<enclosure
url="https://github.com/appergb/openless/releases/download/v1.0.08/OpenLess-1.0.08.zip"
length="3052165"
type="application/octet-stream"
sparkle:edSignature="KBL0F7hnHns/dSOCvsxK53/6FSBUtsuoLJEBz6ZNN0/sbk2i1p4FHGk5ruKoor4lWXvyoFLp6xneEerfVmRkAg==" />
</item>
<item>
<title>OpenLess 1.0.07</title>
<pubDate>Tue, 28 Apr 2026 09:36:07 +0000</pubDate>
<sparkle:version>B1006</sparkle:version>
<sparkle:shortVersionString>1.0.07</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<description><![CDATA[# OpenLess 1.0.07
build B1006 — 修复更新后权限不会重新进入授权流程的问题。
## 修复
- **新版本安装后自动清理旧权限**。OpenLess 从 `.app` bundle 启动时会比较当前版本和上次已处理版本;发现新版本后,先自动清理旧的 Accessibility、Microphone、AppleEvents、ListenEvent TCC 授权记录。
- **清理后自动进入权限请求流程**。旧权限清掉后,启动流程继续按实际授权状态判断;缺少辅助功能或麦克风权限时,会直接显示现有授权引导窗口,让用户为新版本重新授权。
- **同一版本不重复清理**。授权完成后再次打开同一版本不会反复 reset;下一个版本安装后会再次执行同样逻辑。
- **开发运行更安全**。只有从 `.app` bundle 启动时才触发版本化权限清理,避免 `swift run` 等开发调试误清理已安装应用的权限。
## 安装
**老用户**:启动 OpenLess 后自动检查更新。安装新版本并重新打开后,会按新版本权限流程重新授权。
**新用户**:到 [Releases](https://github.com/appergb/openless/releases) 下载 zip,解压拖到 `/Applications`,跑一次:
```bash
xattr -dr com.apple.quarantine /Applications/OpenLess.app
```
之后双击启动。]]></description>
<enclosure
url="https://github.com/appergb/openless/releases/download/v1.0.07/OpenLess-1.0.07.zip"
length="2803125"
type="application/octet-stream"
sparkle:edSignature="hgh2Bvjq0vYGYCgEhDm99wWgN0rnL12eKn3NwFRIY91Gb8nOdxelRcbSFXwj8CfIllHxECpbyJ3Yokvel889AQ==" />
</item>
<item>
<title>OpenLess 1.0.06</title>
<pubDate>Tue, 28 Apr 2026 05:36:01 +0000</pubDate>
<sparkle:version>B1005</sparkle:version>
<sparkle:shortVersionString>1.0.06</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<description><![CDATA[# 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](https://github.com/appergb/openless/releases) 下载 zip,解压拖到 `/Applications`,跑一次:
```bash
xattr -dr com.apple.quarantine /Applications/OpenLess.app
```
之后双击启动。]]></description>
<enclosure
url="https://github.com/appergb/openless/releases/download/v1.0.06/OpenLess-1.0.06.zip"
length="2799409"
type="application/octet-stream"
sparkle:edSignature="K3nM1N06l4PGdUcQTIBKcFKs4CZoRjkC2XDMK0Us1Ur/BGpRpR4cAXs6VcUPoUmmeQO/SQ3pyHAjL4pfNK1zBQ==" />
</item>
<item>
<title>OpenLess 1.0.04</title>
<pubDate>Tue, 28 Apr 2026 05:20:45 +0000</pubDate>
<sparkle:version>B1003</sparkle:version>
<sparkle:shortVersionString>1.0.04</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<description><![CDATA[# 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](https://github.com/appergb/openless/releases) 下载 zip,解压拖到 `/Applications`,跑一次:
```bash
xattr -dr com.apple.quarantine /Applications/OpenLess.app
```
之后双击启动。]]></description>
<enclosure
url="https://github.com/appergb/openless/releases/download/v1.0.04/OpenLess-1.0.04.zip"
length="2735790"
type="application/octet-stream"
sparkle:edSignature="u7k9BnMjJV9/bdQi5AX6eGWE1J7B5yE8n1PlwRu1I/92nFNIUUgWxunuXOHSbGigteX6i4nX7tiXzBy4RFKGAQ==" />
</item>
<item>
<title>OpenLess 1.0.03</title>
<pubDate>Tue, 28 Apr 2026 03:16:48 +0000</pubDate>
<sparkle:version>A1005</sparkle:version>
<sparkle:shortVersionString>1.0.03</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<description><![CDATA[# 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` 的 `strokeBorder` opacity 从 0.08 → 0.04、阴影 radius 从 16 → 6;侧边栏顶 padding 收紧后不再被父容器裁出暗矩形
## 首页
底部新增两个区块:**今日概览**(7 段柱状图)+ **风格**(当前模式 + 模式说明,关闭时显示「已关闭 / 直接插入原文」)。
## 安装
**老用户**:什么都不用做。下次启动 OpenLess 会自动检查更新并提示。
**新用户**:到 [Releases](https://github.com/appergb/openless/releases) 下载 zip,解压拖到 `/Applications`,跑一次:
```bash
xattr -dr com.apple.quarantine /Applications/OpenLess.app
```
之后双击启动。]]></description>
<enclosure
url="https://github.com/appergb/openless/releases/download/v1.0.03/OpenLess-1.0.03.zip"
length="2736425"
type="application/octet-stream"
sparkle:edSignature="fOsdRUQfRgkvomyKPKHO6rea5Jt7fio/XBsKjJA3iizYgxhgJRJnOlAEVHS+MgvHaF1gM/xWxb6dXSP7rWgIDA==" />
</item>
<language>zh-CN</language>
<item>
<title>OpenLess 1.0.02</title>
<pubDate>Mon, 27 Apr 2026 11:02:01 +0000</pubDate>
<sparkle:version>A1004</sparkle:version>
<sparkle:shortVersionString>1.0.02</sparkle:shortVersionString>
<sparkle:minimumSystemVersion>15.0</sparkle:minimumSystemVersion>
<description><![CDATA[# 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](https://github.com/appergb/openless/releases) 下载 zip,解压拖到 `/Applications`,跑一次:
```bash
xattr -dr com.apple.quarantine /Applications/OpenLess.app
```
之后双击启动。详见 [USAGE.md](https://github.com/appergb/openless/blob/main/USAGE.md)。]]></description>
<enclosure
url="https://github.com/appergb/openless/releases/download/v1.0.02/OpenLess-1.0.02.zip"
length="2675266"
type="application/octet-stream"
sparkle:edSignature="PVtUgUO28Re0Q80VbF3r6NCamZMgW+X7DANqwOD97yiT2rly9J2MmPt0xnaRj6fWieKsgHUZZ94C8RalkwVQAA==" />
</item>
</channel>
</rss>