dsh-xray 0.0.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 ADDED
@@ -0,0 +1,33 @@
1
+ # dsh-xray
2
+
3
+ X-ray for your [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) — see what's actually loaded, why, and what it costs you.
4
+
5
+ [中文](./README.zh.md)
6
+
7
+ > **Status: name reservation (0.0.1).** This version mounts as a no-op plugin. Features land starting at 0.1.0.
8
+
9
+ `dsh --dump-config` shows you the composed tree. The plugin panel shows you a flat list. Neither tells you *why* a plugin is there, *what breaks* if you disable it, or *what it silently costs you*. dsh-xray does.
10
+
11
+ ## Planned capabilities
12
+
13
+ Diagnostic imaging for a running composition — complementary to [dsh-doctor](https://www.npmjs.com/package/dsh-doctor) (rescue & recovery):
14
+
15
+ - **Layer attribution** — which layer introduced each active plugin: kernel bundle, profile dependency, `cordis.patch.yml` insert, or repository source
16
+ - **Declared vs. actual diff** — installed-but-inactive, uninstalled-but-lingering patch rows
17
+ - **Service dependency graph** — who `inject`s whose service; what cascades if you disable X
18
+ - **Runtime health** — per-plugin scope state: activation failures, stacks, load time, HMR reloads
19
+ - **Capability audit** — what installed plugins actually touch: network egress, shell, filesystem, env; permission diff across updates
20
+ - **Conflict detection** — plugins patching the same config row or registering the same command/tool, and which one silently wins
21
+ - **Context cost** — tokens each plugin injects into agent context: tool schemas, prompt sections, skills
22
+ - **Composition snapshot** — export the effective composition as a lockfile; reproduce it elsewhere
23
+ - **Agent self-introspection** — expose the composition as a tool so agents know what capabilities they have
24
+
25
+ ## Install
26
+
27
+ ```sh
28
+ dsh plugin --profile web add dsh-xray
29
+ ```
30
+
31
+ ## License
32
+
33
+ MIT
package/README.zh.md ADDED
@@ -0,0 +1,33 @@
1
+ # dsh-xray
2
+
3
+ 给 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 拍 X 光——看清到底加载了什么、为什么在那、以及它悄悄花掉了你什么。
4
+
5
+ [English](./README.md)
6
+
7
+ > **状态:占名版(0.0.1)。** 此版本以 no-op 插件形式挂载,功能从 0.1.0 开始落地。
8
+
9
+ `dsh --dump-config` 只给你原始组合树,插件面板只给你平铺列表。它们都不回答:这个插件*为什么*在这、停用它会*连带瘫掉什么*、它在*悄悄消耗什么*。dsh-xray 回答这些。
10
+
11
+ ## 规划中的能力
12
+
13
+ 对运行中组合树的诊断成像——与 [dsh-doctor](https://www.npmjs.com/package/dsh-doctor)(救援与恢复)互补:
14
+
15
+ - **来源归因** — 每个活跃插件来自哪一层:内核 bundle / profile 依赖 / `cordis.patch.yml` insert / repository 源
16
+ - **声明 vs 实际 diff** — 装了但没生效、卸了但残留 patch 行
17
+ - **服务依赖图** — 谁 `inject` 了谁的服务;停用 X 会级联影响什么
18
+ - **运行时健康** — 每个插件的 scope 状态:激活失败与堆栈、加载耗时、HMR 重载次数
19
+ - **能力审计** — 已装插件实际触碰什么:网络外发、shell、文件系统、环境变量;更新前后权限 diff
20
+ - **冲突检测** — 多个插件 patch 同一配置行、注册同名命令/工具时,谁静默赢了
21
+ - **上下文成本** — 每个插件往 agent 上下文注入多少 token:工具 schema、prompt 片段、skill 文档
22
+ - **组合快照** — 把当前生效组合导出为 lockfile,异地一键复现
23
+ - **Agent 自省** — 把组合信息暴露为 tool,让 agent 知道自己有哪些能力
24
+
25
+ ## 安装
26
+
27
+ ```sh
28
+ dsh plugin --profile web add dsh-xray
29
+ ```
30
+
31
+ ## 许可证
32
+
33
+ MIT
@@ -0,0 +1,5 @@
1
+ # dsh-xray bundle patch: mounts the xray plugin into the composed tree.
2
+ - insert:
3
+ id: dsh-xray
4
+ name: dsh-xray
5
+ config: {}
package/lib/index.js ADDED
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ const name = 'dsh-xray';
4
+
5
+ /**
6
+ * dsh-xray — X-ray for your DeepSeek Harness.
7
+ *
8
+ * v0.0.1 is a name reservation. It mounts cleanly as a no-op plugin and
9
+ * logs its presence; introspection features land starting at 0.1.0:
10
+ * layer attribution, declared-vs-actual diff, service dependency graph,
11
+ * runtime health, capability audit, conflict detection, context cost.
12
+ */
13
+ function apply(ctx) {
14
+ ctx.logger(name).info('dsh-xray 0.0.1 mounted (name reservation; features land in 0.1.0)');
15
+ }
16
+
17
+ module.exports = { name, apply };
18
+ module.exports.default = module.exports;
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "dsh-xray",
3
+ "version": "0.0.1",
4
+ "description": "X-ray for your DeepSeek Harness — see what's actually loaded, why, and what it costs you.",
5
+ "license": "MIT",
6
+ "main": "lib/index.js",
7
+ "exports": {
8
+ ".": "./lib/index.js",
9
+ "./package.json": "./package.json",
10
+ "./cordis.patch.yml": "./cordis.patch.yml"
11
+ },
12
+ "files": [
13
+ "lib",
14
+ "cordis.patch.yml",
15
+ "README.md",
16
+ "README.zh.md"
17
+ ],
18
+ "keywords": [
19
+ "dsh-plugin",
20
+ "deepseek-harness",
21
+ "dsh",
22
+ "cordis",
23
+ "diagnostics",
24
+ "introspection",
25
+ "plugin-tree"
26
+ ],
27
+ "dsh": {
28
+ "bundle": {
29
+ "patch": "./cordis.patch.yml"
30
+ }
31
+ },
32
+ "peerDependencies": {
33
+ "@deepseek-ai/cordis": "^4.0.1"
34
+ },
35
+ "engines": {
36
+ "node": ">=22"
37
+ },
38
+ "publishConfig": {
39
+ "registry": "https://registry.npmjs.org/",
40
+ "access": "public"
41
+ }
42
+ }