@khorsheed/dsh-capability-catalog 0.1.96 → 0.1.98

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
@@ -1,5 +1,14 @@
1
1
  # 变更记录
2
2
 
3
+ ## 0.1.98(2026-09-30)
4
+
5
+ - **修复跨实例串读**:受管 skill 根目录的 home 解析兜底从硬编码的 `~/.dsh-official` 改为对齐官方 `resolveDshHome` 优先级(settings 服务的 home → 非空白 `$DSH_HOME` → `~/.dsh`)。旧兜底在桌面 app(settings 不报 home、环境无 `DSH_HOME`)上会把桌面实例指到另一实例的 home——桌面设置页因此列出 3080 的三个受管写作 skill 并挂出「未在任何模式生效」横幅
6
+
7
+ ## 0.1.97(2026-09-30)
8
+
9
+ - **设置面直接调用 schemastery 的类型化 `.volatile()`**:0.2.0 开发线解析到 schemastery 3.18.4,其 `Schema` 已声明 `volatile()`——手写的 `VolatileCapable` 强转探测不再类型重叠(TS2352)。运行期双线行为不变:探测在 0.1.5 的 schemastery 3.18.2(无 `volatile` 方法)上仍回落到普通字段
10
+ - 加宽 `@deepseek-ai/dsh-*` peer 区间以覆盖宿主 0.2.0
11
+
3
12
  ## 0.1.96(2026-09-27)
4
13
 
5
14
  适配宿主 0.1.7-rc.2 线(verifiedHost 前移至 0.1.7-rc.2——3080 生产实证线随宿主基线切到 rc.2;rc.1→rc.2 对本包无破坏性变更,逐类清点见 [Agent Note](../../.agents/notes/implemented/architecture/2026-09-27-host-017-rc2-breaking-changes.md)),全量构建+测试双绿。
package/README.en.md CHANGED
@@ -6,7 +6,7 @@ Every skill and tool the running instance actually has — who registered it, wh
6
6
 
7
7
  dsh composes each session from an agent preset, and plugins, skill roots, and MCP servers all register capabilities into it — but the host ships no surface that lists them, so "what can this agent do, and where did that tool come from?" had no answer short of reading logs. This plugin adds a standalone settings tab (工具与技能) that answers it for a human, and a `list_capabilities` tool that answers it for the model.
8
8
 
9
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/capability-catalog-1.png" width="640" alt="the 工具与技能 settings tab: a skill preview grid with source badges, search and sort, and the mode picker">
9
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/capability-catalog-1.png" width="640" alt="the 工具与技能 settings tab: a skill preview grid with source badges, search and sort, and the mode picker">
10
10
 
11
11
  ## Features
12
12
 
@@ -15,13 +15,13 @@ dsh composes each session from an agent preset, and plugins, skill roots, and MC
15
15
 
16
16
  - **Install a skill three ways** — one modal: upload (a `SKILL.md`, a `.zip` containing one, or a whole skill folder, read by a dependency-free `node:zlib` zip reader); install from source (an `owner/repo`, a git URL, or a whole pasted `npx skills add <repo> [--skill <name>]` command — GitHub in-repo paths and `tree/`/`blob/` URLs normalize to the same clone, and only `github.com` is split into owner/repo, so GitLab subgroups survive); or pick skills from a local directory. Each source chooses the target root (`$DSH_HOME/skills` or `.agents/skills`) and whether the skill enters the model catalog; the skill-filesystem watcher discovers the result on its own.
17
17
 
18
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/capability-catalog-2.png" width="640" alt="the Add Skill modal: three install paths — file upload, install from source, pick from a local directory — each with a choice of target root and whether the skill enters the model catalog">
18
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/capability-catalog-2.png" width="640" alt="the Add Skill modal: three install paths — file upload, install from source, pick from a local directory — each with a choice of target root and whether the skill enters the model catalog">
19
19
 
20
20
  - **The mode view** — every session is composed from an agent preset (「模式」), and each preset registers a different set of skills and tools. The mode control beside the search box reads one preset's face (`snapshotAt(presetId)`) — the grid is that mode's face and nothing else — and 全部模式(对比) reads every mode in one call (`modeFaces`) and tags each card with the modes that load it, so "which modes does this capability appear in?" is one click. A mode that cannot be read is reported as unavailable, never rendered as an empty face.
21
21
  - **Preset-scoped skills** — the plugin owns a managed root (`$DSH_HOME/capability-catalog/skills`) whose skills declare the presets they belong to in frontmatter `presetScope`; the detail modal edits it (save, adopt an installed skill into the managed root, release it back to the user root), and a diagnostic row keeps managed skills no mode loads reachable instead of hidden.
22
22
  - **MCP server management** — paste an `mcp.json` server entry and the dialog parses the transport and detects credentials (a credential-looking field becomes a `secretRef:` marker in the stored config, and the Remote only ever reports `configured` state — values never reach the browser). Connect to discover a server's tools, toggle a whole server or a single tool, and every enabled tool is registered on `ctx.tools` as `mcp__<server>__<tool>` so the model can call it. Configured servers survive restarts through the settings service.
23
23
 
24
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/capability-catalog-3.png" width="640" alt="the Add MCP server modal: paste an mcp.json server entry and the transport and credentials are detected automatically">
24
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/capability-catalog-3.png" width="640" alt="the Add MCP server modal: paste an mcp.json server entry and the transport and credentials are detected automatically">
25
25
 
26
26
  - **`list_capabilities` for the model** — a model-facing tool that lists the skills and tools visible in the caller's own agent scope, stamped with the capability fingerprint tag.
27
27
  - **A capability fingerprint** — `snapshotFor(presetId?)` loads every skill body and stamps a sha256 over the canonical capability face (names, sources, channels, parameters, body hashes — prose excluded), so two instances registering the same capabilities in a different order hash alike; `hashOf` / `capsTag` are exported for host-side readers.
package/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # last confirmed-consistent state. Both languages carry equal authority; after
3
3
  # editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/capability-catalog/README.en.md
5
- packages/capability-catalog/README.en.md: f47158717c38ab2403f42be29a9a3722bab61140
6
- packages/capability-catalog/README.md: 124e71802042de49b37376e7439f3f48b1a9f7f8
5
+ packages/capability-catalog/README.en.md: ddaa99ddeed488cfceacd86c683abdf2c96f6ecd
6
+ packages/capability-catalog/README.md: 3504e86204c2b18a7d114ac7faf9618389988851
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  dsh 的每个会话都由一个 agent preset 组合而成,插件、技能目录、MCP server 都在往里注册能力——但宿主没有任何界面把它们列出来,「这个 agent 能干什么、那个工具从哪来的」以前只能翻日志回答。这个插件补上一个独立设置页(工具与技能)回答给人看,再注册一个 `list_capabilities` 工具回答给模型看。
8
8
 
9
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/capability-catalog-1.png" width="640" alt="「工具与技能」设置页:技能预览网格,带来源徽标、搜索排序与模式选择框">
9
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/capability-catalog-1.png" width="640" alt="「工具与技能」设置页:技能预览网格,带来源徽标、搜索排序与模式选择框">
10
10
 
11
11
  ## 特性
12
12
 
@@ -15,13 +15,13 @@ dsh 的每个会话都由一个 agent preset 组合而成,插件、技能目
15
15
 
16
16
  - **三种方式装技能**——一个弹窗:上传(单个 `SKILL.md`、含 SKILL.md 的 `.zip`、或整个技能文件夹,零依赖 `node:zlib` 解压);命令安装(`owner/repo`、git URL,或整条粘贴来的 `npx skills add <repo> [--skill <名字>]` 命令——GitHub 仓库内路径与 `tree/`/`blob/` URL 都归一到同一个克隆,只有 `github.com` 会拆成 owner/repo,GitLab 子组按原样存活);或从本机目录勾选。每个来源都可选目标根(`$DSH_HOME/skills` 或 `.agents/skills`)与是否进模型 catalog;skill-filesystem watcher 会自动发现结果。
17
17
 
18
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/capability-catalog-2.png" width="640" alt="新增 Skill 弹窗:文件上传 / 命令安装 / 从本机目录三种安装方式,每个来源可选目标根与是否进模型 catalog">
18
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/capability-catalog-2.png" width="640" alt="新增 Skill 弹窗:文件上传 / 命令安装 / 从本机目录三种安装方式,每个来源可选目标根与是否进模型 catalog">
19
19
 
20
20
  - **模式视图**——每个会话都由一个 agent preset(「模式」)组合而成,不同模式注册的 skill 与 tool 各不相同。搜索框旁边的模式选择框按**该 preset 的 standing scope** 读(`snapshotAt(presetId)`)——网格就是那个模式的能力面,不再合并任何东西;「全部模式(对比)」一次调用读回每个模式的面(`modeFaces`),给每张卡片标上加载它的模式 chip,「这个能力出现在哪些模式」一点即达。读不到的模式标为「无法读取」,绝不渲染成空面。
21
21
  - **按 preset 投递的技能**——插件自管一个受管根(`$DSH_HOME/capability-catalog/skills`),其中技能用 frontmatter `presetScope` 声明属于哪些模式;详情弹窗直接编辑(保存、把已装技能收编进受管根、释放回用户技能目录),不在任何模式生效的受管技能由一条诊断行保持可达,而不是被过滤没了。
22
22
  - **MCP server 管理**——粘贴一段 `mcp.json` server 配置,弹窗自动解析传输、识别凭据(形似凭据的字段在存储的配置里变成 `secretRef:` 标记,Remote 只回 `configured` 状态——值永远到不了浏览器)。连接后发现该 server 的工具,整台 server 或单个工具都可开关,每个启用的工具都以 `mcp__<server>__<tool>` 注册到 `ctx.tools`,模型当场可调。配置的 server 经 settings 服务跨重启存活。
23
23
 
24
- <img src="https://raw.githubusercontent.com/Khorsheed/dsh-web-basic/main/docs/screenshots/capability-catalog-3.png" width="640" alt="新增 MCP 服务器弹窗:粘贴一段 mcp.json server 配置,自动解析传输与凭据">
24
+ <img src="https://raw.githubusercontent.com/Khorsheed/dsh-basic/main/docs/screenshots/capability-catalog-3.png" width="640" alt="新增 MCP 服务器弹窗:粘贴一段 mcp.json server 配置,自动解析传输与凭据">
25
25
 
26
26
  - **给模型的 `list_capabilities`**——模型可调的工具,列出调用方自己 agent scope 里可见的 skill 与 tool,并盖上能力指纹标签。
27
27
  - **能力指纹**——`snapshotFor(presetId?)` 加载每个技能正文,对规范化能力面(名字、来源、渠道、参数、正文哈希——措辞不进)盖 sha256;同样的能力按不同顺序注册,哈希相同。`hashOf` / `capsTag` 导出给宿主侧读者。