@sanqianx/project-knowledge 5.0.16-rc.3 → 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.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +12 -0
- package/_modules/knowledge-engine/README.md +1 -1
- package/_modules/knowledge-engine/package.json +1 -1
- package/_modules/knowledge-engine/src/retrieval.js +5 -1
- package/_modules/knowledge-engine/src/runtime/knowledge-retrieval-service.js +5 -1
- package/_site/_test/test-server-module-isolation-test.js +37 -0
- package/docs/leader-glm-workbench-playbook.md +4 -2
- package/docs/release-5.0.16-acceptance.md +25 -4
- package/module-runtime-manifest.json +22 -22
- package/package.json +3 -3
- package/plugins/project-knowledge/.claude-plugin/plugin.json +1 -1
- package/plugins/project-knowledge/.codex-plugin/plugin.json +1 -1
- package/plugins/project-knowledge/.mcp.json +1 -1
- package/vendor-manifest.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
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
|
+
|
|
9
|
+
## [5.0.16-rc.4] - 2026-10-14
|
|
10
|
+
|
|
11
|
+
- 引擎 0.2.7-rc.7 复用同一次检索刚读取的知识正文,保留晚到响应后的文件与范围校验;vector-hub 1.0.8-rc.8 将有界查询缓存延长到 10 分钟,并防止旧请求失败删除新缓存。源码真实向量热查询 P95 为 1069ms,不代表安装版验收通过。
|
|
12
|
+
- 锁定 vector-hub 1.0.8-rc.8(ebf6f586a534c4b851c919c53a5536671cc8bd12),保留 Workbench 0.13.2-rc.11 与 bridge 0.7.2;四个模块集与官方 npm tarball 双向逐字节核对(vendored 引擎 40、Workbench 96、vector-hub 59、bridge 38)。
|
|
13
|
+
- 候选不改变 latest;完整安装版和原生客户端验收通过后才允许晋升。
|
|
14
|
+
|
|
3
15
|
## [5.0.15] - 2026-10-13
|
|
4
16
|
|
|
5
17
|
- 冻结 rc.5 已验收的中文 BM25 与可校验向量片段融合、本项目进度与跨范围上下文、无可靠匹配诊断及离线 Claude 插件接入。
|
|
@@ -76,7 +76,7 @@ node src/bin.js serve [--port 5790] [--host 127.0.0.1] [--data DIR]
|
|
|
76
76
|
|
|
77
77
|
开发前 `/api/context` 复用正式检索与记忆适用范围校验,不运行分析模型、不写知识树。默认本项目优先、相关时补充所属领域;适用记忆独立准备,即使需求没有偏好关键词也保留。完整注入最多 8,000 字符,记忆最多 3,000 字符;剩余事实预算本项目保留 70%,领域参考最多 30%,不凑满低质量结果。候选、忽略、失效及未同步投影不进入上下文,向量故障明确标为 `file-fallback`。输入的凭据样式在向量查询前脱敏,不记录原需求或知识正文。读取日志的 `knowledge.context.prepared` 只证明准备完成,不能冒充模型送达证据。
|
|
78
78
|
|
|
79
|
-
检索排序 `project-knowledge/ranking-v2` 在当前文件片段上使用中文分词 BM25 与向量片段 RRF 融合,不直接叠加原始分数。vector-hub 的可选 `resultLevel=chunk` 返回 LF 规范化正文哈希及半开字符范围;匹配只影响相应片段,不扩散至整篇。已校验范围不足半个词法分块时,引擎从当前规范正文按同一半开坐标系截取独立片段候选,进入同一 RRF 融合,纯语义命中不因分块尺寸不一致而丢失;重复段落按文档顺序定位,周期性重复文本不得把后续分块拉回更早的重复位置伪造向量证据。词法分块器为版本 2:标题边界围栏感知,代码围栏内的 `#` 注释不再切成伪小节,分块几何随版本号封入 documentHash。既有 v5 数据的 version-1 词法缓存因此哈希失配,经当前文件、版本与哈希校验走安全 delta overlay 按需重建派生索引;知识正文与来源不改写,不做全量分析,也不强制全量 embedding 索引重建,向量行按正文哈希独立校验不受影响。健康信息只记录召回、合并、截取与各类拒绝计数,不回显知识正文。原文变化、删除、项目归属变化及记忆失效都会重新验证;未知或未标定模型不能只凭高向量分返回知识。`retrieval-policy.json` 的 embo-01 / 1536
|
|
79
|
+
检索排序 `project-knowledge/ranking-v2` 在当前文件片段上使用中文分词 BM25 与向量片段 RRF 融合,不直接叠加原始分数。vector-hub 的可选 `resultLevel=chunk` 返回 LF 规范化正文哈希及半开字符范围;匹配只影响相应片段,不扩散至整篇。已校验范围不足半个词法分块时,引擎从当前规范正文按同一半开坐标系截取独立片段候选,进入同一 RRF 融合,纯语义命中不因分块尺寸不一致而丢失;重复段落按文档顺序定位,周期性重复文本不得把后续分块拉回更早的重复位置伪造向量证据。词法分块器为版本 2:标题边界围栏感知,代码围栏内的 `#` 注释不再切成伪小节,分块几何随版本号封入 documentHash。既有 v5 数据的 version-1 词法缓存因此哈希失配,经当前文件、版本与哈希校验走安全 delta overlay 按需重建派生索引;知识正文与来源不改写,不做全量分析,也不强制全量 embedding 索引重建,向量行按正文哈希独立校验不受影响。健康信息只记录召回、合并、截取与各类拒绝计数,不回显知识正文。原文变化、删除、项目归属变化及记忆失效都会重新验证;未知或未标定模型不能只凭高向量分返回知识。`retrieval-policy.json` 的 embo-01 / 1536 维门槛来自固定语料的训练问题族,测试问题族不参与选择;不是对任意语料准确率的保证。单次检索内,正文阶段复用扫描阶段刚读取的同一篇文件内容(请求内私有复用,不跨请求缓存正文);异步等待后的有界最终校验仍重读真实文件核对文档哈希。
|
|
80
80
|
|
|
81
81
|
普通搜索每篇最多两个互补片段,精确提交与源文件仍优先。`search` 增加 `intent`、`rankingVersion`、`matchStatus`、`currentProjectStatus` 和 `matchReason` 等兼容字段;最近进度优先当前项目维护历史,时间来源区分提交依据、晋升和 mtime 回退。问候不进行主题召回,短追问仅复用同项目同会话五分钟内仍有效的引用,引用缓存只在内存中且有界,不保存原对话。索引故障与“本次无可靠匹配”不等于知识为空。
|
|
82
82
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanqianx/ai-coding-knowledge-engine",
|
|
3
|
-
"version": "0.2.7-rc.
|
|
3
|
+
"version": "0.2.7-rc.7",
|
|
4
4
|
"description": "Knowledge engine module for project-knowledge: commit-boundary triggered knowledge analysis/generation (trigger plane) and retrieval for development assistants (retrieval plane).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "src/server.js",
|
|
@@ -40,7 +40,10 @@ class EngineRetrieval extends KnowledgeRetrievalService {
|
|
|
40
40
|
for (const [id, c] of scanned.candidates) {
|
|
41
41
|
const key = `${c.spaceId}:${c.entryId}`;
|
|
42
42
|
try {
|
|
43
|
-
if (!bodies.has(key))
|
|
43
|
+
if (!bodies.has(key)) {
|
|
44
|
+
const source = scanned.sources && scanned.sources.get(key);
|
|
45
|
+
bodies.set(key, ranking.bodyText(source !== undefined ? source : fs.readFileSync(path.join(c.knowledgePath, c.entryId), 'utf8')));
|
|
46
|
+
}
|
|
44
47
|
} catch { scanned.candidates.delete(id); }
|
|
45
48
|
}
|
|
46
49
|
// The canonical chunker emits authoritative half-open offsets into the same
|
|
@@ -150,6 +153,7 @@ class EngineRetrieval extends KnowledgeRetrievalService {
|
|
|
150
153
|
result.candidates.set(id, candidate);
|
|
151
154
|
}
|
|
152
155
|
result.scopeHealth.push(...extra.scopeHealth);
|
|
156
|
+
if (extra.sources) for (const [sourceKey, sourceMarkdown] of extra.sources) result.sources.set(sourceKey, sourceMarkdown);
|
|
153
157
|
return result;
|
|
154
158
|
}
|
|
155
159
|
async recallIndex(scopes, query, current, health, bodies) {
|
|
@@ -113,6 +113,7 @@ class KnowledgeRetrievalService {
|
|
|
113
113
|
|
|
114
114
|
scanCurrent(scopes) {
|
|
115
115
|
const candidates = new Map();
|
|
116
|
+
const sources = new Map();
|
|
116
117
|
const scopeHealth = [];
|
|
117
118
|
for (const scope of scopes) {
|
|
118
119
|
const state = this.projectStore.readState(scope.projectId);
|
|
@@ -123,6 +124,9 @@ class KnowledgeRetrievalService {
|
|
|
123
124
|
for (const filePath of files) {
|
|
124
125
|
const entryId = path.relative(scope.knowledgePath, filePath).replace(/\\/g, '/');
|
|
125
126
|
const markdown = fs.readFileSync(filePath, 'utf8');
|
|
127
|
+
// Request-local only: the bodies stage of this same retrieval reuses
|
|
128
|
+
// this exact read; nothing is cached across requests.
|
|
129
|
+
sources.set(`${scope.spaceId}:${entryId}`, markdown);
|
|
126
130
|
const documentHash = documentSha256(`chunker:${CHUNKER_VERSION}\n${markdown}`);
|
|
127
131
|
const metadata = parseKnowledgeMetadata(markdown);
|
|
128
132
|
const title = titleFromMarkdown(markdown, path.basename(entryId, '.md'));
|
|
@@ -168,7 +172,7 @@ class KnowledgeRetrievalService {
|
|
|
168
172
|
deletedEntries,
|
|
169
173
|
});
|
|
170
174
|
}
|
|
171
|
-
return { candidates, scopeHealth };
|
|
175
|
+
return { candidates, scopeHealth, sources };
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
async recallIndex(scopes, query, current, health) {
|
|
@@ -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
|
|
5
|
+
Leader 负责知识检索、关键开发、接口决策、打包升级和最终交付。GLM-5.3 主要负责独立故障测试、回归和代码审查,明确独立的小改动才单独派发。允许多条 GLM 检查线并行;修改相同文件、用户配置、运行实例、npm 安装和固定端口验收必须串行。真实性能测试单独运行,避免并发负载污染结果。
|
|
6
|
+
|
|
7
|
+
先交付固定范围的可用版本,不因审查不断追加功能。每条检查线使用短任务合同与独立证据目录,发现问题交给 Leader 收敛修复;不重复跑已经绑定同一运行文件的完整源码回归。GLM token 充足不等于本机 CPU、内存、模型服务和文件锁无限,实际并发按资源与隔离条件安排。
|
|
6
8
|
|
|
7
9
|
使用真实 Workbench,不以其他模型的原生子代理冒充 GLM。完全模式不是扩大授权:禁止自行清空数据、覆盖第三方配置、修改客户端信任记录或发布软件。
|
|
8
10
|
|
|
@@ -50,7 +52,7 @@ Leader 负责知识检索、接口决策、任务派发、代码审查、独立
|
|
|
50
52
|
|
|
51
53
|
先解析实际 Git 根目录并检索已有知识,再对照当前源码。知识文件只读;不手写最终知识、staging 或引擎状态。源文件修改使用 `apply_patch`,不得混入用户已有改动。
|
|
52
54
|
|
|
53
|
-
派发前验证 GLM
|
|
55
|
+
派发前验证 GLM 的执行环境能调用补丁工具,不只写一句要求。本机已验证的直接入口是隐藏运行标志 `C:/Users/SanQian/AppData/Local/OpenAI/Codex/bin/2e5e00daee91c61d/codex.exe --codex-run-as-apply-patch`:它不是可见子命令,`--help` 不列出,不能以“子命令不存在”判定入口缺失;用 Node `spawnSync(exe, ['--codex-run-as-apply-patch', patch], { encoding: 'utf8', windowsHide: true })` 传入完整 apply_patch 文本调用,证据 `glm-plan-5.0.16/P2/patch-entry-probe.txt`(真实 Add File 返回 0)。空补丁以 exit 1 结束且仅输出 `No files modified`,属正常空结果,不能据此判定入口不可用。绝不能用 `codex exec` 当补丁器——那会调用模型。也可通过 `Get-Command apply_patch` 找到包装器入口并核对实际指向的程序。若 GLM 没有可用入口,应交付补丁正文由 Leader 应用,而不是改用 `Write`、`Edit` 或 shell 写文件。发现违反方式时保留已有成果,显式中止并在同一会话纠正续跑,说明中止原因,不伪称运行超时。
|
|
54
56
|
|
|
55
57
|
补丁方式约束包括报告和原生 Agent 的记忆文件,不只是仓库源码。任务经验写入指定验收目录;不得自行编辑用户 memory。若发现越界,先核对会话是否已经结束,再按实际编辑记录恢复自己造成的差异,不能删除或覆盖原有用户内容。任务合同同时给出已验证的 Node 二进制、npm-cli 与仓库外临时目录,避免重复下载运行时或让测试继承 Workbench 的服务配置。
|
|
56
58
|
|
|
@@ -4,10 +4,24 @@
|
|
|
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。
|
|
10
22
|
|
|
23
|
+
候选 `5.0.16-rc.3`(`fb6dd299`)已发布 `next` 并通过官方下载与内容核对(收据 `kb-registry-product-wCnOJ2/registry-installation.json`;本轮验收报告一律绑定该官方安装身份,旧的同名 rc3 报告不计入本轮)。模块:Workbench `0.13.2-rc.11`、引擎 `0.2.7-rc.6`、vector-hub `1.0.8-rc.7`、bridge `0.7.2`。真实 fixture 多数门禁已通过,但两次真实向量性能复测失败(见下);本机仍运行 rc.1,latest 仍为 `5.0.14`,未完成系统验收。
|
|
24
|
+
|
|
11
25
|
基线源码:外壳 `669f9ea`,引擎 `41726f5`。用户已有 desktop、原型和其他未提交文件不属于本轮。
|
|
12
26
|
|
|
13
27
|
## 已有真实结果
|
|
@@ -35,19 +49,26 @@
|
|
|
35
49
|
- E1 末尾使用原生 Edit 给 Claude 用户记忆追加了一句网络测试说明,超出限定范围。核对时会话已经 idle;Leader 仅通过补丁撤回该句,保留原内容,未中断其他会话。后续派发明确禁止编辑用户 memory,并继续审核实际文件操作。
|
|
36
50
|
- GLM 首批新增测试使用原生 `Write`,不符合派发的补丁工具约束。Leader 显式中止两轮,保留文件和会话,并提供本机已有补丁工具路径;原会话续跑均收到 accepted 回执。此中止属于流程纠正,不是 runtime-timeout,也没有重启知识库或修改默认模型。
|
|
37
51
|
- A1 测试因继承 `KB_DATA_DIR` 在用户 Workbench 数据目录误建一份 237 字节运行绑定。Leader 核对字段、创建时间、无链接及安装版不存在启动器后,只将该测试文件可恢复移动到 `glm-plan-5.0.16/A1/unintended-user-binding.json`,前后 SHA256 相同;知识、历史、凭据与客户端配置未改。A2 必须覆盖测试环境隔离与只读状态检查。
|
|
52
|
+
- rc.3 官方下载整包核对通过(`retrieval-rc3-registry24-1791981966597`);源码回归通过:外壳 Node 22、24 各 137/137,引擎各 155/155,vector-hub 各 64/64。绑定官方收据的安装版网页、故障、生命周期在 Node 22/24 通过;Workbench、UI/CLI/MCP 知识面、真实 1536 维索引、真实单提交与并发提交在 Node 24 通过。
|
|
53
|
+
- rc.3 绑定收据的固定留出集真实质量复测:Recall@5 为 1、MRR 0.9667、无答案准确率 1(`retrieval-quality/real-vector-1791982365924.json`,合成标注语料加真实 embedding)。
|
|
54
|
+
- 二次开发原任务:首失败 `retrieval-rc3-secondary24-1791983777400` 保留(验收解析器漏识中文“提交”引用标签,Agent 源实际引用真实条目与完整 SHA)。测试修复 `8297c6a` 仅改测试文件、对齐中英文引用标签且不放宽门禁;原任务 resume 通过:`retrieval-rc3-secondary24-1791985519158`,受控 fixture 提交 `1085ccde`,真实 Hook→分析→晋升(run-5d7d0ab0)→1536 索引→查询闭环,引用 `changes/6d195ab0b282.md`(commit `6d195ab0b282adf239aafe751b83bb0716864a65`),预编辑检索序 29→32、62→65、86→89。
|
|
55
|
+
- rc.3 两次真实向量性能复测失败,待 P2 修复:热查询 P95 分别为 3068ms(`retrieval-quality/performance-1791982533367.json`)与 4829ms(`retrieval-quality/performance-1791983510836.json`),超 3000ms 门禁;不得以文本降级冒称向量性能。
|
|
56
|
+
- P2 修复已发布 `next`:引擎 0.2.7-rc.7(`61e5205c8c7a37645fa2be8c9e3cb2d3c250cc31`)提供同一请求内读复用;vector-hub `1.0.8-rc.8`(`ebf6f586a534c4b851c919c53a5536671cc8bd12`)提供 10 分钟有界缓存与 promise 身份守卫。按红绿记录先复现失败再修复;两者 registry 完整 gitHead 与 integrity 均已独立核对通过。
|
|
57
|
+
- P2 源码回归(Leader,Node 22 与 24):引擎各 161 项通过、1 项符号链接跳过;vector-hub 各 73 项全部通过。同源码真实向量热查询 P95 复测为 1069ms,低于 3000ms 门禁;这是源码结果,不是 rc.4 安装版验收通过。
|
|
58
|
+
- 候选 `5.0.16-rc.4` 已完成本地准备:vendored 引擎 rc.7 40 文件(sourceCommit `61e5205`)、vector-hub 精确锁 rc.8、Workbench `0.13.2-rc.11` 与 bridge `0.7.2` 不变;模块清单 96/59/38/40 与官方 tarball 双向逐字节一致,工作树模式 release:verify 链(sync --check --web-only、runtime --working-tree、product、integration-adapters)全部通过。rc.4 发布、latest 与冻结后源码全量验收待 Leader 执行;本机仍运行 rc.1。
|
|
38
59
|
|
|
39
60
|
## 执行与待验收矩阵
|
|
40
61
|
|
|
41
62
|
| 项目 | 状态 |
|
|
42
63
|
|---|---|
|
|
43
64
|
| A1–A3:本地 MCP 入口、版本升级、独立启动/信任诊断 | A3 已交付探测脱敏、入口 realpath 校验、两终端分支知识根目录接线及发布同步契约;Leader Node 22、24 独立完整各 137/137(含桌面浏览器)通过。原生客户端仍待新包验收 |
|
|
44
|
-
| B1–B5:向量范围候选、位置和占位校验 | 向量修复 `4aa4d49`、占位修复 `0218d55` 已提交并推送,引擎 `0.2.7-rc.6`(`bbb5ddd`)已发布 npm `next`;Leader 源码两版本各 118 项通过,独立 registry 下载的 40 文件逐字节与 integrity 校验、两版本启动及原 532 staging
|
|
45
|
-
| `5c07a801` 重试与后续 FIFO | `5c07` 与 `7506` 已晋升、索引成功;`532d`
|
|
65
|
+
| B1–B5:向量范围候选、位置和占位校验 | 向量修复 `4aa4d49`、占位修复 `0218d55` 已提交并推送,引擎 `0.2.7-rc.6`(`bbb5ddd`)已发布 npm `next`;Leader 源码两版本各 118 项通过,独立 registry 下载的 40 文件逐字节与 integrity 校验、两版本启动及原 532 staging 只读校验通过。首次下载未可见失败保留;532 当前已成功,不再重试 |
|
|
66
|
+
| `5c07a801` 重试与后续 FIFO | `5c07` 与 `7506` 已晋升、索引成功;`532d` 首次因合法 UI placeholder 术语误判失败(事实保留)。只读 live API 现显示完整 run `run-bb64179b-646e-4f15-beff-7b70e078293e` 已 succeeded/ready(promotedAt 2026-10-14T11:48:46.084Z、finishedAt 11:49:13.303Z):不得对已成功 run 再次重试,任何操作必须用完整 run ID。另有 6 个 index-pending run,对应 commit `fb6dd299`、`c27066d`、`f9a736c`、`21f67dc`、`0218d55`、`4aa4d49`;公开错误详情均为向量上游 HTTP 500 / embedding fetch failed,尚未确定底层网络原因。后续只重试索引并核对晋升文件及分析调用不变 |
|
|
46
67
|
| Claude/Codex/ZCode 原生知识与记忆送达 | 待新包实测;OpenCode 仅验证既有兼容能力 |
|
|
47
|
-
| 固定留出集质量、真实向量性能 |
|
|
68
|
+
| 固定留出集质量、真实向量性能 | rc.3 官方收据质量通过(Recall@5=1、MRR 0.9667);性能首失败 3068ms、4829ms 保留。P2 源码复测 1069ms 通过,rc.4 安装版待验收 |
|
|
48
69
|
| Workbench 长历史压缩后的游标、增量与重连 | C5 已修复转换落盘后二次恢复遗失旧边界。Leader Node 22、24 完整各 352/352;rc.11 独立下载验证通过。保留 C3 临时文件锁首失败、C4 的 340 项部分回归及后续 343 项完整重跑;整产品浏览器实际刷新待验收 |
|
|
49
70
|
| Workbench 开发 Agent 的知识库数据根目录 | C2 已交付四客户端 spawn 环境映射,Leader 在 Node 22、24 独立各 8/8(`plan16-workbench-c2-leader*`);相关完整回归存在 EPERM 首失败,真实安装版仍待验收。外壳传根目录接线已纳入 A3;GLM 提及的 C2 独立证据目录未定位到,不以其口头路径作为通过证据 |
|
|
50
|
-
| 网页、并发、故障、重启与二次开发闭环 |
|
|
71
|
+
| 网页、并发、故障、重启与二次开发闭环 | rc.3 官方收据绑定下网页、故障、生命周期、Workbench、真实单/并发提交通过;二次开发原任务 resume 通过(首失败为验收解析器缺陷,已按 TDD 修复);性能两次失败另列 |
|
|
51
72
|
| 官方 npm 候选下载及现有 v5 保真升级 | 待新候选 |
|
|
52
73
|
| 升级与汇总脚本的版本门禁 | D3 强制官方 identity、源码提交/引擎 40 文件绑定,支持正式包先验收 next 再更新 latest。Leader Node 22、24 各 144/144;保留 D1/D2 误判首失败,实际升级和汇总待执行 |
|
|
53
74
|
| 原插件 MCP 验收脚本 | `f9a736c` 修复真实 manifest、环境透传、同版本定义核对、引用元数据及固定错误码。Leader 引擎全量 Node 22、24 各 155/155;实际客户端仍缺当前 rc.1 插件,报告 PLUGIN_MANIFEST_MISSING,不计为原生接入通过 |
|
|
@@ -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": "
|
|
13
|
-
"plugins/project-knowledge/.codex-plugin/plugin.json": "
|
|
14
|
-
"plugins/project-knowledge/.mcp.json": "
|
|
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.
|
|
20
|
+
"version": "0.13.2-rc.13",
|
|
21
21
|
"files": {
|
|
22
22
|
"LICENSE": "c1b9df1275e769f3dbab000d1e457a2d4b0f28eb5da6c77e48dc37eeba202ed7",
|
|
23
|
-
"README.md": "
|
|
23
|
+
"README.md": "beea9acbbcb7875406c0ce9704ade51eb546195b47ac01ce4627386b7d5f7054",
|
|
24
24
|
"apps/agent-terminal/app.css": "ede36d9fdb1f7036e3453134c0d5a86197bfc30e3ac547a24b4fc1d17847277e",
|
|
25
|
-
"apps/agent-terminal/app.js": "
|
|
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": "
|
|
37
|
+
"docs/sdk/openapi.yaml": "8483e3eda18fbdd6c896e7ae428d4cc7ee16ec3bc8485da1c6dfbb987e68eaed",
|
|
38
38
|
"docs/sdk/README.md": "7ab591d39c36a3b84cfdf487ff567040ec453975f3ef0fba86dc822094667b61",
|
|
39
|
-
"package.json": "
|
|
39
|
+
"package.json": "61e2770c9a00b4abe2fa56b735f9a450c5ac076daf580e125f71562c6840435b",
|
|
40
40
|
"packages/client/index.d.ts": "fb66b7b21ac936cddcb7f74543cf4f3bb7e80c169534ec249ab8ef2356224162",
|
|
41
41
|
"packages/client/index.js": "a28fa3c38c13e8448cff4d3e0ec95ec2d541d5e57de4b5564fa2a65b2ae892c9",
|
|
42
|
-
"packages/client/package.json": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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",
|
|
@@ -120,18 +120,18 @@
|
|
|
120
120
|
"vectorHub": {
|
|
121
121
|
"name": "@sanqianx/vector-hub",
|
|
122
122
|
"installName": "@sanqianx/vector-hub",
|
|
123
|
-
"version": "1.0.8-rc.
|
|
123
|
+
"version": "1.0.8-rc.8",
|
|
124
124
|
"files": {
|
|
125
|
-
"README.md": "
|
|
125
|
+
"README.md": "aae16972ce9a12cd87092d993c96c4a5ca0107f5f4076db02f268caaae013d19",
|
|
126
126
|
"dist/cjs/bin.d.ts": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012",
|
|
127
127
|
"dist/cjs/bin.js": "8d0317ce087d22074b4ad350d63bf39cd6d218da565496621cd0daf4245cbdc4",
|
|
128
128
|
"dist/cjs/bin.js.map": "818e872380d9c7ba045238ba65ce77111ba822b356be26327ed05936e5667e5e",
|
|
129
129
|
"dist/cjs/core/embeddings.d.ts": "894ff983ac72f2360432098573f971370ebdbc99f7de791af0a3ee97af62a46a",
|
|
130
130
|
"dist/cjs/core/embeddings.js": "5e199fd6e0de174aad1ba5440dd6358d9b180d4f82d62c7d8cd1fb8a17efb2d7",
|
|
131
131
|
"dist/cjs/core/embeddings.js.map": "f1b9ec78274cdd7359a59e8a47af7c376de61587bc4b9fc78df970734169ee38",
|
|
132
|
-
"dist/cjs/core/hub.d.ts": "
|
|
133
|
-
"dist/cjs/core/hub.js": "
|
|
134
|
-
"dist/cjs/core/hub.js.map": "
|
|
132
|
+
"dist/cjs/core/hub.d.ts": "69872cdc7a56a6e71d8ad53096e84c2ab4b73c67ba08525c069f87fb55d715ff",
|
|
133
|
+
"dist/cjs/core/hub.js": "b1ca20bb30e41aa0c68644d7ad11303e0a958da1c7b2d662555a249341a5f690",
|
|
134
|
+
"dist/cjs/core/hub.js.map": "0cc76d51458a743345e59db91cab1c59a5321971455116e362aff0d8c2582673",
|
|
135
135
|
"dist/cjs/core/kb-sync.d.ts": "8290ae4c5840dcf98769cfec1734d5ebeb102020b348da2a8382b1cad057da1b",
|
|
136
136
|
"dist/cjs/core/kb-sync.js": "b6bc7f11d3e63894fe8633151ac38c853f30d8675a15e57605bd8ff68bffd4b5",
|
|
137
137
|
"dist/cjs/core/kb-sync.js.map": "687ce74cdf668c1b99809a23c078861e66dacd0050056ff0231d69c3d6e6b85a",
|
|
@@ -156,9 +156,9 @@
|
|
|
156
156
|
"dist/esm/core/embeddings.d.ts": "894ff983ac72f2360432098573f971370ebdbc99f7de791af0a3ee97af62a46a",
|
|
157
157
|
"dist/esm/core/embeddings.js": "b19e0cf42ca03e50644e39e39da4c003b9e273213c4532bd443c77085d2db521",
|
|
158
158
|
"dist/esm/core/embeddings.js.map": "043aa6822e6b4a692be025d89efb5d7d44f4b6b39ce36bcfad2e64dde45589bb",
|
|
159
|
-
"dist/esm/core/hub.d.ts": "
|
|
160
|
-
"dist/esm/core/hub.js": "
|
|
161
|
-
"dist/esm/core/hub.js.map": "
|
|
159
|
+
"dist/esm/core/hub.d.ts": "69872cdc7a56a6e71d8ad53096e84c2ab4b73c67ba08525c069f87fb55d715ff",
|
|
160
|
+
"dist/esm/core/hub.js": "270e9937f0fc7dae5b8be90323ac2e3d65f441943b3d682dfa4670876b50859b",
|
|
161
|
+
"dist/esm/core/hub.js.map": "0ad67c0001a84226299775e3e7f81ad8ec44b7ac9f248f1300f90cec7e109b44",
|
|
162
162
|
"dist/esm/core/kb-sync.d.ts": "8290ae4c5840dcf98769cfec1734d5ebeb102020b348da2a8382b1cad057da1b",
|
|
163
163
|
"dist/esm/core/kb-sync.js": "cbdfab9fecbdd2d6996744ad0bf88f446012d5616f57fdc60f5a8e8d8c462c5f",
|
|
164
164
|
"dist/esm/core/kb-sync.js.map": "e14d56e04a08642f6fb917310cf296ab2cf05c6a2fc6a2cab8ab929f50300843",
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
"dist/esm/server/server.d.ts": "db01098f500fddc0a06c2e35cde258ce5adea800d8d071201c400a1bb737a455",
|
|
179
179
|
"dist/esm/server/server.js": "f46bec4f1918acc409b6eab087dcefb1d28a1a5d00838a4d4ff5689a1b5f8d59",
|
|
180
180
|
"dist/esm/server/server.js.map": "f56f9c2ca6b069c666a705d8e8707517eda448866e370802e69c06811d5eb23f",
|
|
181
|
-
"package.json": "
|
|
181
|
+
"package.json": "80a0292ce5d3893a1ea5c82c9558e66821acd785d118579c848ddbdf7607d52e",
|
|
182
182
|
"ui/index.html": "9f6c7323661cfd692e0fbaf7d27f03f140a1b3fcfd12ea011f17e572a1255696",
|
|
183
183
|
"ui/vendor/marked.min.js": "c68075672d976e4777390560baa112194855bd4404b13647da4855aae1f9360c"
|
|
184
184
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanqianx/project-knowledge",
|
|
3
|
-
"version": "5.0.16-rc.
|
|
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": {
|
|
@@ -83,10 +83,10 @@
|
|
|
83
83
|
"@lancedb/lancedb": "0.31.0",
|
|
84
84
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
85
85
|
"@sanqianx/ai-coding-event-bridge-console": "0.7.2",
|
|
86
|
-
"@sanqianx/vector-hub": "1.0.8-rc.
|
|
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.
|
|
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.
|
|
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",
|
|
@@ -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.
|
|
11
|
+
"KB_PLUGIN_VERSION": "5.0.16-rc.5"
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
package/vendor-manifest.json
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
"modules": {
|
|
4
4
|
"knowledge-engine": {
|
|
5
5
|
"name": "@sanqianx/ai-coding-knowledge-engine",
|
|
6
|
-
"version": "0.2.7-rc.
|
|
6
|
+
"version": "0.2.7-rc.7",
|
|
7
7
|
"root": "_modules/knowledge-engine",
|
|
8
8
|
"files": {
|
|
9
|
-
"README.md": "
|
|
10
|
-
"package.json": "
|
|
9
|
+
"README.md": "399d94bdb9b6844b9c1965799400212c99bcbbf872cdec953fba09ba4eea7acd",
|
|
10
|
+
"package.json": "576b6b849d4fecec421c639fa7a3c84ce6b9ee70686baaad48d0153300b113f1",
|
|
11
11
|
"src/analysis-contract.js": "913a63b63fb4a4a9df071f95bbeb8f8c40ef87e2f8445ab0742086ced70ffbf7",
|
|
12
12
|
"src/analysis-output.js": "95a3c19dcc9ab85d1dba7fee5b9aec80f9c000dfba89da3fd0be25a81e2fb680",
|
|
13
13
|
"src/analysis-worker.js": "a105cabe6e1573b2d986b1e7a5aaf615e2fb53524156fc8e4e2c0a71f2c97e55",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"src/memories.js": "bba8e19380e906a80fd3e5d2a7f809d940466924578c8187d1f376f906f10f2b",
|
|
23
23
|
"src/retrieval-policy.json": "3205fb4eb114a839a74f902e6fae6a61e1460958e5a9d7e29add32b60ba4e05a",
|
|
24
24
|
"src/retrieval-ranking.js": "422c068ea995d4f8c7e1ffb64b4b72921017862add74da8996b1827c6c64c23d",
|
|
25
|
-
"src/retrieval.js": "
|
|
25
|
+
"src/retrieval.js": "341c558ffd53873744cfb36139c84b92775886c0e41804e85f93aa9004d91bd9",
|
|
26
26
|
"src/runtime/README.md": "9be676eca76a7857b34d7357194e6f0ee733c22e61d962d53984715dbec7f673",
|
|
27
27
|
"src/runtime/atomic-file.js": "9846b4b69db5ded811acf19a1181ef93615d93efaa542b858e552a7f3124ad23",
|
|
28
28
|
"src/runtime/automation-config.js": "6498c5397be12b155829740595a1553d4dcd6eaa7db6ced3ef88fdc60218f00e",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"src/runtime/evidence-bundle.js": "33d4614849d5e1d69aba8b75c3a43c18b7b6f94e5c78654c82ef631331cc94cc",
|
|
38
38
|
"src/runtime/git-runner.js": "b74fe197bd4dcf3e70635ef7b1f2615edf965c1d9a3ffe5406aabd41b76d74a9",
|
|
39
39
|
"src/runtime/knowledge-promotion.js": "e064f1e07d615adb755fbbcc89d67dcb783b355b47878f7d229b79ef93cfdba4",
|
|
40
|
-
"src/runtime/knowledge-retrieval-service.js": "
|
|
40
|
+
"src/runtime/knowledge-retrieval-service.js": "161917638f518d9436024c7a0960a5b38619e397af91099c01a0232bbd6b6a43",
|
|
41
41
|
"src/runtime/layout.js": "e47fe54c605218493ce46f6289798d9db2a3ecec95089d288ed03d3b75cf871a",
|
|
42
42
|
"src/runtime/markdown-knowledge-indexer.js": "f771afcc1a08bf0c6456d6756c8e04885fac15bc700a86ab0114853ac662727e",
|
|
43
43
|
"src/runtime/scanner.js": "d99fa8d74a6fbbaae75ca49f62127e14cf9e48b1404e4b4d597ef39df5441410",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"ui/app.js": "33a2ba38f0dafbbb2e30a1eb3fc93476bfcaf528e124e1a9b2edd2fb69221e9e",
|
|
48
48
|
"ui/index.html": "ce3565cfefd4838b11d37a91a906ef26ca5a1834844fe3f7c897b56851a3c418"
|
|
49
49
|
},
|
|
50
|
-
"sourceCommit": "
|
|
50
|
+
"sourceCommit": "61e5205c8c7a37645fa2be8c9e3cb2d3c250cc31"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|