dsh-ronge-adaptive-skill-archive 5.0.2 → 5.0.3

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 CHANGED
@@ -31,7 +31,7 @@
31
31
  <sub>会话右侧的「技能」抽屉:推荐 / 组队计划 / 经验 / 安全与更新,都在一个面板里。</sub>
32
32
  </p>
33
33
 
34
- > **v5.0.2 发布说明**:本 README 是当前发布稿。三大新能力 `plan → compose → draft`(任务拆解 / 技能组队 / 按缺口造技能)与 12 领域包为本次发布新增;每条声明的证据、实测状态与未验证项统一记录在 **[docs/claims.md](docs/claims.md)**。benchmark 数字见 **[docs/benchmark.md](docs/benchmark.md)**(2026-10-30 快照)。
34
+ > **v5.0.3 发布说明**:本 README 是当前发布稿。三大新能力 `plan → compose → draft`(任务拆解 / 技能组队 / 按缺口造技能)与 12 领域包为本次发布新增;每条声明的证据、实测状态与未验证项统一记录在 **[docs/claims.md](docs/claims.md)**。benchmark 数字见 **[docs/benchmark.md](docs/benchmark.md)**(2026-10-30 快照)。
35
35
 
36
36
  ## 为什么需要 v5
37
37
 
@@ -59,8 +59,8 @@ v5 的驾驶舱把这条链路补全:
59
59
  npx dsh-ronge-adaptive-skill-archive
60
60
  # 想先体检:npx dsh-ronge-adaptive-skill-archive doctor
61
61
 
62
- # 2) 把打印出的这一行交给任意 DSH 会话里的 Agent 执行(v5.0.2 发布后可用)
63
- plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.2
62
+ # 2) 把打印出的这一行交给任意 DSH 会话里的 Agent 执行(v5.0.3 发布后可用)
63
+ plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.3
64
64
 
65
65
  # 3) 刷新页面 → 右上角「技能」→ 右侧抽屉;计划模式 / 沉浸模式切换
66
66
  ```
@@ -246,8 +246,8 @@ v5.0.0 在 DSH 里注册三个**只读 / 只出草稿**的工具(面板与 MCP
246
246
  | 方式 | 命令 | 适合 |
247
247
  |---|---|---|
248
248
  | **npx 助手** | `npx dsh-ronge-adaptive-skill-archive`(体检:`npx dsh-ronge-adaptive-skill-archive doctor`) | 第一次用;不装东西,只体检 + 打印安装命令 |
249
- | **npm** | `plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.2` | v5.0.2 发布到 npm 后可用 |
250
- | **GitHub tag** | `plugin_manager install_bundle target=git+https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive.git#v5.0.2` | 固定版本、可审源码 |
249
+ | **npm** | `plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.3` | v5.0.3 发布到 npm 后可用 |
250
+ | **GitHub tag** | `plugin_manager install_bundle target=git+https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive.git#v5.0.3` | 固定版本、可审源码 |
251
251
  | **本地目录** | `plugin_manager install_bundle target="/absolute/path/to/dsh-ronge-adaptive-skill-archive"` | 开发、改代码、离线 |
252
252
 
253
253
  > v5.0.0 打 tag / 发布 npm 之前,`@5.0.0` 会 404:请先用本地目录,或安装当时最新的已发布版本。安装后 DSH 需**重启**才会加载新的 Host 模块;浏览器刷新加载 Client。
@@ -356,7 +356,7 @@ MIT。见 [LICENSE](LICENSE)。索引中的技能元数据归原作者,边界
356
356
  **Install** (in a DSH session):
357
357
 
358
358
  ```bash
359
- plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.2
359
+ plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.3
360
360
  # then open any session → 「技能」 → switch Plan / Immersive
361
361
  ```
362
362
 
@@ -7,10 +7,10 @@
7
7
 
8
8
  ```bash
9
9
  # npm(推荐)
10
- plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.2
10
+ plugin_manager install_bundle target=dsh-ronge-adaptive-skill-archive@5.0.3
11
11
 
12
12
  # GitHub tag(固定版本、可审源码)
13
- plugin_manager install_bundle target=git+https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive.git#v5.0.2
13
+ plugin_manager install_bundle target=git+https://github.com/bugtakue/dsh-ronge-adaptive-skill-archive.git#v5.0.3
14
14
 
15
15
  # 本地目录(开发)
16
16
  plugin_manager install_bundle target=/absolute/path/to/dsh-ronge-adaptive-skill-archive
@@ -42,7 +42,7 @@ plugin_manager install_bundle target=/absolute/path/to/dsh-ronge-adaptive-skill-
42
42
  - Host E2E:20/20(真实 loopback HTTP + raw.githubusercontent.com)
43
43
  - UI E2E:27/27
44
44
  - `npm run check:dsh`:manifest / factory id / slots / routes / 数据迁移 / market index 全部通过
45
- - npm registry 安装 v3.0.0 历史验证;v5.0.2 发布后以 registry 为准;市场索引 format 1 托管在 `https://bugtakue.github.io/dsh-ronge-adaptive-skill-archive/plugin-market.json`
45
+ - npm registry 安装 v3.0.0 历史验证;v5.0.3 发布后以 registry 为准;市场索引 format 1 托管在 `https://bugtakue.github.io/dsh-ronge-adaptive-skill-archive/plugin-market.json`
46
46
 
47
47
  ## 已知边界
48
48
 
package/index.js CHANGED
@@ -3244,26 +3244,33 @@ function toolOutput() {
3244
3244
  async function resolveInstalledSkills(ctx, cwd) {
3245
3245
  const library = loadLibraryIndex()
3246
3246
  const byName = new Map((library.entries || []).filter((entry) => entry && entry.name).map((entry) => [entry.name, entry]))
3247
- let listed = []
3248
- let source = 'registry'
3247
+ let registry = []
3249
3248
  try {
3250
3249
  const view = ctx.get ? ctx.get('skills') || ctx.skills : ctx.skills
3251
- if (view && typeof view.list === 'function') listed = await view.list(cwd ? { cwd } : undefined)
3250
+ if (view && typeof view.list === 'function') {
3251
+ const listed = await view.list(cwd ? { cwd } : undefined)
3252
+ if (Array.isArray(listed)) registry = listed
3253
+ }
3252
3254
  } catch {
3253
- listed = []
3254
- }
3255
- if (!Array.isArray(listed) || listed.length === 0) {
3256
- source = 'scan'
3257
- listed = scanSkills(cwd)
3255
+ registry = []
3258
3256
  }
3257
+ // The registry can be agent-scoped/partial; the filesystem scan is what makes
3258
+ // the panel complete. Merge both, with registry entries taking precedence.
3259
3259
  const merged = new Map()
3260
- for (const skill of listed) {
3260
+ for (const skill of scanSkills(cwd)) {
3261
+ if (skill && skill.name) merged.set(skill.name, { ...skill, source: skill.source || 'scan' })
3262
+ }
3263
+ for (const skill of registry) {
3261
3264
  if (!skill || !skill.name) continue
3262
- const libraryEntry = byName.get(skill.name) || {}
3263
- merged.set(skill.name, {
3265
+ merged.set(skill.name, { ...(merged.get(skill.name) || {}), ...skill, name: skill.name })
3266
+ }
3267
+ const skills = []
3268
+ for (const [name, skill] of merged) {
3269
+ const libraryEntry = byName.get(name) || {}
3270
+ skills.push({
3264
3271
  ...libraryEntry,
3265
3272
  ...skill,
3266
- name: skill.name,
3273
+ name,
3267
3274
  description: skill.description || libraryEntry.description || '',
3268
3275
  whenToUse: skill.whenToUse || libraryEntry.whenToUse || null,
3269
3276
  quality: libraryEntry.quality,
@@ -3275,9 +3282,11 @@ async function resolveInstalledSkills(ctx, cwd) {
3275
3282
  installed: true,
3276
3283
  })
3277
3284
  }
3278
- return { skills: [...merged.values()], source, count: merged.size }
3285
+ const source = registry.length && merged.size > registry.length ? 'scan+registry' : registry.length ? 'registry' : 'scan'
3286
+ return { skills, source, count: skills.length }
3279
3287
  }
3280
3288
 
3289
+
3281
3290
  function registerIntelligenceTools(ctx) {
3282
3291
  const tools = ctx.get ? ctx.get('tools') : ctx.tools
3283
3292
  if (!tools || typeof tools.register !== 'function') return []
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-ronge-adaptive-skill-archive",
3
- "version": "5.0.2",
3
+ "version": "5.0.3",
4
4
  "description": "DSH-native skill intelligence cockpit: task decomposition, cross-domain multi-skill composition, skill authoring, local recommendations and safety scans for DeepSeek Harness.",
5
5
  "type": "module",
6
6
  "repository": {