# 更新日志

本项目所有显著变更都将记录在此文件中。

格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/)，
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。

## [1.21.0] - 2026-05-18

### 新增
- **「添加 Skills」弹层** —— 任意工作区点击 **+ 添加 Skills** 即可打开统一的挑选弹层：搜索中央库，用始终可见的 Agent 标签切换目标（带一键全选 / 清空），一次提交批量添加多个 Skills。
- **「未标签」过滤项** —— Library 标签筛选条新增 **未标签** 选项，可快速定位漏打标签的 Skills。
- **从卡片直接删除** —— 在 **全局工作区** 中，仅存在于某个 Agent 目录、未关联中央库的 Skills 可直接在卡片上删除；**项目工作区** 中卡片上的删除按钮改为始终可见，不再仅悬停显示。
- **活动日志与「导出日志」打包** —— 应用现在会本地记录安装 / 移除 / 更新 / 同步操作，**设置 → 导出日志** 会将这些活动连同最近日志文件一起打包为单个 zip，方便提交 Issue 时附上。
- **启动时序诊断日志**，用于排查 Windows 启动慢的问题（#153）。

### 变更
- **Dashboard 改为面向整个技能库** —— Hero 区移除「当前 Preset」框架，改为显示技能库总数、同步覆盖率和实际已启用的 Agent 数量；近期动态也改为基于全部受管 Skills。
- **Copy 模式同步更快** —— 当源文件哈希未变时跳过逐文件重写，大型技能库（尤其是 Windows 路径）重新同步明显更快（#153）。

### 修复
- **全局工作区切换 Agent 偶发卡在加载状态** —— 清理时正确重置「已加载 Agent」引用，切换时始终重新拉取。
- **项目工作区调整目标 Agent 后 Skill 开关有时表现异常**，现已修复。

## [1.20.0] - 2026-05-18

### 新增
- **`skills-manager-cli` 写命令** —— CLI 现在可以让 Agent 完整管理 skills：`install`（本地路径 / git URL / `owner/repo[@skill]` 简写）、`update`、`check`、`remove`、`sync`、`search`（skills.sh 市场，无需 API Key）、`adopt`（把 Agent 目录里已存在的 skill 收编进中央库）、`tag add/remove/list`。所有命令支持 `--json`；`remove` / `sync` / `adopt` 支持 `--dry-run`；`remove` 必须显式带 `--yes`。
- **`presets add-skill` / `remove-skill` CLI 命令** —— 在命令行管理 preset 包含哪些 skill。
- **`presets deactivate` CLI 命令**（别名 `close` / `stop` / `off` / `disable`）—— 关闭一个 preset 并撤销其同步目标。如果关闭的是当前激活 preset，会自动应用替代 preset；如果不是，会重新同步当前激活 preset，确保两边共用的 skill 仍然在 Agent 目录里。
- **`manage-skills` skill**（`assets/manage-skills/SKILL.md`）—— 放入 `~/.claude/skills/` 后，Claude Code（及其它 Agent）会优先用 `skills-manager-cli`，而不是直接往某一个 Agent 目录里装 skill。
- **应用内 Cmd/Ctrl+R** —— 一键刷新 skills / presets / Agent 状态，不需要重启（在输入框内输入时不会触发）。

### 变更
- **用户可见的 scenario 术语统一改为 preset** —— Tauri 命令（如 `apply_preset_to_default`）、CLI 子命令（`skills-manager-cli presets ...`）、CLI JSON 字段（`preset_id` / `preset_name`）、前端类型和 i18n key 现在都使用 `preset`。CLI 会保留 `scenarios`、`--scenario`、`--sync-scenario` 作为隐藏兼容别名一个版本。内部 Rust 类型、SQLite schema 和 Git Backup metadata 仍保留 `scenario` 以保证兼容。
- **启用 / 禁用 skill 现在通过 preset 成员管理** —— 使用 `presets add-skill` / `presets remove-skill` 来决定哪些 skill 会被同步到 Agent。本版本起，旧的 `enabled` 标志不再参与同步判定。
- **侧栏选中的 preset 不再被外部切换强制带走** —— 当 CLI 或托盘菜单切换激活 preset 时，仅当你正在浏览的就是上一个激活 preset，侧栏才会跟着走；如果你正在看另一个 preset，那个选择会保留下来。

### 弃用
- **`skills enable` / `skills disable` CLI** —— 两个命令现在都是 no-op，只打印弃用提示。请改用 `presets add-skill` / `presets remove-skill`。

### 修复
- **`presets close <非当前 preset>` 不再破坏当前激活 preset 的同步** —— 此前关闭一个非激活 preset 会把它和激活 preset 共用的 skill 的同步目标一起删掉；现在会在删完之后重新同步激活 preset，把共用部分恢复回来。
- **`skills disable` 不会再偷偷把 skill 重新启用** —— 弃用前的 `disable` 实现会把旧的 `enabled` 标志翻回 `true`，与用户意图正好相反。现在它不再修改这个字段。

### 移除
- **SkillsMP AI 搜索** —— 移除第三方 `skillsmp.com` 集成（设置里的 API Key、安装页面的 "AI Search" 开关、`search_skillsmp` Tauri 命令）。免费的 skills.sh 市场和关键词搜索仍然保留。SkillsMP 没有被任何主流 Agent 生态采用，引入了付费第三方依赖且没有独特价值。

## [1.19.3] - 2026-05-17

### 新增
- **「报告问题」按钮（设置 → 关于）** —— 一键复制应用版本、系统、已启用 Agent、界面语言和最近日志摘要到剪贴板，并打开预填好的 GitHub issue 模板，粘贴即可提交。
- **「导出日志」按钮（设置 → 关于）** —— 把最近日志（路径、Token、邮箱等已脱敏）打包成 zip 保存到下载文件夹，并在文件管理器中高亮，方便拖到 issue 附件区。
- **崩溃后下次启动顶部红色提示** —— 上一次运行如果异常退出，设置 → 关于 顶部会出现红色横幅和一键报告按钮，避免崩溃被忽略。
- **GitHub issue 模板** —— bug 反馈与功能请求新增轻量中英双语模板，引导你使用上述按钮。

### 变更
- **正式版本现在会写本地日志**（Info 级别，5MB × 3 自动轮转）。导出或复制前会对家目录路径、Git 凭证、Token、邮箱等敏感信息脱敏；重复噪音行会折叠，关键事件更显眼。

### 修复
- **修复 git fetch 自激循环导致 CPU 持续 100%+ 甚至窗口卡死的问题** —— 一个「刷新→fetch→文件监听→再刷新」的循环已被切断；在部分 macOS 用户上还表现为 Skill 预览黑屏、只能 `⌘Q` 强退（#144、#69、#151、#150）。
- **Windows / Linux 上托盘图标不再不可见** —— 原本的纯白托盘图标在 Windows 浅色任务栏上完全看不到；非 macOS 平台现在使用彩色变体，macOS 仍用模板风格白色图标（#154、#149）。



### 修复
- **Codex 技能改用官方路径 `~/.agents/skills`** —— Codex 按官方文档只从 `~/.agents/skills` 读取用户级技能，但 skills-manager 之前部署到 `~/.codex/skills`（codex 根本不读）且不扫 `~/.agents/skills`。现在部署和发现都改对，老的 `~/.codex/skills` 位置仍能扫到（兼容已存在的同步内容）（#143、#147）。
- **GitHub Copilot 也扫描 `~/.agents/skills`** —— 在原有的 `~/.copilot/skills` 之外（#147）。
- **本地安装失败显示真实错误信息** —— toast 不再出现 `[object Object]`，会显示实际错误内容（#101）。
- **改了 SKILL.md 后中央列表的描述会自动刷新** —— 外部编辑 `SKILL.md` 不再需要重新导入才能看到新 description（#92）。
- **安装/导入成功后不再误弹「失败」toast** —— 之前 install 之后的刷新（后台扫描、状态刷新）出错会被当成 install 失败；现在 install 与 refresh 分两阶段，refresh 失败仅记录日志，不污染 UI（#92）。
- **重启前连续改两次中央仓库目录不再丢数据** —— 跨多次未重启的路径切换都能正确追溯原始数据位置（#92）。
- **多变体技能安装会优先选通用版本** —— 当仓库提供多个 agent-specific 变体（`.cursor/skills/<id>`、`.claude/skills/<id>` 等）时，安装器现在稳定选择 `.agents/skills/<id>`，不会再随机命中（#103）。

## [1.19.1] - 2026-05-15

### 修复
- **macOS 首次打开提示「应用已损坏」** — CI 构建的 release 包现在会做 ad-hoc 签名，下载 `.dmg` 后不再触发 Gatekeeper 的「已损坏」警告，无需手动执行 `xattr -cr`（#138）。
- **老版本 macOS 打开技能详情时黑屏** — 技能详情侧边面板改用显式 stacking，修复 Monterey / 旧版 WKWebView 上面板渲染为黑色遮罩的回归问题（#69, #144）。
- **从嵌套分类目录导入 git 技能** — git 技能导入现在会递归扫描嵌套分类目录，而不是只看顶层文件夹，便于按子分类组织的技能仓库正确导入（#121）。 
## [1.19.0] - 2026-05-13

### 新增
- **Global Workspace 显示 Agent 本地 Skills**：每个 Agent 的页面现在会列出其全局目录里的所有 Skills，包括不是通过 Skills Manager 安装的。可按 Agent 把仅存在于本地的 Skill 上传到中央库、把库里的更新拉取到本地副本，或移除已纳管的 Skill；列表支持搜索和标签筛选。

### 变更
- **在卡片上直接安装 Skill**：每张 Skill 卡片现在会为每个已启用 Agent 显示一个图标角标（取代原来的两字母标签）。点击角标即可直接在卡片上为该 Agent 安装或移除这个 Skill，操作时角标会实时反映同步状态并显示加载动画。
- **可自定义 Agent 顺序**：设置页支持在每个分组（主流 / 更多 / 自定义）内拖拽调整 Agent 顺序，这个顺序会应用到所有出现 Agent 的地方 —— 卡片角标、工作区列表、开关等。
- **统一 Skill 卡片点击行为**：在技能库、Global Workspace 和项目工作区中，点击卡片任意位置都会打开详情面板；卡片上的操作按钮不再同时触发卡片点击。
- **帮助弹窗**：新增「全局工作区」一项，并更新了「技能库」和「设置」两项的说明，覆盖新的 Agent 图标角标和 Agent 排序。

### 修复
- **OpenCode 项目 Skills 路径**：OpenCode 的项目级 Skills 现在会安装到 `<project>/.opencode/skills/`（OpenCode 实际读取的位置），而不是之前的 `<project>/.config/opencode/skills/`。
- **打开 Global Workspace 的 Agent 页面不再重复刷新多次**：Agent 本地 Skills 列表每个 Agent 只加载一次，且上一个 Agent 残留的慢请求不会再覆盖当前页面的数据。
- **CLI 加固**：设置 `--json` 时 `skills-manager-cli` 现在会返回 JSON 错误信封（包括参数解析错误），拒绝克隆到非空且非 git 的目录，设置 5 秒的 SQLite busy timeout 以避免与桌面应用同时使用时立即失败，并在 Windows 上正确处理 `PATH`。

## [1.18.0] - 2026-05-09

### 变更
- **场景更名为 Preset**：应用内的“场景 / Scenario”已统一更名为 Preset，覆盖界面标签、侧边栏、设置、帮助和多语言文案。已有场景会以 Preset 形式继续使用，不需要迁移数据。
- **Preset bar 取代“应用 Preset”弹窗**：Preset 现在以内联标签形式显示在 Global Workspace 和 Project Workspace 的搜索/标签筛选下方。点击标签即可为当前 Agent 范围启用或移除该 Preset 的全部 Skills；已启用会显示 ✓，部分安装会显示已安装/总数。
- **Global Workspace 重设计**：每个 Agent 都有独立页面，可从侧边栏进入；固定的 **全部 Agents** 入口可一次管理所有已安装 Agent。每个 Agent 页面都支持标签筛选、多选和批量移除。
- **侧边栏改进**：Preset 和项目工作区分组支持折叠；Global Workspace 中的 Agent 支持拖拽排序。
- **新增 Agent 图标**：内置 Agent 现在会在设置、Global Workspace、项目弹窗和 Agent 开关中显示对应图标，多 Agent 列表更容易识别。
- **更多 Preset 图标**：Preset 图标选择器新增 Agents、CLI、数据、分析、研究、安全、自动化、基础设施、实验等更多选项。

## [1.17.0] - 2026-05-07

### 新增
- 新增面向 agent 的命令行工具 `skills-manager-cli`，无需打开桌面应用即可操作 skills 仓库 —— 列出/查看/导出技能、预览/应用 scenario、执行 git 备份命令。支持 `--json` 输出和 `--skills-root` 直接指向任意已克隆的 skills 目录。可通过 `npm run cli:install` 安装到 PATH。

### 修复
- Git 备份：Windows 下克隆远端 skills 仓库不再因仓库锁阻塞而失败 —— 锁文件已移到 skills 目录之外，克隆目标可以保持空目录。
- CLI：`--skills-root` 不再把 `skills-manager.db` 等管理状态写到 skills 目录的父级，每个外部目录的状态现在统一放在 `~/.skills-manager/external/` 下，按 skills 根目录的规范化路径分目录隔离。

## [1.16.1] - 2026-05-01

### 变更
- 项目页将「添加 Skill 到项目」作为主操作，按钮置于项目标题旁、高亮显示；首次访问已有项目时还会出现一次性提示，告诉你怎样按标签批量添加。
- 在「添加 Skill」弹窗里明确说明 tag 用途（"按标签筛选可批量添加同类 Skill"），让批量推送流程更容易被发现。
- 空项目页面新增显眼的「从中央仓库添加 Skill」入口，第一次打开就知道下一步怎么操作。
- Help 帮助页新增「推荐工作流」条目，涵盖单 Agent、多项目和多设备三种典型用法。

## [1.16.0] - 2026-05-01

### 变更
- 在侧边栏点击场景现在只会打开浏览/编辑视图，不再立即把 Skills 同步到 Agent。需要同步时，请点击「我的 Skills」顶部新增的 **应用到默认** 按钮。升级后首次打开场景会出现一次性提示说明新流程。

### 新增
- 在场景标题旁显示 **已应用** / **尚未应用** 状态，让你清楚区分"正在编辑的场景"与"磁盘上当前生效的场景"。
- 当没有可用 Agent 时给出警告，避免在无目标的情况下误触发应用。

## [1.15.2] - 2026-04-29

### 变更
- 单个 Skill 删除从居中弹窗改为垃圾桶按钮旁的内联气泡确认。确认后卡片就地转圈、后端异步执行，删除一个不再阻塞下一次操作，适合"边看边清理"的工作流。

### 修复
- 优化场景切换性能，Skills 数量较多时切换更快。

## [1.15.1] - 2026-04-28

### 新增
- 从 Git 仓库安装 Skills 时显示实时克隆进度。
- 缓存已克隆的 Git 仓库，加快重复安装并减少网络等待。

### 变更
- 重新设计 Git 备份体验，提供更清晰的健康状态和恢复操作。
- 优化 Git 工具栏布局，减少筛选控件附近的拥挤感。
- 默认使用软链接同步，提升场景切换速度，并保持单一数据源。

### 修复
- 改进 Git 同步的稳定性和恢复能力。
- 避免初始化 Git 备份时因无变更提交而失败。
- 加强同步元数据生命周期处理和 Windows 目录清理。
- 改进缓存 Git checkout 的隔离和物化可靠性。
- 优化批量删除 Skills 的性能，选中的 Skills 会在一次操作中完成处理。

## [1.15.0] - 2026-04-25

### 新增
- 支持编辑自定义 Agent 的项目 Skills 路径
- 多设备同步元数据支持
- 全新青绿色 S 设计风格应用图标

### 变更
- 更新侧边栏图标为新版 S 设计（透明背景）

### 修复
- 修复 Dock 图标在 macOS 上未正确显示圆角的问题
- 修复轮询扫描发现新目录时未触发刷新事件的问题
- 修复空目录仍被监听导致无法删除 Agent 文件夹的问题
- 修复重新启用最后一个 Skill 后残留空目录未清理的问题

## [1.14.3] - 2026-04-21

### 新增
- 

### 变更
- 

### 修复
- 

### 移除
- 
## [1.14.2] - 2026-04-21

### 新增
- 

### 变更
- 

### 修复
- 

### 移除
- 
## [1.14.1] - 2026-04-18

### 新增
- 命令面板，支持快速导航和操作
- 每个 Agent 的同步状态指示器，可查看哪些 Agent 需要同步
- Skills 批量标签编辑，更快地组织技能
- 项目详情面板中的 Agent 开关，快速分配 Agent
- 技能详情面板支持 local/diff/center 标签页，对比不同版本的技能
- 技能详情面板显示 Agent 圆点和标签

### 变更
- 改进项目工作区技能管理，组织更清晰
- 技能详情面板支持完整滚动，关闭按钮始终可见

### 修复
- 移除项目技能卡片上的 Agent 分配数量标签，界面更简洁

### 移除
- 本次无移除内容
## [1.14.0] - 2026-04-18

### 新增
- 支持批量更新 Skills，可一次更新多个已安装技能
- 支持自定义 central repository 路径，便于将受管技能库放在默认位置之外

### 变更
- 优化设置页表单控件样式，配置体验更整洁一致

### 修复
- 去重启动时的 skill 更新通知，避免同一更新重复提醒
- 更新 Antigravity 默认路径，确保安装和同步使用正确的 skills 目录
- 收紧 Claude Code 的 skill 扫描与导入匹配逻辑，避免插件市场缓存和同名技能导致误判

### 移除
- 本版本无移除项
## [1.13.3] - 2026-04-11

### 变更
- 关联外部工作区时不再需要手动填写"停用 Skills 目录"。Skills Manager 现在会自动创建并使用同级的 `*-disabled` 目录；若该目录无法创建（例如只读位置），将优雅降级为只读模式。

## [1.13.2] - 2026-04-11

### 修复
- 在 Linux 上退出 Skills Manager 不会再误杀其他正在运行的应用或整个桌面会话（#47）

## [1.13.1] - 2026-04-10

### 修复
- 修复扫描项目 Skills 或计算时间戳时软链接循环导致的无限递归
- 读取 Skill 文档时验证软链接目标在允许的项目根目录范围内
- 修复导入匹配逻辑，与 UI 中显示的同步状态保持一致

## [1.13.0] - 2026-04-10

### 新增
- 改进项目工作区中的 Agent 分配操作，配置和管理流程更清晰

### 变更
- 优化侧边栏字体样式与对齐细节，整体界面更整洁一致
- 更新应用内帮助内容和说明文案，使用体验更清晰

### 修复
- 本版本无用户可感知的缺陷修复

### 移除
- 本版本无移除项
## [1.12.0] - 2026-04-10

### 新增
- Skill 来源差异查看器，可在更新本地 skill 前先对比源内容变化
- 更丰富的 skill 详情元数据面板，补充来源和更新上下文信息
- 本地 skill 源文件缺失时的处理能力，避免已安装 skill 因源文件消失而无法管理
- 项目能力增强：支持空项目初始化、按标签批量导出，以及侧边栏同步健康状态指示
- 扩展 Agent 支持，并进一步完善 Agent 设置管理

### 变更
- 澄清项目工作区相关文案和项目内添加 skill 的操作表达
- 优化启动时 skill 更新通知的跳转，并细化设置页和侧边栏部分 UI

### 修复
- 修复 skill 详情 Markdown 刷新后重置当前视图的问题
- 避免 monorepo 无实际变更更新时误做文件替换，并显示正确的更新提示
- 改进项目同步状态准确性、Git 同步错误提示和网络错误识别
- 修复网格卡片高度不齐、侧边栏操作按钮布局抖动、大字号裁切，以及场景同步模式记录不准确的问题
## [1.11.1] - 2026-03-28

### 变更
- 简化自定义 Agent 表单布局和文案
- GitHub Releases 支持双语更新日志（中文 + 英文）
- README 补充自定义工具功能说明

### 修复
- 修复设置页在较大字号下操作按钮被裁切的问题

## [1.11.0] - 2026-03-27

### 新增
- 自定义 Agent 支持：添加、配置和移除用户自定义 Agent，可设置自定义 skills 目录
- 内置 Agent 路径覆盖：可为任意内置 Agent 自定义 skills 目录路径
- 设置页内联路径编辑，支持原生文件夹选择器
- 旧版工具 key 迁移（clawdbot → openclaw），自动数据迁移

### 修复
- 修复工具 key 重映射逻辑，避免迁移时误删已有记录

## [1.10.0] - 2026-03-25

### 新增
- 项目 skill 列表支持拖拽排序
- 仪表盘 skill 卡片可点击快速导航
- Marketplace 贡献者快速筛选
- Marketplace 视图中展开/收起所有分组按钮
- 启动时自动检查 skill 更新，带通知徽章
- Toast 通知可点击跳转到相关页面
- 文字大小设置，提升可读性
- 新增繁体中文（zh-TW）语言支持

### 变更
- 简化 Marketplace 布局，移除来源分组
- 改进扫描功能：插件目录检测、重命名支持、日期显示

### 修复
- 修复 dnd-kit 依赖缺失导致构建失败
- 修复 React hook 违规和 lint 警告
- 修复场景删除边界情况和同步错误日志
- 修复 skill 扫描时的 Git 重复警告

## [1.9.0] - 2026-03-23

### 新增
- Skills 和项目 Skills 多选批量操作
- 按场景的 skill-agent 开关，实现细粒度控制
- 无场景时自动创建 Default 场景

### 修复
- 改进批量操作健壮性和导出选择处理

## [1.8.0] - 2026-03-23

### 新增
- 侧边栏场景和项目支持拖拽排序
- Git 安装预览对话框，带备份同步
- 来源筛选标签动态溢出，弹出式显示
- 系统托盘菜单改进，新增场景切换器

### 修复
- 防止 skill 安装覆盖已有 skill，改进名称冲突检测
- 解压 ZIP 时保留 Unix 文件权限
- 安全加固：路径遍历防护、CSP 改进、输入过滤
- Git 预览/安装生命周期中的临时目录清理
- 来源筛选溢出健壮性、无障碍访问和布局修复

## [1.7.0] - 2026-03-22

### 新增
- macOS 自定义托盘图标，全彩 RGBA 渲染
- 关闭窗口时隐藏到托盘，可配置关闭行为对话框
- 设置中的托盘图标开关，懒加载托盘创建
- Git clone 和网络请求的代理支持
- My Skills 多选模式和批量删除
- 设置中 Agent 启用/禁用开关

### 修复
- 改进托盘关闭行为，优化退出流程和 UI 细节
- 统一代理处理，增加 URL 校验
- 前端、后端和 CI 安全加固
- 批量删除错误处理和缺失 i18n key 修复

## [1.6.0] - 2026-03-19

### 新增
- Git 版本历史面板显示当前快照版本

### 变更
- 放大侧边栏 logo 提升可见度
- 改进错误处理和代码结构

### 修复
- 修复版本历史中快照标签显示格式
- 修复提交信息占位符文本

## [1.5.0] - 2026-03-18

### 新增
- Git 快照版本管理：创建和恢复 skills 库的时间点快照
- 从本地文件夹批量导入 skills
- 快照标签在同步时自动推送到远程

### 变更
- 重新设计 skill 详情面板头部布局
- 同步按钮改用琥珀色调替代红色，视觉更清晰
- 协调 skills 索引时支持更深层目录扫描（嵌套文件夹结构）

### 修复
- 快照恢复时正确处理文件删除，失败时自动回滚
- 修复重试推送失败后不再创建重复快照标签

## [1.4.1] - 2026-03-15

### 新增
- Skill 安装过程中可取消
- 克隆超时防止安装无限挂起
- 重复安装检测，防止重复安装同一 skill
- 单实例限制，防止打开多个应用窗口

### 变更
- 所有后端操作异步化，提升应用响应速度

### 修复
- 修复文件夹名与 SKILL.md 名称不同时 skill 目录无法识别
- 修复安装按钮未显示"取消"标签文本
- 修复 Windows 自动更新失效
- 修复发布构建缺少更新签名文件

## [1.4.0] - 2026-03-14

### 新增
- Skill 卡片安装进度 toast 和已安装状态指示

### 变更
- 浏览命令异步化，客户端搜索结果缓存提升性能

### 修复
- 禁用所有搜索输入框的自动纠错和拼写检查

## [1.3.0] - 2026-03-12

### 新增
- 项目管理：查看和管理项目目录中的 `.claude/skills/`
- 项目 skills 操作（导入、导出、开关、删除）
- Skill 标签系统和筛选 UI
- 项目 skills 同步状态追踪和双向更新

### 变更
- 提取 SkillMarkdown 组件，改进标签 UX
- 加固项目 skill 路径遍历防护，使用 dir_name 作为稳定 key

## [1.2.0] - 2026-03-12

### 新增
- Skills 库 Git 备份和同步，支持多机同步
- My Skills 页面 Git 同步控制（提交推送、拉取）

### 变更
- 将 Git 同步操作从设置移至 My Skills 页面，更便于访问
- 简化 Git 备份 UI，移除自定义提交信息输入
- 更新 Git 同步文档以反映新 UI 布局

## [1.1.3] - 2026-03-09

### 新增
- 应用内自动更新支持（基于 tauri-plugin-updater）

### 修复
- 改进更新 UX：semver 比较、回退下载和 i18n 修复

## [1.1.2] - 2026-03-09

### 新增
- 设置页检查更新按钮

## [1.1.1] - 2026-03-09

### 新增
- 市场搜索结果按下载量排序

### 修复
- 市场搜索输入防抖，减少延迟和过时结果
- 改进亮色/暗色模式颜色对比度，简化 skill 状态徽章
- 提升亮色和暗色主题下的文字可读性
- 增大字号提升可读性，添加 CJK 字体栈
- 增大字号和窗口尺寸提升可读性

## [1.1.0] - 2026-03-08

### 新增
- Windows 和 Linux 支持：跨平台文件管理器打开、控制台窗口隐藏
- 后端命令 `get_central_repo_path` 向前端暴露真实仓库路径
- Windows 上 `.config/` 路径的工具适配器回退策略

### 变更
- UI 文本从 macOS 专用（"Open in Finder"、"Built for macOS"）改为跨平台措辞
- 设置页显示动态仓库路径替代硬编码的 `~/.skills-manager/`
- CI Windows 冒烟测试简化为仅 `cargo check`（避免重复前端构建）
- 重命名 `open_central_repo_in_finder` 为 `open_central_repo_folder`

### 修复
- 修复 Windows `explorer.exe` 因非零退出码误报错误
- 修复 Linux 设置 UI 中 `/home/<user>` → `~` 路径缩写缺失

## [1.0.1] - 2026-03-08

### 新增
- GitHub Actions 跨平台构建工作流（macOS、Linux、Windows）
- CHANGELOG 和 macOS 故障排除指南

### 变更
- 将同步/取消同步按钮从 skill 卡片列表移至 SkillDetailPanel
- 将资源文件（图标、演示 GIF）从 docs/ 移至 assets/
- 设置 bundle targets 为 "all" 以支持跨平台构建

## [1.0.0] - 2025-03-08

### 新增
- Skills Manager v2 首次发布，基于 Tauri 后端
- 场景管理：创建、重命名、删除和切换场景
- 场景图标和同步引擎改进
- 亮色/暗色主题支持，跟随系统偏好
- 全局搜索对话框和帮助对话框
- 可配置同步模式和启动场景同步
- 市场 skill 卡片外部链接按钮
- 市场搜索/筛选、错误横幅和增强确认对话框
- Git 类型 skill 更新检查和更新
- 市场 skill 列表加载更多分页
- Skill 去重：安装前检查中央路径

### 变更
- 重新设计 MySkills 卡片和列表布局，更紧凑
- 统一 UI 样式，紧凑一致的设计系统
- 市场 skill 列表分页和本地扫描 UI 扁平化
- 统一 skill 卡片元数据为单一优先级状态徽章
- 紧凑 skill 卡片和列表行布局，内联操作按钮
- 紧凑市场工具栏布局，重新设计 skill 卡片
- 简化本地安装部分 UI
- 改进 skill 详情面板渲染和市场卡片布局
- 引入共享 app-page 工具类，统一 UI 布局
- 移除全局搜索和顶栏，在设置中添加帮助按钮
- 更新应用图标

### 修复
- 用 Tauri 程序化拖拽条替代 CSS `-webkit-app-region` 拖拽
- 用自定义应用 logo 图片替代侧边栏 Hammer 图标
