dsh-plugin-tool-management 0.20.0 → 0.20.1
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 +47 -0
- package/README.md +3 -1
- package/README_EN.md +1 -1
- package/docs/images/logo.gif +0 -0
- package/docs/update.md +1 -0
- package/lib/client.js +1594 -364
- package/lib/compat/preset-reach.js +5 -2
- package/lib/context-inject-frame.js +13 -8
- package/lib/hub.js +8 -5
- package/lib/index.js +56 -20
- package/lib/mcp/manager.js +21 -0
- package/lib/mcp/state-section.js +1 -1
- package/lib/memories/archive-engine.js +4 -5
- package/lib/memories/constants.js +2 -2
- package/lib/op-registry.js +7 -5
- package/lib/ops/memory.js +42 -4
- package/lib/ops/scene-records.js +43 -9
- package/lib/ops/sessions.js +5 -39
- package/lib/ops/trash.js +45 -5
- package/lib/request-gate.js +9 -2
- package/lib/scene-prompt-sync.js +48 -23
- package/lib/sessions/workspace.js +0 -10
- package/lib/skills/catalog.js +17 -5
- package/lib/skills/core.js +121 -5
- package/lib/skills/frontmatter.js +31 -0
- package/lib/skills/manager-state.js +41 -2
- package/lib/skills/service.js +46 -12
- package/lib/skills/skill-roots.js +54 -4
- package/lib/skills/skill-trash.js +118 -12
- package/lib/skills/upload-pipeline.js +110 -26
- package/lib/subagents/catalog.js +9 -5
- package/lib/subagents/service.js +44 -6
- package/lib/subagents/tools.js +45 -15
- package/lib/tool-table-switch.js +6 -6
- package/lib/tools/deps.js +43 -0
- package/lib/tools/mcp.js +68 -27
- package/lib/tools/memory.js +49 -9
- package/lib/tools/prompt.js +26 -9
- package/lib/tools/remove.js +206 -0
- package/lib/tools/scene.js +18 -13
- package/lib/tools/skills.js +162 -55
- package/lib/tools/subagent.js +65 -31
- package/lib/tools/table.js +39 -12
- package/lib/trash-id.js +16 -0
- package/package.json +115 -114
package/lib/trash-id.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// 回收站条目 id:**一个生成器,五个域共用**(2026-10-15 smoke-test P1-7)。
|
|
2
|
+
//
|
|
3
|
+
// 为什么单独一个文件:`hub.ts` 引了 `skills/core.js` 的 `resolveDshHome`,所以技能域不能反过来
|
|
4
|
+
// 引 `hub.ts` 取这个函数 —— 那正好把 2026-10-01 剥层拆掉的那个运行时环重新接上(见 core.ts
|
|
5
|
+
// 头部的层注释)。放到这一叶模块里,两边都只向下引,不产生环。
|
|
6
|
+
//
|
|
7
|
+
// 形状:时间戳 base36 + uuid 前 8 位。统一它不是为了审美 —— 五个域的 `*_manager_remove` 都按
|
|
8
|
+
// `action=list` 给出的 id 做 restore,模型跨域操作时认得这一种形状就够。此前技能域另写了一套
|
|
9
|
+
// `${Date.now()}-${randomUUID()}`(十进制时间戳 + 完整 uuid),拿到的是另一种长相。
|
|
10
|
+
//
|
|
11
|
+
// 读写都是**向后兼容**的:读侧只校验「单个合法路径段」(`entryPath` / `isValidSegment`),
|
|
12
|
+
// 两种形状都过;磁盘上已有的旧条目照旧能列、能恢复。
|
|
13
|
+
import { randomUUID } from 'node:crypto';
|
|
14
|
+
export function newTrashId() {
|
|
15
|
+
return Date.now().toString(36) + '-' + randomUUID().slice(0, 8);
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -1,114 +1,115 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "dsh-plugin-tool-management",
|
|
3
|
-
"version": "0.20.
|
|
4
|
-
"description": "
|
|
5
|
-
"repository": {
|
|
6
|
-
"type": "git",
|
|
7
|
-
"url": "https://github.com/ouli-1242/dsh-plugin-tool-management"
|
|
8
|
-
},
|
|
9
|
-
"type": "module",
|
|
10
|
-
"main": "lib/index.js",
|
|
11
|
-
"exports": {
|
|
12
|
-
".": "./lib/index.js",
|
|
13
|
-
"./client": "./lib/client.js",
|
|
14
|
-
"./workspace": "./lib/sessions/workspace.js",
|
|
15
|
-
"./package.json": "./package.json"
|
|
16
|
-
},
|
|
17
|
-
"files": [
|
|
18
|
-
"lib",
|
|
19
|
-
"cordis.patch.yml",
|
|
20
|
-
"README.md",
|
|
21
|
-
"README_EN.md",
|
|
22
|
-
"CHANGELOG.md",
|
|
23
|
-
"LICENSE",
|
|
24
|
-
"screenshots.json",
|
|
25
|
-
"docs"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"check:
|
|
41
|
-
"host
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"mcp
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
"@deepseek-ai/dsh-client-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"@deepseek-ai/
|
|
71
|
-
"@deepseek-ai/dsh-
|
|
72
|
-
"@deepseek-ai/dsh-
|
|
73
|
-
"@deepseek-ai/dsh-session
|
|
74
|
-
"@deepseek-ai/dsh-
|
|
75
|
-
"@deepseek-ai/dsh-
|
|
76
|
-
"@deepseek-ai/dsh-
|
|
77
|
-
"@deepseek-ai/dsh-
|
|
78
|
-
"@deepseek-ai/dsh-subagent-
|
|
79
|
-
"@deepseek-ai/dsh-
|
|
80
|
-
"@deepseek-ai/dsh-
|
|
81
|
-
"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"@deepseek-ai/
|
|
94
|
-
"@deepseek-ai/dsh-
|
|
95
|
-
"@deepseek-ai/dsh-
|
|
96
|
-
"@deepseek-ai/dsh-session
|
|
97
|
-
"@deepseek-ai/dsh-
|
|
98
|
-
"@deepseek-ai/dsh-
|
|
99
|
-
"@deepseek-ai/dsh-
|
|
100
|
-
"@deepseek-ai/dsh-
|
|
101
|
-
"@deepseek-ai/dsh-subagent-
|
|
102
|
-
"@deepseek-ai/dsh-
|
|
103
|
-
"@deepseek-ai/dsh-
|
|
104
|
-
"@
|
|
105
|
-
"@types/
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
"
|
|
111
|
-
|
|
112
|
-
"
|
|
113
|
-
|
|
114
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "dsh-plugin-tool-management",
|
|
3
|
+
"version": "0.20.1",
|
|
4
|
+
"description": "一个设置面板,统一管理 MCP、技能、记忆、子智能体、提示词和归档会话;可自定义搭配场景,一个场景即可切换整个环境;Agent也能帮你操作这个插件。",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/ouli-1242/dsh-plugin-tool-management"
|
|
8
|
+
},
|
|
9
|
+
"type": "module",
|
|
10
|
+
"main": "lib/index.js",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": "./lib/index.js",
|
|
13
|
+
"./client": "./lib/client.js",
|
|
14
|
+
"./workspace": "./lib/sessions/workspace.js",
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"lib",
|
|
19
|
+
"cordis.patch.yml",
|
|
20
|
+
"README.md",
|
|
21
|
+
"README_EN.md",
|
|
22
|
+
"CHANGELOG.md",
|
|
23
|
+
"LICENSE",
|
|
24
|
+
"screenshots.json",
|
|
25
|
+
"docs/images",
|
|
26
|
+
"docs/update.md"
|
|
27
|
+
],
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=18"
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"registry": "https://registry.npmjs.org",
|
|
33
|
+
"access": "public"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc -p tsconfig.json && node scripts/sync-client.mjs && node scripts/sync-profile.mjs",
|
|
37
|
+
"prepublishOnly": "npm run build && npm run lint && npm run typecheck:client && node --test test/client-exports.test.mjs",
|
|
38
|
+
"lint": "node --check lib/client.js && node --check lib/index.js",
|
|
39
|
+
"typecheck:client": "node scripts/sync-client.mjs && tsc -p tsconfig.client.json",
|
|
40
|
+
"check:i18n": "node scripts/check-i18n.mjs lib/client.js",
|
|
41
|
+
"check:host": "node scripts/host-deps.mjs && node scripts/doctor.mjs",
|
|
42
|
+
"host-deps": "node scripts/host-deps.mjs --fix",
|
|
43
|
+
"doctor": "node scripts/doctor.mjs",
|
|
44
|
+
"test": "npm run build && npm run check:i18n && npm run typecheck:client && node --test test/contracts.test.mjs test/client-exports.test.mjs",
|
|
45
|
+
"sync:profile": "node scripts/sync-profile.mjs"
|
|
46
|
+
},
|
|
47
|
+
"keywords": [
|
|
48
|
+
"dsh",
|
|
49
|
+
"deepseek-harness",
|
|
50
|
+
"skill",
|
|
51
|
+
"skills",
|
|
52
|
+
"mcp",
|
|
53
|
+
"mcp-server",
|
|
54
|
+
"plugin",
|
|
55
|
+
"cordis"
|
|
56
|
+
],
|
|
57
|
+
"dsh": {
|
|
58
|
+
"bundle": {
|
|
59
|
+
"patch": "./cordis.patch.yml"
|
|
60
|
+
},
|
|
61
|
+
"client": {
|
|
62
|
+
"platform": "web",
|
|
63
|
+
"inject": [
|
|
64
|
+
"@deepseek-ai/dsh-client-locale",
|
|
65
|
+
"@deepseek-ai/dsh-client-ui-input-trigger"
|
|
66
|
+
]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"peerDependencies": {
|
|
70
|
+
"@deepseek-ai/cordis": "^4.0.2",
|
|
71
|
+
"@deepseek-ai/dsh-agent-preset-registry": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
72
|
+
"@deepseek-ai/dsh-llm": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
73
|
+
"@deepseek-ai/dsh-session": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
74
|
+
"@deepseek-ai/dsh-session-projection-cache": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
75
|
+
"@deepseek-ai/dsh-settings": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
76
|
+
"@deepseek-ai/dsh-spill-local": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
77
|
+
"@deepseek-ai/dsh-storage-domain": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
78
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
79
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
80
|
+
"@deepseek-ai/dsh-tools": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
81
|
+
"@deepseek-ai/dsh-workspace": ">=0.1.7-rc.2 || >=0.2.0-rc.1",
|
|
82
|
+
"react": "^18.2.0"
|
|
83
|
+
},
|
|
84
|
+
"peerDependenciesMeta": {
|
|
85
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": {
|
|
86
|
+
"optional": true
|
|
87
|
+
},
|
|
88
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": {
|
|
89
|
+
"optional": true
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"devDependencies": {
|
|
93
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
94
|
+
"@deepseek-ai/dsh-agent-preset-registry": "^0.2.0-rc.2",
|
|
95
|
+
"@deepseek-ai/dsh-llm": "^0.2.0-rc.2",
|
|
96
|
+
"@deepseek-ai/dsh-session": "^0.2.0-rc.2",
|
|
97
|
+
"@deepseek-ai/dsh-session-projection-cache": "^0.2.0-rc.2",
|
|
98
|
+
"@deepseek-ai/dsh-settings": "^0.2.0-rc.2",
|
|
99
|
+
"@deepseek-ai/dsh-spill-local": "^0.2.0-rc.2",
|
|
100
|
+
"@deepseek-ai/dsh-storage-domain": "^0.2.0-rc.2",
|
|
101
|
+
"@deepseek-ai/dsh-subagent-fork-in-process": "^0.2.0-rc.2",
|
|
102
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": "^0.2.0-rc.2",
|
|
103
|
+
"@deepseek-ai/dsh-tools": "^0.2.0-rc.2",
|
|
104
|
+
"@deepseek-ai/dsh-workspace": "^0.2.0-rc.2",
|
|
105
|
+
"@types/js-yaml": "^4.0.9",
|
|
106
|
+
"@types/node": "^24.0.0",
|
|
107
|
+
"react": "^18.2.0",
|
|
108
|
+
"typescript": "^6.0.0"
|
|
109
|
+
},
|
|
110
|
+
"license": "MIT",
|
|
111
|
+
"dependencies": {
|
|
112
|
+
"fflate": "^0.8.3",
|
|
113
|
+
"js-yaml": "^4.3.2"
|
|
114
|
+
}
|
|
115
|
+
}
|