github xingkongliang/skills-manager v1.28.2
Skills Manager v1.28.2

latest releases: v1.40.3, v1.40.2, v1.40.1...
3 months ago

Skills Manager v1.28.2

发布日期:2026-07-10
递交范围:v1.28.1...v1.28.2

发布概览

  • 性能与正确性补丁:启动更快、操作更跟手;按名安装某个技能不会再误装整仓;自动更新设置项与本页其余控件统一。

用户可见更新

  • 启动更快、操作更跟手 — 启动不再卡在「扫描每个 agent 的技能目录」上:这项校准现在改到窗口起来后的后台执行。项目工作区扫描对每个技能的文件只遍历一次(原为两次),文件监视器也不再因为应用自身的写入而触发冗余的全量刷新。针对启动慢/操作卡顿的反馈(#248)。
  • 安装不存在的技能会报错,而不是把整仓装进来 — 按名安装一个在来源里不存在的技能(上游改名/删除、索引过期或拼写错误),此前会退回到「把整个仓库当作单个技能复制」,把仓库里每个技能都重复装一遍。现在会明确报「技能未找到」错误、且不安装任何内容(#278)。
  • 自动更新设置改用分段控件 — 设置页的「检查间隔」和「自动应用」原本是普通下拉框,现在换成与本页其余选项(主题、同步模式、托盘)一致的分段按钮,所有选项一目了然(#241)。

开发者与治理更新

  • 启动性能修复(#285)经三轮 codex 评审后合入:stranded-target 回填从 setup() 移到窗口起来后的 spawn_blocking,并以「候选集签名」门闩;项目/工作区扫描把每个技能的两次全递归遍历合并为一次;文件监视器加 1.2s 单调时钟自写静音窗,并细化为路径级静音 + 内容哈希目录指纹,确保真实外部事件仍被送达。新增 5 个 Rust 测试。
  • 安装修复(#280)让 find_skill_dir 在请求的 skill_id 无匹配时报错,容器/根目录兜底仅保留给 skill_id == None 的枚举流程;只读 codex 评审确认调用方无回归,follow-up 补了(并经第二轮 codex 评审强化)根 frontmatter-name 命中的回归守卫。
  • README 的 Star History 图表改为自托管(scripts/gen-star-history.py + 内置字体),不再嵌入第三方图片。
  • 后端 Rust 测试 387 全过;前端 npm run build 通过。

当前校验状态

  • ✅ 跨平台构建通过(macOS Intel / macOS ARM / Windows x64 / Linux x64)
  • ✅ TypeScript typecheck 通过

English release notes

Release date: 2026-07-10
Commit range: v1.28.1...v1.28.2

Release Overview

  • Performance and correctness patch: faster startup and snappier actions, installing a specific skill can no longer pull in an entire repository by mistake, and the auto-update settings match the rest of the page.

User-facing

  • Faster startup and snappier actions — Launch no longer blocks on a full scan of every agent's skill directories; that reconciliation now runs in the background after the window is up. Project workspace scanning walks each skill's files once instead of twice, and the file watcher no longer fires a redundant full refresh in response to the app's own writes. Addresses the slow-startup / laggy-actions reports (#248).
  • Installing a missing skill errors instead of installing the whole repo — Asking to install a specific skill whose name doesn't exist in the source (an upstream rename or removal, a stale index, or a typo) previously fell back to copying the entire repository as a single "skill", duplicating every skill it contained. It now fails with a clear "skill not found" error and installs nothing (#278).
  • Auto-update settings use segmented controls — The "check interval" and "auto-apply" options on the Settings page were plain dropdowns; they now use the same segmented-button controls as the rest of the page (theme, sync mode, tray), so every option is visible at a glance (#241).

Developer & Governance

  • Startup-performance fix (#285) landed after three rounds of codex review: the stranded-target backfill moved off setup() into a post-window spawn_blocking gated by a candidate-set signature; project/workspace scanning collapsed two full directory walks per skill into one; and a 1.2s monotonic self-write mute window on the file watcher, refined to path-level muting plus a content-hash directory fingerprint so genuine external events are still delivered. +5 Rust tests.
  • Install fix (#280) makes find_skill_dir bail when a requested skill_id matches nothing, preserving the container/root fallback only for the skill_id == None enumeration flow; a read-only codex review confirmed no caller regressions, and a follow-up added — then strengthened after a second codex pass — a regression guard for the legitimate root-frontmatter-name match.
  • The README Star History chart is now self-hosted (scripts/gen-star-history.py plus a bundled font) instead of embedding the third-party image.
  • Backend Rust test suite at 387 passing; frontend npm run build clean.

Current Verification

  • ✅ Cross-platform build passed (macOS Intel / macOS ARM / Windows x64 / Linux x64)
  • ✅ TypeScript typecheck passed

完整变更:v1.28.1...v1.28.2

Full changelog files: English | 中文

Don't miss a new skills-manager release

NewReleases is sending notifications on new releases.