@coreyuan/vector-mind 1.0.49 → 1.0.52
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/README.md +67 -60
- package/dist/activity-log.d.ts +19 -0
- package/dist/activity-log.js +106 -0
- package/dist/activity-log.js.map +1 -0
- package/dist/builtin-conventions.d.ts +2 -1
- package/dist/builtin-conventions.js +5 -0
- package/dist/builtin-conventions.js.map +1 -1
- package/dist/config.d.ts +28 -0
- package/dist/config.js +189 -0
- package/dist/config.js.map +1 -0
- package/dist/database-runtime.d.ts +54 -0
- package/dist/database-runtime.js +512 -0
- package/dist/database-runtime.js.map +1 -0
- package/dist/development-warnings.d.ts +93 -0
- package/dist/development-warnings.js +589 -0
- package/dist/development-warnings.js.map +1 -0
- package/dist/file-indexing.d.ts +22 -0
- package/dist/file-indexing.js +243 -0
- package/dist/file-indexing.js.map +1 -0
- package/dist/grep.d.ts +64 -0
- package/dist/grep.js +475 -0
- package/dist/grep.js.map +1 -0
- package/dist/index.js +167 -7279
- package/dist/index.js.map +1 -1
- package/dist/large-file-split.d.ts +29 -0
- package/dist/large-file-split.js +146 -0
- package/dist/large-file-split.js.map +1 -0
- package/dist/memory-maintenance.d.ts +80 -0
- package/dist/memory-maintenance.js +537 -0
- package/dist/memory-maintenance.js.map +1 -0
- package/dist/memory-mutations.d.ts +23 -0
- package/dist/memory-mutations.js +83 -0
- package/dist/memory-mutations.js.map +1 -0
- package/dist/memory-recall.d.ts +93 -0
- package/dist/memory-recall.js +796 -0
- package/dist/memory-recall.js.map +1 -0
- package/dist/path-filters.d.ts +1 -0
- package/dist/path-filters.js +27 -0
- package/dist/path-filters.js.map +1 -0
- package/dist/path-rules.d.ts +12 -0
- package/dist/path-rules.js +208 -0
- package/dist/path-rules.js.map +1 -0
- package/dist/pending-changes.d.ts +22 -0
- package/dist/pending-changes.js +166 -0
- package/dist/pending-changes.js.map +1 -0
- package/dist/project-files.d.ts +66 -0
- package/dist/project-files.js +215 -0
- package/dist/project-files.js.map +1 -0
- package/dist/root.d.ts +15 -0
- package/dist/root.js +191 -0
- package/dist/root.js.map +1 -0
- package/dist/rtk-tools.d.ts +20 -0
- package/dist/rtk-tools.js +318 -0
- package/dist/rtk-tools.js.map +1 -0
- package/dist/server-instructions.d.ts +1 -0
- package/dist/server-instructions.js +88 -0
- package/dist/server-instructions.js.map +1 -0
- package/dist/symbols.d.ts +2 -0
- package/dist/symbols.js +159 -0
- package/dist/symbols.js.map +1 -0
- package/dist/token-savings.d.ts +40 -0
- package/dist/token-savings.js +50 -0
- package/dist/token-savings.js.map +1 -0
- package/dist/tool-catalog.d.ts +18 -0
- package/dist/tool-catalog.js +243 -0
- package/dist/tool-catalog.js.map +1 -0
- package/dist/tool-handlers/context-recovery.d.ts +6 -0
- package/dist/tool-handlers/context-recovery.js +319 -0
- package/dist/tool-handlers/context-recovery.js.map +1 -0
- package/dist/tool-handlers/context.d.ts +34 -0
- package/dist/tool-handlers/context.js +2 -0
- package/dist/tool-handlers/context.js.map +1 -0
- package/dist/tool-handlers/diagnostics.d.ts +8 -0
- package/dist/tool-handlers/diagnostics.js +114 -0
- package/dist/tool-handlers/diagnostics.js.map +1 -0
- package/dist/tool-handlers/files.d.ts +8 -0
- package/dist/tool-handlers/files.js +493 -0
- package/dist/tool-handlers/files.js.map +1 -0
- package/dist/tool-handlers/large-files.d.ts +4 -0
- package/dist/tool-handlers/large-files.js +139 -0
- package/dist/tool-handlers/large-files.js.map +1 -0
- package/dist/tool-handlers/maintenance.d.ts +4 -0
- package/dist/tool-handlers/maintenance.js +160 -0
- package/dist/tool-handlers/maintenance.js.map +1 -0
- package/dist/tool-handlers/memory-diagnostics.d.ts +5 -0
- package/dist/tool-handlers/memory-diagnostics.js +509 -0
- package/dist/tool-handlers/memory-diagnostics.js.map +1 -0
- package/dist/tool-handlers/memory.d.ts +6 -0
- package/dist/tool-handlers/memory.js +334 -0
- package/dist/tool-handlers/memory.js.map +1 -0
- package/dist/tool-handlers/notes-decisions.d.ts +7 -0
- package/dist/tool-handlers/notes-decisions.js +169 -0
- package/dist/tool-handlers/notes-decisions.js.map +1 -0
- package/dist/tool-handlers/requirements.d.ts +7 -0
- package/dist/tool-handlers/requirements.js +357 -0
- package/dist/tool-handlers/requirements.js.map +1 -0
- package/dist/tool-handlers.d.ts +4 -0
- package/dist/tool-handlers.js +105 -0
- package/dist/tool-handlers.js.map +1 -0
- package/dist/tool-output.d.ts +213 -0
- package/dist/tool-output.js +278 -0
- package/dist/tool-output.js.map +1 -0
- package/dist/tool-schemas.d.ts +434 -0
- package/dist/tool-schemas.js +328 -0
- package/dist/tool-schemas.js.map +1 -0
- package/dist/types.d.ts +61 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/docs/capability-matrix.md +43 -0
- package/package.json +11 -10
- package/skills/vector-mind-autopilot/SKILL.md +149 -0
- package/skills/vector-mind-autopilot/references/claude-desktop-mcp-config.json +9 -0
- package/skills/vector-mind-autopilot/references/claude-project-instructions.md +47 -0
- package/skills/vector-mind-autopilot/references/universal-system-prompt.md +78 -0
package/README.md
CHANGED
|
@@ -1,37 +1,59 @@
|
|
|
1
1
|
# VectorMind MCP
|
|
2
2
|
|
|
3
|
-
VectorMind
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
当前版本:`1.0.
|
|
8
|
-
|
|
9
|
-
##
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
3
|
+
VectorMind 是给 AI 编程助手用的本地项目记忆 MCP。
|
|
4
|
+
|
|
5
|
+
它会把“当前在做什么、为什么这样改、哪些决策已经更新、哪些文件不能乱动”保存到项目本地,帮助 AI 在长期开发里少丢上下文、少猜路径、少把旧功能改回来。
|
|
6
|
+
|
|
7
|
+
当前版本:`1.0.52`
|
|
8
|
+
|
|
9
|
+
## 它能做什么
|
|
10
|
+
|
|
11
|
+
- **恢复上下文**:新会话可以找回项目摘要、最近需求、最近改动、决策、约定和待同步文件。
|
|
12
|
+
- **守住需求边界**:修改前先确认当前需求和计划文件,减少乱改无关模块。
|
|
13
|
+
- **记录改动原因**:改完后保存“改了什么、为什么改”,后续会话能接上。
|
|
14
|
+
- **让新决策覆盖旧记忆**:需求反转或规则更新后,可以标记旧记忆过时,避免 AI 按旧规则回退功能。
|
|
15
|
+
- **查看上下文时间线**:按需求、文件、记忆或关键词查看前后发生了什么,帮助判断新旧关系。
|
|
16
|
+
- **保存会话检查点**:长会话或交接前保存 waypoint,后续只读恢复上下文,不改变模型判断。
|
|
17
|
+
- **诊断记忆质量**:检查记忆冲突、重复记忆和 checkpoint 差异,只给证据,不自动修改。
|
|
18
|
+
- **沉淀项目知识**:保存架构说明、构建命令、命名规则、注意事项和 TODO。
|
|
19
|
+
- **定位代码和搜索文本**:帮 AI 找函数、类、配置、关键逻辑,不靠猜。
|
|
20
|
+
- **安全读取文件**:按目录、按行、按大小读取,避免一次塞入过多上下文。
|
|
21
|
+
- **治理巨量文件**:遇到几千行实现文件,会要求先做真实模块拆分,不继续往大文件里堆代码。
|
|
22
|
+
- **维护长期记忆**:压缩过时记忆、清理无效索引,减轻大项目越用越慢的问题。
|
|
23
|
+
- **减少输出占用**:默认返回简洁结果,并可配合 `rtk` 降低命令输出负担。
|
|
24
|
+
|
|
25
|
+
更完整的能力表见:`docs/capability-matrix.md`
|
|
26
|
+
|
|
27
|
+
## 推荐工作流
|
|
28
|
+
|
|
29
|
+
开发任务建议让 AI 按这个顺序使用:
|
|
30
|
+
|
|
31
|
+
1. 恢复上下文:`bootstrap_context`
|
|
32
|
+
2. 记录当前需求:`start_requirement`
|
|
33
|
+
3. 修改前检查范围:`preflight_change_scope`
|
|
34
|
+
4. 修改文件
|
|
35
|
+
5. 查看未同步改动:`get_pending_changes`
|
|
36
|
+
6. 同步改动原因:`sync_change_intent`
|
|
37
|
+
7. 需求规则变化时:`upsert_decision` / `supersede_memory`
|
|
38
|
+
8. 完成后:`upsert_project_summary` / `complete_requirement`
|
|
39
|
+
|
|
40
|
+
## 巨量文件规则
|
|
41
|
+
|
|
42
|
+
当实现文件达到巨量阈值时,VectorMind 会提示:
|
|
43
|
+
|
|
44
|
+
- 不要继续往这个文件里加新功能。
|
|
45
|
+
- 先做机械搬迁式模块化拆分。
|
|
46
|
+
- 使用真实模块名和清晰目录。
|
|
47
|
+
- 禁止 `*.generated.*`、`.parts`、`*.rs.parts`、`part1/part2` 这类假拆分。
|
|
48
|
+
- 拆分计划和结果会被记录,后续会话知道这个文件正在或已经被治理。
|
|
49
|
+
|
|
50
|
+
## 它不做什么
|
|
51
|
+
|
|
52
|
+
VectorMind 只定义开发规范、记忆和质量约束。
|
|
53
|
+
|
|
54
|
+
它的输出只是上下文证据和质量信号,不替模型做决定,不削弱模型自己的推理、判断、创造和实现能力。
|
|
55
|
+
|
|
56
|
+
它不接管 Codex、Claude 或其他客户端的运行控制,也不处理客户端自己的确认弹窗、执行策略或访问设置。
|
|
35
57
|
|
|
36
58
|
## 安装
|
|
37
59
|
|
|
@@ -45,16 +67,16 @@ npx -y @coreyuan/vector-mind
|
|
|
45
67
|
npm install -g @coreyuan/vector-mind
|
|
46
68
|
```
|
|
47
69
|
|
|
48
|
-
|
|
70
|
+
全局安装后可用:
|
|
49
71
|
|
|
50
72
|
```text
|
|
51
73
|
vector-mind
|
|
52
74
|
rtk
|
|
53
75
|
```
|
|
54
76
|
|
|
55
|
-
## Codex
|
|
77
|
+
## Codex 配置
|
|
56
78
|
|
|
57
|
-
在 `~/.codex/config.toml`
|
|
79
|
+
在 `~/.codex/config.toml` 添加:
|
|
58
80
|
|
|
59
81
|
```toml
|
|
60
82
|
[mcp_servers.vector-mind]
|
|
@@ -65,7 +87,7 @@ args = ["-y", "@coreyuan/vector-mind"]
|
|
|
65
87
|
|
|
66
88
|
配置后重启 Codex,并开启新会话。
|
|
67
89
|
|
|
68
|
-
## Claude Desktop
|
|
90
|
+
## Claude Desktop 配置
|
|
69
91
|
|
|
70
92
|
```json
|
|
71
93
|
{
|
|
@@ -78,23 +100,9 @@ args = ["-y", "@coreyuan/vector-mind"]
|
|
|
78
100
|
}
|
|
79
101
|
```
|
|
80
102
|
|
|
81
|
-
##
|
|
82
|
-
|
|
83
|
-
你不需要记工具名,直接这样告诉 AI 即可:
|
|
103
|
+
## 多项目使用
|
|
84
104
|
|
|
85
|
-
|
|
86
|
-
先用 VectorMind 恢复这个项目的上下文,再继续做。
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
```text
|
|
90
|
-
这是最新决定:任务申请不再需要上级审核,申请后直接通过。请写入 VectorMind,并标记旧审核需求已过时。
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
```text
|
|
94
|
-
改完后,把这次改动原因同步到 VectorMind。
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
多项目使用时,建议明确项目路径:
|
|
105
|
+
建议明确告诉 AI 当前项目路径:
|
|
98
106
|
|
|
99
107
|
```text
|
|
100
108
|
这个任务的项目路径是 H:\2025\YourProject,请 VectorMind 使用这个 project_root。
|
|
@@ -106,24 +114,23 @@ args = ["-y", "@coreyuan/vector-mind"]
|
|
|
106
114
|
<project>/.vectormind/
|
|
107
115
|
```
|
|
108
116
|
|
|
109
|
-
##
|
|
117
|
+
## 常用工具
|
|
110
118
|
|
|
111
119
|
| 能力 | 工具 |
|
|
112
120
|
| --- | --- |
|
|
113
121
|
| 恢复上下文 | `bootstrap_context`, `get_brain_dump` |
|
|
114
|
-
| 需求管理 | `start_requirement`, `complete_requirement` |
|
|
122
|
+
| 需求管理 | `start_requirement`, `preflight_change_scope`, `complete_requirement` |
|
|
115
123
|
| 改动记录 | `sync_change_intent`, `get_pending_changes` |
|
|
116
|
-
|
|
|
117
|
-
| 巨量文件拆分 | `plan_large_file_split`, `record_large_file_split` |
|
|
118
|
-
| 最新决策 | `upsert_decision`, `supersede_memory` |
|
|
124
|
+
| 决策更新 | `upsert_decision`, `supersede_memory` |
|
|
119
125
|
| 项目知识 | `upsert_project_summary`, `add_note`, `upsert_convention` |
|
|
120
|
-
|
|
|
126
|
+
| 时间线/检查点 | `memory_timeline`, `create_checkpoint`, `list_checkpoints`, `restore_checkpoint_context` |
|
|
127
|
+
| 记忆诊断 | `analyze_memory_conflicts`, `memory_quality_report`, `compare_checkpoint_context` |
|
|
121
128
|
| 代码定位 | `query_codebase`, `grep` |
|
|
122
129
|
| 读项目文件 | `list_project_files`, `read_file_lines`, `read_file_text` |
|
|
123
130
|
| 读 Codex 文本 | `read_codex_text_file` |
|
|
131
|
+
| 巨量文件拆分 | `plan_large_file_split`, `record_large_file_split` |
|
|
124
132
|
| 记忆维护 | `maintain_memory`, `prune_index` |
|
|
125
|
-
|
|
|
126
|
-
| 调试 | `get_activity_summary`, `get_activity_log`, `clear_activity_log` |
|
|
133
|
+
| 调试/降噪 | `get_activity_summary`, `get_activity_log`, `get_token_savings`, `detect_rtk` |
|
|
127
134
|
|
|
128
135
|
## 开发与发布
|
|
129
136
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare function configureActivityLogProjectRoot(fn: () => string): void;
|
|
2
|
+
type ActivityEvent = {
|
|
3
|
+
id: number;
|
|
4
|
+
ts: string;
|
|
5
|
+
type: string;
|
|
6
|
+
project_root: string;
|
|
7
|
+
data: Record<string, unknown>;
|
|
8
|
+
};
|
|
9
|
+
export declare function logActivity(type: string, data: Record<string, unknown>): void;
|
|
10
|
+
export declare function snapshotActivityLog(opts: {
|
|
11
|
+
sinceId: number;
|
|
12
|
+
limit: number;
|
|
13
|
+
}): {
|
|
14
|
+
events: ActivityEvent[];
|
|
15
|
+
last_id: number;
|
|
16
|
+
};
|
|
17
|
+
export declare function clearActivityLog(): void;
|
|
18
|
+
export declare function summarizeActivityEvent(e: ActivityEvent): string;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { debugLogEnabled, debugLogMaxEntries } from "./config.js";
|
|
2
|
+
let getProjectRoot = () => "";
|
|
3
|
+
export function configureActivityLogProjectRoot(fn) {
|
|
4
|
+
getProjectRoot = fn;
|
|
5
|
+
}
|
|
6
|
+
let activitySeq = 0;
|
|
7
|
+
const activityLog = [];
|
|
8
|
+
function sanitizeForLog(value, depth = 0) {
|
|
9
|
+
if (depth > 4)
|
|
10
|
+
return "[max-depth]";
|
|
11
|
+
if (value === null || value === undefined)
|
|
12
|
+
return value;
|
|
13
|
+
if (typeof value === "string") {
|
|
14
|
+
return value.length > 500 ? `${value.slice(0, 500)}...` : value;
|
|
15
|
+
}
|
|
16
|
+
if (typeof value === "number" || typeof value === "boolean")
|
|
17
|
+
return value;
|
|
18
|
+
if (Array.isArray(value)) {
|
|
19
|
+
const sliced = value.slice(0, 20).map((v) => sanitizeForLog(v, depth + 1));
|
|
20
|
+
return value.length > 20 ? [...sliced, `[+${value.length - 20} more]`] : sliced;
|
|
21
|
+
}
|
|
22
|
+
if (typeof value === "object") {
|
|
23
|
+
const obj = value;
|
|
24
|
+
const keys = Object.keys(obj).slice(0, 40);
|
|
25
|
+
const out = {};
|
|
26
|
+
for (const k of keys)
|
|
27
|
+
out[k] = sanitizeForLog(obj[k], depth + 1);
|
|
28
|
+
if (Object.keys(obj).length > 40)
|
|
29
|
+
out["__more_keys__"] = Object.keys(obj).length - 40;
|
|
30
|
+
return out;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
return String(value);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return "[unserializable]";
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export function logActivity(type, data) {
|
|
40
|
+
if (!debugLogEnabled)
|
|
41
|
+
return;
|
|
42
|
+
activityLog.push({
|
|
43
|
+
id: ++activitySeq,
|
|
44
|
+
ts: new Date().toISOString(),
|
|
45
|
+
type,
|
|
46
|
+
project_root: getProjectRoot() || "",
|
|
47
|
+
data: sanitizeForLog(data),
|
|
48
|
+
});
|
|
49
|
+
while (activityLog.length > debugLogMaxEntries)
|
|
50
|
+
activityLog.shift();
|
|
51
|
+
}
|
|
52
|
+
export function snapshotActivityLog(opts) {
|
|
53
|
+
const sinceId = Math.max(0, opts.sinceId);
|
|
54
|
+
const limit = Math.max(1, Math.min(500, opts.limit));
|
|
55
|
+
const lastId = activitySeq;
|
|
56
|
+
const events = activityLog.filter((e) => e.id > sinceId).slice(0, limit);
|
|
57
|
+
return { events, last_id: lastId };
|
|
58
|
+
}
|
|
59
|
+
export function clearActivityLog() {
|
|
60
|
+
activityLog.length = 0;
|
|
61
|
+
activitySeq = 0;
|
|
62
|
+
}
|
|
63
|
+
export function summarizeActivityEvent(e) {
|
|
64
|
+
const d = e.data ?? {};
|
|
65
|
+
switch (e.type) {
|
|
66
|
+
case "index_file":
|
|
67
|
+
return `index ${String(d.file_path ?? "")} reason=${String(d.reason ?? "")} symbols=${String(d.symbols ?? "")} chunks=${String(d.chunks ?? "")}`;
|
|
68
|
+
case "remove_file":
|
|
69
|
+
return `remove ${String(d.file_path ?? "")}`;
|
|
70
|
+
case "pending_flush":
|
|
71
|
+
return `pending_flush entries=${String(d.entries ?? "")}`;
|
|
72
|
+
case "pending_prune":
|
|
73
|
+
return `pending_prune ${String(d.before ?? "")}->${String(d.after ?? "")}`;
|
|
74
|
+
case "bootstrap_context":
|
|
75
|
+
return `bootstrap q=${String(d.query ?? "")} pending=${String(d.pending_returned ?? "")}/${String(d.pending_total ?? "")} reqs=${String(d.requirements_returned ?? "")} semantic=${String(d.semantic_mode ?? "")}+${String(d.semantic_matches ?? "")}`;
|
|
76
|
+
case "get_brain_dump":
|
|
77
|
+
return `brain_dump pending=${String(d.pending_returned ?? "")}/${String(d.pending_total ?? "")} reqs=${String(d.requirements_returned ?? "")} notes=${String(d.notes_returned ?? "")}`;
|
|
78
|
+
case "get_pending_changes":
|
|
79
|
+
return `pending_list returned=${String(d.returned ?? "")} total=${String(d.total ?? "")}`;
|
|
80
|
+
case "semantic_search":
|
|
81
|
+
return `semantic_search mode=${String(d.mode ?? "")} q=${String(d.query ?? "")} matches=${String(d.matches ?? "")}`;
|
|
82
|
+
case "grep":
|
|
83
|
+
return `grep backend=${String(d.backend ?? "")} q=${String(d.query ?? "")} matches=${String(d.matches ?? "")} truncated=${String(d.truncated ?? "")}`;
|
|
84
|
+
case "query_codebase":
|
|
85
|
+
return `query_codebase q=${String(d.query ?? "")} matches=${String(d.matches ?? "")}`;
|
|
86
|
+
case "read_file_lines":
|
|
87
|
+
return `read_file_lines file=${String(d.file_path ?? "")} returned=${String(d.returned ?? "")} truncated=${String(d.truncated ?? "")}`;
|
|
88
|
+
case "read_file_text":
|
|
89
|
+
return `read_file_text file=${String(d.file_path ?? "")} returned=${String(d.returned_chars ?? "")}/${String(d.total_chars ?? "")} truncated=${String(d.truncated ?? "")}`;
|
|
90
|
+
case "list_project_files":
|
|
91
|
+
return `list_project_files path=${String(d.path ?? "")} returned=${String(d.returned ?? "")} scanned=${String(d.scanned ?? "")} truncated=${String(d.truncated ?? "")}`;
|
|
92
|
+
case "read_codex_text_file":
|
|
93
|
+
return `read_codex_text_file file=${String(d.file_path ?? "")} returned=${String(d.returned_chars ?? "")}/${String(d.total_chars ?? "")} truncated=${String(d.truncated ?? "")}`;
|
|
94
|
+
case "start_requirement":
|
|
95
|
+
return `start_requirement #${String(d.req_id ?? "")} ${String(d.title ?? "")}`;
|
|
96
|
+
case "sync_change_intent":
|
|
97
|
+
return `sync_change_intent #${String(d.req_id ?? "")} files=${String(d.files_total ?? "")}`;
|
|
98
|
+
case "complete_requirement":
|
|
99
|
+
return `complete_requirement ${String(d.all_active ? "all_active" : d.req_id ?? "")}`;
|
|
100
|
+
case "memory_maintenance":
|
|
101
|
+
return `memory_maintenance trigger=${String(d.trigger ?? "")} compacted=${String(d.compacted ?? "")} stale=${String(d.stale_files ?? "")} chunks_deleted=${String(d.chunks_deleted ?? "")}`;
|
|
102
|
+
default:
|
|
103
|
+
return e.type;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=activity-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-log.js","sourceRoot":"","sources":["../src/activity-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,11 @@ export const BUILTIN_CONVENTIONS = [
|
|
|
5
5
|
content: `${DEVELOPMENT_GUIDELINE_SCOPE} VectorMind 的内置内容用于统一项目协作、代码组织、交付质量和长期记忆。`,
|
|
6
6
|
tags: ["builtin", "development-guideline", "scope"],
|
|
7
7
|
},
|
|
8
|
+
{
|
|
9
|
+
key: "builtin:model_autonomy_floor",
|
|
10
|
+
content: `${DEVELOPMENT_GUIDELINE_SCOPE} VectorMind 工具输出只是上下文证据和质量信号,不得削弱模型自身的推理、决策、创造和实现能力;当工具上下文不完整,或与直接观察到的仓库事实冲突时,应继续检查并使用模型判断。`,
|
|
11
|
+
tags: ["builtin", "model-autonomy", "advisory-only", "scope"],
|
|
12
|
+
},
|
|
8
13
|
{
|
|
9
14
|
key: "builtin:branch_write_boundary",
|
|
10
15
|
content: `${DEVELOPMENT_GUIDELINE_SCOPE} 所有代码或文件改动默认在当前活跃分支中进行;禁止创建、切换或使用临时分支、临时子分支,除非用户明确要求或既有工作流已经这样安排。`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-conventions.js","sourceRoot":"","sources":["../src/builtin-conventions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builtin-conventions.js","sourceRoot":"","sources":["../src/builtin-conventions.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const SERVER_NAME = "vector-mind";
|
|
2
|
+
export declare const SERVER_VERSION = "1.0.52";
|
|
3
|
+
export declare const prettyJsonOutput: boolean;
|
|
4
|
+
export declare const debugLogEnabled: boolean;
|
|
5
|
+
export declare const debugLogMaxEntries: number;
|
|
6
|
+
export declare const PENDING_FLUSH_MS: number;
|
|
7
|
+
export declare const PENDING_TTL_DAYS: number;
|
|
8
|
+
export declare const PENDING_MAX_ENTRIES: number;
|
|
9
|
+
export declare const PENDING_PRUNE_EVERY: number;
|
|
10
|
+
export declare const DEVELOPMENT_WARN_FILE_LINES: number;
|
|
11
|
+
export declare const DEVELOPMENT_BLOCK_FILE_LINES: number;
|
|
12
|
+
export declare const DEVELOPMENT_HUGE_FILE_LINES: number;
|
|
13
|
+
export declare const DEVELOPMENT_WARN_FILE_BYTES: number;
|
|
14
|
+
export declare const DEVELOPMENT_WARN_PENDING_FILES: number;
|
|
15
|
+
export declare const RIPGREP_RESOLVE_TIMEOUT_MS = 5000;
|
|
16
|
+
export declare const RIPGREP_SEARCH_TIMEOUT_MS = 30000;
|
|
17
|
+
export declare const RIPGREP_MAX_BUFFER_BYTES: number;
|
|
18
|
+
export declare const INDEX_MAX_CODE_BYTES: number;
|
|
19
|
+
export declare const INDEX_MAX_DOC_BYTES: number;
|
|
20
|
+
export declare const INDEX_SKIP_MINIFIED: boolean;
|
|
21
|
+
export declare const INDEX_AUTO_PRUNE_IGNORED: boolean;
|
|
22
|
+
export declare const MAINTENANCE_AUTO_ENABLED: boolean;
|
|
23
|
+
export declare const MAINTENANCE_INTERVAL_HOURS: number;
|
|
24
|
+
export declare const MAINTENANCE_COMPACT_AFTER_DAYS: number;
|
|
25
|
+
export declare const MAINTENANCE_MAX_MEMORY_ITEMS: number;
|
|
26
|
+
export declare const MAINTENANCE_MAX_INDEX_FILES: number;
|
|
27
|
+
export declare const ROOTS_LIST_TIMEOUT_MS: number;
|
|
28
|
+
export declare const BOOTSTRAP_SEMANTIC_TIMEOUT_MS: number;
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
export const SERVER_NAME = "vector-mind";
|
|
2
|
+
export const SERVER_VERSION = "1.0.52";
|
|
3
|
+
export const prettyJsonOutput = ["1", "true", "on", "yes"].includes((process.env.VECTORMIND_PRETTY_JSON ?? "").trim().toLowerCase());
|
|
4
|
+
export const debugLogEnabled = ["1", "true", "on", "yes"].includes((process.env.VECTORMIND_DEBUG_LOG ?? "").trim().toLowerCase());
|
|
5
|
+
export const debugLogMaxEntries = (() => {
|
|
6
|
+
const raw = process.env.VECTORMIND_DEBUG_LOG_MAX?.trim();
|
|
7
|
+
if (!raw)
|
|
8
|
+
return 200;
|
|
9
|
+
const n = Number.parseInt(raw, 10);
|
|
10
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
11
|
+
return 200;
|
|
12
|
+
return Math.min(5000, n);
|
|
13
|
+
})();
|
|
14
|
+
export const PENDING_FLUSH_MS = (() => {
|
|
15
|
+
const raw = process.env.VECTORMIND_PENDING_FLUSH_MS?.trim();
|
|
16
|
+
if (!raw)
|
|
17
|
+
return 200;
|
|
18
|
+
const n = Number.parseInt(raw, 10);
|
|
19
|
+
if (!Number.isFinite(n) || n < 0)
|
|
20
|
+
return 200;
|
|
21
|
+
return n;
|
|
22
|
+
})();
|
|
23
|
+
export const PENDING_TTL_DAYS = (() => {
|
|
24
|
+
const raw = process.env.VECTORMIND_PENDING_TTL_DAYS?.trim();
|
|
25
|
+
if (!raw)
|
|
26
|
+
return 30;
|
|
27
|
+
const n = Number.parseInt(raw, 10);
|
|
28
|
+
if (!Number.isFinite(n) || n < 0)
|
|
29
|
+
return 30;
|
|
30
|
+
return n;
|
|
31
|
+
})();
|
|
32
|
+
export const PENDING_MAX_ENTRIES = (() => {
|
|
33
|
+
const raw = process.env.VECTORMIND_PENDING_MAX?.trim();
|
|
34
|
+
if (!raw)
|
|
35
|
+
return 5000;
|
|
36
|
+
const n = Number.parseInt(raw, 10);
|
|
37
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
38
|
+
return 5000;
|
|
39
|
+
return n;
|
|
40
|
+
})();
|
|
41
|
+
export const PENDING_PRUNE_EVERY = (() => {
|
|
42
|
+
const raw = process.env.VECTORMIND_PENDING_PRUNE_EVERY?.trim();
|
|
43
|
+
if (!raw)
|
|
44
|
+
return 500;
|
|
45
|
+
const n = Number.parseInt(raw, 10);
|
|
46
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
47
|
+
return 500;
|
|
48
|
+
return n;
|
|
49
|
+
})();
|
|
50
|
+
export const DEVELOPMENT_WARN_FILE_LINES = (() => {
|
|
51
|
+
const raw = process.env.VECTORMIND_WARN_FILE_LINES?.trim();
|
|
52
|
+
if (!raw)
|
|
53
|
+
return 800;
|
|
54
|
+
const n = Number.parseInt(raw, 10);
|
|
55
|
+
if (!Number.isFinite(n) || n < 100)
|
|
56
|
+
return 800;
|
|
57
|
+
return Math.min(50_000, n);
|
|
58
|
+
})();
|
|
59
|
+
export const DEVELOPMENT_BLOCK_FILE_LINES = (() => {
|
|
60
|
+
const raw = process.env.VECTORMIND_BLOCK_FILE_LINES?.trim();
|
|
61
|
+
if (!raw)
|
|
62
|
+
return 1200;
|
|
63
|
+
const n = Number.parseInt(raw, 10);
|
|
64
|
+
if (!Number.isFinite(n) || n < DEVELOPMENT_WARN_FILE_LINES)
|
|
65
|
+
return Math.max(1200, DEVELOPMENT_WARN_FILE_LINES);
|
|
66
|
+
return Math.min(100_000, n);
|
|
67
|
+
})();
|
|
68
|
+
export const DEVELOPMENT_HUGE_FILE_LINES = (() => {
|
|
69
|
+
const raw = process.env.VECTORMIND_HUGE_FILE_LINES?.trim();
|
|
70
|
+
if (!raw)
|
|
71
|
+
return 3000;
|
|
72
|
+
const n = Number.parseInt(raw, 10);
|
|
73
|
+
if (!Number.isFinite(n) || n < DEVELOPMENT_BLOCK_FILE_LINES) {
|
|
74
|
+
return Math.max(3000, DEVELOPMENT_BLOCK_FILE_LINES);
|
|
75
|
+
}
|
|
76
|
+
return Math.min(200_000, n);
|
|
77
|
+
})();
|
|
78
|
+
export const DEVELOPMENT_WARN_FILE_BYTES = (() => {
|
|
79
|
+
const raw = process.env.VECTORMIND_WARN_FILE_BYTES?.trim();
|
|
80
|
+
if (!raw)
|
|
81
|
+
return 120_000;
|
|
82
|
+
const n = Number.parseInt(raw, 10);
|
|
83
|
+
if (!Number.isFinite(n) || n < 10_000)
|
|
84
|
+
return 120_000;
|
|
85
|
+
return Math.min(20_000_000, n);
|
|
86
|
+
})();
|
|
87
|
+
export const DEVELOPMENT_WARN_PENDING_FILES = (() => {
|
|
88
|
+
const raw = process.env.VECTORMIND_WARN_PENDING_FILES?.trim();
|
|
89
|
+
if (!raw)
|
|
90
|
+
return 12;
|
|
91
|
+
const n = Number.parseInt(raw, 10);
|
|
92
|
+
if (!Number.isFinite(n) || n < 1)
|
|
93
|
+
return 12;
|
|
94
|
+
return Math.min(500, n);
|
|
95
|
+
})();
|
|
96
|
+
export const RIPGREP_RESOLVE_TIMEOUT_MS = 5_000;
|
|
97
|
+
export const RIPGREP_SEARCH_TIMEOUT_MS = 30_000;
|
|
98
|
+
export const RIPGREP_MAX_BUFFER_BYTES = 16 * 1024 * 1024;
|
|
99
|
+
export const INDEX_MAX_CODE_BYTES = (() => {
|
|
100
|
+
const raw = process.env.VECTORMIND_INDEX_MAX_CODE_BYTES?.trim();
|
|
101
|
+
if (!raw)
|
|
102
|
+
return 400_000;
|
|
103
|
+
const n = Number.parseInt(raw, 10);
|
|
104
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
105
|
+
return 400_000;
|
|
106
|
+
return n;
|
|
107
|
+
})();
|
|
108
|
+
export const INDEX_MAX_DOC_BYTES = (() => {
|
|
109
|
+
const raw = process.env.VECTORMIND_INDEX_MAX_DOC_BYTES?.trim();
|
|
110
|
+
if (!raw)
|
|
111
|
+
return 600_000;
|
|
112
|
+
const n = Number.parseInt(raw, 10);
|
|
113
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
114
|
+
return 600_000;
|
|
115
|
+
return n;
|
|
116
|
+
})();
|
|
117
|
+
export const INDEX_SKIP_MINIFIED = (() => {
|
|
118
|
+
const raw = (process.env.VECTORMIND_INDEX_SKIP_MINIFIED ?? "").trim().toLowerCase();
|
|
119
|
+
if (!raw)
|
|
120
|
+
return true;
|
|
121
|
+
return ["1", "true", "on", "yes"].includes(raw);
|
|
122
|
+
})();
|
|
123
|
+
export const INDEX_AUTO_PRUNE_IGNORED = (() => {
|
|
124
|
+
const raw = (process.env.VECTORMIND_INDEX_AUTO_PRUNE_IGNORED ?? "").trim().toLowerCase();
|
|
125
|
+
if (!raw)
|
|
126
|
+
return true;
|
|
127
|
+
return ["1", "true", "on", "yes"].includes(raw);
|
|
128
|
+
})();
|
|
129
|
+
export const MAINTENANCE_AUTO_ENABLED = (() => {
|
|
130
|
+
const raw = (process.env.VECTORMIND_MAINTENANCE_AUTO ?? "").trim().toLowerCase();
|
|
131
|
+
if (!raw)
|
|
132
|
+
return true;
|
|
133
|
+
return ["1", "true", "on", "yes"].includes(raw);
|
|
134
|
+
})();
|
|
135
|
+
export const MAINTENANCE_INTERVAL_HOURS = (() => {
|
|
136
|
+
const raw = process.env.VECTORMIND_MAINTENANCE_INTERVAL_HOURS?.trim();
|
|
137
|
+
if (!raw)
|
|
138
|
+
return 24;
|
|
139
|
+
const n = Number.parseInt(raw, 10);
|
|
140
|
+
if (!Number.isFinite(n) || n < 1)
|
|
141
|
+
return 24;
|
|
142
|
+
return Math.min(24 * 30, n);
|
|
143
|
+
})();
|
|
144
|
+
export const MAINTENANCE_COMPACT_AFTER_DAYS = (() => {
|
|
145
|
+
const raw = process.env.VECTORMIND_COMPACT_AFTER_DAYS?.trim();
|
|
146
|
+
if (!raw)
|
|
147
|
+
return 45;
|
|
148
|
+
const n = Number.parseInt(raw, 10);
|
|
149
|
+
if (!Number.isFinite(n) || n < 1)
|
|
150
|
+
return 45;
|
|
151
|
+
return Math.min(3650, n);
|
|
152
|
+
})();
|
|
153
|
+
export const MAINTENANCE_MAX_MEMORY_ITEMS = (() => {
|
|
154
|
+
const raw = process.env.VECTORMIND_MAINTENANCE_MAX_MEMORY_ITEMS?.trim();
|
|
155
|
+
if (!raw)
|
|
156
|
+
return 250;
|
|
157
|
+
const n = Number.parseInt(raw, 10);
|
|
158
|
+
if (!Number.isFinite(n) || n < 1)
|
|
159
|
+
return 250;
|
|
160
|
+
return Math.min(5000, n);
|
|
161
|
+
})();
|
|
162
|
+
export const MAINTENANCE_MAX_INDEX_FILES = (() => {
|
|
163
|
+
const raw = process.env.VECTORMIND_MAINTENANCE_MAX_INDEX_FILES?.trim();
|
|
164
|
+
if (!raw)
|
|
165
|
+
return 1500;
|
|
166
|
+
const n = Number.parseInt(raw, 10);
|
|
167
|
+
if (!Number.isFinite(n) || n < 1)
|
|
168
|
+
return 1500;
|
|
169
|
+
return Math.min(50_000, n);
|
|
170
|
+
})();
|
|
171
|
+
export const ROOTS_LIST_TIMEOUT_MS = (() => {
|
|
172
|
+
const raw = process.env.VECTORMIND_ROOTS_TIMEOUT_MS?.trim();
|
|
173
|
+
if (!raw)
|
|
174
|
+
return 750;
|
|
175
|
+
const n = Number.parseInt(raw, 10);
|
|
176
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
177
|
+
return 750;
|
|
178
|
+
return n;
|
|
179
|
+
})();
|
|
180
|
+
export const BOOTSTRAP_SEMANTIC_TIMEOUT_MS = (() => {
|
|
181
|
+
const raw = process.env.VECTORMIND_SEMANTIC_TIMEOUT_MS?.trim();
|
|
182
|
+
if (!raw)
|
|
183
|
+
return 2500;
|
|
184
|
+
const n = Number.parseInt(raw, 10);
|
|
185
|
+
if (!Number.isFinite(n) || n <= 0)
|
|
186
|
+
return 2500;
|
|
187
|
+
return n;
|
|
188
|
+
})();
|
|
189
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import Database from "better-sqlite3";
|
|
2
|
+
import type { ExtractedSymbol } from "./types.js";
|
|
3
|
+
export declare const FTS_TABLE_NAME = "memory_items_fts";
|
|
4
|
+
export type PreparedDatabaseStatements = {
|
|
5
|
+
insertRequirementStmt: Database.Statement;
|
|
6
|
+
getActiveRequirementStmt: Database.Statement;
|
|
7
|
+
listActiveRequirementsStmt: Database.Statement;
|
|
8
|
+
listRecentRequirementsStmt: Database.Statement;
|
|
9
|
+
completeAllActiveRequirementsStmt: Database.Statement;
|
|
10
|
+
completeRequirementByIdStmt: Database.Statement;
|
|
11
|
+
completeAllActiveRequirementMemoryItemsStmt: Database.Statement;
|
|
12
|
+
completeRequirementMemoryItemByReqIdStmt: Database.Statement;
|
|
13
|
+
listChangeLogsForRequirementStmt: Database.Statement;
|
|
14
|
+
insertChangeLogStmt: Database.Statement;
|
|
15
|
+
insertMemoryItemStmt: Database.Statement;
|
|
16
|
+
getMemoryItemByIdStmt: Database.Statement;
|
|
17
|
+
getRequirementMemoryItemIdStmt: Database.Statement;
|
|
18
|
+
getConventionByKeyStmt: Database.Statement;
|
|
19
|
+
insertConventionStmt: Database.Statement;
|
|
20
|
+
updateConventionByIdStmt: Database.Statement;
|
|
21
|
+
listConventionsStmt: Database.Statement;
|
|
22
|
+
upsertDecisionStmt: Database.Statement;
|
|
23
|
+
getDecisionByKeyStmt: Database.Statement;
|
|
24
|
+
listCurrentDecisionsStmt: Database.Statement;
|
|
25
|
+
upsertProjectSummaryStmt: Database.Statement;
|
|
26
|
+
getProjectSummaryStmt: Database.Statement;
|
|
27
|
+
getLatestChangeIntentForFileStmt: Database.Statement;
|
|
28
|
+
deleteFileChunkItemsStmt: Database.Statement;
|
|
29
|
+
upsertPendingChangeStmt: Database.Statement;
|
|
30
|
+
listPendingChangesStmt: Database.Statement;
|
|
31
|
+
countPendingChangesStmt: Database.Statement;
|
|
32
|
+
deletePendingChangeStmt: Database.Statement;
|
|
33
|
+
deleteAllPendingChangesStmt: Database.Statement;
|
|
34
|
+
deleteOldPendingChangesStmt: Database.Statement;
|
|
35
|
+
deleteOldestPendingChangesStmt: Database.Statement;
|
|
36
|
+
deleteSymbolsForFileStmt: Database.Statement;
|
|
37
|
+
upsertSymbolStmt: Database.Statement;
|
|
38
|
+
searchSymbolsStmt: Database.Statement;
|
|
39
|
+
insertTokenSavingsStmt: Database.Statement;
|
|
40
|
+
summarizeTokenSavingsStmt: Database.Statement;
|
|
41
|
+
summarizeTokenSavingsByToolStmt: Database.Statement;
|
|
42
|
+
listRecentTokenSavingsStmt: Database.Statement;
|
|
43
|
+
getKvStmt: Database.Statement;
|
|
44
|
+
setKvStmt: Database.Statement;
|
|
45
|
+
};
|
|
46
|
+
export type DatabaseRuntime = {
|
|
47
|
+
db: Database.Database;
|
|
48
|
+
dbPath: string;
|
|
49
|
+
ftsAvailable: boolean;
|
|
50
|
+
ftsTableName: string;
|
|
51
|
+
indexFileSymbolsTx: ((filePath: string, symbols: ExtractedSymbol[]) => void) | null;
|
|
52
|
+
statements: PreparedDatabaseStatements;
|
|
53
|
+
};
|
|
54
|
+
export declare function openDatabaseRuntime(projectRoot: string): DatabaseRuntime;
|