@michengai/dsh-skills-manager 0.1.24 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,23 @@
4
4
 
5
5
  The five most recent published versions are listed below.
6
6
 
7
+ ## 0.1.26 — 2026-08-27
8
+
9
+ - Fixed browser folder imports that exceeded the former 16 MiB Base64 JSON request ceiling while still fitting within the documented 25 MiB decoded-content limit.
10
+ - Added client-side checks for the existing 10 MiB ZIP, 5 MiB per-file, 25 MiB total, and 500-entry upload limits so oversized selections fail with a specific message before being read.
11
+ - Replaced the large-string Base64 validation regex with stack-safe validation to prevent multi-MiB files from exhausting the JavaScript call stack.
12
+
13
+ Published package: [`@michengai/dsh-skills-manager@0.1.26`](https://www.npmjs.com/package/@michengai/dsh-skills-manager/v/0.1.26).
14
+
15
+ ## 0.1.25 — 2026-08-27
16
+
17
+ - Added provider-backed loading for public Agents, Codex, Claude, Gemini, and OpenCode while keeping external source files read-only and persisting toggles in manager state.
18
+ - Added Markdown details, diagnostics, conversational creation, recoverable Trash, and second-stage permanent deletion.
19
+ - Replaced chained importing with one upload dialog for `.zip`, skill folders, and a single `SKILL.md`, with path, size, count, and archive safety limits.
20
+ - Fixed corrupted-state overwrite, trash rollback data loss, Windows `EPERM` publication failures, and the missing Repair-and-enable payload field.
21
+
22
+ Published package: [`@michengai/dsh-skills-manager@0.1.25`](https://www.npmjs.com/package/@michengai/dsh-skills-manager/v/0.1.25).
23
+
7
24
  ## 0.1.24 — 2026-08-23
8
25
 
9
26
  - Added bilingual changelogs covering the five most recent releases.
@@ -22,16 +39,3 @@ Release tag: [`v0.1.23`](https://github.com/MichengAI/dsh-skills-manager/tree/v0
22
39
  - Preserved symlink-rejection errors while collecting batch import candidates.
23
40
 
24
41
  Release tag: [`v0.1.22`](https://github.com/MichengAI/dsh-skills-manager/tree/v0.1.22).
25
-
26
- ## 0.1.21 — 2026-08-17
27
-
28
- - Applied the same symlink and depth checks during import dry runs.
29
- - Aligned dry-run cleanup, deletion handling, and HEAD behavior.
30
-
31
- Release tag: [`v0.1.21`](https://github.com/MichengAI/dsh-skills-manager/tree/v0.1.21).
32
-
33
- ## 0.1.20 — 2026-08-17
34
-
35
- - Avoided duplicate import errors while the upload dialog is open.
36
-
37
- Release tag: [`v0.1.20`](https://github.com/MichengAI/dsh-skills-manager/tree/v0.1.20).
@@ -4,6 +4,23 @@
4
4
 
5
5
  以下记录最近发布的五个版本。
6
6
 
7
+ ## 0.1.26 — 2026-08-27
8
+
9
+ - 修复浏览器上传文件夹时,原始内容仍在 25 MiB 总量限制内,却因 Base64 JSON 超过旧 16 MiB 请求体上限而失败的问题。
10
+ - 在浏览器读取内容前检查既有的 ZIP 10 MiB、单文件 5 MiB、总量 25 MiB 和 500 个条目限制,超限时直接显示具体原因。
11
+ - 将大字符串 Base64 正则校验改为栈安全校验,避免数 MiB 文件耗尽 JavaScript 调用栈。
12
+
13
+ 发布包:[`@michengai/dsh-skills-manager@0.1.26`](https://www.npmjs.com/package/@michengai/dsh-skills-manager/v/0.1.26)。
14
+
15
+ ## 0.1.25 — 2026-08-27
16
+
17
+ - 新增公共 Agent、Codex、Claude、Gemini 与 OpenCode 技能源加载;启停策略仅写入管理器状态,不修改外部源文件。
18
+ - 新增正文详情、格式诊断、对话创建、可恢复回收站及二次永久删除。
19
+ - 导入改为单弹窗流程,统一支持 `.zip`、技能文件夹和单个 `SKILL.md`,并补充路径、大小、数量与归档安全边界。
20
+ - 修复损坏状态文件覆盖、回收站回滚丢失、Windows `EPERM` 发布失败和「修复并启用」字段缺失等问题。
21
+
22
+ 发布包:[`@michengai/dsh-skills-manager@0.1.25`](https://www.npmjs.com/package/@michengai/dsh-skills-manager/v/0.1.25)。
23
+
7
24
  ## 0.1.24 — 2026-08-23
8
25
 
9
26
  - 新增中英文更新日志,展示最近五个发布版本。
@@ -22,16 +39,3 @@
22
39
  - 批量收集导入候选项时不再吞掉符号链接拒绝错误。
23
40
 
24
41
  发布标签:[`v0.1.22`](https://github.com/MichengAI/dsh-skills-manager/tree/v0.1.22)。
25
-
26
- ## 0.1.21 — 2026-08-17
27
-
28
- - 导入 dry-run 阶段执行与正式导入一致的符号链接和目录深度检查。
29
- - 统一 dry-run 清理、删除处理和 HEAD 请求行为。
30
-
31
- 发布标签:[`v0.1.21`](https://github.com/MichengAI/dsh-skills-manager/tree/v0.1.21)。
32
-
33
- ## 0.1.20 — 2026-08-17
34
-
35
- - 上传弹窗打开时避免产生重复导入错误。
36
-
37
- 发布标签:[`v0.1.20`](https://github.com/MichengAI/dsh-skills-manager/tree/v0.1.20)。
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  # DSH Skills Manager
8
8
 
9
- **Safely manage local skills and inspect shared Agent skills in DeepSeek Harness**
9
+ **Load and safely manage skills from DSH and common local Agents**
10
10
 
11
11
  [简体中文](README.zh-CN.md) · [Apache-2.0](LICENSE)
12
12
 
@@ -21,29 +21,26 @@
21
21
 
22
22
  ## Features
23
23
 
24
- - Filter by category or search, then inspect DSH-local and shared Agent skills in **Settings → Skills**.
25
- - Enable, disable, upload, replace, and delete DSH-local skills.
26
- - Keep shared Agent skills strictly read-only and never change their global metadata.
27
- - Import a plugin directory containing `SKILL.md` through the native file picker and confirm every name collision.
28
- - Paste one sentence into DSH, Codex, or WorkBuddy and let that agent install the plugin locally.
24
+ - Discover and load user-level skills from `.agents`, Codex, Claude, Gemini, and OpenCode into DSH.
25
+ - Persist external source and skill toggles under `$DSH_HOME/skills-manager/state.json` without rewriting shared source files.
26
+ - Inspect Markdown bodies, frontmatter, load state, duplicate shadowing, and format diagnostics in a source-first UI.
27
+ - Create a local DSH skill from Settings or conversation; conversational writes require user approval.
28
+ - Move DSH-local skills to recoverable Trash, then restore or permanently delete them.
29
+ - Import `.zip` archives, skill folders, or a single `SKILL.md` safely into `$DSH_HOME/skills`.
29
30
 
30
31
  ## Screenshots
31
32
 
32
- Filter by category or search in **Settings → Skills**. DSH-local skills can be enabled, disabled, or deleted; shared Agent skills stay read-only:
33
+ Browse by source or search in **Settings → Skills**. External Agent sources are loaded through a manager-owned provider while their files stay read-only:
33
34
 
34
- ![Skills Manager settings page](assets/screenshots/skills-manager-en.png)
35
+ ![Skills Manager source-first settings page](assets/screenshots/skills-manager-v2-preview.png)
35
36
 
36
- Shared Agent skills stay visible when the DSH-local group is empty:
37
+ Open any skill to inspect its source path, diagnostics, Markdown body, and parsed frontmatter:
37
38
 
38
- ![Shared Agent skills remain visible](assets/screenshots/skills-public.png)
39
+ ![Skill details and diagnostics](assets/screenshots/skill-detail.png)
39
40
 
40
- The compact upload dialog accepts a plugin `SKILL.md`, a plugin directory, or drag-and-drop:
41
+ Moving a DSH-local skill to Trash requires confirmation and remains recoverable until it is permanently deleted:
41
42
 
42
- ![Upload plugin dialog](assets/screenshots/upload-plugin.png)
43
-
44
- Enabling a DSH-local skill restores its `/` command in the chat composer:
45
-
46
- ![Chat slash command after enabling a local skill](assets/screenshots/slash-command.png)
43
+ ![Move a skill to Trash confirmation](assets/screenshots/delete-plugin.png)
47
44
 
48
45
  ## DSH product ecosystem
49
46
 
@@ -109,7 +106,7 @@ dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=htt
109
106
  dsh --profile web --dump-config
110
107
  ```
111
108
 
112
- To pin a release, replace `@latest` with a version such as `@0.1.23`.
109
+ To pin a release, replace `@latest` with a version such as `@0.1.25`.
113
110
 
114
111
  The configuration output should contain `skills-manager`. Restart DSH Web and hard-refresh the browser. Do not copy client files manually: `dsh plugin add` also applies `cordis.patch.yml`.
115
112
 
@@ -137,26 +134,24 @@ Open **Settings → Skills**, then use the panel as follows:
137
134
 
138
135
  | Goal | Action | Scope |
139
136
  | --- | --- | --- |
140
- | Search or filter | Use **Category** and **Search** to narrow by directory, name, kind, or description. | DSH and shared Agent skills |
141
- | Inspect a skill | Review its name, form, description, and invocation state. | DSH and shared Agent skills |
142
- | Enable or disable | Select **Enable** or **Disable**; this controls model invocation and the `/` command. | DSH-local skills only |
143
- | Upload a plugin | Select **Upload**, then choose the plugin directory’s `SKILL.md`. Its scripts and resources are copied too. | DSH-local skills only |
144
- | Choose the directory | If the selected file has no usable path, choose the directory containing `SKILL.md`. | DSH-local skills only |
145
- | Replace or delete | Confirm a name collision, or select **Delete** for an unneeded local skill. | DSH-local skills only |
146
- | Inspect shared skills | Review shared Agent skills without changing their metadata. | Read-only |
147
-
148
- ![Delete plugin confirmation](assets/screenshots/delete-plugin.png)
137
+ | Search or filter | Narrow by source, name, or description. | All sources |
138
+ | Inspect details | Review body, frontmatter, path, format diagnostics, and duplicate shadowing. | All sources |
139
+ | Enable or disable | DSH skills update their own invocation policy; external skills update manager-local state only. | All sources |
140
+ | Create or import | Create in Settings, or import `.zip`, a folder containing `SKILL.md`, or one `SKILL.md`. | `$DSH_HOME/skills` |
141
+ | Create from conversation | Let an Agent call `create_skill`; DSH asks for approval before writing. | `$DSH_HOME/skills` |
142
+ | Delete and recover | Move to Trash, restore, or permanently delete in a second step. | DSH-local skills |
149
143
 
150
- > Deleting a DSH-local skill requires confirmation and cannot be undone.
144
+ > Toggling a shared source never changes its files; only DSH-local skills can move to Trash.
151
145
 
152
146
  Escape closes only the frontmost upload or confirmation dialog and leaves Settings open.
153
147
 
154
148
  ## Permissions and safety limits
155
149
 
156
- | Directory | View | Enable or disable | Upload or replace | Delete |
150
+ | Directory | View/load | Enable or disable | Create/import | Delete |
157
151
  | --- | --- | --- | --- | --- |
158
- | `$DSH_HOME\skills` | Yes | Yes | Yes | Yes |
159
- | `$DSH_AGENTS_HOME\skills` | Yes | No | No | No |
152
+ | `$DSH_HOME\skills` | Yes | Updates local invocation policy | Yes | Moves to Trash |
153
+ | `$DSH_AGENTS_HOME\skills` | Yes | Manager state only | No | No |
154
+ | `~/.codex/skills`, `~/.claude/skills`, `~/.gemini/skills`, `~/.config/opencode/skills` | Yes | Manager state only | No | No |
160
155
 
161
156
  - Enable, disable, and delete accept only one ordinary skill-name path segment.
162
157
  - Replacements copy to a temporary sibling path first and keep the original until that succeeds.
package/README.zh-CN.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  # DSH Skills Manager
8
8
 
9
- **在 DeepSeek Harness 中安全管理本地技能,并查看公共 Agent 技能**
9
+ **在 DeepSeek Harness 中统一加载并安全管理本机 Agent Skills**
10
10
 
11
11
  [English](README.md) · [Apache-2.0](LICENSE)
12
12
 
@@ -21,29 +21,26 @@
21
21
 
22
22
  ## 功能概览
23
23
 
24
- - 在「设置 → 技能」中按分类筛选或搜索,查看 DSH 本地技能与公共 Agent 技能。
25
- - 对 DSH 本地技能执行启用、停用、上传、覆盖和删除。
26
- - 公共 Agent 技能始终只读,不改写共享的全局元数据。
27
- - 使用系统文件选择器导入包含 `SKILL.md` 的插件目录,并对同名覆盖强制确认。
28
- - 可把一句话复制到 DSH、Codex 或 WorkBuddy,让对方代装到本机 DSH。
24
+ - 自动发现并把 `.agents`、Codex、Claude、Gemini 和 OpenCode 的用户级技能真正加载进 DSH。
25
+ - 外部来源启停只写入 `$DSH_HOME\skills-manager\state.json`,绝不改写共享源文件。
26
+ - 按来源折叠、搜索和筛选,并查看技能正文、frontmatter、加载状态、重名遮蔽与格式诊断。
27
+ - 在设置页或对话中创建 DSH 本地技能;对话工具在写入前请求用户确认。
28
+ - DSH 本地技能删除后先进入回收站,支持恢复和二次永久删除。
29
+ - 支持把 `.zip`、包含 `SKILL.md` 的技能文件夹或单个 `SKILL.md` 安全导入 `$DSH_HOME\skills`。
29
30
 
30
31
  ## 界面预览
31
32
 
32
- 在「设置 → 技能」中按分类筛选或搜索。DSH 本地技能可启用、停用和删除;公共 Agent 技能只读:
33
+ 在「设置 → 技能」中按来源管理 DSH 与其他本机 Agent 的技能;外部技能通过 manager provider 加载,源文件保持只读:
33
34
 
34
- ![技能管理设置页面](assets/screenshots/skills-manager.png)
35
+ ![按来源管理技能的设置页面](assets/screenshots/skills-manager-v2-preview.png)
35
36
 
36
- 本地 DSH 技能为空时,公共 Agent 技能仍然可见:
37
+ 打开任意技能可查看来源路径、诊断结果、Markdown 正文与解析后的 frontmatter:
37
38
 
38
- ![未安装本地技能时仍可查看公共 Agent 技能](assets/screenshots/skills-public.png)
39
+ ![技能正文与诊断详情](assets/screenshots/skill-detail.png)
39
40
 
40
- 紧凑上传弹窗支持选择 `SKILL.md`、选择插件目录,或直接拖放文件:
41
+ DSH 本地技能移入回收站前需要确认;永久删除前仍可恢复:
41
42
 
42
- ![上传插件弹窗](assets/screenshots/upload-plugin.png)
43
-
44
- 启用 DSH 本地技能后,聊天输入框会恢复对应的 `/` 命令:
45
-
46
- ![启用本地技能后的斜杠命令](assets/screenshots/slash-command.png)
43
+ ![移到回收站确认框](assets/screenshots/delete-plugin.png)
47
44
 
48
45
  ## DSH 产品生态
49
46
 
@@ -109,7 +106,7 @@ dsh plugin --profile web add @michengai/dsh-skills-manager@latest --registry=htt
109
106
  dsh --profile web --dump-config
110
107
  ```
111
108
 
112
- 需要钉死某一版时,把 `@latest` 换成具体版本,例如 `@0.1.23`。
109
+ 需要钉死某一版时,把 `@latest` 换成具体版本,例如 `@0.1.25`。
113
110
 
114
111
  配置输出中应包含 `skills-manager`。安装后重启 DSH Web 并在浏览器硬刷新。不要手工复制客户端文件,`dsh plugin add` 会同时应用 `cordis.patch.yml`。
115
112
 
@@ -137,26 +134,24 @@ dsh --profile web --dump-config
137
134
 
138
135
  | 目标 | 操作 | 范围 |
139
136
  | --- | --- | --- |
140
- | 搜索或筛选 | 用「分类」和「搜索」按目录、名称、形态或简介收窄列表。 | DSH 与公共 Agent 技能 |
141
- | 查看技能 | 查看名称、形态、说明和调用状态。 | DSH 与公共 Agent 技能 |
142
- | 启用或停用 | 点击「启用」或「停用」。它会同步控制模型调用和 `/` 手动命令。 | 仅 DSH 本地技能 |
143
- | 上传插件 | 点击「上传插件」,选择插件目录内的 `SKILL.md`。完整目录、脚本和资源都会被复制。 | 仅 DSH 本地技能 |
144
- | 改选插件目录 | 所选文件无可用路径时,选择包含 `SKILL.md` 的目录。 | 仅 DSH 本地技能 |
145
- | 覆盖或删除 | 同名时确认覆盖;使用「删除」移除不再需要的本地技能。 | 仅 DSH 本地技能 |
146
- | 查看公共技能 | 查看公共 Agent 技能,不修改其元数据。 | 只读 |
147
-
148
- ![删除插件确认框](assets/screenshots/delete-plugin.png)
137
+ | 搜索或筛选 | 按来源、名称或简介收窄列表。 | 全部来源 |
138
+ | 查看详情与诊断 | 查看正文、frontmatter、源文件路径、格式问题和重名遮蔽。 | 全部来源 |
139
+ | 启用或停用 | DSH 技能更新自身调用策略;外部技能只更新 manager 本地状态。 | 全部来源 |
140
+ | 创建或导入 | 在设置页创建,或导入 `.zip`、包含 `SKILL.md` 的文件夹、单个 `SKILL.md`。 | `$DSH_HOME\skills` |
141
+ | 从对话创建 | 让 Agent 调用 `create_skill`;写入前由 DSH 审批界面确认。 | `$DSH_HOME\skills` |
142
+ | 删除与恢复 | 删除先进入回收站;可恢复或永久二次删除。 | DSH 本地技能 |
149
143
 
150
- > 删除 DSH 本地技能需要确认,删除后无法恢复。
144
+ > 共享来源的启停不会修改源文件;只有 DSH 本地技能可以移入回收站。
151
145
 
152
146
  按 ESC 只关闭最上层上传框或确认框,设置页会保持打开。
153
147
 
154
148
  ## 权限与安全边界
155
149
 
156
- | 目录 | 查看 | 启用或停用 | 上传或覆盖 | 删除 |
150
+ | 目录 | 查看/加载 | 启用或停用 | 创建/导入 | 删除 |
157
151
  | --- | --- | --- | --- | --- |
158
- | `$DSH_HOME\skills` | 支持 | 支持 | 支持 | 支持 |
159
- | `$DSH_AGENTS_HOME\skills` | 支持 | 不支持 | 不支持 | 不支持 |
152
+ | `$DSH_HOME\skills` | 支持 | 改写本地调用策略 | 支持 | 进入回收站 |
153
+ | `$DSH_AGENTS_HOME\skills` | 支持 | 仅写 manager 状态 | 不支持 | 不支持 |
154
+ | `~/.codex/skills`、`~/.claude/skills`、`~/.gemini/skills`、`~/.config/opencode/skills` | 支持 | 仅写 manager 状态 | 不支持 | 不支持 |
160
155
 
161
156
  - 启用、停用和删除只接受单个普通技能名称,目录穿越名称会被拒绝。
162
157
  - 覆盖前先复制到同目录临时路径;复制成功前不会改动现有技能。