dsh-memory-nebula 1.1.1 → 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/docs/market.zh.md CHANGED
@@ -1,109 +1,109 @@
1
- # 记忆星图
2
-
3
- 把散落在工作区里的记忆,连成一张能走、能查、能带走的星图。
4
-
5
- DSH 里的记忆常常躺在几十个工作区、几千条会话里。搜索能给出一串结果,但看不到它们**为什么**相关;换一个项目,之前那条线索又断了。记忆星图读同一批记忆库(meow-memory / OpenViking),把它们建成一张图:节点是记忆,边是关键词、实体、项目、会话共现和人工策展。它不复制、不改写你的库,所有计算都在本机完成。
6
-
7
- ![记忆星图:一千多条记忆与它们的连接](assets/preview.png)
8
-
9
- ## 三种看法
10
-
11
- - **星云**:全部记忆铺成星云,按工作区聚成星团,按层级与连接强度着色。适合看「我的记忆整体长什么样」。
12
- - **星系**:按工作区分组,点开一团就进入那个项目。适合回答「这个项目里我都想过什么」。
13
- - **时间**:按创建/更新时间排成一条河,拖动时间轴回放。适合看「这件事是怎么一步步长出来的」。
14
-
15
- 三种视图共用同一套筛选:工作区、层级、连接类型、最小强度、最低重要度。切视图不丢选中。
16
-
17
- ## 从一条记忆走到另一条
18
-
19
- 选中节点,右侧会告诉你它和谁相连、为什么相连:同项目、共享关键词、同一实体、被同一批会话反复一起提到,或者你亲手连的。每条邻居都带权重和理由,不是「相似度 0.87」这种没有证据的数字。
20
-
21
- Shift 点第二个节点,会找两点之间的**证据链**:每一跳是哪条边、什么理由、链强度多少。找不到就明说找不到,不编一条路。
22
-
23
- ![选中一条记忆:正文、邻居、每条边的理由](assets/demo.jpg)
24
-
25
- ## 搜索与扩散
26
-
27
- 搜索是全文的:标题、正文、关键词都算。结果里会标出是直接命中,还是从别的节点扩散过来的;跨工作区命中会单独标出来,避免「明明有却搜不到」。
28
-
29
- 「以它为种子扩散」不是搜索的替代品:它从这条记忆出发,沿已有连接看两跳内的邻居,告诉你「还有哪些东西和它连着」。
30
-
31
- ## 体检:不只看漂亮的那面
32
-
33
- 星图会做六类只读体检:
34
-
35
- - 近似重复的记忆;
36
- - 过长的记忆;
37
- - 很久没更新、可能过时的记忆;
38
- - 存了但从没被读过的记忆;
39
- - 边很多但没有一条强关系(关键词撞出来的);
40
- - 完全孤立的记忆。
41
-
42
- 只诊断,不自动改库。要不要合并、删掉、补连接,由你决定。
43
-
44
- ## 示例星系与首访引导
45
-
46
- 第一次打开时,如果库还是空的,不会只给你一片黑:可以进「示例星系」逛一圈。示例是 64 条**虚构**记忆,只读,不写盘,退出后回到你自己的库。第一次进真实库还有三步引导:搜一个词、点开一条看证据、Shift 点两条看它们怎么连。跳过随时可以按 `?` 重看。
47
-
48
- ![第一次来?三步就够](assets/onboard.jpg)
49
-
50
- ## 分享一片,而不是整座库
51
-
52
- 可以把整张图、当前工作区、或「以某条记忆为中心 2 跳」导出成一个**单文件 HTML**:
53
-
54
- - 双击就能看,不需要 DSH、不需要网络;
55
- - 搜索、邻居、证据链都在本地算;
56
- - 只读,不能改你的库;
57
- - 导出前可以勾选「隐去日记工作区」;`scope`/`hide` 只影响导出,不动原库;
58
- - 分享出去的是时间点副本,正文会一起带走——发给别人前先确认范围。
59
-
60
- ![导出的离线快照:文件里只有被选中的那一片](assets/snapshot.jpg)
61
-
62
- ## 一万条也敢开
63
-
64
- 10,000 条记忆、78,593 条连接的同机基准:
65
-
66
- - 建图 1.2 秒;
67
- - 首屏约 0.6 秒;
68
- - 检索 4.9 毫秒;
69
- - 单文件快照 122 毫秒 / 21MB;
70
- - 堆内存 145MB。
71
-
72
- 超过 3,000 条时默认留在二维星云,并提示先筛选再切三维:软件渲染下三维会卡,星图不假装自己扛得住。
73
-
74
- ![一万条记忆的二维星云](assets/bench-10k.jpg)
75
-
76
- ## 安装
77
-
78
- 在 DSH 的插件市场里添加索引:
79
-
80
- ```text
81
- https://cdn.jsdelivr.net/npm/dsh-memory-nebula@1.1.1/market/index.json
82
- ```
83
-
84
- 然后搜索「记忆星图」安装。也可以直接装 npm 包:
85
-
86
- ```bash
87
- npm install dsh-memory-nebula@1.1.1
88
- ```
89
-
90
- 装完先体检:
91
-
92
- ```bash
93
- npx memory-nebula-doctor --profile <你的 DSH profile 目录>
94
- ```
95
-
96
- 它会检查 Node 版本、包文件、profile 依赖、bundle 声明、记忆源和可选的 `/ping` 端点。只读,不上传任何东西。
97
-
98
- ## 边界
99
-
100
- - 本机单用户工具,没有账号系统,不要把它暴露到公网;
101
- - 记忆库是只读的:星图不会替你改记忆;
102
- - 三维视图需要 WebGL2;
103
- - 单文件快照包含被选中范围内的正文,按明文备份对待;
104
- - 服务端诊断与日志仍以中文为主,界面中英双语。
105
-
106
- ## 更多
107
-
108
- - 架构、数据模型、HTTP 接口、兼容矩阵与分发说明都随包发布,见 `docs/`
109
- - 许可:MIT
1
+ # 记忆星图
2
+
3
+ 把散落在工作区里的记忆,连成一张能走、能查、能带走的星图。
4
+
5
+ DSH 里的记忆常常躺在几十个工作区、几千条会话里。搜索能给出一串结果,但看不到它们**为什么**相关;换一个项目,之前那条线索又断了。记忆星图读同一批记忆库(meow-memory / OpenViking),把它们建成一张图:节点是记忆,边是关键词、实体、项目、会话共现和人工策展。它不复制、不改写你的库,所有计算都在本机完成。
6
+
7
+ ![记忆星图:一千多条记忆与它们的连接](assets/preview.png)
8
+
9
+ ## 三种看法
10
+
11
+ - **星云**:全部记忆铺成星云,按工作区聚成星团,按层级与连接强度着色。适合看「我的记忆整体长什么样」。
12
+ - **星系**:按工作区分组,点开一团就进入那个项目。适合回答「这个项目里我都想过什么」。
13
+ - **时间**:按创建/更新时间排成一条河,拖动时间轴回放。适合看「这件事是怎么一步步长出来的」。
14
+
15
+ 三种视图共用同一套筛选:工作区、层级、连接类型、最小强度、最低重要度。切视图不丢选中。
16
+
17
+ ## 从一条记忆走到另一条
18
+
19
+ 选中节点,右侧会告诉你它和谁相连、为什么相连:同项目、共享关键词、同一实体、被同一批会话反复一起提到,或者你亲手连的。每条邻居都带权重和理由,不是「相似度 0.87」这种没有证据的数字。
20
+
21
+ Shift 点第二个节点,会找两点之间的**证据链**:每一跳是哪条边、什么理由、链强度多少。找不到就明说找不到,不编一条路。
22
+
23
+ ![选中一条记忆:正文、邻居、每条边的理由](assets/demo.jpg)
24
+
25
+ ## 搜索与扩散
26
+
27
+ 搜索是全文的:标题、正文、关键词都算。结果里会标出是直接命中,还是从别的节点扩散过来的;跨工作区命中会单独标出来,避免「明明有却搜不到」。
28
+
29
+ 「以它为种子扩散」不是搜索的替代品:它从这条记忆出发,沿已有连接看两跳内的邻居,告诉你「还有哪些东西和它连着」。
30
+
31
+ ## 体检:不只看漂亮的那面
32
+
33
+ 星图会做六类只读体检:
34
+
35
+ - 近似重复的记忆;
36
+ - 过长的记忆;
37
+ - 很久没更新、可能过时的记忆;
38
+ - 存了但从没被读过的记忆;
39
+ - 边很多但没有一条强关系(关键词撞出来的);
40
+ - 完全孤立的记忆。
41
+
42
+ 只诊断,不自动改库。要不要合并、删掉、补连接,由你决定。
43
+
44
+ ## 示例星系与首访引导
45
+
46
+ 第一次打开时,如果库还是空的,不会只给你一片黑:可以进「示例星系」逛一圈。示例是 64 条**虚构**记忆,只读,不写盘,退出后回到你自己的库。第一次进真实库还有三步引导:搜一个词、点开一条看证据、Shift 点两条看它们怎么连。跳过随时可以按 `?` 重看。
47
+
48
+ ![第一次来?三步就够](assets/onboard.jpg)
49
+
50
+ ## 分享一片,而不是整座库
51
+
52
+ 可以把整张图、当前工作区、或「以某条记忆为中心 2 跳」导出成一个**单文件 HTML**:
53
+
54
+ - 双击就能看,不需要 DSH、不需要网络;
55
+ - 搜索、邻居、证据链都在本地算;
56
+ - 只读,不能改你的库;
57
+ - 导出前可以勾选「隐去日记工作区」;`scope`/`hide` 只影响导出,不动原库;
58
+ - 分享出去的是时间点副本,正文会一起带走——发给别人前先确认范围。
59
+
60
+ ![导出的离线快照:文件里只有被选中的那一片](assets/snapshot.jpg)
61
+
62
+ ## 一万条也敢开
63
+
64
+ 10,000 条记忆、78,593 条连接的同机基准:
65
+
66
+ - 建图 1.2 秒;
67
+ - 首屏约 0.6 秒;
68
+ - 检索 4.9 毫秒;
69
+ - 单文件快照 122 毫秒 / 21MB;
70
+ - 堆内存 145MB。
71
+
72
+ 超过 3,000 条时默认留在二维星云,并提示先筛选再切三维:软件渲染下三维会卡,星图不假装自己扛得住。
73
+
74
+ ![一万条记忆的二维星云](assets/bench-10k.jpg)
75
+
76
+ ## 安装
77
+
78
+ 在 DSH 的插件市场里添加索引:
79
+
80
+ ```text
81
+ https://unpkg.com/dsh-memory-nebula@1.1.3/market/index.json
82
+ ```
83
+
84
+ 然后搜索「记忆星图」安装。也可以直接装 npm 包:
85
+
86
+ ```bash
87
+ npm install dsh-memory-nebula@1.1.3
88
+ ```
89
+
90
+ 装完先体检:
91
+
92
+ ```bash
93
+ npx memory-nebula-doctor --profile <你的 DSH profile 目录>
94
+ ```
95
+
96
+ 它会检查 Node 版本、包文件、profile 依赖、bundle 声明、记忆源和可选的 `/ping` 端点。只读,不上传任何东西。
97
+
98
+ ## 边界
99
+
100
+ - 本机单用户工具,没有账号系统,不要把它暴露到公网;
101
+ - 记忆库是只读的:星图不会替你改记忆;
102
+ - 三维视图需要 WebGL2;
103
+ - 单文件快照包含被选中范围内的正文,按明文备份对待;
104
+ - 服务端诊断与日志仍以中文为主,界面中英双语。
105
+
106
+ ## 更多
107
+
108
+ - 架构、数据模型、HTTP 接口、兼容矩阵与分发说明都随包发布,见 `docs/`
109
+ - 许可:MIT
@@ -68,7 +68,7 @@ memory-nebula --help # 装成 bin 之后
68
68
 
69
69
  ## 发布信息
70
70
 
71
- - 版本 `1.1.1`,`license: MIT`,无运行时依赖。
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. 单元测试(84 项,纯函数 + 契约)
24
+ # 2. 单元测试(87 项,纯函数 + 契约)
25
25
  npm test
26
26
 
27
27
  # 3. 起一个干净实例,跑接口契约(63 项)
@@ -59,9 +59,10 @@ npm pack --dry-run
59
59
  npm pack # 生成 dsh-memory-nebula-<version>.tgz
60
60
  ```
61
61
 
62
- 1.1.1 实测:**72 个文件**,包 2.3 MB、解开 2.9 MB(`docs/assets/` 的预览图与基准脚本占大头)。
63
- 干净目录安装后 `--version` = 1.1.1,导出 `apply,inject,name,version`;
62
+ 1.1.2 实测:**72 个文件**,包 2.3 MB、解开 2.9 MB(`docs/assets/` 的预览图与基准脚本占大头)。
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 方式二选一):
@@ -71,7 +72,7 @@ npm pack # 生成 dsh-memory-nebula-<version>.tgz
71
72
  New-Item -ItemType Junction -Path "<profile>\node_modules\dsh-memory-nebula" -Target "<plugin>"
72
73
 
73
74
  # 方式 B:tarball
74
- npm install <path>\dsh-memory-nebula-1.1.1.tgz --prefix <profile>
75
+ npm install <path>\dsh-memory-nebula-1.1.2.tgz --prefix <profile>
75
76
  ```
76
77
 
77
78
  然后确认 profile `package.json` 里:
package/docs/verified.md CHANGED
@@ -2,6 +2,27 @@
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
+
13
+ ## 1.1.2(2026-11-10)换个门牌
14
+
15
+ - **CDN 选择**:本机 `curl` 与 Node fetch 访问 jsDelivr 均为 `ECONNRESET`;unpkg 的 Node fetch 200。
16
+ - **远程索引**:`https://unpkg.com/dsh-memory-nebula@1.1.2/market/index.json` 经
17
+ `parseMarketIndex` 解析通过,1 个插件、版本 1.1.2;`marketInstallTarget` 返回
18
+ `dsh-memory-nebula@1.1.2`。
19
+ - **详情资产**:icon.svg(image/svg+xml)、locale/zh.json、docs/market.zh.md、
20
+ docs/assets/demo.jpg 均 200。
21
+ - **本包**:87/87 单测;release-check 1.1.2 全绿;干净安装 `--version` = 1.1.2。
22
+ - **发布**:npm `latest` = 1.1.2;registry 安装 `dsh-memory-nebula@1.1.2` 后 doctor 通过。
23
+ - **市场端**:DSH 索引配置后可在发现页搜索「记忆星图」并安装;若宿主网络无法访问 unpkg,
24
+ 改用本机 `file://` 索引或 npm 直装,不影响包本身。
25
+
5
26
  ## 1.1.1(2026-11-10)上架
6
27
 
7
28
  - **市场索引校验**:`market/index.json` 经 `@deepseek-ai/dsh-plugin-market-index` 的
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.1' // 和 package.json 同步(release-check 会核对)
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
@@ -1,101 +1,101 @@
1
- {
2
- "format": 1,
3
- "title": {
4
- "zh": "小代码酱的星图货架",
5
- "en": "Little Code Sauce's Nebula Shelf"
6
- },
7
- "description": {
8
- "zh": "给 DSH 用的记忆可视化与检索扩展。所有数据留在本机。",
9
- "en": "Memory visualization and recall for DSH. Everything stays on this machine."
10
- },
11
- "metadata": {
12
- "categories": {
13
- "memory": {
14
- "title": {
15
- "zh": "记忆与检索",
16
- "en": "Memory & recall"
17
- }
18
- }
19
- },
20
- "labels": {
21
- "local-first": {
22
- "title": {
23
- "zh": "本地优先",
24
- "en": "Local-first"
25
- }
26
- },
27
- "visualization": {
28
- "title": {
29
- "zh": "可视化",
30
- "en": "Visualization"
31
- }
32
- },
33
- "bilingual": {
34
- "title": {
35
- "zh": "中英双语",
36
- "en": "Bilingual"
37
- }
38
- }
39
- },
40
- "sortKeys": {
41
- "featured": {
42
- "title": {
43
- "zh": "推荐度",
44
- "en": "Featured"
45
- },
46
- "order": "desc"
47
- }
48
- }
49
- },
50
- "plugins": [
51
- {
52
- "name": "dsh-memory-nebula",
53
- "title": {
54
- "zh": "记忆星图",
55
- "en": "Memory Nebula"
56
- },
57
- "description": {
58
- "zh": "把 meow-memory / OpenViking 的记忆连成一张可交互的星图:检索、证据链、体检、范围快照与单文件分享。",
59
- "en": "Turn meow-memory / OpenViking memories into an interactive star map: recall, evidence chains, hygiene checks, scoped snapshots and single-file sharing."
60
- },
61
- "icon": "assets/icon.svg",
62
- "author": "主人 & 小代码酱",
63
- "homepage": "https://www.npmjs.com/package/dsh-memory-nebula",
64
- "metadata": {
65
- "category": "memory",
66
- "keywords": [
67
- "memory",
68
- "visualization",
69
- "recall",
70
- "knowledge graph",
71
- "meow-memory",
72
- "openviking",
73
- "记忆",
74
- "星图",
75
- "检索",
76
- "知识图谱"
77
- ],
78
- "labels": [
79
- "local-first",
80
- "visualization",
81
- "bilingual"
82
- ],
83
- "sortKeys": {
84
- "featured": 100
85
- }
86
- },
87
- "versions": [
88
- {
89
- "version": "1.1.1",
90
- "publishTimestamp": 1794324000,
91
- "source": {
92
- "type": "npm"
93
- },
94
- "engines": {
95
- "dsh": ">=0.2.2-rc.1"
96
- }
97
- }
98
- ]
99
- }
100
- ]
101
- }
1
+ {
2
+ "format": 1,
3
+ "title": {
4
+ "zh": "小代码酱的星图货架",
5
+ "en": "Little Code Sauce's Nebula Shelf"
6
+ },
7
+ "description": {
8
+ "zh": "给 DSH 用的记忆可视化与检索扩展。所有数据留在本机。",
9
+ "en": "Memory visualization and recall for DSH. Everything stays on this machine."
10
+ },
11
+ "metadata": {
12
+ "categories": {
13
+ "memory": {
14
+ "title": {
15
+ "zh": "记忆与检索",
16
+ "en": "Memory & recall"
17
+ }
18
+ }
19
+ },
20
+ "labels": {
21
+ "local-first": {
22
+ "title": {
23
+ "zh": "本地优先",
24
+ "en": "Local-first"
25
+ }
26
+ },
27
+ "visualization": {
28
+ "title": {
29
+ "zh": "可视化",
30
+ "en": "Visualization"
31
+ }
32
+ },
33
+ "bilingual": {
34
+ "title": {
35
+ "zh": "中英双语",
36
+ "en": "Bilingual"
37
+ }
38
+ }
39
+ },
40
+ "sortKeys": {
41
+ "featured": {
42
+ "title": {
43
+ "zh": "推荐度",
44
+ "en": "Featured"
45
+ },
46
+ "order": "desc"
47
+ }
48
+ }
49
+ },
50
+ "plugins": [
51
+ {
52
+ "name": "dsh-memory-nebula",
53
+ "title": {
54
+ "zh": "记忆星图",
55
+ "en": "Memory Nebula"
56
+ },
57
+ "description": {
58
+ "zh": "把 meow-memory / OpenViking 的记忆连成一张可交互的星图:检索、证据链、体检、范围快照与单文件分享。",
59
+ "en": "Turn meow-memory / OpenViking memories into an interactive star map: recall, evidence chains, hygiene checks, scoped snapshots and single-file sharing."
60
+ },
61
+ "icon": "assets/icon.svg",
62
+ "author": "主人 & 小代码酱",
63
+ "homepage": "https://www.npmjs.com/package/dsh-memory-nebula",
64
+ "metadata": {
65
+ "category": "memory",
66
+ "keywords": [
67
+ "memory",
68
+ "visualization",
69
+ "recall",
70
+ "knowledge graph",
71
+ "meow-memory",
72
+ "openviking",
73
+ "记忆",
74
+ "星图",
75
+ "检索",
76
+ "知识图谱"
77
+ ],
78
+ "labels": [
79
+ "local-first",
80
+ "visualization",
81
+ "bilingual"
82
+ ],
83
+ "sortKeys": {
84
+ "featured": 100
85
+ }
86
+ },
87
+ "versions": [
88
+ {
89
+ "version": "1.1.3",
90
+ "publishTimestamp": 1794332116,
91
+ "source": {
92
+ "type": "npm"
93
+ },
94
+ "engines": {
95
+ "dsh": ">=0.2.2-rc.1"
96
+ }
97
+ }
98
+ ]
99
+ }
100
+ ]
101
+ }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "dsh-memory-nebula",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "private": false,
5
- "description": "记忆星图 Memory Nebula —— 把 DSH 里所有记忆插件的记忆只读抽取出来,连成一张可交互的神经元星云;并提供跨项目记忆的扩散检索(spreading activation)。",
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
  }
@@ -240,8 +240,23 @@ if (!read('market/assets/icon.svg').includes('<svg')) fail('market 图标缺失
240
240
  if (!read('locale/zh.json').includes('docs/market.zh.md')) fail('locale/zh.json 没指向中文详情')
241
241
  if (!read('locale/en.json').includes('docs/market.en.md')) fail('locale/en.json 没指向英文详情')
242
242
  if (!read('docs/market.zh.md').includes(`dsh-memory-nebula@${pkg.version}`)) fail('中文详情缺市场索引步骤')
243
+ if (!read('docs/market.zh.md').includes('https://unpkg.com/')) fail('中文详情没走 unpkg 索引')
244
+ if (!read('docs/market.en.md').includes('https://unpkg.com/')) fail('英文详情没走 unpkg 索引')
243
245
  if (!pkg.files?.includes('market') || !pkg.files?.includes('locale')) fail('package.json files 没带 market/locale')
244
- ok('1.1.1 构件:市场索引 / 双语详情 / 图标')
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
+
245
260
 
246
261
 
247
262
  console.log(`\n发布检查:${pkg.name} v${pkg.version}\n`)