@sanqianx/project-knowledge 5.0.17-rc.2 → 5.0.17

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.
@@ -9,7 +9,7 @@
9
9
  "plugins": [
10
10
  {
11
11
  "name": "project-knowledge",
12
- "version": "5.0.17-rc.2",
12
+ "version": "5.0.17",
13
13
  "source": "./plugins/project-knowledge",
14
14
  "description": "Search durable project decisions and implementation history through MCP."
15
15
  }
package/CHANGELOG.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # Changelog
2
2
 
3
- ## [5.0.17-rc.2] - 2026-10-15
3
+ ## [5.0.17] - 2026-10-15
4
4
 
5
5
  - 修复网页首屏被慢模块拖住、开始工作 Agent 探测同步阻塞与返回页面状态不刷新的问题;独立读取、明确失败状态和缓存保留,iframe 不重建。
6
6
  - 同源实时连接合并为每标签一条 WebSocket,保留独立模块 SSE,恢复时先读取快照并按游标续接;项目接线失败不再阻塞其他项目。
7
7
  - 工作台输出时向上滚轮立即暂停跟随,完整历史独立持久化并向前分页;旧 Claude 历史只读恢复,不再把有限事件缓存冒充全会话。
8
- - 精确锁定 Workbench 0.13.2-rc.16 与引擎 0.2.7-rc.10;补齐诊断和任务启动的异步发现旁路,保留 ZCode 注册表安装路径。候选验收不改变 latest,正式结果见 5.0.17 验收记录。
8
+ - 精确锁定 Workbench 0.13.2-rc.17 与引擎 0.2.7-rc.10;补齐诊断和任务启动的异步发现旁路,保留 ZCode 注册表安装路径,并阻止已中止或被替换的初始化迟到启动任务。最终候选已通过独立下载安装、真实 MiniMax 与向量闭环,正式包先发 next 验收后再晋升 latest,详见 5.0.17 验收记录。
9
9
 
10
10
  ## [5.0.16] - 2026-10-15
11
11
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## 发布状态
4
4
 
5
- 2026-10-15:候选验收和最终复核进行中,正式 `latest` 仍为 `5.0.16`。本文件不得被解读为正式版已发布。Electron、Windows 安装包和窄屏矩阵均不在本次范围;用户报告故障的另一台电脑尚需更新后回验。
5
+ 2026-10-15:最终候选 `5.0.17-rc.3` 验收通过,正在准备正式 `5.0.17` 的独立下载验收,`latest` 仍为 `5.0.16`。本文件不得被解读为正式版已放行。Electron、Windows 安装包和窄屏矩阵均不在本次范围;用户报告故障的另一台电脑尚需更新后回验。npm 内文档是打包时快照,正式包自己的验收结果在测试完成后追加到仓库当前文档。
6
6
 
7
7
  ## 交付范围
8
8
 
@@ -26,6 +26,7 @@
26
26
  | GLM-5.3 | Workbench 13 项定向审查;外壳 14 项当前通过,冻结基线 9 项预期失败。真实会话和报告位置见操作手册 |
27
27
  | 诊断补漏 | `98258aa`:runtime 改走异步解析,doctor 与扫描共用 ZCode 注册表后备发现;新增三项先红后绿,Workbench 全套 403 通过 |
28
28
  | 启动补漏 | `cbba73a`:GLM 同时指出任务与命令发现的同步 PATH 后备;改为一次异步解析,保留兼容同步导出,扫描中止信号传入子进程;新增先红后绿,Workbench 全套 404 通过 |
29
+ | 中止竞态 | `1b028da`:稳定复现异步初始化中止后仍启动 SDK;增加代次、权限和迟到结果防护,四种初始化中止/替换场景通过;Workbench 全套 405 通过,GLM 另独立复核 7 项通过 |
29
30
 
30
31
  GLM 报告分别保存在两个仓库的 `.local-test-data/ui-refresh-2026-10-15/`,不是生产知识文档。Leader 独立执行安装、真实模型和浏览器验收。
31
32
 
@@ -52,12 +53,13 @@ GLM 报告分别保存在两个仓库的 `.local-test-data/ui-refresh-2026-10-15
52
53
 
53
54
  ### 桌面浏览器
54
55
 
55
- 真实 Edge 正常桌面视口 1436×756,无尺寸覆盖、无横向溢出。
56
+ 真实 Edge 正常桌面视口:源码受控环境 1436×756、首个候选环境 1436×730,无尺寸覆盖、无横向溢出。
56
57
 
57
58
  - 源码受控五服务环境:八个真实标签页均加载工作台,每页 1 条 WebSocket / 2 个订阅;无同源六连接堵塞。
58
59
  - npm 候选真实模型环境:上下滚动、输出期间暂停跟随、切页保留草稿、断网恢复、引用保持、单连接复用通过。滚动后内容高度由 2233 增至 4495,阅读位置仍停留较早内容,而非被拉到底部。
59
60
  - 真实回答明确引用 `Knowledge has one writer: the engine promotion path. Preserve native workbench streaming and keep the product simple.`,不只匹配提交号。
60
61
  - 截图:`project-knowledge-base/.local-test-data/ui-refresh-2026-10-15/rc1-real-workbench.jpg`。
62
+ - 候选页面 DOMContentLoaded 149.7ms;明确置于前台后 10 次切页的下一帧反馈为 2.7–8.6ms,P95 8.6ms;DOM 投影为 1.2–2.8ms。此前未显式置前的样本约 1 秒,不能混作前台性能结果。重复切页后工作台 iframe 资源只加载一次,仍为 1 WebSocket / 2 订阅。
61
63
 
62
64
  ## 性能与保留的首次失败
63
65
 
@@ -68,7 +70,30 @@ GLM 报告分别保存在两个仓库的 `.local-test-data/ui-refresh-2026-10-15
68
70
  - 原全套回归暴露配置同步过程中知识根变化未再次下发;已修复合并任务的 dirty 循环,重测通过。
69
71
  - GLM 的 TTL 20ms 墙钟测试在负载下偶发失效,改为注入时钟并全套复跑;不将测试竞态当产品回归。
70
72
  - 诊断复核发现 runtime 同步旁路与 registry-only ZCode 遗漏;首个候选不晋升 latest,补测试和修复后重新验收。
73
+ - `5.0.17-rc.2` 已官方独立下载及哈希验证(收据 `kb-registry-product-DTTWep/registry-installation.json`),但后续中止竞态测试失败,因此不作为最终候选放行;未将 latest 指向该版本。
74
+ - Node 22 的首次外壳回归为 133 通过、1 失败,控制台分段输出未保存完整失败详情。完整报告重跑仍为 133/1,稳定复现为 `package-boundary-test.js`:独立 Node 二进制旁没有 npm,未传 `npm_execpath` 时查找了不存在的 npm-cli.js。单独复现已确认,属验收启动环境而非产品启动失败;首失败报告保存在 `.local-test-data/ui-refresh-2026-10-15/node22-missing-npm-path-failure.md`。修正启动参数后再次全量验收,不将前两次算作通过。
71
75
 
72
76
  ## 最终放行
73
77
 
74
- 待补:最终候选的官方收据、正式包收据及安装版重测结果。未填写之前不报告正式交付完成。
78
+ ### 最终候选 5.0.17-rc.3
79
+
80
+ 官方独立缓存收据 `D:\SanQian.Xu\.pk-acceptance-temp\kb-registry-product-2nbfre\registry-installation.json`;主包提交 `81e91a94a42d909b54acd6115a261b6b95581afd`;integrity `sha512-6gXEgElgtcTsLwk58ObZNGF5xYu7XCyH7WBH3PV7j2hpWLiQMVB56dxUPjdOHCy9kOTP/Er9VV2De9RQnj25Jg==`。Workbench 精确版本为 `0.13.2-rc.17`(`1b028da`),其余模块与 rc.1 一致。
81
+
82
+ | 门禁 | 结果 |
83
+ |---|---|
84
+ | 双 Node 源码 | Node 24:Workbench 405、外壳 134、引擎 185 通过/1 跳过;Node 22.23.3:Workbench 405、外壳 134、引擎 185 通过/1 跳过。外壳修正验收启动参数的全套为 221944ms,报告 `node22-final-pass.md` |
85
+ | 官方安装 | 主包和四模块精确版本、官方 integrity、产品资源哈希、vendored 40 文件通过,无兄弟源码兜底 |
86
+ | 生命周期 | `2nbfre/acceptance-data/installed-*-acceptance.json`:四模块守护重启、CLI 大写 STOP、全部受管子进程正常退出通过 |
87
+ | 真实维护 | 隔离根 `智脑桌面验收-6rT60F`,`real-agent-rc3-refresh-acceptance.json`:单提交 `5c247b6b198ee6a8c9743553cf62daa93ae7353b`,双项目 `082da6fa`、`bc41d83d` 均完成晋升/索引/检索,分析区间真实重叠 |
88
+ | 真向量 | 同一 npm 候选的实际语义查询返回 `hybrid+markdown-truth`,9 个校验向量片段,结果含 `index:vector-hub`;不是 SHA 文本命中冒充向量 |
89
+ | 真实网页任务 | MiniMax-M3.1-Flash-Preview,两轮以上真实输出,完整 SHA 与策略原文均引用;中止后同会话立即继续并自然 idle,后端核验 246 个文本增量事件;`real-workbench-acceptance.json` |
90
+ | 项目与刷新 | 真实任务中 A→B→A,B 无 A 会话,A 恢复原会话和未发送草稿;iframe 资源只加载一次,仍为 1 WebSocket/2 订阅,无横向溢出、控制台错误为空 |
91
+ | 工作中滚轮 | 长回答中向上滚动,随后内容高度增长至 5000、阅读位置仍为 2316,距底部超过 2000;回到底部入口出现,不再反复拉到底 |
92
+ | 完整历史 | 另一个明确的模型替身隔离环境 `智脑桌面验收-aKjUKi`:包内服务发送 25 轮,API 20+5,网页最终显示 01 至 25 全部记录;置顶自动补页先完成导致一次按钮定位失效,未冒称该次按钮点击成功;后台/DOM 结果均单独核验 |
93
+ | 截图 | `.local-test-data/ui-refresh-2026-10-15/rc3-real-workbench.jpg`、`rc3-complete-history.jpg` |
94
+
95
+ 真实任务和替身长历史测试分开记录,不能将替身回答计入真实模型通过。原用户数据、供应商设置、5757 生产实例和第三方 Hook 未改动。
96
+
97
+ ### 正式包
98
+
99
+ 待补:正式包自己的官方收据、安装版重测及 latest 晋升结果。未填写之前不报告正式交付完成。
@@ -9,16 +9,16 @@
9
9
  "plugins/project-knowledge/hooks/codex.json": "216e03c07295606ef6ebb2c4f669ad0d790b5e7c4f3f34600488033db75e4239",
10
10
  "plugins/project-knowledge/scripts/context-hook.cjs": "da666153ad5723592cce42d25337ae649f7d93e43fab76b3c6d1263933de063f",
11
11
  "plugins/project-knowledge/scripts/mcp-launcher.cjs": "7c68830b5c73eb53ef030756a4de33987f7eab6b1a6cc15602835aac3f954893",
12
- "plugins/project-knowledge/.claude-plugin/plugin.json": "ac5ff4ed239bfae7762e8834d18a9ff074ccd31700b316176f02e95a5ab98305",
13
- "plugins/project-knowledge/.codex-plugin/plugin.json": "3a7535f7a4a964f5d13e05d2b801e393ba3ff296a2b80a06afc9e8dbe0762738",
14
- "plugins/project-knowledge/.mcp.json": "857e437c807db8445a88a4ced6b0f94db0141f75f7a8ef8640db73adc61a4356",
12
+ "plugins/project-knowledge/.claude-plugin/plugin.json": "0cc5384cb0c368e79550077587eb64b69a57bcd401af545be2b7c97dae3c13d0",
13
+ "plugins/project-knowledge/.codex-plugin/plugin.json": "6968e066cc84b2d91034b1279d90c256415548bc9518fe62ae7f2055ef8e013a",
14
+ "plugins/project-knowledge/.mcp.json": "63dab0b2484b49dce2ab4565595e030a7c88e4196bc35a54d14445ff24399921",
15
15
  "ui/live-client.js": "0d81fa894c629bb839e1931fc3c5ebad4d831aae8232d6ce8c0f542e9e3559e8"
16
16
  },
17
17
  "modules": {
18
18
  "terminal": {
19
19
  "name": "@sanqianx/claude-ai-workbench",
20
20
  "installName": "claude-ai-workbench",
21
- "version": "0.13.2-rc.16",
21
+ "version": "0.13.2-rc.17",
22
22
  "files": {
23
23
  "LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
24
24
  "README.md": "43938c8a64397d340dcf633edc40a7cea7dd8a95b5f82cf612b2c15b66c380b6",
@@ -35,20 +35,20 @@
35
35
  "apps/minimal-test-host/README.md": "fa73136f4ee3865c2d91eb97b2e8c03679aa4688e44c1e1c8ec6e27d604b0de5",
36
36
  "docs/sdk/FILE_LAYOUT.md": "17882f96505c8161bfb66876684b9d2d3f50021a111b8b844502d3cb4e97870a",
37
37
  "docs/sdk/INTEGRATION.md": "d4c0c80d2d2fc610205102d703a429bfaa20f9f3a48f1718f5bab02ee90138df",
38
- "docs/sdk/openapi.yaml": "c31e768d76b79b8edd8f0f47ccb0ff9ca71e92ced7dba277139f270fe59e6508",
38
+ "docs/sdk/openapi.yaml": "7c7dd11f5b261cf92cd4d64f8b1eeddd56b79f2617fa7236107dc185a02d2ce3",
39
39
  "docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
40
- "package.json": "60f2ed94815f2d05c5cf45db88d5b31af5cb6a922e94d40b583ca0d2fbc81806",
40
+ "package.json": "20169c89b949300b9f3ba325b989f6a7aabf1a11097e31f898094eb5956863d5",
41
41
  "packages/client/index.d.ts": "587a66845052dc5cc03c4f41d678808140ea258fdf914be1c6dd2f6c07c1aff1",
42
42
  "packages/client/index.js": "6c7abce75086b68c18b9fdab372eff8b70d4bb81da6e7e0f46e4af57de0c523d",
43
- "packages/client/package.json": "e505380fc32e73574feb01a8cbefefdec42c184fffbe4fab5820b29c1acaf6b4",
43
+ "packages/client/package.json": "0b1a9727003087a25b66e5d99a860785d9fcd5d008dbfc514547d791b2cb9e46",
44
44
  "packages/client/README.md": "342dff9b1dcbc85fccc9b980ed3e4e455aa71133af1d0805b8431ea2ac564ef8",
45
45
  "packages/contracts/index.d.ts": "109ed9559b23f92b3840c484b9dd7f293a46866a3937a52e631e52692bb41927",
46
46
  "packages/contracts/index.js": "5eeb195d9c4cc54dab064510684ae1350d325fbaf47ff824dad4a04a5bb67d11",
47
- "packages/contracts/package.json": "dacadbd36116e4d6f1dfccd8796536f8d5270795e5a718b16529d5bb428ecec4",
47
+ "packages/contracts/package.json": "b79a3fdd09c635b2645ecab11ab6e789d1883aeac4f13d35dc11f4f09947808d",
48
48
  "packages/contracts/README.md": "44d83a3cc508cec6c5c20dfa1f2c08d5ea03e3afb2853639fdc0a9cc8eb5b9c8",
49
49
  "packages/core/index.d.ts": "c95b24a13f8aeeb128497833cf298790563baca6036ea5d29a9d8daff53199d7",
50
50
  "packages/core/index.js": "825640d0edc7dd130f22da1f580d2cda355566a40b0b36e42e5f38909605bbfa",
51
- "packages/core/package.json": "3aa5fb422294166d0f68d698623083091a973b02b4741d481b267ab56436051d",
51
+ "packages/core/package.json": "271a20f55ca486cd9a788b857381d8997c96de17029516bacd1dee4a3f1a3573",
52
52
  "packages/core/README.md": "e222c546104a168f1038d95c6c4efb8e5603edd6145ab2cab79cab977fb710e5",
53
53
  "packages/server/bin/agent-terminal-server.js": "043dff4d76e3fd213b666a55e581ed1e72f9e5b8de6cb798fbf42bd39ed26861",
54
54
  "packages/server/bin/claude-workbench-server.js": "b03c730b6d86faf6974afea26c74109d59b1bbc1ecc656c1d6270258708694ac",
@@ -85,7 +85,7 @@
85
85
  "packages/server/lib/system-doctor.js": "d098a046f425e90ef25209be69d78beefdfd9c2af92f08068a9bfc52053a8f7d",
86
86
  "packages/server/lib/ui-preferences-store.js": "e108cb22e7cc1f3438704913d5401e01de2c0e717eb2abd3bdc4727209393819",
87
87
  "packages/server/lib/workbench-service.js": "a9cea8a68bee8dd93a705c54d747794fbd47a3694d6194ce739e6030e62da2b6",
88
- "packages/server/package.json": "ecb314fb08b33cc624bf7daa7d9acfe09ea13d898ba3e8998c95ea4c8dbde653",
88
+ "packages/server/package.json": "d59b110305fd9e428d8e3d8240d955ee2d84a1af7ad923d7f19df05392e7b912",
89
89
  "packages/server/README.md": "a34cfaa4f4e859008b44e2be8e1aafb56e97fe83e6129c968a8562945fa843f3",
90
90
  "packages/ui/ai-profile-settings.d.ts": "0551b6c6eda6d18ea89a976daddf01b2161195f4874fe2d67a57cd9ecc6ce643",
91
91
  "packages/ui/ai-profile-settings.js": "e92bbac67a1199d473e4e44b32d1cc76c5b6c79306d4fef9d9067a1bb6ec42ca",
@@ -93,7 +93,7 @@
93
93
  "packages/ui/claude-terminal.js": "96bd217a4a7e4792ae3fbaaf46249ecee13b0f4e01fc6d25a1b8b22d8f8fe00c",
94
94
  "packages/ui/index.d.ts": "e547ab39640fe7519fb367b78442dc8a2c51b2efd17b66f8b0a003b154b36ead",
95
95
  "packages/ui/index.js": "f4394aabd395938f5c3fe587e430471d4033e83945a9b9c7e0149ad4040982c9",
96
- "packages/ui/package.json": "307be1ba3e43a0880659dca06a8f272ebe0c9cded29722b98d2c6d5ccef9271e",
96
+ "packages/ui/package.json": "6bc87d45f6df2e1d8de5784dfd5a99b473d35eff72590da026d3bf8fefcccc18",
97
97
  "packages/ui/README.md": "793c4a9c286fee23f39062a1976ca3afe9d2816dcdb55e156ba940e1ef514f89",
98
98
  "packages/ui/theme.css": "8f03a081272a7db11b196f7a70d0fafb1f8d954778f329f1ba53d110d9d5fd98",
99
99
  "src/assets/claude-prompts.json": "cb111f2e0a45afe8a31c251a504d1ab5375966ed61291660e61fd2efd77f6d9f",
@@ -106,7 +106,7 @@
106
106
  "src/backend/lib/ai-vendor-presets.js": "02c6de9c2e89ad0286426e8eb4900c3c6a4960ef0e8f9d27ffb5836062abfbb2",
107
107
  "src/backend/lib/ai-workspace.js": "969917f26cd0b0a272932714819d838a2bab2a5aac5c4e946647dfa3afa479bf",
108
108
  "src/backend/lib/automation-config.js": "c23b868bbcfbcece4465c9c939faccaef582667e858f3f36fc7b6d19bcd545e6",
109
- "src/backend/lib/claude-cli-runner.js": "9dd2bd57bb0247d683217c21cfbfea46f244abe0b36d0dbc0e26d915a8cbdb7f",
109
+ "src/backend/lib/claude-cli-runner.js": "957231165f52eea5cd3c6c557d279199fc3924933d7a280f737e211abf3b6342",
110
110
  "src/backend/lib/data-dir.js": "a62d96d1ab538e37690ad31fe4f51e84120b55b6bc767661ed98ad9242f879db",
111
111
  "src/backend/lib/llm-client.js": "76d1a73fbea445b5ac34c23d1a3b084e0884c5efed6f7d3b9ed76d406d2cd038",
112
112
  "src/backend/lib/model-context-windows.js": "f64f7c995143407b7390105087e3ebcd56a5a3ba2fd3019478a86f9e3c6b7896",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanqianx/project-knowledge",
3
- "version": "5.0.17-rc.2",
3
+ "version": "5.0.17",
4
4
  "description": "Knowledge base manager with Git integration, AI-driven analysis, and bilingual (zh-CN/en-US) knowledge output",
5
5
  "main": "_site/server.js",
6
6
  "scripts": {
@@ -88,7 +88,7 @@
88
88
  "@sanqianx/vector-hub": "1.0.8-rc.8",
89
89
  "buffer": "^6.0.3",
90
90
  "cheerio": "^1.2.0",
91
- "claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.16",
91
+ "claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.17",
92
92
  "cross-spawn": "7.0.6",
93
93
  "dotenv": "^17.4.2",
94
94
  "gpt-tokenizer": "^3.4.0",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
3
3
  "name": "project-knowledge",
4
4
  "hooks": "./hooks/claude.json",
5
- "version": "5.0.17-rc.2",
5
+ "version": "5.0.17",
6
6
  "description": "Read durable project decisions and implementation history from Project Knowledge.",
7
7
  "author": {
8
8
  "name": "SanQianX",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-knowledge",
3
- "version": "5.0.17-rc.2",
3
+ "version": "5.0.17",
4
4
  "description": "Read durable project decisions and implementation history from Project Knowledge.",
5
5
  "author": {
6
6
  "name": "SanQianX",
@@ -8,7 +8,7 @@
8
8
  "const fs=require('fs'),path=require('path'),os=require('os');const PKG='@sanqianx/project-knowledge',SC='project-knowledge/integration-runtime/v1';let f='';const root=process.env.CLAUDE_PLUGIN_ROOT||process.env.PLUGIN_ROOT;if(root){f=path.join(root,'scripts','mcp-launcher.cjs');if(!fs.existsSync(f))f=''}if(!f){const dd=process.env.KB_DATA_DIR||path.join(os.homedir(),'.project-knowledge-v5');try{const bp=path.join(dd,'integration-runtime.json');const st=fs.statSync(bp);if(st.isFile()&&st.size<=32768){const b=JSON.parse(fs.readFileSync(bp,'utf8'));if(b&&b.schema===SC&&b.packageName===PKG&&typeof b.packageRoot==='string'&&path.isAbsolute(b.packageRoot)){const c=path.join(b.packageRoot,'plugins','project-knowledge','scripts','mcp-launcher.cjs');const rr=fs.realpathSync(b.packageRoot),cr=fs.realpathSync(c);const rel=path.relative(rr,cr);if(rel&&rel!=='..'&&!rel.startsWith('..'+path.sep)&&!path.isAbsolute(rel)&&fs.statSync(cr).isFile())f=cr}}}catch(e){}}if(!f){console.error('[project-knowledge-mcp] 未能通过受信任插件根或已验证的安装绑定定位启动器,已停止;不访问网络,也不加载工作目录源码。');process.exit(127)}require(f);"
9
9
  ],
10
10
  "env": {
11
- "KB_PLUGIN_VERSION": "5.0.17-rc.2"
11
+ "KB_PLUGIN_VERSION": "5.0.17"
12
12
  }
13
13
  }
14
14
  }