dsh-plugin-t-expert 0.3.84 → 0.3.89
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 +29 -56
- package/THIRD-PARTY-NOTICES +6 -31
- package/data/experts/engineering/engineering-deepseek-harness-project-expert.md +5 -5
- package/lib/bootstrap.js +11 -33
- package/lib/catalog.js +1 -1
- package/lib/client.js +20830 -21811
- package/lib/i18n.js +0 -4
- package/lib/index.js +173 -862
- package/lib/remote-schemas.js +5 -104
- package/lib/remote.js +7 -174
- package/lib/schedule.js +99 -26
- package/lib/skill.js +11 -12
- package/package.json +3 -12
- package/vendor/third-party-licenses/README.md +0 -1
- package/data/t-team.config.json +0 -1558
- package/data/team-profiles.py +0 -367
- package/data/teams.json +0 -791
- package/data/teams.resolved.json +0 -1594
- package/lib/command.js +0 -251
- package/lib/plan-check.js +0 -166
- package/lib/squads.js +0 -446
- package/lib/teams/assignee-contract.js +0 -47
- package/lib/teams/capabilities.js +0 -106
- package/lib/teams/command.js +0 -147
- package/lib/teams/event-types.js +0 -12
- package/lib/teams/events.js +0 -60
- package/lib/teams/harness-compat.js +0 -561
- package/lib/teams/index.js +0 -463
- package/lib/teams/members.js +0 -619
- package/lib/teams/profiles.js +0 -572
- package/lib/teams/quality-gates.js +0 -905
- package/lib/teams/scheduler.js +0 -642
- package/lib/teams/snapshot.js +0 -184
- package/lib/teams/state.js +0 -946
- package/lib/teams/tool-names.js +0 -11
- package/lib/teams/tools.js +0 -2346
- package/lib/teams/types.js +0 -22
- package/lib/teams/web-routes.js +0 -86
- package/skills/dsh-harness-languages/SKILL.md +0 -175
- package/skills/dsh-harness-project/SKILL.md +0 -236
- package/vendor/dsh-agent-teams/LICENSE +0 -21
package/lib/skill.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
/**
|
|
3
|
-
* 随包发布的 skill:把「T专家
|
|
3
|
+
* 随包发布的 skill:把「T专家 运维」做成**随 npm 包分发**的 skill。
|
|
4
4
|
*
|
|
5
|
-
* 为什么是 skill 而不是再加一段 systemPrompt
|
|
6
|
-
*
|
|
5
|
+
* 为什么是 skill 而不是再加一段 systemPrompt:这些内容只在特定任务里需要(改名册/装机/发布),
|
|
6
|
+
* 常驻提示段是纯浪费 token;skill 的 description 本来就是路由面。
|
|
7
7
|
*
|
|
8
8
|
* 形态:`<包根>/skills/<name>/SKILL.md` 是标准 skill 文件(任何 skill 扫描器都能直接发现),
|
|
9
9
|
* 这里额外把它们注册进宿主的 skill 注册表,这样 npm 安装(插件在 node_modules 里、没有运维台)也能用。
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
* - `t-expert-manager`:本仓运维入口,正文带占位符,注册时按本机布局渲染。
|
|
13
|
-
* - `dsh-harness-project` / `dsh-harness-languages`:`dsh-project-expert` agent preset 里那两个
|
|
14
|
-
* 项目知识 skill 的**逐字节拷贝**(preset 是源,这里是随插件发布的副本),
|
|
15
|
-
* 所以插件用户在任何仓库里都能加载这套 harness 项目知识。
|
|
11
|
+
* 唯一的 skill 是 `t-expert-manager`:本仓运维入口,正文带占位符,注册时按本机布局渲染。
|
|
16
12
|
*
|
|
17
13
|
* 两条刻意的设计:
|
|
18
14
|
* 1. **可选依赖**:走 `ctx.inject(["skills"], …)`,而不是把 `skills` 加进插件的静态 `inject`。
|
|
@@ -33,9 +29,9 @@ export const SKILLS_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), ".."
|
|
|
33
29
|
* 随包发布的 skill 清单(目录名 = 宿主路由用的 skill 名)。
|
|
34
30
|
*
|
|
35
31
|
* 顺序即注册顺序。缺文件的条目会被跳过并逐条告警,而不是让整段注册失败 ——
|
|
36
|
-
* 一个 skill
|
|
32
|
+
* 一个 skill 文件缺失不该带走其余(见 {@link LOCAL_ONLY_SKILL_NAMES} 的例外)。
|
|
37
33
|
*/
|
|
38
|
-
export const BUNDLED_SKILL_NAMES = ["t-expert-manager"
|
|
34
|
+
export const BUNDLED_SKILL_NAMES = ["t-expert-manager"];
|
|
39
35
|
|
|
40
36
|
/**
|
|
41
37
|
* **只在本机布局里存在**的 skill:不进 npm 包(见 `package.json` 的 `files`)。
|
|
@@ -204,7 +200,7 @@ export function buildBundledSkills(config = {}) {
|
|
|
204
200
|
/**
|
|
205
201
|
* 把随包 skill 注册进宿主。`skills` 服务缺席时什么都不做(可选依赖,见文件头注释)。
|
|
206
202
|
*
|
|
207
|
-
* 缺失条目**逐条 warn**(一个 skill
|
|
203
|
+
* 缺失条目**逐条 warn**(一个 skill 文件缺失不该带走其余,但也不能悄悄消失);
|
|
208
204
|
* 全军覆没时额外再给一条汇总 warn,保持既有的「都读不到」信号。
|
|
209
205
|
* @param ctx - 插件上下文。
|
|
210
206
|
* @param config - 插件配置。
|
|
@@ -217,7 +213,10 @@ export function installBundledSkills(ctx, config) {
|
|
|
217
213
|
ctx.logger?.warn?.(`[t-team] 随包 skill「${item.name}」未注册:${item.reason}(其余 skill 照常注册)`);
|
|
218
214
|
}
|
|
219
215
|
if (skills.length === 0) {
|
|
220
|
-
|
|
216
|
+
/* 没有 `missing` 就说明缺席的全是 LOCAL_ONLY:那是 npm 安装的预期状态,出声反而是噪音。 */
|
|
217
|
+
if (missing.length > 0) {
|
|
218
|
+
ctx.logger?.warn?.(`[t-team] 随包 skill 未注册:读不到 ${join(SKILLS_ROOT, "<name>", "SKILL.md")}`);
|
|
219
|
+
}
|
|
221
220
|
return 0;
|
|
222
221
|
}
|
|
223
222
|
ctx.inject(["skills"], (scoped) => {
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-t-expert",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.89",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "T Expert — a 323-expert, 22-division roster with full Chinese translations, as a standalone DeepSeek Harness plugin
|
|
5
|
+
"description": "T Expert — a 323-expert, 22-division roster with full Chinese translations, as a standalone DeepSeek Harness plugin.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "jiuaiwo",
|
|
8
8
|
"keywords": [
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"dsh-plugin",
|
|
11
11
|
"deepseek-harness",
|
|
12
12
|
"t-expert",
|
|
13
|
-
"t-team",
|
|
14
13
|
"expert-roster",
|
|
15
14
|
"experts",
|
|
16
15
|
"subagent",
|
|
@@ -44,17 +43,10 @@
|
|
|
44
43
|
"data/experts",
|
|
45
44
|
"data/zh",
|
|
46
45
|
"data/source.json",
|
|
47
|
-
"data/team-profiles.py",
|
|
48
|
-
"data/teams.json",
|
|
49
|
-
"data/teams.resolved.json",
|
|
50
|
-
"data/t-team.config.json",
|
|
51
|
-
"skills/dsh-harness-project",
|
|
52
|
-
"skills/dsh-harness-languages",
|
|
53
46
|
"cordis.patch.yml",
|
|
54
47
|
"README.md",
|
|
55
48
|
"LICENSE",
|
|
56
49
|
"THIRD-PARTY-NOTICES",
|
|
57
|
-
"vendor/dsh-agent-teams/LICENSE",
|
|
58
50
|
"vendor/third-party-licenses"
|
|
59
51
|
],
|
|
60
52
|
"dsh": {
|
|
@@ -81,8 +73,7 @@
|
|
|
81
73
|
"render-smoke": "node tools/render-smoke.mjs",
|
|
82
74
|
"verify": "node tools/verify.mjs",
|
|
83
75
|
"sync-data": "node tools/sync-data.mjs",
|
|
84
|
-
"prepublishOnly": "npm run typecheck && npm run check-client && npm run render-smoke && npm run build && npm run verify &&
|
|
85
|
-
"invariants": "node tools/invariants.mjs"
|
|
76
|
+
"prepublishOnly": "npm run typecheck && npm run check-client && npm run render-smoke && npm run build && npm run verify && node tools/sync-data.mjs --check"
|
|
86
77
|
},
|
|
87
78
|
"peerDependencies": {
|
|
88
79
|
"@deepseek-ai/cordis": "^4.0.1",
|