dsh-code-index 0.11.0 → 0.11.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/CHANGELOG.md +6 -0
- package/README.md +23 -23
- package/README.zh.md +25 -23
- package/package.json +2 -2
- package/scripts/release-smoke.mjs +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to dsh-code-index are documented here.
|
|
4
4
|
|
|
5
|
+
## 0.11.1 — DSH rc.3 compatibility
|
|
6
|
+
|
|
7
|
+
- Add the verified exact `@deepseek-ai/dsh-tools@0.2.1-rc.3` host group; retain `0.2.0-rc.2` and `0.2.1-rc.2` support without exemptions or an open-ended range.
|
|
8
|
+
- Verify all eight tools and Impact X-Ray in a real DSH rc.3 Web/Host environment. Keep server/client behavior, runtime dependencies and the development API baseline unchanged.
|
|
9
|
+
- Make rc.3 the default installed-package smoke target and include `code_health` in native runtime dispatch coverage. See `RELEASE_EVIDENCE_v0.11.1.md` for methods and limits.
|
|
10
|
+
|
|
5
11
|
## 0.11.0 — Impact X-Ray
|
|
6
12
|
|
|
7
13
|
- Present the existing `code_change_context` analysis in an interactive bilingual Desktop view with source-backed nodes and relationships; keep default text output and `code_context` Context Packs compatible.
|
package/README.md
CHANGED
|
@@ -5,36 +5,36 @@
|
|
|
5
5
|
|
|
6
6
|
English | [中文](README.zh.md)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
## Impact X-Ray
|
|
9
9
|
|
|
10
|
-
**
|
|
10
|
+
**See the blast radius before your AI edits the code.**
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
A local plugin for [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness). See which callers, imports and tests may be affected by a code change, then click a relationship to inspect its actual source, file and line. Uncertain matches and missing evidence stay visible.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
**Try v0.11.1 in DSH Desktop 0.2.1-rc.2** using Desktop's bundled CLI:
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
```sh
|
|
17
|
+
dsh plugin --profile desktop add dsh-code-index@0.11.1
|
|
18
|
+
```
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
- **See what may break:** inspect changed declarations, direct callers, indirect paths, module imports and candidate tests.
|
|
20
|
-
- **Inspect the evidence:** select a node or arrow to see its reason, provenance, file, line and actual source snapshot. Expand the view for a graph and evidence side by side; open current files in Desktop's native preview.
|
|
21
|
-
- **Know what remains uncertain:** dotted amber `name-only` candidates, import scope, unmapped ranges, missing source and truncation stay visible. A test lead does not prove coverage or failure.
|
|
20
|
+
Restart Desktop after installation. [Other profiles and compatibility](#install).
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
**30-second real Desktop demo:** `normalize()` changes → inspect callers and tests → click an arrow for source evidence.
|
|
24
23
|
|
|
25
|
-

|
|
24
|
+

|
|
26
25
|
|
|
27
|
-
[
|
|
26
|
+
[Full-size GIF](assets/impact-xray-mvp.gif) · [MP4](assets/impact-xray-mvp.mp4) · [Reproduce the demo](assets/impact-xray-mvp-demo.md) · [Report what helped or was missing](https://github.com/lemonxiny55/dsh-code-index/issues/new?template=feedback.yml)
|
|
28
27
|
|
|
29
|
-
The recording
|
|
28
|
+
The recording is the real `0.11.0-dev.0` MVP in Desktop 0.2.1-rc.2. Later first-screen improvements have separate [real Desktop screenshots](IMPACT_XRAY_RC.md#首屏与实机操作). Open the full-size media to read small source text.
|
|
30
29
|
|
|
31
|
-
|
|
30
|
+
- **Before AI edits your code:** start from a real working-tree Git diff, a supplied diff, or an explicitly labeled file/symbol selection.
|
|
31
|
+
- **See what may break:** inspect changed declarations, direct callers, indirect paths, module imports and candidate tests.
|
|
32
|
+
- **Inspect the evidence:** select a node or arrow to see its reason, provenance, file, line and actual source snapshot. Expand the view for a graph and evidence side by side; open current files in Desktop's native preview.
|
|
33
|
+
- **Know what remains uncertain:** dotted amber `name-only` candidates, import scope, unmapped ranges, missing source and truncation stay visible. A test lead does not prove coverage or failure.
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
dsh plugin --profile desktop add dsh-code-index@0.11.0
|
|
35
|
-
```
|
|
35
|
+
This is an interactive presentation of the existing `code_change_context` analysis, with source from the existing reader. It does not introduce a new impact-analysis engine.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
**Verified hosts:** Desktop 0.2.1-rc.2 received full Impact X-Ray UI verification. Desktop 0.2.0-rc.2 passed installation and ToolRuntime checks; its full X-Ray UI was not validated. v0.11.1 also verifies DSH Web/Host 0.2.1-rc.3 (all eight tools and Impact X-Ray; no model-driven Agent run). See [v0.11.1 evidence](RELEASE_EVIDENCE_v0.11.1.md). These three exact DSH/dsh-tools host groups are declared; keep each host's first-party packages on the same version. For local development, use Node 22/24 and pnpm 11. [Release evidence and limits](RELEASE_EVIDENCE_v0.11.0.md) · [Bilingual release notes](RELEASE_NOTES_v0.11.0.md).
|
|
38
38
|
|
|
39
39
|
Ask the Agent to call `code_change_context` with:
|
|
40
40
|
|
|
@@ -88,16 +88,16 @@ This supports syntax and static code context, without full HarmonyOS SDK semanti
|
|
|
88
88
|
|
|
89
89
|
## Quick start
|
|
90
90
|
|
|
91
|
-
Requires Node 22/24 and a matching DSH `0.2.0-rc.2` or `0.2.1-rc.
|
|
91
|
+
Requires Node 22/24 and a matching DSH `0.2.0-rc.2`, `0.2.1-rc.2` or `0.2.1-rc.3` host group. Install into an existing Desktop profile using its bundled `dsh` CLI:
|
|
92
92
|
|
|
93
93
|
```sh
|
|
94
|
-
dsh plugin --profile desktop add dsh-code-index@0.11.
|
|
94
|
+
dsh plugin --profile desktop add dsh-code-index@0.11.1
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
Restart Desktop after installation. For a matching Web profile:
|
|
98
98
|
|
|
99
99
|
```sh
|
|
100
|
-
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.
|
|
100
|
+
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.1
|
|
101
101
|
npx @deepseek-ai/dsh@0.2.1-rc.2 web
|
|
102
102
|
```
|
|
103
103
|
|
|
@@ -149,13 +149,13 @@ Plus an optional **auto-injected system prompt section** (`code-index:repo-map`,
|
|
|
149
149
|
|
|
150
150
|
Requires `dsh` (any install path — npx, npm, or source) and Node ≥ 22.
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
v0.11.1 extends the compatibility range to `@deepseek-ai/dsh-tools: 0.2.0-rc.2 || 0.2.1-rc.2 || 0.2.1-rc.3`. Use matching DSH/dsh-tools groups, rather than mixing first-party RC packages. The DSH plugin surface remains a preview API; other RCs and future releases are outside this compatibility declaration.
|
|
153
153
|
|
|
154
154
|
Desktop checks DSH peer requirements before activation. v0.10.0's exact `0.2.0-rc.2` pin is rejected by DSH `0.2.1-rc.2`; v0.10.1 enumerates the supported groups instead of requiring a version exemption or an unbounded range. Its development dependency stays on `0.2.0-rc.2` for backward API checks.
|
|
155
155
|
|
|
156
156
|
```sh
|
|
157
157
|
# from npm (prebuilt)
|
|
158
|
-
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.
|
|
158
|
+
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.1
|
|
159
159
|
|
|
160
160
|
# or from a directory containing this checkout
|
|
161
161
|
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add ./dsh-code-index
|
package/README.zh.md
CHANGED
|
@@ -2,36 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | 中文
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Impact X-Ray
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**See the blast radius before your AI edits the code.**
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**在 AI 修改代码前,看清潜在影响范围。**
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
这是 [DeepSeek Harness(DSH)](https://github.com/deepseek-ai/deepseek-harness) 的本地插件。查看代码变更可能影响的调用者、导入和测试,再点击关系核对真实源码、文件与行号。不确定的匹配和缺失证据会明确显示。
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
**在 DSH Desktop 0.2.1-rc.2 中试用 v0.11.1**,使用 Desktop 自带的 CLI:
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
- **了解不确定性:**黄色点线的 `name-only` 候选、导入范围、未映射行、缺失源码和裁剪均明确呈现;测试线索不证明覆盖率或必然失败。
|
|
15
|
+
```sh
|
|
16
|
+
dsh plugin --profile desktop add dsh-code-index@0.11.1
|
|
17
|
+
```
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
安装后重启 Desktop。[其他 profile 与兼容范围](#安装)。
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
**30 秒真实 Desktop 演示:**`normalize()` 发生修改 → 查看调用者和测试 → 点击箭头核对源码证据。
|
|
23
22
|
|
|
24
|
-
[
|
|
23
|
+

|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
[全尺寸 GIF](assets/impact-xray-mvp.gif) · [MP4 视频](assets/impact-xray-mvp.mp4) · [复现 Demo](assets/impact-xray-mvp-demo.md) · [反馈有帮助或遗漏的上下文](https://github.com/lemonxiny55/dsh-code-index/issues/new?template=feedback.yml)
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
录屏来自真实 Desktop 0.2.1-rc.2 中的 `0.11.0-dev.0` MVP;后续首屏改进另有[真实 Desktop 截图](IMPACT_XRAY_RC.md#首屏与实机操作)。源码小字请打开全尺寸素材查看。
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
- **在 AI 修改之前:** 从真实工作区 Git diff、输入 diff,或明确标注的文件/符号选择开始。
|
|
30
|
+
- **看清可能影响什么:** 检查变更声明、直接调用者、间接路径、模块导入和测试候选。
|
|
31
|
+
- **检查真实证据:** 点击节点或箭头,查看纳入原因、关系来源、文件行号及实际源码快照。放大视图中图与证据并排展示,可打开 Desktop 原生文件预览。
|
|
32
|
+
- **了解不确定性:** 黄色点线的 `name-only` 候选、导入范围、未映射行、缺失源码和裁剪均明确呈现;测试线索不证明覆盖率或必然失败。
|
|
33
|
+
|
|
34
|
+
这是既有 `code_change_context` 分析和源码读取能力的交互展示,不是新开发的影响分析算法。
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
**实测宿主:** DSH Desktop 0.2.1-rc.2 已完成完整 Impact X-Ray UI 验证;0.2.0-rc.2 通过安装及 ToolRuntime 检查,但未完成完整 X-Ray UI 验收。v0.11.1 新增 DSH Web/Host 0.2.1-rc.3 的全部 8 个工具及 Impact X-Ray 验证(未进行模型驱动的 Agent 运行),详见 [v0.11.1 验证报告](RELEASE_EVIDENCE_v0.11.1.md)。仅声明这三个精确 DSH/dsh-tools 宿主组,每组第一方包必须同版。开发构建使用 Node 22/24 与 pnpm 11。[发布证据与已知限制](RELEASE_EVIDENCE_v0.11.0.md) · [中英文发布说明](RELEASE_NOTES_v0.11.0.md)。
|
|
35
37
|
|
|
36
38
|
让 Agent 调用 `code_change_context`:
|
|
37
39
|
|
|
@@ -85,16 +87,16 @@ node scripts/impact-xray-demo.mjs D:/absolute/path/to/new-demo-repo
|
|
|
85
87
|
|
|
86
88
|
## 快速开始
|
|
87
89
|
|
|
88
|
-
需要 Node 22/24 与匹配的 DSH `0.2.0-rc.2` 或 `0.2.1-rc.
|
|
90
|
+
需要 Node 22/24 与匹配的 DSH `0.2.0-rc.2`、`0.2.1-rc.2` 或 `0.2.1-rc.3` 宿主版本组。用 Desktop 自带的 `dsh` CLI 安装到现有 profile:
|
|
89
91
|
|
|
90
92
|
```sh
|
|
91
|
-
dsh plugin --profile desktop add dsh-code-index@0.11.
|
|
93
|
+
dsh plugin --profile desktop add dsh-code-index@0.11.1
|
|
92
94
|
```
|
|
93
95
|
|
|
94
96
|
安装后重启 Desktop。匹配的 Web profile 可使用:
|
|
95
97
|
|
|
96
98
|
```sh
|
|
97
|
-
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.
|
|
99
|
+
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.1
|
|
98
100
|
npx @deepseek-ai/dsh@0.2.1-rc.2 web
|
|
99
101
|
```
|
|
100
102
|
|
|
@@ -146,13 +148,13 @@ npx @deepseek-ai/dsh@0.2.1-rc.2 web
|
|
|
146
148
|
|
|
147
149
|
需要 `dsh`(任意安装方式——npx、npm 或源码)与 Node ≥ 22。
|
|
148
150
|
|
|
149
|
-
v0.
|
|
151
|
+
v0.11.1 将兼容范围扩展为 `@deepseek-ai/dsh-tools: 0.2.0-rc.2 || 0.2.1-rc.2 || 0.2.1-rc.3`。使用配套的 DSH/dsh-tools 版本组,不混装第一方 RC 包。DSH 插件接口仍属于预览 API;其他 RC 和未来版本不在此兼容声明范围内。
|
|
150
152
|
|
|
151
153
|
Desktop 在激活前检查 DSH peer 约束。v0.10.0 的精确 `0.2.0-rc.2` pin 会被 DSH `0.2.1-rc.2` 拒绝;v0.10.1 明确列举支持组,不依赖版本豁免或无上限范围。开发依赖保留 `0.2.0-rc.2`,继续检查旧版 API。
|
|
152
154
|
|
|
153
155
|
```sh
|
|
154
156
|
# 从 npm(预编译)
|
|
155
|
-
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.
|
|
157
|
+
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.1
|
|
156
158
|
|
|
157
159
|
# 或从包含本仓库检查副本的目录
|
|
158
160
|
npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add ./dsh-code-index
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-code-index",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "Impact X-Ray for DSH: inspect potential code-change impact, provenance and real source evidence before AI edits.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
54
|
-
"@deepseek-ai/dsh-tools": "0.2.0-rc.2 || 0.2.1-rc.2"
|
|
54
|
+
"@deepseek-ai/dsh-tools": "0.2.0-rc.2 || 0.2.1-rc.2 || 0.2.1-rc.3"
|
|
55
55
|
},
|
|
56
56
|
"peerDependenciesMeta": {
|
|
57
57
|
"@deepseek-ai/cordis": {
|
|
@@ -67,7 +67,7 @@ function parseJsonArrayOutput(output, command) {
|
|
|
67
67
|
// A release gate can reuse one immutable candidate across Node versions.
|
|
68
68
|
const suppliedTarball = process.argv[2] ? path.resolve(process.argv[2]) : null
|
|
69
69
|
// Exercise each supported host group against the same immutable candidate.
|
|
70
|
-
const toolsVersion = process.argv[3] ?? '0.2.1-rc.
|
|
70
|
+
const toolsVersion = process.argv[3] ?? '0.2.1-rc.3'
|
|
71
71
|
const supportedToolsVersions = packageJson.peerDependencies['@deepseek-ai/dsh-tools'].split(' || ')
|
|
72
72
|
assert.ok(supportedToolsVersions.includes(toolsVersion), 'smoke requires an explicitly supported DSH tools version')
|
|
73
73
|
const packed = suppliedTarball ? null : parseJsonArrayOutput(run(npm, ['pack', '--ignore-scripts', '--json'], root), 'npm pack')
|
|
@@ -294,6 +294,8 @@ try {
|
|
|
294
294
|
assert.ok(rustSymbols.value.some(symbol => symbol.name === 'CrateOnly' && symbol.signature === 'CrateOnly' && !symbol.exported))
|
|
295
295
|
assert.ok(rustSymbols.value.some(symbol => symbol.name === 'Restricted' && symbol.signature === 'Restricted' && !symbol.exported))
|
|
296
296
|
const rustMap = await nativeInvoke('code_map', { repoRoot: rustRoot })
|
|
297
|
+
const health = await nativeInvoke('code_health', { repoRoot: rustRoot })
|
|
298
|
+
assert.match(health.value, /repo health/)
|
|
297
299
|
for (const name of ['PublicOne', 'PublicEnum', 'PublicTrait']) {
|
|
298
300
|
const search = await nativeInvoke('code_search', { query: name, repoRoot: rustRoot })
|
|
299
301
|
assert.equal(search.value[0]?.name, name)
|