@gavinc-cn/dsh-plugins-runtime 0.1.0 → 0.1.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/README.md CHANGED
@@ -1,7 +1,11 @@
1
1
  # @gavinc-cn/dsh-plugins-runtime
2
2
 
3
3
  把**宿主(node)侧运行**的自研插件收成一个可安装单位的 bundle 包:装上它,Plugins 面板里多出
4
- 一张「自研插件 · 运行时」卡片;卡片里的每个**组件**(组合行)= 一个**独立开关**。
4
+ 一张标题为**包名**的卡片(`@gavinc-cn/dsh-plugins-runtime`);卡片里的每个**组件**(组合行)= 一个**独立开关**。
5
+
6
+ > 标题为什么是包名:面板标题的取值链是「`locale/*.json` 的 `meta.title` → 缺省回落 `package.json`
7
+ > 的 `name`」。本包**故意不写 `meta.title`**(2026-10-15 起),只保留 `meta.description` 供描述
8
+ > 本地化 —— 这样卡片标题与 `@gavinc-cn/touchstone-dsh` 一样直接显示包名。
5
9
 
6
10
  - **一个包 = 面板一张卡片**:包名出现在 profile 的 `dsh.profile.bundles` 里,本包的
7
11
  `cordis.patch.yml` 就会被当作一个配置层叠加进组合树。
@@ -11,18 +15,20 @@
11
15
 
12
16
  ## 归属判据
13
17
 
14
- 包内组件的 `package.json` 里**没有** `dsh.client` 声明 —— 即运行体在宿主(node)侧。
15
- 声明了 `dsh.client.platform: "web"` 的纯 UI 组件在
16
- [@gavinc-cn/dsh-plugins-ui](../dsh-plugins-ui/README.md)(两个包合起来 = 拆分前
17
- `@gavinc-cn/dsh-plugins` 的全部 13 个组件)。
18
+ 包内组件都是**宿主(node)侧的运行支撑**:记忆、提交/文件/git 守卫、只读闸门、沙箱白名单、
19
+ 沙箱升权等 —— 它们的 package.json 里**没有** `dsh.client` 声明。
18
20
 
19
- 特例:`dsh-patch-ask-expand` 的效果在 UI 上(给官方 `dsh-client-ui-tool` 的成品 client bundle
20
- 打幂等文本补丁),但运行体在宿主侧、没有 `dsh.client` ⇒ 按判据归本包。**只装 UI 包不会得到它。**
21
+ 面向 Web GUI 的组件(含纯浏览器组件,以及 2026-10-15 从本包移出的 `dsh-patch-ask-expand`)在
22
+ [@gavinc-cn/dsh-plugins-ui](../dsh-plugins-ui/README.md)。归属判据自 2026-10-15 起是
23
+ **「面向谁」而不是「代码跑在哪」**:`dsh-patch-ask-expand` 的运行体确实在宿主侧(启动时对官方
24
+ `dsh-client-ui-tool` 的 client bundle 打文本补丁),但它是纯 GUI 观感功能 ⇒ 归 UI 包,
25
+ 免得「只想装 UI 包」的人发现不了它。两个包合起来 = 拆分前 `@gavinc-cn/dsh-plugins` 的 13 个
26
+ 组件里的 12 个(`kanban-board` 不随任何 bundle 下发)。
21
27
 
22
28
  ## 安装
23
29
 
24
30
  ```bash
25
- # 装进某个 profile(pnpm 会把依赖里的 8 个组件包一并装上)
31
+ # 装进某个 profile(pnpm 会把依赖里的 7 个组件包一并装上)
26
32
  dsh plugin --profile web add @gavinc-cn/dsh-plugins-runtime
27
33
  ```
28
34
 
@@ -33,11 +39,10 @@ dsh plugin --profile web add @gavinc-cn/dsh-plugins-runtime
33
39
  - 改了 `dsh.profile.bundles` 要**重启宿主**才生效(启动时读);profile patch 层是 live 热重载,
34
40
  行级开关不需要重启。
35
41
 
36
- ## 组件(8 个)
42
+ ## 组件(7 个)
37
43
 
38
44
  | 行 id | 包 | 做什么 |
39
45
  |---|---|---|
40
- | `dsh-patch-ask-expand` | `@gavinc-cn/dsh-patch-ask-expand` | 让 Web GUI 里「提问 / 回答」那一行默认展开(对官方 client bundle 打幂等文本补丁) |
41
46
  | `dsh-superpowers-priming` | `@gavinc-cn/dsh-superpowers-priming` | 给「重开的会话」补一份 superpowers 开场说明(按会话历史判重,不重复注入) |
42
47
  | `dsh-memory` | `@gavinc-cn/dsh-memory` | 跨会话记忆:首轮注入两级记忆索引,回合收尾限流提示写记忆 |
43
48
  | `dsh-autocommit` | `@gavinc-cn/dsh-autocommit` | 回合收尾时若本会话还有未提交改动,挡下并提示模型先提交 |
@@ -67,11 +72,13 @@ dsh plugin --profile web add @gavinc-cn/dsh-plugins-runtime
67
72
  |---|---|---|
68
73
  | `dsh-superpowers-priming` | `skillPath`(或 env `SUPERPOWERS_SKILL_PATH`) | `~/superpowers/skills/using-superpowers/SKILL.md`(文件不存在只记日志、不注入) |
69
74
  | `dsh-file-guard` | `stateRoot`(或 env `FILE_GUARD_ROOT`) | `~/.orca/file-guard` |
70
- | `dsh-patch-ask-expand` | `bundlePath` | `~/.dsh/profiles/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js` |
71
75
  | `sandbox-path-allowlist` | `paths`(数组,绝对路径)/ `allowShell` | `paths: []` = 不生效(**必须**由覆盖行给本机路径才有作用) |
72
76
  | `dsh-readonly-guard` | `enabled` / `dryRun` / `askMode` / `whitelistPath` / `pendingPath` / `logPath` | 行默认 `disabled: true`;`whitelistPath`/`pendingPath` 缺省与 kimi 共用 `~/.kimi-code/readonly_whitelist.json` / `readonly_pending.jsonl` |
73
77
  | 各组件 | `logPath` / `enabled` / `dryRun` | 日志在 `~/.kimi-code/hooks/logs/`,默认启用 |
74
78
 
79
+ > `dsh-patch-ask-expand` 的 `bundlePath` 等可覆盖项随它一起去了 UI bundle,
80
+ > 见 [@gavinc-cn/dsh-plugins-ui](../dsh-plugins-ui/README.md) 与它自己的 README。
81
+
75
82
  ## 已知限制
76
83
 
77
84
  - 桌面端(Electron 宿主)改 `dsh.profile.bundles` 后必须**重启 App**;只有 patch 层是 live 热重载。
package/cordis.patch.yml CHANGED
@@ -1,12 +1,14 @@
1
1
  # @gavinc-cn/dsh-plugins-runtime —— 「运行时组件」的组合行(2026-10-13 从 @gavinc-cn/dsh-plugins 拆出)。
2
2
  #
3
- # 归属判据:组件包的 package.json 里**没有** `dsh.client` 声明 —— 也就是 node(宿主)侧运行的组件。
4
- # 与 @gavinc-cn/dsh-plugins-ui 互补(那个包里是 5 个声明了 dsh.client.platform: "web" 的纯 UI 组件),
5
- # 两个包合起来 = 拆分前 @gavinc-cn/dsh-plugins 的全部 13 个组件,行 id 与行顺序都保持不变。
3
+ # 归属判据(2026-10-15 修订):**宿主侧的运行支撑组件归本包**(记忆、守卫、只读闸门、沙箱白名单…)。
4
+ # 判据是「面向谁」而不是「代码跑在哪」—— 面向 Web GUI 的组件(含实现落在宿主侧的
5
+ # dsh-patch-ask-expand)都在 @gavinc-cn/dsh-plugins-ui 里。本包组件的 package.json 里都没有
6
+ # `dsh.client` 声明,两个包合起来 = 拆分前 @gavinc-cn/dsh-plugins 的 13 个组件里
7
+ # 仍在 bundle 内的 12 个,行 id 与行顺序都保持不变。
6
8
  #
7
- # 注意 dsh-patch-ask-expand:它**不是**客户端插件(没有 dsh.client),但它改的是官方
8
- # @deepseek-ai/dsh-client-ui-tool 的成品 client bundle —— 效果在 UI 上,运行体在宿主侧。
9
- # 按上面的客观判据它归本包;因此「只装 UI 包」不会得到它。
9
+ # 2026-10-15:**dsh-patch-ask-expand 已移到 @gavinc-cn/dsh-plugins-ui**。它没有 `dsh.client`、
10
+ # 运行体确实在宿主侧,但用户视角里它是个纯粹的 GUI 观感功能(提问行默认展开)⇒ 按「面向谁」
11
+ # 归 UI bundle,避免「只想装 UI 包的人发现不了它」。判据全文见 docs/plan-2026-10-15-ask-expand-to-ui-bundle.md。
10
12
  #
11
13
  # 工作方式(与拆分前一致):
12
14
  # * Plugins 面板出现 @gavinc-cn/dsh-plugins-runtime 卡片,卡片内每个行 = 一个组件 = 一个开关;
@@ -23,19 +25,14 @@
23
25
  # 机器相关配置(本机检出路径、状态目录、日志路径)**不进本文件**:写在各 profile 的覆盖行里,
24
26
  # 例如 `- id: dsh-superpowers-priming` + `config: { skillPath: ... }`。
25
27
  #
26
- # 依赖:本包在 package.json 的 dependencies 里声明下述 8 个组件包 —— 装本包即把它们一并装上。
27
- # 发布顺序:**8 个组件包先发(其中 @gavinc-cn/dsh-readonly-guard 必须先于本包上 registry),本包最后发**。
28
+ # 依赖:本包在 package.json 的 dependencies 里声明下述 7 个组件包 —— 装本包即把它们一并装上。
29
+ # 发布顺序:**7 个组件包先发(其中 @gavinc-cn/dsh-readonly-guard 必须先于本包上 registry),本包最后发**。
28
30
  #
29
31
  # 改组件集合 = 改本文件(patch 层 live 热重载,不需要重装/重启);改完把仓库真源铺到共享活副本
30
32
  # (在仓库根执行:bash scripts/deploy-to-dsh.sh dsh-plugins-runtime)。
31
33
  #
32
34
  # 注意:别再对 profile 跑 pnpm install —— registry 版会盖住共享活副本里那份(见仓库 README)。
33
35
 
34
- # dsh-patch-ask-expand:启动时对官方 dsh-client-ui-tool 的 client bundle 打幂等文本补丁。
35
- - insert:
36
- - id: dsh-patch-ask-expand
37
- name: "@gavinc-cn/dsh-patch-ask-expand"
38
-
39
36
  - insert:
40
37
  - id: dsh-superpowers-priming
41
38
  name: "@gavinc-cn/dsh-superpowers-priming"
package/locale/en.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "meta": {
3
- "title": "Local plugins · Runtime",
4
- "description": "Eight host-side components: memory, git and file guards, read-only gate, sandbox allowlist, session priming, and commit nagging. Each row is a separate switch."
3
+ "description": "Seven host-side components: memory, git and file guards, read-only gate, sandbox allowlist, session priming, and commit nagging. Each row is a separate switch."
5
4
  }
6
5
  }
package/locale/zh.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "meta": {
3
- "title": "自研插件 · 运行时",
4
- "description": "8 个宿主(node)侧组件:记忆注入与回顾、git/文件守卫、只读闸门、沙箱白名单、重开会话再注入、提交提示等。每行一个独立开关。"
3
+ "description": "7 个宿主(node)侧组件:记忆注入与回顾、git/文件守卫、只读闸门、沙箱白名单、重开会话再注入、提交提示等。每行一个独立开关。"
5
4
  }
6
5
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gavinc-cn/dsh-plugins-runtime",
3
- "version": "0.1.0",
4
- "description": "DSH 插件组合包(runtime bundle):8 个 node 侧组件(记忆、git/文件守卫、只读闸门、沙箱白名单、重开会话再注入等),每个是一行独立开关;UI 组件见 @gavinc-cn/dsh-plugins-ui。",
3
+ "version": "0.1.1",
4
+ "description": "DSH 插件组合包(runtime bundle):7 个宿主(node)侧组件(记忆、git/文件守卫、只读闸门、沙箱白名单、重开会话再注入等),每个是一行独立开关;面向 Web GUI 的组件见 @gavinc-cn/dsh-plugins-ui。",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -42,7 +42,6 @@
42
42
  "access": "public"
43
43
  },
44
44
  "dependencies": {
45
- "@gavinc-cn/dsh-patch-ask-expand": "^0.1.1",
46
45
  "@gavinc-cn/dsh-superpowers-priming": "^0.1.0",
47
46
  "@gavinc-cn/dsh-memory": "^0.1.0",
48
47
  "@gavinc-cn/dsh-autocommit": "^0.1.1",