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

latest releases: v1.40.0, v1.39.0, v1.38.0...
one month ago

Skills Manager v1.28.4

发布日期:2026-08-04
递交范围:v1.28.3...v1.28.4

发布概览

  • 界面一致性专项:技能卡片在每个页面都长得一样、用起来也一样;设置页和备份页改用共享控件;多选状态下「有更新」的技能不再和已是最新的技能看起来毫无区别。

用户可见更新

  • 技能卡片回归同一张卡 —— 「我的技能」、工作区、项目详情页此前把同一个对象画成了三种样子。现在统一为一套布局:最左侧是固定宽度的槽位,按情况显示状态点、悬停时的拖拽柄、或多选时的复选框(标题因此不会左右跳动);接着是技能名、有更新时的琥珀色「更新」标签,右上角固定放开关。网格卡片上那条会挡住技能名的悬浮工具条已经移除,拖拽、更新、删除收进了「…」菜单,删除现在会先弹确认框而不是立即执行。
  • 多选时仍能看到「有更新」 —— 网格卡片在多选模式下既隐藏了头部的更新标签,又抑制了正文里的角标,导致有更新的技能和没有更新的完全一样。现在只要标签被隐藏,角标就会显示。
  • 部分启用的技能不再显示成「已关闭」 —— 项目页上,变体只启用了一部分的技能此前显示为完全关闭。现在这种中间状态用琥珀色状态点表示,整张卡片也不再整体变暗。
  • 设置页与全局风格对齐 —— 行标题、说明文字、间距、分隔线都回到与其他页面相同的尺度。改了立刻生效的布尔项(托盘图标、Git 引擎)改用开关而非复选框,语言改用分段控件;Agent 卡片把开关移到右边缘,并且无论该 Agent 是否已安装都保持等高。多余的「已启用 / 已禁用」标签已删除(开关本身就说明了这一点);「未安装」保留,因为这是开关表达不了的状态。
  • 行为变更:移除「默认启动预设」设置 —— 该设置会在每次启动时覆盖当前激活的预设。现在启动时直接恢复你上次激活的预设。
  • 弹层、抽屉与侧边栏的圆角统一 —— 弹层里的按钮、输入框和侧边栏导航行此前明显比背后的页面更方,现已并入同一套圆角阶梯。

开发者与治理更新

  • 卡片改造引入 CardActionMenu(替换掉绕过 ConfirmDialog 直接删除的 DeleteSkillButton),并新增三个卡片 token:--color-border-faint--shadow-card--shadow-card-hoverToggleSwitch 增加 loading 属性,使 Agent 开关和备份页的自动备份行保留原有的进行中转圈;它同时替换掉了最后两个硬编码 emerald/zinc 配色的私有 28×16 开关。卡片菜单展开时会把外层容器提到 z-30——卡片 hover 的 transform 会形成 stacking context,否则菜单会被切掉。
  • 设置页的 fieldClass / actionButtonClass / segmentedButtonClass 不再自行定义尺寸与圆角,改为组合 .app-input / .app-button-secondary / .app-segmented-button
  • 移除默认启动预设不能只删 UI 行:ensure_default_startup_scenario 每次启动都会读 default_scenario,只删前端会让用户被锁死在某个预设上且无法更改,因此三处读取点全部删除。CLI 改为回退到第一个预设,数据库里的设置行保留为无效数据。
  • src/ 中的任意圆角值从 101 处降到 27 处,剩余的都是 Agent 图标格(其规范值就是 rounded-[4px],其中三处偏移已在本次修正)以及 HelpDialog 刻意保留的 rounded-[28px]
  • README 增加 Trendshift 徽章。
  • 后端 Rust 测试 393 项全部通过;前端 npm run build 无报错。

当前校验状态

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

English release notes

Release date: 2026-08-04
Commit range: v1.28.3...v1.28.4

Release Overview

  • Interface consistency pass: a skill card now looks and behaves the same on every page, Settings and Backup adopt the shared controls, and a skill with a pending update is no longer indistinguishable from an up-to-date one in multi-select.

User-facing

  • The skill card is one card again — My Skills, Workspace, and a project's detail page each drew the same object differently. All of them now share one layout: a fixed leading slot that holds the status dot, the drag handle on hover, or the multi-select checkbox (so the title never shifts), the name, an amber "update" pill when one is pending, and a switch pinned to the top-right. The grid card's floating hover toolbar — which used to cover the skill name — is gone; drag, update, and delete moved into a "…" overflow menu, and deleting now asks for confirmation instead of acting immediately.
  • A pending update stays visible while selecting — In multi-select, the grid card hid the header update pill and suppressed the body badge, so a skill with an update looked exactly like one without. The badge now appears whenever the pill is hidden.
  • A partially enabled skill no longer reads as disabled — On a project page, a skill whose variants are only partly enabled showed as fully off. Its status dot is now amber for that in-between state, and the whole card no longer dims.
  • Settings matches the rest of the app — Row headings, help text, spacing, and dividers follow the same scale as every other page. Booleans that take effect immediately (tray icon, Git engine) are switches rather than checkboxes, language is a segmented control, and agent cards put their switch at the right edge and keep equal height whether or not the agent is installed. The redundant "enabled / disabled" pill is gone — the switch already says it; "not installed" stays, since the switch cannot express it.
  • Behavior change: the "default startup preset" setting is removed — It overrode whichever preset was active on every launch. Startup now simply restores the preset you last had active.
  • Consistent corners across dialogs, sheets, and the sidebar — Buttons, inputs, and navigation rows inside modals were noticeably squarer than the pages behind them; they now use the same radius scale.

Developer & Governance

  • The card rework introduces CardActionMenu (replacing the standalone DeleteSkillButton, which routed deletion outside ConfirmDialog) and three card tokens — --color-border-faint, --shadow-card, --shadow-card-hover. ToggleSwitch gained a loading prop so the agent toggle and Backup's auto-backup row keep their in-flight spinner; it replaced the last two private 28×16 switches with hardcoded emerald/zinc colors. An open card menu lifts its wrapper to z-30, because the card's hover transform creates a stacking context that would otherwise clip it.
  • Settings' local fieldClass / actionButtonClass / segmentedButtonClass constants now compose .app-input / .app-button-secondary / .app-segmented-button instead of redefining them at different sizes and radii.
  • Removing the default-startup-preset setting required deleting all three readers, not just the UI row: ensure_default_startup_scenario read default_scenario on every launch, so dropping only the frontend would have locked users into a preset with no way to change it. The CLI now falls back to the first preset. The stored settings row is left in place as inert data.
  • Arbitrary radii across src/ drop from 101 to 27; the remainder are Agent icon cells (spec'd at rounded-[4px], and three drifted cells are corrected here) and HelpDialog's deliberate rounded-[28px].
  • READMEs gained a Trendshift badge.
  • Backend Rust suite at 393 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.3...v1.28.4

Full changelog files: English | 中文

Don't miss a new skills-manager release

NewReleases is sending notifications on new releases.