@sanqianx/project-knowledge 5.0.16-rc.4 → 5.0.16-rc.5

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.16-rc.4",
12
+ "version": "5.0.16-rc.5",
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,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.0.16-rc.5] - 2026-10-15
4
+
5
+ - 精确锁定 Workbench 0.13.2-rc.13:模型目录加载失败不再伪装成空目录;保留上次有效结果,提供明确错误与重试,打开菜单可恢复请求,关闭菜单后的迟到响应不会重开菜单。保存或删除供应商后不复用保存前的旧快照,普通菜单打开仍共享请求。
6
+ - 保留 rc.4 的引擎与向量检索修复;模型菜单错误不显示原始异常或凭据。补充连续保存的竞态回归及测试服务器模块隔离,安装版故障恢复仍须单独验收。
7
+ - Leader 负责关键开发和发布收尾,GLM 并行独立做故障测试与审查。候选发布到 next,不改变 latest。
8
+
3
9
  ## [5.0.16-rc.4] - 2026-10-14
4
10
 
5
11
  - 引擎 0.2.7-rc.7 复用同一次检索刚读取的知识正文,保留晚到响应后的文件与范围校验;vector-hub 1.0.8-rc.8 将有界查询缓存延长到 10 分钟,并防止旧请求失败删除新缓存。源码真实向量热查询 P95 为 1069ms,不代表安装版验收通过。
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+ const assert = require('node:assert/strict');
3
+ const fs = require('node:fs');
4
+ const path = require('node:path');
5
+ const vm = require('node:vm');
6
+
7
+ const helper = path.join(__dirname, 'helpers/spawn-server.js');
8
+ const calls = [];
9
+ const moduleObject = { exports: {} };
10
+ const inherited = {
11
+ KB_TERMINAL_URL: 'http://127.0.0.1:5760',
12
+ KB_VECTORHUB_URL: 'http://127.0.0.1:8787',
13
+ KB_EVENTBRIDGE_URL: 'http://127.0.0.1:8790',
14
+ KB_KNOWLEDGE_ENGINE_URL: 'http://127.0.0.1:5790',
15
+ };
16
+ vm.runInNewContext(fs.readFileSync(helper, 'utf8'), {
17
+ module: moduleObject,
18
+ require(id) {
19
+ if (id === 'child_process') return { spawn: (...args) => { calls.push(args); return { pid: 1 }; } };
20
+ if (id === 'fs') return { mkdtempSync: prefix => prefix + 'owned' };
21
+ if (id === '../../lib/runtime-control' || id === '../../lib/runtime-endpoint') return {};
22
+ return require(id);
23
+ },
24
+ process: { execPath: process.execPath, pid: process.pid, env: inherited },
25
+ });
26
+ const spawnServer = moduleObject.exports.spawnServer;
27
+ spawnServer({ root: path.resolve(__dirname, '../..'), port: 0, dataDir: 'isolated-data' });
28
+ const defaults = calls[0][2].env;
29
+ for (const key of Object.keys(inherited)) assert.equal(defaults[key], 'http://127.0.0.1:0', key + ' must not consult a live user module');
30
+ assert.equal(defaults.KB_DATA_DIR, 'isolated-data');
31
+ assert.equal(defaults.KB_MODULES_AUTOSTART, '0');
32
+ assert.equal(defaults.KB_MODULES_REGISTER, '0');
33
+ assert.notEqual(defaults.AI_CODING_EVENT_BRIDGE_HOME, process.env.AI_CODING_EVENT_BRIDGE_HOME);
34
+ const ownUrls = Object.fromEntries(Object.keys(inherited).map(key => [key, 'http://127.0.0.1:12345']));
35
+ spawnServer({ root: path.resolve(__dirname, '../..'), port: 0, dataDir: 'isolated-data', extraEnv: ownUrls });
36
+ for (const key of Object.keys(inherited)) assert.equal(calls[1][2].env[key], ownUrls[key], 'explicit owned fixture remains supported');
37
+ console.log('test-server-module-isolation-test PASS');
@@ -2,7 +2,9 @@
2
2
 
3
3
  ## 角色与边界
4
4
 
5
- Leader 负责知识检索、接口决策、任务派发、代码审查、独立复测和发布判断。GLM-5.3 负责限定范围内的实现与测试。最多两条独立执行线;修改相同文件、用户配置、运行实例、npm 安装和固定端口验收必须串行。
5
+ Leader 负责知识检索、关键开发、接口决策、打包升级和最终交付。GLM-5.3 主要负责独立故障测试、回归和代码审查,明确独立的小改动才单独派发。允许多条 GLM 检查线并行;修改相同文件、用户配置、运行实例、npm 安装和固定端口验收必须串行。真实性能测试单独运行,避免并发负载污染结果。
6
+
7
+ 先交付固定范围的可用版本,不因审查不断追加功能。每条检查线使用短任务合同与独立证据目录,发现问题交给 Leader 收敛修复;不重复跑已经绑定同一运行文件的完整源码回归。GLM token 充足不等于本机 CPU、内存、模型服务和文件锁无限,实际并发按资源与隔离条件安排。
6
8
 
7
9
  使用真实 Workbench,不以其他模型的原生子代理冒充 GLM。完全模式不是扩大授权:禁止自行清空数据、覆盖第三方配置、修改客户端信任记录或发布软件。
8
10
 
@@ -4,6 +4,18 @@
4
4
 
5
5
  2026-10-14 开始执行本轮计划。状态:**实施中,未完成系统验收,不更新 latest**。
6
6
 
7
+ 2026-10-15 收敛到候选 `5.0.16-rc.5`,精确锁定 Workbench `0.13.2-rc.13`,其余模块保留 rc.4 的已验收运行文件。Leader 负责关键开发与交付,GLM 独立并行故障测试、回归和审查;不新增产品功能。
8
+
9
+ rc.4 官方安装收据 `kb-registry-product-NPyWjR/registry-installation.json` 已通过内容与 integrity 核对,真实向量热查询 P95 为 1083.6643ms,固定留出集 Recall@5 为 1、MRR 为 0.9667。真实 MiniMax 领域/项目/全局记忆、工作台流式回答、单提交、跨项目并发与重启保真共 10 项通过;这些结果不等于本机原生客户端接入或另一台电脑私有语料验收。
10
+
11
+ rc.4 首次 Node 22 网页失败的历史原因仍无法确定,后续正常路径重复通过。另以一次 `/profiles` HTTP 503 在真实 Workbench iframe 中稳定复现了「首次失败后模型列表一直为空且不再请求」;两次失败记录保留。Workbench rc.12 已修复这一缺陷类,Leader 冻结源码回归 Node 22/24 各 362/362;新整包必须通过同一故障注入用例才能计为恢复。
12
+
13
+ 用户当前仍运行 rc.1。其六条索引失败已通过公开索引阶段重试恢复,知识正文、晋升时间和分析运行 ID 不变;原 `532d` 运行在操作前已成功,未重复分析。候选安装、原生客户端、新版保真升级与正式发布门禁仍待完成。
14
+
15
+ GLM 独立审查复现 rc.12 连续保存供应商时复用保存前快照,Leader 修复为保存后等待旧读取结束、再发起可共享的新读取;普通菜单仍 single-flight。两条新竞态测试先失败后修复。菜单异步重绘清空过滤词属于已记录的低风险体验限制,未作为核心修复扩展。
16
+
17
+ rc.5 首次外壳 Node 22 回归为 134/137:工作台密集并发输出期间暂时不可达,三个隔离测试仍读取默认真实模块而超时,首次失败收据保留。测试服务器现在默认使用不可连接的本地端口 0,真实模块场景必须显式传入自有服务地址;三个失败用例定向复测通过,完整冻结回归仍须重跑。此修复不调整生产请求超时或测试断言。
18
+
7
19
  运行基线:知识库 `5.0.16-rc.1`、Workbench `0.13.2-rc.10`、vendored 引擎 `0.2.7-rc.5`。发布 stable 标签仍为 `5.0.14`。
8
20
 
9
21
  候选 `5.0.16-rc.2`(`21f67dc`)已发布 `next`,锁定 Workbench rc.11、引擎 rc.6、vector-hub rc.5。独立验收发现 vector-hub 公开 ESM 入口不能加载,因此本候选不能通过全部门禁,待修复后推进下一候选;本机仍运行 rc.1。
@@ -9,20 +9,20 @@
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": "3316822d609f4a4db328596befcfc3c35c6dc2c289cacc80d8e0886db8f18b8c",
13
- "plugins/project-knowledge/.codex-plugin/plugin.json": "828b77c3c5bd03ae3f8b2c2e9743d57a6ccabfd26056b61fdfad884570288ecd",
14
- "plugins/project-knowledge/.mcp.json": "a987097f620b987223490012f6584a7fb66028026b5bc38431b31b296b6e76be"
12
+ "plugins/project-knowledge/.claude-plugin/plugin.json": "c23181cb440688eedd0a6e307ceda43a5e5553d847d4589ad14780d548b57bd3",
13
+ "plugins/project-knowledge/.codex-plugin/plugin.json": "991b0a4ae85318968e96b511508cae6a359c3d936b5d5bc99105570e95b171f0",
14
+ "plugins/project-knowledge/.mcp.json": "488fba785e30d53071b433bbf6339c8b4bd7733a7838c3d1e925cc4d1a86af45"
15
15
  },
16
16
  "modules": {
17
17
  "terminal": {
18
18
  "name": "@sanqianx/claude-ai-workbench",
19
19
  "installName": "claude-ai-workbench",
20
- "version": "0.13.2-rc.11",
20
+ "version": "0.13.2-rc.13",
21
21
  "files": {
22
22
  "LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
23
- "README.md": "7227e5dccce535f48d7e42c5f72c96f3d659d3a664476c0b304f461315a424c3",
23
+ "README.md": "beea9acbbcb7875406c0ce9704ade51eb546195b47ac01ce4627386b7d5f7054",
24
24
  "apps/agent-terminal/app.css": "ede36d9fdb1f7036e3453134c0d5a86197bfc30e3ac547a24b4fc1d17847277e",
25
- "apps/agent-terminal/app.js": "e666644cab48e2e355d3d31e33931bd5050939fd3acd1aef9860c006283c3741",
25
+ "apps/agent-terminal/app.js": "7494d0e4f11bf84f925a7182b6f1d59e7a8676208b43ff682bfacc5d7fce2a3e",
26
26
  "apps/agent-terminal/index.html": "cdffd5c535c81f56aba70ec5dd3bc060f59ec2abcdc8676b79c8f327126be605",
27
27
  "apps/ai-profile-settings-host/index.html": "bc158f68954506d2b8e43c690f28dbe931eff9a02b1524855ac17e74ea4df736",
28
28
  "apps/ai-profile-settings-host/page.css": "8b75cbf7f1ea5aaa92f2889390720ece310a8fd4b9ca38c890fa447d4323a557",
@@ -34,20 +34,20 @@
34
34
  "apps/minimal-test-host/README.md": "fa73136f4ee3865c2d91eb97b2e8c03679aa4688e44c1e1c8ec6e27d604b0de5",
35
35
  "docs/sdk/FILE_LAYOUT.md": "17882f96505c8161bfb66876684b9d2d3f50021a111b8b844502d3cb4e97870a",
36
36
  "docs/sdk/INTEGRATION.md": "d4c0c80d2d2fc610205102d703a429bfaa20f9f3a48f1718f5bab02ee90138df",
37
- "docs/sdk/openapi.yaml": "a686aba65e07f314b87326e3d15b824dd4676ebbd0d1d733f593dab10d07a655",
37
+ "docs/sdk/openapi.yaml": "8483e3eda18fbdd6c896e7ae428d4cc7ee16ec3bc8485da1c6dfbb987e68eaed",
38
38
  "docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
39
- "package.json": "e2ca3c4f2595c56eb42e9cb4311487c47d94eefb1187197797cf4128c41f420e",
39
+ "package.json": "61e2770c9a00b4abe2fa56b735f9a450c5ac076daf580e125f71562c6840435b",
40
40
  "packages/client/index.d.ts": "fb66b7b21ac936cddcb7f74543cf4f3bb7e80c169534ec249ab8ef2356224162",
41
41
  "packages/client/index.js": "a28fa3c38c13e8448cff4d3e0ec95ec2d541d5e57de4b5564fa2a65b2ae892c9",
42
- "packages/client/package.json": "b2ddf3f1bf3c6f11ddddeacd82be16cbca576bf9427c40c9edb3861f7ef30aee",
42
+ "packages/client/package.json": "852eea37302a4f8743a9246641fcd4bb026878323d08882ce9e528e5477bf2e2",
43
43
  "packages/client/README.md": "342dff9b1dcbc85fccc9b980ed3e4e455aa71133af1d0805b8431ea2ac564ef8",
44
44
  "packages/contracts/index.d.ts": "157f3cd80f4b27b53c63b2de41575d8332028be2e7491c4730e44b7302bd4dab",
45
45
  "packages/contracts/index.js": "5eeb195d9c4cc54dab064510684ae1350d325fbaf47ff824dad4a04a5bb67d11",
46
- "packages/contracts/package.json": "5a44115e2283e3a36a625a9ce6f3c38dfbc45d5b69b9c859dbefe735974ca407",
46
+ "packages/contracts/package.json": "c9b491a2bd3a4b3c3f20fba0e42a877d75474a79777567e47934c5d6814d74e0",
47
47
  "packages/contracts/README.md": "44d83a3cc508cec6c5c20dfa1f2c08d5ea03e3afb2853639fdc0a9cc8eb5b9c8",
48
48
  "packages/core/index.d.ts": "c95b24a13f8aeeb128497833cf298790563baca6036ea5d29a9d8daff53199d7",
49
49
  "packages/core/index.js": "825640d0edc7dd130f22da1f580d2cda355566a40b0b36e42e5f38909605bbfa",
50
- "packages/core/package.json": "ffb58104bc51633dd048ad63295b766af2eabc4932b4d4c0916d5d377267e9b8",
50
+ "packages/core/package.json": "25efb6c60e8b2256adc2202ddae585cd3d14b56d1951b3bbdb833a23dc3220db",
51
51
  "packages/core/README.md": "e222c546104a168f1038d95c6c4efb8e5603edd6145ab2cab79cab977fb710e5",
52
52
  "packages/server/bin/agent-terminal-server.js": "043dff4d76e3fd213b666a55e581ed1e72f9e5b8de6cb798fbf42bd39ed26861",
53
53
  "packages/server/bin/claude-workbench-server.js": "b03c730b6d86faf6974afea26c74109d59b1bbc1ecc656c1d6270258708694ac",
@@ -82,7 +82,7 @@
82
82
  "packages/server/lib/system-doctor.js": "2b0e858d69d8fb268eaed950c9883473ee9850684b532bc2db8e14674a974919",
83
83
  "packages/server/lib/ui-preferences-store.js": "e108cb22e7cc1f3438704913d5401e01de2c0e717eb2abd3bdc4727209393819",
84
84
  "packages/server/lib/workbench-service.js": "19781d2a27fa849e5508a5e233b29008b3ff18e1f10344615c371e5947601437",
85
- "packages/server/package.json": "dc01b9c56ec63a7113894bd12e7842aa49e86ca4e85527085f421412946ed3b0",
85
+ "packages/server/package.json": "91109d94332bab9ba058a8d2950147d42f051da42271e9396b3baba4df6ea580",
86
86
  "packages/server/README.md": "a34cfaa4f4e859008b44e2be8e1aafb56e97fe83e6129c968a8562945fa843f3",
87
87
  "packages/ui/ai-profile-settings.d.ts": "0551b6c6eda6d18ea89a976daddf01b2161195f4874fe2d67a57cd9ecc6ce643",
88
88
  "packages/ui/ai-profile-settings.js": "e92bbac67a1199d473e4e44b32d1cc76c5b6c79306d4fef9d9067a1bb6ec42ca",
@@ -90,7 +90,7 @@
90
90
  "packages/ui/claude-terminal.js": "96bd217a4a7e4792ae3fbaaf46249ecee13b0f4e01fc6d25a1b8b22d8f8fe00c",
91
91
  "packages/ui/index.d.ts": "e547ab39640fe7519fb367b78442dc8a2c51b2efd17b66f8b0a003b154b36ead",
92
92
  "packages/ui/index.js": "f4394aabd395938f5c3fe587e430471d4033e83945a9b9c7e0149ad4040982c9",
93
- "packages/ui/package.json": "6ea8f77640b11175ea0591c51bb9ee8354ae28ebe3d124ab1d8e3ffc21e23e86",
93
+ "packages/ui/package.json": "4ca5566453e06af0a497b7419e4c76cc7a0f55184c2c3d2f79392e5b78eee973",
94
94
  "packages/ui/README.md": "793c4a9c286fee23f39062a1976ca3afe9d2816dcdb55e156ba940e1ef514f89",
95
95
  "packages/ui/theme.css": "8f03a081272a7db11b196f7a70d0fafb1f8d954778f329f1ba53d110d9d5fd98",
96
96
  "src/assets/claude-prompts.json": "cb111f2e0a45afe8a31c251a504d1ab5375966ed61291660e61fd2efd77f6d9f",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanqianx/project-knowledge",
3
- "version": "5.0.16-rc.4",
3
+ "version": "5.0.16-rc.5",
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": {
@@ -86,7 +86,7 @@
86
86
  "@sanqianx/vector-hub": "1.0.8-rc.8",
87
87
  "buffer": "^6.0.3",
88
88
  "cheerio": "^1.2.0",
89
- "claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.11",
89
+ "claude-ai-workbench": "npm:@sanqianx/claude-ai-workbench@0.13.2-rc.13",
90
90
  "cross-spawn": "7.0.6",
91
91
  "dotenv": "^17.4.2",
92
92
  "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.16-rc.4",
5
+ "version": "5.0.16-rc.5",
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.16-rc.4",
3
+ "version": "5.0.16-rc.5",
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.16-rc.4"
11
+ "KB_PLUGIN_VERSION": "5.0.16-rc.5"
12
12
  }
13
13
  }
14
14
  }