dsh-memory-nebula 1.1.2 → 1.1.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/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +48 -0
- package/README.en.md +13 -7
- package/README.md +13 -7
- package/SECURITY.md +43 -0
- package/docs/compatibility.md +2 -2
- package/docs/distribution.md +8 -8
- package/docs/http-api.md +2 -2
- package/docs/market.en.md +2 -2
- package/docs/market.zh.md +2 -2
- package/docs/operations.md +1 -1
- package/docs/release.md +2 -1
- package/docs/verified.md +8 -0
- package/lib/web/app.js +1 -1
- package/market/assets/icon-180.png +0 -0
- package/market/index.json +2 -2
- package/package.json +19 -5
- package/scripts/release-check.mjs +14 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
本文件记录「记忆星图」每个版本改了什么。日期为落盘日期。
|
|
4
4
|
|
|
5
|
+
## 1.1.3 — 2026-11-11
|
|
6
|
+
|
|
7
|
+
主题「门面」:让别人能找得到、看得懂、敢报问题。
|
|
8
|
+
|
|
9
|
+
- `package.json` 补齐 `repository` / `homepage` / `bugs`,描述改为中英双句,
|
|
10
|
+
关键词补 `dsh`、`memory-graph`、`knowledge-graph`、`offline-snapshot`。
|
|
11
|
+
- GitHub Actions CI:Node 22.13 与 24 双矩阵,跑 `npm test` 与 `npm run check`。
|
|
12
|
+
- 新增 `SECURITY.md`(只读边界、loopback/Origin/CSP、`/share` 数据出口、
|
|
13
|
+
private advisory)与 `CONTRIBUTING.md`(无依赖、测试命令、文案/测试/版本约定)。
|
|
14
|
+
- README 与 README.en 顶部加 CI、npm、license badge。
|
|
15
|
+
- 市场索引与 unpkg 地址推到 1.1.3,安装名/TGZ 名同步。
|
|
16
|
+
|
|
5
17
|
## 1.1.2 — 2026-11-10
|
|
6
18
|
|
|
7
19
|
主题「换个门牌」:市场索引从 jsDelivr 换到 unpkg。
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
Thanks for looking. This is a small, dependency-free plugin, and the fastest
|
|
4
|
+
way to keep it healthy is to run the same checks CI runs.
|
|
5
|
+
|
|
6
|
+
## Setup
|
|
7
|
+
|
|
8
|
+
- Node.js 22.13 or newer (CI covers 22.13 and 24).
|
|
9
|
+
- No install step: the package has no runtime or dev dependencies.
|
|
10
|
+
- The repo is the plugin source. To try it inside DSH, point a profile at this
|
|
11
|
+
directory or install the packed tarball; see `docs/distribution.md`.
|
|
12
|
+
|
|
13
|
+
## Before opening a pull request
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm test # node --test "test/*.test.mjs"
|
|
17
|
+
npm run check # static release checks (version, UTF-8, links, assets)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
For HTTP or UI changes, also start the standalone engine and run the smoke
|
|
21
|
+
tests:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
node lib/standalone.mjs --port 7891 --root <a-memory-root>
|
|
25
|
+
node scripts/smoke.mjs http://127.0.0.1:7891/api/memory-nebula
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If you change the market index or locale files, keep the package version and
|
|
29
|
+
`market/index.json` version in sync; `test/market.test.mjs` enforces it.
|
|
30
|
+
|
|
31
|
+
## Rules of the house
|
|
32
|
+
|
|
33
|
+
- Read-only toward memory stores. Never write into `~/.dsh-meow`, OpenViking
|
|
34
|
+
directories, or user notes.
|
|
35
|
+
- No new runtime dependencies without a strong reason; the single-file
|
|
36
|
+
snapshot and offline story depend on shipping everything ourselves.
|
|
37
|
+
- Keep UI strings in `lib/web/i18n.js`; Chinese is the source text. If you add
|
|
38
|
+
a visible string, add the English entry and run `dev/check-i18n.mjs`.
|
|
39
|
+
- Add a test for behavior changes. A bug fix without a regression test will
|
|
40
|
+
usually be asked for one.
|
|
41
|
+
- Keep commits focused. Update `CHANGELOG.md` for user-visible changes and bump
|
|
42
|
+
the version only when preparing a release.
|
|
43
|
+
|
|
44
|
+
## Reporting bugs
|
|
45
|
+
|
|
46
|
+
Open an issue with the version, platform, and the diagnostics report from
|
|
47
|
+
`?` → “复制诊断” (it contains no memory text or local paths). For security
|
|
48
|
+
issues use `SECURITY.md`, not a public issue.
|
package/README.en.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Memory Nebula · memory-nebula
|
|
2
2
|
|
|
3
|
+
[](https://github.com/hanhan9999999999999999999/dsh-memory-nebula/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/dsh-memory-nebula)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
3
7
|
A DSH plugin that pulls memories out of every workspace **and every memory plugin**, turns them into a **nebula of evidence-backed connections**, and lets both you and the AI follow those connections the way neurons do.
|
|
4
8
|
|
|
5
9
|

|
|
@@ -49,7 +53,7 @@ Export the whole graph (text included) as one self-contained HTML for offline re
|
|
|
49
53
|
## Quick start
|
|
50
54
|
|
|
51
55
|
From the plugin market (recommended): add the index
|
|
52
|
-
`https://unpkg.com/dsh-memory-nebula@1.1.
|
|
56
|
+
`https://unpkg.com/dsh-memory-nebula@1.1.3/market/index.json` under
|
|
53
57
|
Plugins → Discover, search for “Memory Nebula”, and install. Run the doctor in step 2.5 afterwards.
|
|
54
58
|
|
|
55
59
|
Or install from this checkout:
|
|
@@ -57,7 +61,7 @@ Or install from this checkout:
|
|
|
57
61
|
```powershell
|
|
58
62
|
# 1) link the plugin (either way)
|
|
59
63
|
New-Item -ItemType Junction -Path "<profile>\node_modules\dsh-memory-nebula" -Target "<plugin>"
|
|
60
|
-
npm install <path>\dsh-memory-nebula-1.1.
|
|
64
|
+
npm install <path>\dsh-memory-nebula-1.1.3.tgz --prefix <profile>
|
|
61
65
|
|
|
62
66
|
# 2) profile package.json: add the dependency AND the bundle
|
|
63
67
|
# dependencies: "dsh-memory-nebula": "file:../../plugins/dsh-memory-nebula"
|
|
@@ -83,7 +87,7 @@ The page probes `/ping` on both legs and picks the newer `build`; a banner expla
|
|
|
83
87
|
Self-checks:
|
|
84
88
|
|
|
85
89
|
```bash
|
|
86
|
-
npm test #
|
|
90
|
+
npm test # 87 unit assertions
|
|
87
91
|
npm run check # static release check
|
|
88
92
|
node scripts/smoke.mjs # 63 contract assertions against a live instance
|
|
89
93
|
```
|
|
@@ -113,8 +117,10 @@ Adapter contract and every `sources.json` field: [docs/adapters.md](docs/adapter
|
|
|
113
117
|
| [docs/operations.md](docs/operations.md) | Read-only boundary, install, hot reload, known limits |
|
|
114
118
|
| [docs/release.md](docs/release.md) | Release checklist, versioning, packaging, rollback |
|
|
115
119
|
| [docs/compatibility.md](docs/compatibility.md) | Verified OS/Node/browser matrix, explicit non-support |
|
|
116
|
-
| [docs/distribution.md](docs/distribution.md) | Install/upgrade/rollback/uninstall, support flow, marketplace copy |
|
|
117
|
-
| [
|
|
120
|
+
| [docs/distribution.md](docs/distribution.md) | Install/upgrade/rollback/uninstall, support flow, marketplace copy |
|
|
121
|
+
| [SECURITY.md](SECURITY.md) | Read-only boundary, HTTP protections and vulnerability reporting |
|
|
122
|
+
| [CONTRIBUTING.md](CONTRIBUTING.md) | Local development, test commands and contribution rules |
|
|
123
|
+
| [docs/testing.md](docs/testing.md) | 87 unit tests, 63 smoke checks, 21 security probes, browser probes |
|
|
118
124
|
| [docs/roadmap.md](docs/roadmap.md) | From 0.5 to 1.0: scoped sharing, first-run guidance, 10k-node performance, i18n and release support |
|
|
119
125
|
| [CHANGELOG.md](CHANGELOG.md) | Version history |
|
|
120
126
|
|
|
@@ -136,7 +142,7 @@ lib/
|
|
|
136
142
|
scripts/smoke.mjs 63 read-only contract checks
|
|
137
143
|
scripts/release-check.mjs static release check
|
|
138
144
|
scripts/bench.mjs 10k benchmark (build / recall / hygiene / snapshot / memory)
|
|
139
|
-
test/ node:test unit suite (
|
|
145
|
+
test/ node:test unit suite (87 assertions)
|
|
140
146
|
```
|
|
141
147
|
|
|
142
148
|
## Privacy and security
|
|
@@ -148,4 +154,4 @@ test/ node:test unit suite (84 assertions)
|
|
|
148
154
|
|
|
149
155
|
## Version
|
|
150
156
|
|
|
151
|
-
`1.1.
|
|
157
|
+
`1.1.3`, MIT. Front-end changes apply on refresh; everything under `lib/host/` is hot-reloaded, while `http.js` / `index.js` / `live.js` need a DSH restart (or the standalone engine).
|
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# 记忆星图 · memory-nebula
|
|
2
2
|
|
|
3
|
+
[](https://github.com/hanhan9999999999999999999/dsh-memory-nebula/actions/workflows/ci.yml)
|
|
4
|
+
[](https://www.npmjs.com/package/dsh-memory-nebula)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
|
|
3
7
|
[English](README.en.md) · 在 DSH 里把散落在各个工作区、各个记忆插件里的记忆抽出来,算成一张**带证据的关联星云**,再从这张图上做「神经元式」的连带检索——以及,让别的插件注入了什么,星图就顺着连接补上它没注的那一半。
|
|
4
8
|
|
|
5
9
|

|
|
@@ -73,7 +77,7 @@
|
|
|
73
77
|
已经装好的机器上(`profiles/desktop`),只要打开「记忆星图」页面就有一张图;页面每 12 秒比一次 `sig`,别的会话写了新记忆会自动长出新星点。库里还没有记忆时,页面会给三条接入路径,也可以先点「看示例」;`…/memory-nebula/?demo=1` 可直达示例星系,逛完退出不会动真实库。
|
|
74
78
|
|
|
75
79
|
从插件市场装(推荐):在 DSH 的「插件 → 发现」里添加索引
|
|
76
|
-
`https://unpkg.com/dsh-memory-nebula@1.1.
|
|
80
|
+
`https://unpkg.com/dsh-memory-nebula@1.1.3/market/index.json`,搜索「记忆星图」安装。
|
|
77
81
|
装完按下面的 2.5 跑一次 doctor。
|
|
78
82
|
|
|
79
83
|
也可以从仓库装到 DSH:
|
|
@@ -81,7 +85,7 @@
|
|
|
81
85
|
```powershell
|
|
82
86
|
# 1) 装进 profile(二选一)
|
|
83
87
|
New-Item -ItemType Junction -Path "<profile>\node_modules\dsh-memory-nebula" -Target "<plugin>"
|
|
84
|
-
npm install <path>\dsh-memory-nebula-1.1.
|
|
88
|
+
npm install <path>\dsh-memory-nebula-1.1.3.tgz --prefix <profile>
|
|
85
89
|
|
|
86
90
|
# 2) profile 的 package.json 里加依赖与 bundles(只加 dependencies 不会重组)
|
|
87
91
|
# dependencies: "dsh-memory-nebula": "file:../../plugins/dsh-memory-nebula"
|
|
@@ -107,7 +111,7 @@ node lib/standalone.mjs --port 7890 # 其它系统,
|
|
|
107
111
|
自检三条命令:
|
|
108
112
|
|
|
109
113
|
```bash
|
|
110
|
-
npm test #
|
|
114
|
+
npm test # 87 项单元测试
|
|
111
115
|
npm run verify # 单测 + 发布静态检查(npm pack 的 prepack 会自动再跑)
|
|
112
116
|
node scripts/smoke.mjs # 63 项接口契约(对运行中的实例)
|
|
113
117
|
```
|
|
@@ -139,10 +143,12 @@ node scripts/smoke.mjs # 63 项接口契约(对运行中的实例)
|
|
|
139
143
|
| [docs/operations.md](docs/operations.md) | 只读边界、装卸、已知限制、sidecar、发布信息 |
|
|
140
144
|
| [docs/release.md](docs/release.md) | 发布前检查清单、版本策略、打包/安装/回滚 |
|
|
141
145
|
| [docs/compatibility.md](docs/compatibility.md) | 已验证的平台/Node/浏览器矩阵,以及明确不支持的组合 |
|
|
142
|
-
| [docs/distribution.md](docs/distribution.md) | 安装/升级/回滚/卸载、支持流程、市场文案与发布检查 |
|
|
146
|
+
| [docs/distribution.md](docs/distribution.md) | 安装/升级/回滚/卸载、支持流程、市场文案与发布检查 |
|
|
147
|
+
| [SECURITY.md](SECURITY.md) | 只读边界、HTTP 防护与漏洞报告 |
|
|
148
|
+
| [CONTRIBUTING.md](CONTRIBUTING.md) | 本地开发、测试命令与提交约定 |
|
|
143
149
|
| [docs/verified.md](docs/verified.md) | 每一条结论背后的实测证据 |
|
|
144
150
|
| [docs/architecture.md](docs/architecture.md) | 模块分工、请求路径、不能破的不变量 |
|
|
145
|
-
| [docs/testing.md](docs/testing.md) |
|
|
151
|
+
| [docs/testing.md](docs/testing.md) | 87 项单测、63 项冒烟、21 项安全探针、浏览器探针清单与手工验收 |
|
|
146
152
|
| [docs/roadmap.md](docs/roadmap.md) | 从 0.5 到 1.0:切片分享、首访引导、万条性能、国际化与发行支持 |
|
|
147
153
|
| [CHANGELOG.md](CHANGELOG.md) | 版本变更 |
|
|
148
154
|
|
|
@@ -168,7 +174,7 @@ lib/
|
|
|
168
174
|
scripts/smoke.mjs 只读契约自查(63 项)
|
|
169
175
|
scripts/release-check.mjs 发布静态检查
|
|
170
176
|
scripts/bench.mjs 10k 性能基准(建图 / 检索 / 体检 / 快照 / 内存)
|
|
171
|
-
test/ node:test 单元测试(
|
|
177
|
+
test/ node:test 单元测试(87 项)
|
|
172
178
|
sidecar.ps1 Windows 独立引擎开关
|
|
173
179
|
```
|
|
174
180
|
|
|
@@ -181,6 +187,6 @@ sidecar.ps1 Windows 独立引擎开关
|
|
|
181
187
|
|
|
182
188
|
## 版本与许可
|
|
183
189
|
|
|
184
|
-
- 当前版本 `1.1.
|
|
190
|
+
- 当前版本 `1.1.3`,MIT。
|
|
185
191
|
- 打包内容:`lib/`、`scripts/`、`docs/`、`cordis.patch.yml`、`README.md` / `README.en.md`、`CHANGELOG.md`、`LICENSE`、`sidecar.ps1`(`test/` 与 `dev/` 不进包)。
|
|
186
192
|
- 前端改动刷新页面即生效;`lib/host/` 下所有引擎文件(含 `adapters/`、`bridge.js`、`ledger.js`)由 LiveEngine 热载,`http.js` / `index.js` / `live.js` 改动要重启 DSH 或走独立引擎。
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Security
|
|
2
|
+
|
|
3
|
+
## What this project touches
|
|
4
|
+
|
|
5
|
+
`dsh-memory-nebula` reads memory stores on the local machine (meow-memory,
|
|
6
|
+
OpenViking, plain notes, SQLite) and serves a read-only viewer. It never writes
|
|
7
|
+
to those stores. The only writable state is under
|
|
8
|
+
`$DSH_HOME/memory-nebula/` (mutes, manual links, caches, logs, injected-ledger
|
|
9
|
+
files).
|
|
10
|
+
|
|
11
|
+
The HTTP surface is intended for one local user:
|
|
12
|
+
|
|
13
|
+
- it binds to loopback only;
|
|
14
|
+
- write routes require a loopback `Origin` and reject cross-site requests;
|
|
15
|
+
- static pages ship a restrictive CSP and `nosniff` / `no-store`;
|
|
16
|
+
- `/share` is the one route that deliberately exports memory **content** as a
|
|
17
|
+
self-contained HTML file. Treat exported files as plaintext backups.
|
|
18
|
+
|
|
19
|
+
Do not expose the server to a public network. There is no account system, no
|
|
20
|
+
telemetry, and no upload path.
|
|
21
|
+
|
|
22
|
+
## Supported versions
|
|
23
|
+
|
|
24
|
+
Security fixes land on the latest published minor. Older minors are not
|
|
25
|
+
maintained separately.
|
|
26
|
+
|
|
27
|
+
## Reporting a vulnerability
|
|
28
|
+
|
|
29
|
+
Please use GitHub's private vulnerability reporting:
|
|
30
|
+
|
|
31
|
+
<https://github.com/hanhan9999999999999999999/dsh-memory-nebula/security/advisories/new>
|
|
32
|
+
|
|
33
|
+
Do not open a public issue for a vulnerability. Include the version, the
|
|
34
|
+
affected route or file, and a minimal reproduction when possible. Reports that
|
|
35
|
+
only need a configuration change will be answered with the setting rather than
|
|
36
|
+
a release.
|
|
37
|
+
|
|
38
|
+
## Out of scope
|
|
39
|
+
|
|
40
|
+
- running the server on a public interface;
|
|
41
|
+
- a malicious local user who can already read the memory database;
|
|
42
|
+
- exported snapshot files shared by the user;
|
|
43
|
+
- third-party memory adapters that execute their own code.
|
package/docs/compatibility.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 兼容矩阵
|
|
2
2
|
|
|
3
|
-
最后更新:2026-11-
|
|
3
|
+
最后更新:2026-11-11(1.1.3 补仓库元数据、CI 与安全文档;运行前提未变)
|
|
4
4
|
|
|
5
5
|
这张表只写**真的跑过**的东西。「预期可用」是依据运行前提做的判断,不是实测;
|
|
6
6
|
没有出现的组合就是没有验证,不应当作支持承诺。
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
| 适配器 | meow / notes / sqlite / ingest | 单测 + `sources`/`ingest` 冒烟 |
|
|
23
23
|
| 独立引擎 | `lib/standalone.mjs`,127.0.0.1:7890/7891 | 0.5–0.9 的 `smoke` 与 `--diagnose` |
|
|
24
24
|
| 安装体检 | 真实 desktop profile + 运行中实例 | 1.1.0:9 项全过(含 endpoint ping) |
|
|
25
|
-
| 市场索引 | `@deepseek-ai/dsh-plugin-market-index` format 1 校验 | 1.1.
|
|
25
|
+
| 市场索引 | `@deepseek-ai/dsh-plugin-market-index` format 1 校验 | 1.1.3:unpkg 索引 200,`parseMarketIndex` 通过,图标/详情/图片可解析 |
|
|
26
26
|
|
|
27
27
|
## 预期可用,但未实测
|
|
28
28
|
|
package/docs/distribution.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
## 包是什么
|
|
7
7
|
|
|
8
8
|
- npm 包名:`dsh-memory-nebula`
|
|
9
|
-
- 当前版本:`1.1.
|
|
9
|
+
- 当前版本:`1.1.3`
|
|
10
10
|
- 形态:DSH 插件(`cordis.patch.yml` + `lib/client.js`)与独立引擎(`lib/standalone.mjs`)共用一套代码
|
|
11
11
|
- 许可:MIT;没有授权锁、没有遥测、不会把记忆上传到任何服务器
|
|
12
12
|
- 包内容:`lib/`、`scripts/`、`docs/`、`cordis.patch.yml`、`README.md` / `README.en.md`、
|
|
@@ -19,26 +19,26 @@
|
|
|
19
19
|
在「插件 → 发现」里添加索引:
|
|
20
20
|
|
|
21
21
|
```text
|
|
22
|
-
https://unpkg.com/dsh-memory-nebula@1.1.
|
|
22
|
+
https://unpkg.com/dsh-memory-nebula@1.1.3/market/index.json
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
搜索「记忆星图」安装。索引与详情页都在 npm 包里,由
|
|
25
|
+
搜索「记忆星图」安装。索引与详情页都在 npm 包里,由 unpkg 提供;不需要第二个站点。
|
|
26
26
|
条目声明 `engines.dsh >= 0.2.2-rc.1`,更老的 DSH 会显示不兼容而不是装完才崩。
|
|
27
27
|
|
|
28
28
|
### 从 tgz(离线/客户机器)
|
|
29
29
|
|
|
30
30
|
```powershell
|
|
31
31
|
# Windows PowerShell
|
|
32
|
-
Get-FileHash .\dsh-memory-nebula-1.1.
|
|
32
|
+
Get-FileHash .\dsh-memory-nebula-1.1.3.tgz -Algorithm SHA256
|
|
33
33
|
# 对照同目录的 .sha256 文件;不一致就停,不要装
|
|
34
34
|
|
|
35
|
-
npm install .\dsh-memory-nebula-1.1.
|
|
35
|
+
npm install .\dsh-memory-nebula-1.1.3.tgz --prefix <profile>
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
# macOS / Linux
|
|
40
|
-
sha256sum -c dsh-memory-nebula-1.1.
|
|
41
|
-
npm install ./dsh-memory-nebula-1.1.
|
|
40
|
+
sha256sum -c dsh-memory-nebula-1.1.3.tgz.sha256
|
|
41
|
+
npm install ./dsh-memory-nebula-1.1.3.tgz --prefix <profile>
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
然后确认 `<profile>/package.json` 里两处都在:
|
|
@@ -129,7 +129,7 @@ Remove-Item -Recurse -Force "$env:USERPROFILE\.dsh\memory-nebula"
|
|
|
129
129
|
npm run verify # 单测 + release-check;prepack 也会跑
|
|
130
130
|
node scripts/smoke.mjs http://127.0.0.1:7891/api/memory-nebula
|
|
131
131
|
npm pack # 生成 tgz
|
|
132
|
-
sha256sum dsh-memory-nebula-1.1.
|
|
132
|
+
sha256sum dsh-memory-nebula-1.1.3.tgz > dsh-memory-nebula-1.1.3.tgz.sha256
|
|
133
133
|
npm publish # 需要维护者账号;本仓库不自动发布
|
|
134
134
|
```
|
|
135
135
|
|
package/docs/http-api.md
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
```json
|
|
18
18
|
{
|
|
19
19
|
"ok": true,
|
|
20
|
-
"version": "1.1.
|
|
20
|
+
"version": "1.1.3",
|
|
21
21
|
"build": 1794143336695,
|
|
22
22
|
"startedAt": 1794143336695,
|
|
23
23
|
"mode": "host",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
```text
|
|
48
48
|
memory-nebula diagnostics
|
|
49
49
|
# 不含记忆正文;可以整段贴给支持
|
|
50
|
-
version: 1.1.
|
|
50
|
+
version: 1.1.3
|
|
51
51
|
build: 1794276294467
|
|
52
52
|
started: 2026-11-10T02:20:37.399Z
|
|
53
53
|
mode: standalone
|
package/docs/market.en.md
CHANGED
|
@@ -78,13 +78,13 @@ Above 3,000 memories it stays in the 2D nebula and asks you to filter before swi
|
|
|
78
78
|
Add this index in the DSH plugin market:
|
|
79
79
|
|
|
80
80
|
```text
|
|
81
|
-
https://unpkg.com/dsh-memory-nebula@1.1.
|
|
81
|
+
https://unpkg.com/dsh-memory-nebula@1.1.3/market/index.json
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
Then search for “Memory Nebula” and install. Or install the npm package directly:
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
|
-
npm install dsh-memory-nebula@1.1.
|
|
87
|
+
npm install dsh-memory-nebula@1.1.3
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
Run the read-only doctor after installing:
|
package/docs/market.zh.md
CHANGED
|
@@ -78,13 +78,13 @@ Shift 点第二个节点,会找两点之间的**证据链**:每一跳是哪
|
|
|
78
78
|
在 DSH 的插件市场里添加索引:
|
|
79
79
|
|
|
80
80
|
```text
|
|
81
|
-
https://unpkg.com/dsh-memory-nebula@1.1.
|
|
81
|
+
https://unpkg.com/dsh-memory-nebula@1.1.3/market/index.json
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
然后搜索「记忆星图」安装。也可以直接装 npm 包:
|
|
85
85
|
|
|
86
86
|
```bash
|
|
87
|
-
npm install dsh-memory-nebula@1.1.
|
|
87
|
+
npm install dsh-memory-nebula@1.1.3
|
|
88
88
|
```
|
|
89
89
|
|
|
90
90
|
装完先体检:
|
package/docs/operations.md
CHANGED
|
@@ -68,7 +68,7 @@ memory-nebula --help # 装成 bin 之后
|
|
|
68
68
|
|
|
69
69
|
## 发布信息
|
|
70
70
|
|
|
71
|
-
- 版本 `1.1.
|
|
71
|
+
- 版本 `1.1.3`,`license: MIT`,无运行时依赖。
|
|
72
72
|
- `files`:`lib/`、`cordis.patch.yml`、`README.md`、`README.en.md`、`docs/`、`CHANGELOG.md`、
|
|
73
73
|
`LICENSE`、`scripts/`、`sidecar.ps1`。
|
|
74
74
|
- 装完先体检:`node scripts/doctor.mjs --profile <profile> [--root DIR] [--base URL] [--json]`;
|
package/docs/release.md
CHANGED
|
@@ -21,7 +21,7 @@ cd <plugin>
|
|
|
21
21
|
# 1. 语法与静态检查(版本一致、UTF-8、import、死文件、CORS、document.write…)
|
|
22
22
|
npm run check
|
|
23
23
|
|
|
24
|
-
# 2. 单元测试(
|
|
24
|
+
# 2. 单元测试(87 项,纯函数 + 契约)
|
|
25
25
|
npm test
|
|
26
26
|
|
|
27
27
|
# 3. 起一个干净实例,跑接口契约(63 项)
|
|
@@ -62,6 +62,7 @@ npm pack # 生成 dsh-memory-nebula-<version>.tgz
|
|
|
62
62
|
1.1.2 实测:**72 个文件**,包 2.3 MB、解开 2.9 MB(`docs/assets/` 的预览图与基准脚本占大头)。
|
|
63
63
|
干净目录安装后 `--version` = 1.1.2,导出 `apply,inject,name,version`;
|
|
64
64
|
安装包起 7896 实测 `/share?scope=ws:DSHLive2D&hide=level:lesson` → 200、601,177 字节。
|
|
65
|
+
1.1.3 起包内多了 `SECURITY.md` 与 `CONTRIBUTING.md`,`.github/` 不进包;文件数与体积以 `npm pack` 的输出为准(不要手写进文档,否则每次改文档都要重打包)。
|
|
65
66
|
清单里应含 `sidecar.ps1`、`scripts/`、`test/` 不含(单测只在仓库里跑)、`dev/` 与截图不含。
|
|
66
67
|
|
|
67
68
|
装进 DSH profile(与 `docs/operations.md` 的 junction 方式二选一):
|
package/docs/verified.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
> 下面的数字都是**当时实测**的值,记录的是「这个结论被什么证据支撑过」,不是当前规模——记忆每天在长,规模类数字请以 `node scripts/smoke.mjs` 和界面顶栏为准。
|
|
4
4
|
|
|
5
|
+
## 1.1.3(2026-11-11)门面
|
|
6
|
+
|
|
7
|
+
- **包元数据**:`package.json` 有 `repository` / `homepage` / `bugs`,描述中英双句,13 个关键词;`npm pack` 后从 tarball 解出的 manifest 同样带这些字段。
|
|
8
|
+
- **CI**:`.github/workflows/ci.yml` 矩阵 Node 22.13.0 / 24,跑 `npm test` 与 `npm run check`;本机等价命令通过(87/87、release-check 全绿),GitHub 首次运行在推送后确认。
|
|
9
|
+
- **政策文件**:`SECURITY.md`(只读边界、loopback/Origin/CSP、`/share` 是正文出口、private advisory)与 `CONTRIBUTING.md`(无依赖、测试命令、文案/测试/版本约定)已进包。
|
|
10
|
+
- **回归**:87/87 单测;release-check v1.1.3 全绿(143 文本 / 69 脚本 / 23 Markdown 链接,含 1.1.3 构件断言)。
|
|
11
|
+
- **README**:中英顶部都有 CI / npm / license badge,文档表补 SECURITY/CONTRIBUTING 两行。
|
|
12
|
+
|
|
5
13
|
## 1.1.2(2026-11-10)换个门牌
|
|
6
14
|
|
|
7
15
|
- **CDN 选择**:本机 `curl` 与 Node fetch 访问 jsDelivr 均为 `ECONNRESET`;unpkg 的 Node fetch 200。
|
package/lib/web/app.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* 记忆星图 —— 界面逻辑
|
|
2
2
|
数据:/api/memory-nebula/*(同源)。渲染交给 render.js。 */
|
|
3
3
|
;(function () {
|
|
4
|
-
const APP_VERSION = '1.1.
|
|
4
|
+
const APP_VERSION = '1.1.3' // 和 package.json 同步(release-check 会核对)
|
|
5
5
|
'use strict'
|
|
6
6
|
/** 中文即源文:英文模式查 i18n.js 的表,查不到就原样返回中文。 */
|
|
7
7
|
const T = (zh, vars) => (window.NebulaI18n ? window.NebulaI18n.t(zh, vars) : zh)
|
|
Binary file
|
package/market/index.json
CHANGED
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-memory-nebula",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"private": false,
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Local-first memory nebula for DeepSeek Harness — read-only graph, spreading recall, evidence chains, offline snapshots. 记忆星图:把 DSH 各工作区的记忆只读连成一张可交互星云。",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "lib/index.js",
|
|
8
8
|
"bin": {
|
|
@@ -26,7 +26,9 @@
|
|
|
26
26
|
"scripts",
|
|
27
27
|
"sidecar.ps1",
|
|
28
28
|
"locale",
|
|
29
|
-
"market"
|
|
29
|
+
"market",
|
|
30
|
+
"SECURITY.md",
|
|
31
|
+
"CONTRIBUTING.md"
|
|
30
32
|
],
|
|
31
33
|
"scripts": {
|
|
32
34
|
"test": "node --test \"test/*.test.mjs\"",
|
|
@@ -64,7 +66,19 @@
|
|
|
64
66
|
"relational-memory",
|
|
65
67
|
"spreading-activation",
|
|
66
68
|
"memory-adapter",
|
|
67
|
-
"visualization"
|
|
69
|
+
"visualization",
|
|
70
|
+
"dsh",
|
|
71
|
+
"memory-graph",
|
|
72
|
+
"knowledge-graph",
|
|
73
|
+
"offline-snapshot"
|
|
68
74
|
],
|
|
69
|
-
"author": "主人 & 小代码酱"
|
|
75
|
+
"author": "主人 & 小代码酱",
|
|
76
|
+
"homepage": "https://github.com/hanhan9999999999999999999/dsh-memory-nebula#readme",
|
|
77
|
+
"repository": {
|
|
78
|
+
"type": "git",
|
|
79
|
+
"url": "git+https://github.com/hanhan9999999999999999999/dsh-memory-nebula.git"
|
|
80
|
+
},
|
|
81
|
+
"bugs": {
|
|
82
|
+
"url": "https://github.com/hanhan9999999999999999999/dsh-memory-nebula/issues"
|
|
83
|
+
}
|
|
70
84
|
}
|
|
@@ -243,7 +243,20 @@ if (!read('docs/market.zh.md').includes(`dsh-memory-nebula@${pkg.version}`)) fai
|
|
|
243
243
|
if (!read('docs/market.zh.md').includes('https://unpkg.com/')) fail('中文详情没走 unpkg 索引')
|
|
244
244
|
if (!read('docs/market.en.md').includes('https://unpkg.com/')) fail('英文详情没走 unpkg 索引')
|
|
245
245
|
if (!pkg.files?.includes('market') || !pkg.files?.includes('locale')) fail('package.json files 没带 market/locale')
|
|
246
|
-
ok('1.1.2 构件:市场索引 / unpkg / 双语详情 / 图标')
|
|
246
|
+
ok('1.1.2 构件:市场索引 / unpkg / 双语详情 / 图标')
|
|
247
|
+
|
|
248
|
+
const ciSrc = read('.github/workflows/ci.yml')
|
|
249
|
+
if (!ciSrc.includes("'22.13.0'") || !ciSrc.includes("'24'")) fail('CI 矩阵缺 Node 22.13/24')
|
|
250
|
+
if (!ciSrc.includes('npm run check')) fail('CI 没跑 release-check')
|
|
251
|
+
if (!pkg.repository?.url?.includes('github.com/hanhan9999999999999999999/dsh-memory-nebula')) fail('package.json 缺 repository')
|
|
252
|
+
if (!pkg.homepage?.includes('github.com/hanhan9999999999999999999/dsh-memory-nebula')) fail('package.json 缺 homepage')
|
|
253
|
+
if (!pkg.bugs?.url?.endsWith('/issues')) fail('package.json 缺 bugs.url')
|
|
254
|
+
if (!read('SECURITY.md').includes('private vulnerability reporting')) fail('SECURITY.md 缺报告入口')
|
|
255
|
+
if (!read('CONTRIBUTING.md').includes('npm run check')) fail('CONTRIBUTING.md 缺检查命令')
|
|
256
|
+
if (!read('README.md').includes('actions/workflows/ci.yml/badge.svg')) fail('README.md 缺 CI badge')
|
|
257
|
+
if (!pkg.files?.includes('SECURITY.md') || !pkg.files?.includes('CONTRIBUTING.md')) fail('package.json files 没带政策文档')
|
|
258
|
+
ok('1.1.3 构件:仓库元数据 / CI / 安全与贡献文档')
|
|
259
|
+
|
|
247
260
|
|
|
248
261
|
|
|
249
262
|
console.log(`\n发布检查:${pkg.name} v${pkg.version}\n`)
|