dsh-agent-skills 0.1.12 → 0.1.14
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/README.md +16 -1
- package/lib/paths.d.ts +20 -0
- package/lib/paths.js +28 -0
- package/lib/paths.js.map +1 -0
- package/lib/preset-manager.d.ts +5 -1
- package/lib/preset-manager.js +142 -71
- package/lib/preset-manager.js.map +1 -1
- package/lib/preset.d.ts +9 -1
- package/lib/preset.js +12 -2
- package/lib/preset.js.map +1 -1
- package/lib/provider.d.ts +6 -2
- package/lib/provider.js +34 -15
- package/lib/provider.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -109,7 +109,22 @@ npm pack --dry-run
|
|
|
109
109
|
- wire codec 同时提供旧版读取的 `schema` 和新版要求的 `create()`,客户端与宿主两面共用同一张描述表;
|
|
110
110
|
- 宿主提供的 `@deepseek-ai/*` 依赖按名字解析,`peerDependencies` 只是兼容区间声明,不会把旧版依赖装进你的 profile。
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
「开启接管 DSH 技能」会自动识别 preset 的三种历史布局,不需要手动指定路径:
|
|
113
|
+
|
|
114
|
+
| DSH 版本 | preset 文件位置 |
|
|
115
|
+
| --- | --- |
|
|
116
|
+
| 早期(`config/agent-presets`) | `<@deepseek-ai/dsh>/config/agent-presets/<id>/agent.cordis.yml` |
|
|
117
|
+
| `0.1.0` ~ `0.1.6-alpha`(`dsh-agent-presets` 包) | `<@deepseek-ai/dsh-agent-presets>/presets/<id>/agent.cordis.yml` |
|
|
118
|
+
| `0.1.7-rc.2` 起(`dsh-web-app` 包) | `<@deepseek-ai/dsh-web-app>/presets/<id>.patch.yml` |
|
|
119
|
+
|
|
120
|
+
其他行为约定:
|
|
121
|
+
|
|
122
|
+
- preset 包的解析始终优先「正在使用的那份」:升级 DSH 后常见的 `dsh-agent-presets` 残留即使与 `dsh-web-app` 同级共存,也不会被误选中改写;
|
|
123
|
+
- Windows 与 POSIX 同等支持,路径比较统一按平台归一化后判定;
|
|
124
|
+
- 接管只改写 `skill-filesystem` 行的 `name`,preset 行自带的 `config`(例如 `cordis` preset 的 `customSkillDirs`)保持原样,并且仍会被接管后的 provider 扫描;
|
|
125
|
+
- 不含 `skill-filesystem` 行的 preset(如 `minimal`)不会被改动。
|
|
126
|
+
|
|
127
|
+
DSH 升级到新发布线后无需重新安装插件;只有 DSH 重新安装/升级覆盖 preset 文件时会丢失技能接管,重新点一次「开启接管 DSH 技能」即可。
|
|
113
128
|
|
|
114
129
|
## 注意
|
|
115
130
|
|
package/lib/paths.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-independent path comparisons.
|
|
3
|
+
*
|
|
4
|
+
* Windows separates paths with `\`, so any comparison written against a `/`
|
|
5
|
+
* literal — a `startsWith(root + "/")` prefix test or an
|
|
6
|
+
* `endsWith("/<id>/agent.cordis.yml")` suffix test — silently fails there.
|
|
7
|
+
* Every path comparison in this plugin goes through the helpers below.
|
|
8
|
+
*
|
|
9
|
+
* @module dsh-agent-skills/paths
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Canonical form used for comparisons only — never for filesystem access.
|
|
13
|
+
*
|
|
14
|
+
* Backslashes become forward slashes (Windows accepts both separators),
|
|
15
|
+
* trailing separators are dropped, and Windows paths fold case because the
|
|
16
|
+
* filesystem does.
|
|
17
|
+
*/
|
|
18
|
+
export declare function comparablePath(path: string): string;
|
|
19
|
+
/** True when `path` is `root` itself or a descendant of it. */
|
|
20
|
+
export declare function isSameOrInside(path: string, root: string): boolean;
|
package/lib/paths.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Platform-independent path comparisons.
|
|
3
|
+
*
|
|
4
|
+
* Windows separates paths with `\`, so any comparison written against a `/`
|
|
5
|
+
* literal — a `startsWith(root + "/")` prefix test or an
|
|
6
|
+
* `endsWith("/<id>/agent.cordis.yml")` suffix test — silently fails there.
|
|
7
|
+
* Every path comparison in this plugin goes through the helpers below.
|
|
8
|
+
*
|
|
9
|
+
* @module dsh-agent-skills/paths
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Canonical form used for comparisons only — never for filesystem access.
|
|
13
|
+
*
|
|
14
|
+
* Backslashes become forward slashes (Windows accepts both separators),
|
|
15
|
+
* trailing separators are dropped, and Windows paths fold case because the
|
|
16
|
+
* filesystem does.
|
|
17
|
+
*/
|
|
18
|
+
export function comparablePath(path) {
|
|
19
|
+
const slashed = path.replace(/\\/g, "/").replace(/\/+$/, "");
|
|
20
|
+
return process.platform === "win32" ? slashed.toLowerCase() : slashed;
|
|
21
|
+
}
|
|
22
|
+
/** True when `path` is `root` itself or a descendant of it. */
|
|
23
|
+
export function isSameOrInside(path, root) {
|
|
24
|
+
const candidate = comparablePath(path);
|
|
25
|
+
const base = comparablePath(root);
|
|
26
|
+
return candidate === base || candidate.startsWith(`${base}/`);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=paths.js.map
|
package/lib/paths.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACxE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,IAAY;IACvD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AAChE,CAAC"}
|
package/lib/preset-manager.d.ts
CHANGED
|
@@ -5,7 +5,11 @@ export interface PresetManagerOptions {
|
|
|
5
5
|
/** Override the running CLI entry used for package-root discovery. */
|
|
6
6
|
argvEntry?: string;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the verified preset root: the legacy `@deepseek-ai/dsh` package, the
|
|
10
|
+
* retired `@deepseek-ai/dsh-agent-presets` package, or the `dsh-web-app`
|
|
11
|
+
* package that owns the presets from DSH 0.1.7-rc.2 on.
|
|
12
|
+
*/
|
|
9
13
|
export declare function resolveDshPackageRoot(options?: PresetManagerOptions): string | undefined;
|
|
10
14
|
/** Inspect whether every shipped standard/code preset already mounts the provider. */
|
|
11
15
|
export declare function inspectPresetTakeover(options?: PresetManagerOptions): PresetTakeoverStatus;
|
package/lib/preset-manager.js
CHANGED
|
@@ -8,8 +8,27 @@
|
|
|
8
8
|
import { existsSync, readFileSync, realpathSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import { basename, dirname, join, parse } from "node:path";
|
|
11
|
+
import { comparablePath } from "./paths.js";
|
|
11
12
|
const DSH_PACKAGE = "@deepseek-ai/dsh";
|
|
12
13
|
const DSH_PRESET_PACKAGE = "@deepseek-ai/dsh-agent-presets";
|
|
14
|
+
const DSH_WEB_APP_PACKAGE = "@deepseek-ai/dsh-web-app";
|
|
15
|
+
/**
|
|
16
|
+
* Packages that may own the shipped presets, preferred owner first.
|
|
17
|
+
*
|
|
18
|
+
* `dsh-agent-presets` shipped them until 0.1.6-alpha; DSH 0.1.7-rc.2 moved them
|
|
19
|
+
* into `dsh-web-app/presets/<id>.patch.yml`; very old layouts keep them inside
|
|
20
|
+
* the `@deepseek-ai/dsh` package itself.
|
|
21
|
+
*
|
|
22
|
+
* The order is a *preference*, never a probe order. Upgrading DSH routinely
|
|
23
|
+
* leaves the retired `dsh-agent-presets` copy behind, so one tree level can hold
|
|
24
|
+
* the live and the retired owner at once. Picking whichever is probed first
|
|
25
|
+
* would then rewrite the stale copy — reporting a successful takeover while
|
|
26
|
+
* every file the running CLI actually loads stays untouched. A level therefore
|
|
27
|
+
* collects *all* of its candidates and keeps the best one (see `siblingRoots`).
|
|
28
|
+
*
|
|
29
|
+
* Unscoped names — these are path segments under `node_modules/@deepseek-ai/`.
|
|
30
|
+
*/
|
|
31
|
+
const PRESET_OWNER_PACKAGES = ["dsh-web-app", "dsh-agent-presets", "dsh"];
|
|
13
32
|
const PRESET_IDS = ["standard", "code", "ptc", "cordis"];
|
|
14
33
|
const OFFICIAL_PROVIDER = "@deepseek-ai/dsh-skill-filesystem";
|
|
15
34
|
const TAKEOVER_PROVIDER = "dsh-agent-skills/preset";
|
|
@@ -17,36 +36,37 @@ const CURRENT_ROW = /((?:^|\n)[ \t]*- id: skill-filesystem[ \t]*\r?\n[ \t]+name:
|
|
|
17
36
|
const OFFICIAL_ROW = /((?:^|\n)[ \t]*- id: skill-filesystem[ \t]*\r?\n[ \t]+name:[ \t]*)['"]?@deepseek-ai\/dsh-skill-filesystem['"]?(?=\r?\n|$)/m;
|
|
18
37
|
const LEGACY_OVERRIDE_ROW = /((?:^|\n)[ \t]*- id: skill-filesystem[ \t]*\r?\n[ \t]+name:[ \t]*)['"]?dsh-agent-skills['"]?(?=\r?\n|$)/m;
|
|
19
38
|
const LEGACY_MANAGED_BLOCK = /\n?# ── dsh-agent-skills ─+\r?\n# Registered by dsh-agent-skills:[\s\S]*?- id: agent-skills\r?\n name: dsh-agent-skills(?:\/preset)?\r?\n?\s*$/m;
|
|
20
|
-
|
|
39
|
+
/** `name` from a package manifest, or undefined when it cannot be read. */
|
|
40
|
+
function packageNameOf(dir) {
|
|
21
41
|
const manifest = join(dir, "package.json");
|
|
22
42
|
if (!existsSync(manifest))
|
|
23
|
-
return
|
|
43
|
+
return undefined;
|
|
24
44
|
try {
|
|
25
45
|
const pkg = JSON.parse(readFileSync(manifest, "utf8"));
|
|
26
|
-
|
|
27
|
-
return false;
|
|
28
|
-
// Accept both old layout (config/agent-presets present) and new DSH package
|
|
29
|
-
// that still carries the name but whose presets moved to a sibling package.
|
|
30
|
-
// For the latter we don't return true here; preset-package walk will handle it.
|
|
31
|
-
return existsSync(join(dir, "config", "agent-presets"));
|
|
46
|
+
return typeof pkg.name === "string" ? pkg.name : undefined;
|
|
32
47
|
}
|
|
33
48
|
catch {
|
|
34
|
-
return
|
|
49
|
+
return undefined;
|
|
35
50
|
}
|
|
36
51
|
}
|
|
52
|
+
/** Oldest layout: `<@deepseek-ai/dsh>/config/agent-presets/<id>/`. */
|
|
53
|
+
function isLegacyDshRoot(dir) {
|
|
54
|
+
return packageNameOf(dir) === DSH_PACKAGE && existsSync(join(dir, "config", "agent-presets"));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Layouts that ship the presets as their own package files:
|
|
58
|
+
* `dsh-agent-presets/presets/<id>/agent.cordis.yml` and, since DSH
|
|
59
|
+
* 0.1.7-rc.2, `dsh-web-app/presets/<id>.patch.yml`.
|
|
60
|
+
*/
|
|
37
61
|
function isPresetPackageRoot(dir) {
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
62
|
+
const name = packageNameOf(dir);
|
|
63
|
+
if (name !== DSH_PRESET_PACKAGE && name !== DSH_WEB_APP_PACKAGE)
|
|
40
64
|
return false;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
65
|
+
return presetFiles(dir).length > 0;
|
|
66
|
+
}
|
|
67
|
+
/** True when `dir` owns at least one preset this plugin can rewrite. */
|
|
68
|
+
function isTakeoverRoot(dir) {
|
|
69
|
+
return isLegacyDshRoot(dir) || isPresetPackageRoot(dir);
|
|
50
70
|
}
|
|
51
71
|
function tryRealpath(path) {
|
|
52
72
|
try {
|
|
@@ -56,6 +76,38 @@ function tryRealpath(path) {
|
|
|
56
76
|
return path;
|
|
57
77
|
}
|
|
58
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Sibling installs of the preset-owning packages at one tree level, best
|
|
81
|
+
* candidate first.
|
|
82
|
+
*
|
|
83
|
+
* Both the npm-flat spot (`<dir>/node_modules/@deepseek-ai/<pkg>`) and pnpm's
|
|
84
|
+
* hoisted peer directory (`<dir>/node_modules/.pnpm/node_modules/…`) are real
|
|
85
|
+
* layouts, and the package-owning installs also keep their own dependencies as
|
|
86
|
+
* siblings — which is where `dsh-web-app` lives next to the `dsh` package.
|
|
87
|
+
*
|
|
88
|
+
* Every candidate is collected before choosing, so a retired copy can never win
|
|
89
|
+
* merely by being probed first; `PRESET_OWNER_PACKAGES` order decides instead.
|
|
90
|
+
*/
|
|
91
|
+
function siblingRoots(dir, predicate) {
|
|
92
|
+
const found = [];
|
|
93
|
+
const seen = new Set();
|
|
94
|
+
for (const pkg of PRESET_OWNER_PACKAGES) {
|
|
95
|
+
for (const sibling of [
|
|
96
|
+
join(dir, "node_modules", "@deepseek-ai", pkg),
|
|
97
|
+
join(dir, "node_modules", ".pnpm", "node_modules", "@deepseek-ai", pkg)
|
|
98
|
+
]) {
|
|
99
|
+
if (!predicate(sibling))
|
|
100
|
+
continue;
|
|
101
|
+
const resolved = tryRealpath(sibling);
|
|
102
|
+
const key = comparablePath(resolved);
|
|
103
|
+
if (seen.has(key))
|
|
104
|
+
continue;
|
|
105
|
+
seen.add(key);
|
|
106
|
+
found.push(resolved);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return found;
|
|
110
|
+
}
|
|
59
111
|
function walkForRoot(start, predicate) {
|
|
60
112
|
if (start === undefined || start === "" || !existsSync(start))
|
|
61
113
|
return undefined;
|
|
@@ -82,21 +134,12 @@ function walkForRoot(start, predicate) {
|
|
|
82
134
|
for (const base of bases) {
|
|
83
135
|
let current = base;
|
|
84
136
|
while (true) {
|
|
137
|
+
// The package containing the running CLI is always the closest owner.
|
|
85
138
|
if (predicate(current))
|
|
86
139
|
return tryRealpath(current);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return tryRealpath(presetSibling);
|
|
91
|
-
const pnpmPreset = join(current, "node_modules", ".pnpm", "node_modules", "@deepseek-ai", "dsh-agent-presets");
|
|
92
|
-
if (predicate(pnpmPreset))
|
|
93
|
-
return tryRealpath(pnpmPreset);
|
|
94
|
-
const dshSibling = join(current, "node_modules", "@deepseek-ai", "dsh");
|
|
95
|
-
if (predicate(dshSibling))
|
|
96
|
-
return tryRealpath(dshSibling);
|
|
97
|
-
const pnpmDsh = join(current, "node_modules", ".pnpm", "node_modules", "@deepseek-ai", "dsh");
|
|
98
|
-
if (predicate(pnpmDsh))
|
|
99
|
-
return tryRealpath(pnpmDsh);
|
|
140
|
+
const [sibling] = siblingRoots(current, predicate);
|
|
141
|
+
if (sibling !== undefined)
|
|
142
|
+
return sibling;
|
|
100
143
|
const parent = dirname(current);
|
|
101
144
|
if (parent === current || current === parse(current).root)
|
|
102
145
|
break;
|
|
@@ -105,13 +148,22 @@ function walkForRoot(start, predicate) {
|
|
|
105
148
|
}
|
|
106
149
|
return undefined;
|
|
107
150
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
151
|
+
/** Directory part of a path that may be a file, or undefined when unusable. */
|
|
152
|
+
function directoryOf(path) {
|
|
153
|
+
try {
|
|
154
|
+
return statSync(path).isDirectory() ? path : dirname(path);
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
// A not-yet-existing file can still live in an existing directory.
|
|
158
|
+
const dir = dirname(path);
|
|
159
|
+
return existsSync(dir) ? dir : undefined;
|
|
160
|
+
}
|
|
113
161
|
}
|
|
114
|
-
/**
|
|
162
|
+
/**
|
|
163
|
+
* Resolve the verified preset root: the legacy `@deepseek-ai/dsh` package, the
|
|
164
|
+
* retired `@deepseek-ai/dsh-agent-presets` package, or the `dsh-web-app`
|
|
165
|
+
* package that owns the presets from DSH 0.1.7-rc.2 on.
|
|
166
|
+
*/
|
|
115
167
|
export function resolveDshPackageRoot(options = {}) {
|
|
116
168
|
const candidates = [
|
|
117
169
|
options.dshRoot,
|
|
@@ -119,45 +171,54 @@ export function resolveDshPackageRoot(options = {}) {
|
|
|
119
171
|
options.argvEntry ?? process.argv[1]
|
|
120
172
|
];
|
|
121
173
|
for (const candidate of candidates) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return tryRealpath(dir);
|
|
174
|
+
if (candidate === undefined || candidate === "")
|
|
175
|
+
continue;
|
|
176
|
+
// The candidate may be the owning package itself, a file inside it (the
|
|
177
|
+
// CLI entry), or a deeper subdirectory of it.
|
|
178
|
+
const dir = directoryOf(candidate);
|
|
179
|
+
if (dir !== undefined) {
|
|
180
|
+
for (const probe of [dir, dirname(dir)]) {
|
|
181
|
+
if (isTakeoverRoot(probe))
|
|
182
|
+
return tryRealpath(probe);
|
|
132
183
|
}
|
|
133
|
-
catch { }
|
|
134
184
|
}
|
|
135
|
-
const
|
|
136
|
-
if (
|
|
137
|
-
return
|
|
138
|
-
const preset = walkForRoot(candidate, isPresetPackageRoot);
|
|
139
|
-
if (preset !== undefined)
|
|
140
|
-
return preset;
|
|
185
|
+
const found = walkForRoot(candidate, isTakeoverRoot);
|
|
186
|
+
if (found !== undefined)
|
|
187
|
+
return found;
|
|
141
188
|
}
|
|
142
189
|
return undefined;
|
|
143
190
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
join(root, "presets")
|
|
191
|
+
/** Every on-disk shape one preset id may use, in probe order. */
|
|
192
|
+
function presetFileProbes(root, id) {
|
|
193
|
+
return [
|
|
194
|
+
join(root, "config", "agent-presets", id, "agent.cordis.yml"),
|
|
195
|
+
join(root, "presets", id, "agent.cordis.yml"),
|
|
196
|
+
join(root, "presets", `${id}.patch.yml`)
|
|
148
197
|
];
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Existing preset files, one per shipped id, in `PRESET_IDS` order.
|
|
201
|
+
*
|
|
202
|
+
* The probes cover every historical layout, and deduplication compares
|
|
203
|
+
* separator-normalized paths so a Windows `\` path and its `/` equivalent
|
|
204
|
+
* never double-count.
|
|
205
|
+
*/
|
|
206
|
+
function presetFiles(root) {
|
|
207
|
+
const seen = new Set();
|
|
149
208
|
const files = [];
|
|
150
|
-
for (const
|
|
151
|
-
for (const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
209
|
+
for (const id of PRESET_IDS) {
|
|
210
|
+
for (const file of presetFileProbes(root, id)) {
|
|
211
|
+
if (!existsSync(file))
|
|
212
|
+
continue;
|
|
213
|
+
const key = comparablePath(file);
|
|
214
|
+
if (seen.has(key))
|
|
215
|
+
continue;
|
|
216
|
+
seen.add(key);
|
|
217
|
+
files.push(file);
|
|
218
|
+
break;
|
|
155
219
|
}
|
|
156
220
|
}
|
|
157
|
-
|
|
158
|
-
return [];
|
|
159
|
-
// Preserve PRESET_IDS order for deterministic status reporting.
|
|
160
|
-
return PRESET_IDS.map((id) => files.find((f) => f.endsWith(`/${id}/agent.cordis.yml`))).filter((f) => f !== undefined);
|
|
221
|
+
return files;
|
|
161
222
|
}
|
|
162
223
|
function statusFor(root) {
|
|
163
224
|
if (root === undefined)
|
|
@@ -215,6 +276,10 @@ function restoreContent(text) {
|
|
|
215
276
|
return replaceProvider(cleaned, LEGACY_OVERRIDE_ROW, OFFICIAL_PROVIDER);
|
|
216
277
|
return cleaned;
|
|
217
278
|
}
|
|
279
|
+
/** Whether `text` still contains a row this plugin knows how to rewrite. */
|
|
280
|
+
function hasTakeoverRow(text) {
|
|
281
|
+
return OFFICIAL_ROW.test(text) || CURRENT_ROW.test(text) || LEGACY_OVERRIDE_ROW.test(text);
|
|
282
|
+
}
|
|
218
283
|
/** Idempotently replace the shipped filesystem provider in every supported preset. */
|
|
219
284
|
export function enablePresetTakeover(options = {}) {
|
|
220
285
|
const root = resolveDshPackageRoot(options);
|
|
@@ -223,10 +288,16 @@ export function enablePresetTakeover(options = {}) {
|
|
|
223
288
|
const files = presetFiles(root);
|
|
224
289
|
if (files.length === 0)
|
|
225
290
|
throw new Error("当前 DSH 安装中没有 standard 或 code Agent 预设");
|
|
226
|
-
|
|
291
|
+
// A shipped preset may carry no skill row at all (the `minimal` preset does
|
|
292
|
+
// not), so only files that really have a rewritable row are targets.
|
|
293
|
+
const updates = files.flatMap((file) => {
|
|
227
294
|
const current = readFileSync(file, "utf8");
|
|
228
|
-
|
|
295
|
+
if (!hasTakeoverRow(current))
|
|
296
|
+
return [];
|
|
297
|
+
return [{ file, current, next: takeoverContent(file, current) }];
|
|
229
298
|
});
|
|
299
|
+
if (updates.length === 0)
|
|
300
|
+
throw new Error("当前 DSH 安装中没有可接管的 skill-filesystem provider");
|
|
230
301
|
for (const update of updates) {
|
|
231
302
|
if (update.next !== update.current)
|
|
232
303
|
replaceAtomically(update.file, update.next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset-manager.js","sourceRoot":"","sources":["../src/preset-manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"preset-manager.js","sourceRoot":"","sources":["../src/preset-manager.ts"],"names":[],"mappings":"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"}
|
package/lib/preset.d.ts
CHANGED
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
* Preset-only entry point. It contributes the provider to the preset's
|
|
3
3
|
* scoped skill layer and deliberately does not construct host services such
|
|
4
4
|
* as `agentSkills`.
|
|
5
|
+
*
|
|
6
|
+
* The row this entry replaces (`skill-filesystem`) accepts extra scan
|
|
7
|
+
* directories through `config.customSkillDirs`; the shipped `cordis` preset
|
|
8
|
+
* points that at `@deepseek-ai/dsh-agent-preset/skills`. Takeover only swaps
|
|
9
|
+
* the provider name, so this entry forwards the same config into the
|
|
10
|
+
* replacement provider and those directories keep being scanned.
|
|
11
|
+
*
|
|
12
|
+
* @module dsh-agent-skills/preset
|
|
5
13
|
*/
|
|
6
14
|
import type { Context } from "@deepseek-ai/cordis";
|
|
7
15
|
export declare const name = "agent-skills-preset";
|
|
8
16
|
export declare const inject: string[];
|
|
9
|
-
export declare function apply(ctx: Context): void;
|
|
17
|
+
export declare function apply(ctx: Context, config?: unknown): void;
|
package/lib/preset.js
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { createAgentSkillsProvider } from "./provider.js";
|
|
2
2
|
export const name = "agent-skills-preset";
|
|
3
3
|
export const inject = ["skills"];
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/** Read `customSkillDirs` defensively — the row config is user-editable YAML. */
|
|
5
|
+
function customSkillDirsOf(config) {
|
|
6
|
+
if (config === null || typeof config !== "object")
|
|
7
|
+
return [];
|
|
8
|
+
const value = config.customSkillDirs;
|
|
9
|
+
if (!Array.isArray(value))
|
|
10
|
+
return [];
|
|
11
|
+
return value.filter((entry) => typeof entry === "string" && entry !== "");
|
|
12
|
+
}
|
|
13
|
+
export function apply(ctx, config) {
|
|
14
|
+
const customSkillDirs = customSkillDirsOf(config);
|
|
15
|
+
ctx.skills.registerProvider((control) => createAgentSkillsProvider(ctx, control, undefined, customSkillDirs));
|
|
6
16
|
}
|
|
7
17
|
//# sourceMappingURL=preset.js.map
|
package/lib/preset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../src/preset.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;AAC1C,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEjC,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,MAAe;IACxC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAI,MAAwC,CAAC,eAAe,CAAC;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAgB;IAClD,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClD,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;AAChH,CAAC"}
|
package/lib/provider.d.ts
CHANGED
|
@@ -29,7 +29,11 @@ export interface StateReader {
|
|
|
29
29
|
read(): Promise<AgentSkillsState>;
|
|
30
30
|
}
|
|
31
31
|
export declare function stateReaderOf(): StateReader;
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Longest matching root wins; returns undefined when no root covers the path.
|
|
34
|
+
* Comparisons normalize separators, so a Windows `C:\x\y` candidate matches
|
|
35
|
+
* the root `C:\x` (see {@link isSameOrInside}).
|
|
36
|
+
*/
|
|
33
37
|
export declare function rootFor(path: string | undefined, roots: RootPolicy[]): RootPolicy | undefined;
|
|
34
38
|
/** Builtin roots resolved from the environment (mirrors dsh-skill-filesystem). */
|
|
35
39
|
export declare function builtinRoots(dshHome?: string): Promise<RootPolicy[]>;
|
|
@@ -45,7 +49,7 @@ export declare function originOf(candidate: SkillCandidate): Origin | undefined;
|
|
|
45
49
|
* invalidate the registry cache on file changes so the catalog follows disk
|
|
46
50
|
* edits without a restart.
|
|
47
51
|
*/
|
|
48
|
-
export declare function createAgentSkillsProvider(ctx: Context, control: SkillProviderControl, stateReader?: StateReader): SkillProvider;
|
|
52
|
+
export declare function createAgentSkillsProvider(ctx: Context, control: SkillProviderControl, stateReader?: StateReader, presetSkillDirs?: readonly string[]): SkillProvider;
|
|
49
53
|
/** Find this plugin's provider in any scoped layer (the preset instance). */
|
|
50
54
|
export declare function findPresetProvider(skills: unknown): {
|
|
51
55
|
provider: SkillProvider;
|
package/lib/provider.js
CHANGED
|
@@ -6,6 +6,7 @@ import { resolveDshHome } from "@deepseek-ai/dsh-home-paths";
|
|
|
6
6
|
import { watch } from "node:fs";
|
|
7
7
|
import { resolve } from "node:path";
|
|
8
8
|
import { builtinAgentSkillDirs } from "./discovery.js";
|
|
9
|
+
import { comparablePath, isSameOrInside } from "./paths.js";
|
|
9
10
|
/** The provider name this plugin registers (never "runtime"). */
|
|
10
11
|
export const PROVIDER_NAME = "agent-skills";
|
|
11
12
|
export function stateReaderOf() {
|
|
@@ -29,16 +30,20 @@ export function stateReaderOf() {
|
|
|
29
30
|
}
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Longest matching root wins; returns undefined when no root covers the path.
|
|
35
|
+
* Comparisons normalize separators, so a Windows `C:\x\y` candidate matches
|
|
36
|
+
* the root `C:\x` (see {@link isSameOrInside}).
|
|
37
|
+
*/
|
|
33
38
|
export function rootFor(path, roots) {
|
|
34
39
|
if (path === undefined)
|
|
35
40
|
return undefined;
|
|
36
41
|
let best;
|
|
37
42
|
for (const root of roots) {
|
|
38
|
-
if (
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
43
|
+
if (!isSameOrInside(path, root.path))
|
|
44
|
+
continue;
|
|
45
|
+
if (best === undefined || root.path.length > best.path.length)
|
|
46
|
+
best = root;
|
|
42
47
|
}
|
|
43
48
|
return best;
|
|
44
49
|
}
|
|
@@ -67,15 +72,27 @@ function emit(candidate, origin, rank) {
|
|
|
67
72
|
origins.set(emitted, origin);
|
|
68
73
|
return emitted;
|
|
69
74
|
}
|
|
70
|
-
/**
|
|
71
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Custom-dir candidates (rank 300) from the current state plus any extra
|
|
77
|
+
* directories the mounted row asked for.
|
|
78
|
+
*
|
|
79
|
+
* `extraDirs` carries the replaced preset row's own `config.customSkillDirs`:
|
|
80
|
+
* the official `skill-filesystem` row scans them, and it is this provider that
|
|
81
|
+
* inherits that job once the row is taken over. Without them a preset that
|
|
82
|
+
* ships extra skill directories (the `cordis` preset ships three) would lose
|
|
83
|
+
* those skills the moment takeover is enabled.
|
|
84
|
+
*/
|
|
85
|
+
async function customCandidates(state, logger, extraDirs = []) {
|
|
72
86
|
const candidates = [];
|
|
73
87
|
const roots = [];
|
|
74
88
|
let localOrder = 0;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
89
|
+
const sources = [
|
|
90
|
+
...state.dirs.map((dir) => ({ path: resolve(dir.path), disabled: dir.enabled === false })),
|
|
91
|
+
...extraDirs.map((dir) => ({ path: resolve(dir), disabled: false }))
|
|
92
|
+
];
|
|
93
|
+
for (const source of sources) {
|
|
94
|
+
roots.push(source);
|
|
95
|
+
const scanned = await scanRoot(source.path, logger);
|
|
79
96
|
for (const skill of scanned.skills) {
|
|
80
97
|
candidates.push(emit({
|
|
81
98
|
name: skill.name,
|
|
@@ -126,7 +143,7 @@ async function builtinCandidates(roots, logger) {
|
|
|
126
143
|
* invalidate the registry cache on file changes so the catalog follows disk
|
|
127
144
|
* edits without a restart.
|
|
128
145
|
*/
|
|
129
|
-
export function createAgentSkillsProvider(ctx, control, stateReader = stateReaderOf()) {
|
|
146
|
+
export function createAgentSkillsProvider(ctx, control, stateReader = stateReaderOf(), presetSkillDirs = []) {
|
|
130
147
|
const logger = ctx.logger;
|
|
131
148
|
const scope = scopeOf(ctx);
|
|
132
149
|
const watchers = new Map();
|
|
@@ -181,15 +198,17 @@ export function createAgentSkillsProvider(ctx, control, stateReader = stateReade
|
|
|
181
198
|
const myLayer = scope === undefined ? registry.layers.global : registry.layers.scoped.get(scope);
|
|
182
199
|
void myLayer; // self is skipped by name below, layer lookup only needed for structure
|
|
183
200
|
const inner = await collectAllLayers(registry, options, logger, PROVIDER_NAME);
|
|
184
|
-
const custom = await customCandidates(state, logger);
|
|
201
|
+
const custom = await customCandidates(state, logger, presetSkillDirs);
|
|
185
202
|
const builtins = await builtinRoots();
|
|
186
203
|
const builtin = await builtinCandidates(builtins, logger);
|
|
187
204
|
const roots = [...custom.roots, ...builtins];
|
|
188
|
-
|
|
205
|
+
// Keys are separator- and (on Windows) case-folded so the state written
|
|
206
|
+
// by the settings page matches the paths discovered here.
|
|
207
|
+
const disabledDirs = new Set(state.disabledDirs.map(comparablePath));
|
|
189
208
|
const disabledSkills = new Set(state.disabledSkills);
|
|
190
209
|
const policy = roots.map((root) => ({
|
|
191
210
|
path: root.path,
|
|
192
|
-
disabled: root.disabled || disabledDirs.has(root.path)
|
|
211
|
+
disabled: root.disabled || disabledDirs.has(comparablePath(root.path))
|
|
193
212
|
}));
|
|
194
213
|
const winners = dedupeWinners(inner.entries);
|
|
195
214
|
const emitted = winners.map((entry) => {
|
package/lib/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-agent-skills",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"author": "Wei <minivv@users.noreply.github.com>",
|
|
5
5
|
"description": "Discover and manage Claude Code, Codex, Gemini CLI, and other Agent Skills inside DeepSeek Harness.",
|
|
6
6
|
"type": "module",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
|
75
75
|
"build": "node scripts/build.mjs",
|
|
76
|
-
"test": "node test-typert-contract.mjs && node test-preset-manager.mjs && node test-takeover-provider.mjs",
|
|
76
|
+
"test": "node test-typert-contract.mjs && node test-paths.mjs && node test-preset-manager.mjs && node test-preset-copies.mjs && node test-takeover-provider.mjs",
|
|
77
77
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.client.json --noEmit",
|
|
78
78
|
"prepare": "npm run build",
|
|
79
79
|
"prepublishOnly": "npm run typecheck && npm run build",
|