@downcity/plugins 1.0.60 → 1.0.61
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/bin/BuiltinPlugins.d.ts +15 -0
- package/bin/BuiltinPlugins.d.ts.map +1 -1
- package/bin/BuiltinPlugins.js +7 -1
- package/bin/BuiltinPlugins.js.map +1 -1
- package/bin/index.d.ts +6 -0
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +3 -0
- package/bin/index.js.map +1 -1
- package/bin/memory/Action.d.ts +15 -10
- package/bin/memory/Action.d.ts.map +1 -1
- package/bin/memory/Action.js +233 -16
- package/bin/memory/Action.js.map +1 -1
- package/bin/memory/MemoryPlugin.d.ts +10 -4
- package/bin/memory/MemoryPlugin.d.ts.map +1 -1
- package/bin/memory/MemoryPlugin.js +79 -37
- package/bin/memory/MemoryPlugin.js.map +1 -1
- package/bin/memory/runtime/Search.d.ts +1 -1
- package/bin/memory/runtime/Search.d.ts.map +1 -1
- package/bin/memory/runtime/Search.js +11 -7
- package/bin/memory/runtime/Search.js.map +1 -1
- package/bin/memory/runtime/Store.d.ts +8 -23
- package/bin/memory/runtime/Store.d.ts.map +1 -1
- package/bin/memory/runtime/Store.js +28 -43
- package/bin/memory/runtime/Store.js.map +1 -1
- package/bin/memory/runtime/SystemProvider.d.ts +4 -8
- package/bin/memory/runtime/SystemProvider.d.ts.map +1 -1
- package/bin/memory/runtime/SystemProvider.js +55 -62
- package/bin/memory/runtime/SystemProvider.js.map +1 -1
- package/bin/memory/runtime/Writer.d.ts +48 -10
- package/bin/memory/runtime/Writer.d.ts.map +1 -1
- package/bin/memory/runtime/Writer.js +197 -60
- package/bin/memory/runtime/Writer.js.map +1 -1
- package/bin/memory/types/Memory.d.ts +222 -33
- package/bin/memory/types/Memory.d.ts.map +1 -1
- package/bin/memory/types/Memory.js +4 -3
- package/bin/memory/types/Memory.js.map +1 -1
- package/bin/shell/ShellPlugin.d.ts +2 -1
- package/bin/shell/ShellPlugin.d.ts.map +1 -1
- package/bin/shell/ShellPlugin.js +3 -3
- package/bin/shell/ShellPlugin.js.map +1 -1
- package/bin/shell/ShellRuntimeTypes.d.ts +7 -2
- package/bin/shell/ShellRuntimeTypes.d.ts.map +1 -1
- package/bin/shell/runtime/ShellActionRuntime.d.ts.map +1 -1
- package/bin/shell/runtime/ShellActionRuntime.js +6 -6
- package/bin/shell/runtime/ShellActionRuntime.js.map +1 -1
- package/bin/shell/runtime/ShellActionRuntimeSupport.d.ts +14 -5
- package/bin/shell/runtime/ShellActionRuntimeSupport.d.ts.map +1 -1
- package/bin/shell/runtime/ShellActionRuntimeSupport.js +58 -22
- package/bin/shell/runtime/ShellActionRuntimeSupport.js.map +1 -1
- package/bin/shell/runtime/ShellProcessEvents.js +3 -3
- package/bin/shell/runtime/ShellProcessEvents.js.map +1 -1
- package/bin/shell/types/ShellPluginOptions.d.ts +95 -0
- package/bin/shell/types/ShellPluginOptions.d.ts.map +1 -0
- package/bin/shell/types/ShellPluginOptions.js +10 -0
- package/bin/shell/types/ShellPluginOptions.js.map +1 -0
- package/bin/task/Scheduler.d.ts +8 -0
- package/bin/task/Scheduler.d.ts.map +1 -1
- package/bin/task/Scheduler.js +7 -9
- package/bin/task/Scheduler.js.map +1 -1
- package/bin/task/TaskPlugin.d.ts +18 -1
- package/bin/task/TaskPlugin.d.ts.map +1 -1
- package/bin/task/TaskPlugin.js +23 -1
- package/bin/task/TaskPlugin.js.map +1 -1
- package/bin/task/types/TaskPluginOptions.d.ts +22 -0
- package/bin/task/types/TaskPluginOptions.d.ts.map +1 -0
- package/bin/task/types/TaskPluginOptions.js +9 -0
- package/bin/task/types/TaskPluginOptions.js.map +1 -0
- package/package.json +2 -2
- package/src/BuiltinPlugins.ts +27 -1
- package/src/index.ts +35 -0
- package/src/memory/Action.ts +292 -25
- package/src/memory/MemoryPlugin.ts +82 -40
- package/src/memory/runtime/Search.ts +16 -9
- package/src/memory/runtime/Store.ts +52 -49
- package/src/memory/runtime/SystemProvider.ts +55 -69
- package/src/memory/runtime/Writer.ts +262 -81
- package/src/memory/types/Memory.ts +296 -35
- package/src/shell/ShellPlugin.ts +4 -3
- package/src/shell/ShellRuntimeTypes.ts +7 -2
- package/src/shell/runtime/ShellActionRuntime.ts +18 -9
- package/src/shell/runtime/ShellActionRuntimeSupport.ts +106 -21
- package/src/shell/runtime/ShellProcessEvents.ts +3 -3
- package/src/shell/types/ShellPluginOptions.ts +112 -0
- package/src/task/Scheduler.ts +15 -9
- package/src/task/TaskPlugin.ts +27 -1
- package/src/task/types/TaskPluginOptions.ts +22 -0
- package/bin/memory/runtime/Flush.d.ts +0 -15
- package/bin/memory/runtime/Flush.d.ts.map +0 -1
- package/bin/memory/runtime/Flush.js +0 -63
- package/bin/memory/runtime/Flush.js.map +0 -1
- package/src/memory/runtime/Flush.ts +0 -83
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MemoryPlugin:
|
|
2
|
+
* MemoryPlugin:agent 的长期记忆 plugin。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
5
|
+
* - 对外仍然是 MemoryPlugin,内部使用 LLM Wiki 方式组织知识。
|
|
6
|
+
* - constructor 注入 digest/revise 能力,plugin 不绑定具体 LLM 服务。
|
|
7
|
+
* - action 面向 agent 语义,而不是暴露底层文件写入细节。
|
|
8
8
|
*/
|
|
9
9
|
import { BasePlugin } from "@downcity/agent/internal/plugin/core/BasePlugin.js";
|
|
10
|
-
import {
|
|
11
|
-
import { createMemoryRuntimeState,
|
|
10
|
+
import { digestMemoryAction, readMemoryAction, rememberMemoryAction, reviseMemoryAction, searchMemoryAction, statusMemoryAction, } from "./Action.js";
|
|
11
|
+
import { createMemoryRuntimeState, } from "./runtime/Store.js";
|
|
12
12
|
import { buildMemoryPluginSystemText } from "./runtime/SystemProvider.js";
|
|
13
13
|
import { ensureMemoryDirectories } from "./runtime/Writer.js";
|
|
14
14
|
function parsePositiveInteger(value) {
|
|
@@ -51,10 +51,15 @@ function readOptionalNumber(body, key) {
|
|
|
51
51
|
const value = body[key];
|
|
52
52
|
return typeof value === "number" ? value : undefined;
|
|
53
53
|
}
|
|
54
|
+
function readOptionalBoolean(body, key) {
|
|
55
|
+
const value = body[key];
|
|
56
|
+
return typeof value === "boolean" ? value : undefined;
|
|
57
|
+
}
|
|
54
58
|
/**
|
|
55
59
|
* Memory plugin 类实现。
|
|
56
60
|
*/
|
|
57
61
|
export class MemoryPlugin extends BasePlugin {
|
|
62
|
+
options;
|
|
58
63
|
/**
|
|
59
64
|
* plugin 名称。
|
|
60
65
|
*/
|
|
@@ -63,6 +68,13 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
63
68
|
* 当前实例持有的 memory plugin state。
|
|
64
69
|
*/
|
|
65
70
|
runtimeState = null;
|
|
71
|
+
/**
|
|
72
|
+
* 创建 MemoryPlugin。
|
|
73
|
+
*/
|
|
74
|
+
constructor(options = {}) {
|
|
75
|
+
super();
|
|
76
|
+
this.options = options;
|
|
77
|
+
}
|
|
66
78
|
/**
|
|
67
79
|
* 当前 plugin 的 system 文本提供器。
|
|
68
80
|
*/
|
|
@@ -75,13 +87,9 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
75
87
|
lifecycle = {
|
|
76
88
|
start: async (context) => {
|
|
77
89
|
await ensureMemoryDirectories(context.rootPath);
|
|
78
|
-
|
|
79
|
-
await startMemoryRuntime(context, state);
|
|
90
|
+
this.getOrCreateRuntimeState(context);
|
|
80
91
|
},
|
|
81
92
|
stop: async () => {
|
|
82
|
-
if (!this.runtimeState)
|
|
83
|
-
return;
|
|
84
|
-
await stopMemoryRuntime(this.runtimeState);
|
|
85
93
|
this.runtimeState = null;
|
|
86
94
|
},
|
|
87
95
|
};
|
|
@@ -91,7 +99,7 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
91
99
|
actions = {
|
|
92
100
|
status: {
|
|
93
101
|
command: {
|
|
94
|
-
description: "查看 memory 状态(
|
|
102
|
+
description: "查看 memory wiki 状态(wiki/source/working)",
|
|
95
103
|
mapInput() {
|
|
96
104
|
return {};
|
|
97
105
|
},
|
|
@@ -103,12 +111,13 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
103
111
|
},
|
|
104
112
|
search: {
|
|
105
113
|
command: {
|
|
106
|
-
description: "
|
|
114
|
+
description: "检索 memory wiki",
|
|
107
115
|
configure(command) {
|
|
108
116
|
command
|
|
109
117
|
.argument("<query>")
|
|
110
118
|
.option("--max-results <number>", "返回条数上限", parsePositiveInteger)
|
|
111
|
-
.option("--min-score <number>", "最小相关分数", parseNumber)
|
|
119
|
+
.option("--min-score <number>", "最小相关分数", parseNumber)
|
|
120
|
+
.option("--include-sources", "同时检索原始 source 层");
|
|
112
121
|
},
|
|
113
122
|
mapInput({ args, opts }) {
|
|
114
123
|
const payload = {
|
|
@@ -120,6 +129,9 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
120
129
|
if (typeof opts.minScore === "number") {
|
|
121
130
|
payload.minScore = opts.minScore;
|
|
122
131
|
}
|
|
132
|
+
if (opts.includeSources === true) {
|
|
133
|
+
payload.includeSources = true;
|
|
134
|
+
}
|
|
123
135
|
return payload;
|
|
124
136
|
},
|
|
125
137
|
},
|
|
@@ -130,12 +142,13 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
130
142
|
query: readString(body, "query"),
|
|
131
143
|
maxResults: readOptionalNumber(body, "maxResults"),
|
|
132
144
|
minScore: readOptionalNumber(body, "minScore"),
|
|
145
|
+
includeSources: readOptionalBoolean(body, "includeSources"),
|
|
133
146
|
});
|
|
134
147
|
},
|
|
135
148
|
},
|
|
136
|
-
|
|
149
|
+
read: {
|
|
137
150
|
command: {
|
|
138
|
-
description: "
|
|
151
|
+
description: "读取 memory wiki/source 文件片段",
|
|
139
152
|
configure(command) {
|
|
140
153
|
command
|
|
141
154
|
.argument("<memoryPath>", "记忆文件路径(相对项目根目录)")
|
|
@@ -157,51 +170,52 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
157
170
|
},
|
|
158
171
|
execute: async (params) => {
|
|
159
172
|
const body = readBodyObject(params.payload);
|
|
160
|
-
return await
|
|
173
|
+
return await readMemoryAction(params.context, {
|
|
161
174
|
path: readString(body, "path"),
|
|
162
175
|
from: readOptionalNumber(body, "from"),
|
|
163
176
|
lines: readOptionalNumber(body, "lines"),
|
|
164
177
|
});
|
|
165
178
|
},
|
|
166
179
|
},
|
|
167
|
-
|
|
180
|
+
remember: {
|
|
168
181
|
command: {
|
|
169
|
-
description: "
|
|
182
|
+
description: "把事实/偏好/决策记入 memory wiki",
|
|
170
183
|
configure(command) {
|
|
171
184
|
command
|
|
172
|
-
.requiredOption("--content <text>", "
|
|
173
|
-
.option("--
|
|
174
|
-
.option("--
|
|
185
|
+
.requiredOption("--content <text>", "需要记住的内容")
|
|
186
|
+
.option("--topic <topic>", "记忆主题")
|
|
187
|
+
.option("--wiki-path <path>", "目标 wiki page 路径")
|
|
188
|
+
.option("--source <source>", "来源说明");
|
|
175
189
|
},
|
|
176
190
|
mapInput({ opts }) {
|
|
177
191
|
const payload = {
|
|
178
192
|
content: String(opts.content || ""),
|
|
179
193
|
};
|
|
180
|
-
if (typeof opts.
|
|
181
|
-
payload.
|
|
194
|
+
if (typeof opts.topic === "string") {
|
|
195
|
+
payload.topic = String(opts.topic).trim();
|
|
196
|
+
}
|
|
197
|
+
if (typeof opts.wikiPath === "string") {
|
|
198
|
+
payload.path = String(opts.wikiPath).trim();
|
|
182
199
|
}
|
|
183
|
-
if (typeof opts.
|
|
184
|
-
payload.
|
|
200
|
+
if (typeof opts.source === "string") {
|
|
201
|
+
payload.source = String(opts.source).trim();
|
|
185
202
|
}
|
|
186
203
|
return payload;
|
|
187
204
|
},
|
|
188
205
|
},
|
|
189
206
|
execute: async (params) => {
|
|
190
207
|
const body = readBodyObject(params.payload);
|
|
191
|
-
|
|
192
|
-
const state = this.getOrCreateRuntimeState(params.context);
|
|
193
|
-
return await storeMemoryAction(params.context, state, {
|
|
208
|
+
return await rememberMemoryAction(params.context, this.options, {
|
|
194
209
|
content: readString(body, "content"),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
sessionId: readOptionalString(body, "sessionId"),
|
|
210
|
+
topic: readOptionalString(body, "topic"),
|
|
211
|
+
path: readOptionalString(body, "path"),
|
|
212
|
+
source: readOptionalString(body, "source"),
|
|
199
213
|
});
|
|
200
214
|
},
|
|
201
215
|
},
|
|
202
|
-
|
|
216
|
+
digest: {
|
|
203
217
|
command: {
|
|
204
|
-
description: "
|
|
218
|
+
description: "把 session 提炼进 memory wiki",
|
|
205
219
|
configure(command) {
|
|
206
220
|
command
|
|
207
221
|
.requiredOption("--session-id <sessionId>", "会话 ID")
|
|
@@ -219,13 +233,41 @@ export class MemoryPlugin extends BasePlugin {
|
|
|
219
233
|
},
|
|
220
234
|
execute: async (params) => {
|
|
221
235
|
const body = readBodyObject(params.payload);
|
|
222
|
-
|
|
223
|
-
return await flushMemoryAction(params.context, state, {
|
|
236
|
+
return await digestMemoryAction(params.context, this.options, {
|
|
224
237
|
sessionId: readString(body, "sessionId"),
|
|
225
238
|
maxMessages: readOptionalNumber(body, "maxMessages"),
|
|
226
239
|
});
|
|
227
240
|
},
|
|
228
241
|
},
|
|
242
|
+
revise: {
|
|
243
|
+
command: {
|
|
244
|
+
description: "基于新证据修订 memory wiki page",
|
|
245
|
+
configure(command) {
|
|
246
|
+
command
|
|
247
|
+
.argument("<memoryPath>", "目标 wiki page 路径")
|
|
248
|
+
.requiredOption("--instruction <text>", "修订指令")
|
|
249
|
+
.option("--evidence <text>", "新证据");
|
|
250
|
+
},
|
|
251
|
+
mapInput({ args, opts }) {
|
|
252
|
+
const payload = {
|
|
253
|
+
path: String(args[0] || ""),
|
|
254
|
+
instruction: String(opts.instruction || ""),
|
|
255
|
+
};
|
|
256
|
+
if (typeof opts.evidence === "string") {
|
|
257
|
+
payload.evidence = String(opts.evidence).trim();
|
|
258
|
+
}
|
|
259
|
+
return payload;
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
execute: async (params) => {
|
|
263
|
+
const body = readBodyObject(params.payload);
|
|
264
|
+
return await reviseMemoryAction(params.context, this.options, {
|
|
265
|
+
path: readString(body, "path"),
|
|
266
|
+
instruction: readString(body, "instruction"),
|
|
267
|
+
evidence: readOptionalString(body, "evidence"),
|
|
268
|
+
});
|
|
269
|
+
},
|
|
270
|
+
},
|
|
229
271
|
};
|
|
230
272
|
/**
|
|
231
273
|
* 获取或创建当前实例绑定的 memory plugin state。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryPlugin.js","sourceRoot":"","sources":["../../src/memory/MemoryPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"MemoryPlugin.js","sourceRoot":"","sources":["../../src/memory/MemoryPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/memory/runtime/Search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAGpB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../src/memory/runtime/Search.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAGpB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAiKpB;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAgC/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAiG/B"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Memory Search 运行时。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* - 直接扫描 Markdown 文件,不依赖额外索引库。
|
|
5
|
+
* - 直接扫描 LLM Wiki Markdown 文件,不依赖额外索引库。
|
|
6
6
|
* - 统一收敛检索、分块、打分与状态统计逻辑。
|
|
7
7
|
*/
|
|
8
8
|
import fs from "node:fs/promises";
|
|
@@ -122,8 +122,8 @@ function chunkMarkdown(content) {
|
|
|
122
122
|
flush();
|
|
123
123
|
return out;
|
|
124
124
|
}
|
|
125
|
-
async function readMemoryChunks(context) {
|
|
126
|
-
const files = await listMemorySourceFiles(context.rootPath);
|
|
125
|
+
async function readMemoryChunks(context, options) {
|
|
126
|
+
const files = await listMemorySourceFiles(context.rootPath, options);
|
|
127
127
|
const out = [];
|
|
128
128
|
for (const file of files) {
|
|
129
129
|
const content = String(await fs.readFile(file.absPath, "utf-8"));
|
|
@@ -144,10 +144,12 @@ async function readMemoryChunks(context) {
|
|
|
144
144
|
*/
|
|
145
145
|
export async function collectMemoryStatus(context, state) {
|
|
146
146
|
void state;
|
|
147
|
-
const files = await listMemorySourceFiles(context.rootPath
|
|
147
|
+
const files = await listMemorySourceFiles(context.rootPath, {
|
|
148
|
+
includeSources: true,
|
|
149
|
+
});
|
|
148
150
|
const sourceCounts = [
|
|
149
|
-
{ source: "
|
|
150
|
-
{ source: "
|
|
151
|
+
{ source: "wiki", files: 0, chunks: 0 },
|
|
152
|
+
{ source: "source", files: 0, chunks: 0 },
|
|
151
153
|
{ source: "working", files: 0, chunks: 0 },
|
|
152
154
|
];
|
|
153
155
|
let totalChunks = 0;
|
|
@@ -195,7 +197,9 @@ export async function searchMemory(context, state, payload) {
|
|
|
195
197
|
const maxResults = Math.floor(clampNumber(Number(payload.maxResults ?? MEMORY_DEFAULTS.maxResults), 1, 20));
|
|
196
198
|
const minScore = clampNumber(Number(payload.minScore ?? MEMORY_DEFAULTS.minScore), 0, 1);
|
|
197
199
|
try {
|
|
198
|
-
const results = (await readMemoryChunks(context
|
|
200
|
+
const results = (await readMemoryChunks(context, {
|
|
201
|
+
includeSources: payload.includeSources,
|
|
202
|
+
}))
|
|
199
203
|
.map((chunk) => {
|
|
200
204
|
const score = buildSnippetScore(chunk.text, tokens);
|
|
201
205
|
const citation = chunk.startLine === chunk.endLine
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/memory/runtime/Search.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/memory/runtime/Search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Memory Store
|
|
2
|
+
* Memory Store(文件枚举与轻量运行态)。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* - 新版本不再使用 module-global state,状态归属 MemoryService 实例。
|
|
5
|
+
* - MemoryPlugin 使用 LLM Wiki 结构:`wiki/` 是知识层,`sources/` 是证据层。
|
|
6
|
+
* - 当前实现不维护后台索引,扫描 Markdown 即可工作。
|
|
7
|
+
* - 运行态只保存 rootPath,避免伪装成有后台 worker 的复杂 runtime。
|
|
9
8
|
*/
|
|
10
9
|
import type { AgentContext } from "@downcity/agent/internal/types/runtime/agent/AgentContext.js";
|
|
11
10
|
import type { MemoryDefaults, MemorySourceType } from "../../memory/types/Memory.js";
|
|
@@ -31,27 +30,13 @@ export type MemoryRuntimeState = {
|
|
|
31
30
|
rootPath: string;
|
|
32
31
|
};
|
|
33
32
|
/**
|
|
34
|
-
* 枚举 memory
|
|
33
|
+
* 枚举 memory Markdown 文件。
|
|
35
34
|
*/
|
|
36
|
-
export declare function listMemorySourceFiles(rootPath: string
|
|
35
|
+
export declare function listMemorySourceFiles(rootPath: string, options?: {
|
|
36
|
+
includeSources?: boolean;
|
|
37
|
+
}): Promise<MemorySourceFile[]>;
|
|
37
38
|
/**
|
|
38
39
|
* 创建一个新的 memory plugin state。
|
|
39
|
-
*
|
|
40
|
-
* 关键点(中文)
|
|
41
|
-
* - 每个 `MemoryPlugin` 实例都持有自己的 state。
|
|
42
|
-
* - 不再按 rootPath 落到模块级 Map,避免 plugin runtime 实例之间共享状态。
|
|
43
40
|
*/
|
|
44
41
|
export declare function createMemoryRuntimeState(context: AgentContext): MemoryRuntimeState;
|
|
45
|
-
/**
|
|
46
|
-
* 启动 memory 运行时。
|
|
47
|
-
*
|
|
48
|
-
* 关键点(中文)
|
|
49
|
-
* - Markdown-only 方案下不再维护后台索引同步。
|
|
50
|
-
* - 注册了 memory plugin 就视为启用,不再额外读取项目配置开关。
|
|
51
|
-
*/
|
|
52
|
-
export declare function startMemoryRuntime(_context: AgentContext, state: MemoryRuntimeState): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* 停止 memory 运行时。
|
|
55
|
-
*/
|
|
56
|
-
export declare function stopMemoryRuntime(_state: MemoryRuntimeState): Promise<void>;
|
|
57
42
|
//# sourceMappingURL=Store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/memory/runtime/Store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/memory/runtime/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,eAAe,EAAE,cAI7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAC;IAEzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AA2DF;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA8D7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAIpB"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Memory Store
|
|
2
|
+
* Memory Store(文件枚举与轻量运行态)。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* - 新版本不再使用 module-global state,状态归属 MemoryService 实例。
|
|
5
|
+
* - MemoryPlugin 使用 LLM Wiki 结构:`wiki/` 是知识层,`sources/` 是证据层。
|
|
6
|
+
* - 当前实现不维护后台索引,扫描 Markdown 即可工作。
|
|
7
|
+
* - 运行态只保存 rootPath,避免伪装成有后台 worker 的复杂 runtime。
|
|
9
8
|
*/
|
|
10
9
|
import fsp from "node:fs/promises";
|
|
11
10
|
import path from "node:path";
|
|
@@ -54,26 +53,33 @@ async function listMarkdownFilesRecursively(dirPath) {
|
|
|
54
53
|
}
|
|
55
54
|
return out;
|
|
56
55
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*/
|
|
60
|
-
export async function listMemorySourceFiles(rootPath) {
|
|
61
|
-
const out = [];
|
|
62
|
-
const longterm = path.join(rootPath, ".downcity", "memory", "MEMORY.md");
|
|
63
|
-
if (await pathExists(longterm)) {
|
|
56
|
+
async function pushMarkdownTree(out, rootPath, dirPath, source) {
|
|
57
|
+
for (const absPath of await listMarkdownFilesRecursively(dirPath)) {
|
|
64
58
|
out.push({
|
|
65
|
-
source
|
|
66
|
-
absPath
|
|
67
|
-
relPath: normalizeRelPath(rootPath,
|
|
59
|
+
source,
|
|
60
|
+
absPath,
|
|
61
|
+
relPath: normalizeRelPath(rootPath, absPath),
|
|
68
62
|
});
|
|
69
63
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 枚举 memory Markdown 文件。
|
|
67
|
+
*/
|
|
68
|
+
export async function listMemorySourceFiles(rootPath, options = {}) {
|
|
69
|
+
const out = [];
|
|
70
|
+
await pushMarkdownTree(out, rootPath, path.join(rootPath, ".downcity", "memory", "wiki"), "wiki");
|
|
71
|
+
if (options.includeSources) {
|
|
72
|
+
await pushMarkdownTree(out, rootPath, path.join(rootPath, ".downcity", "memory", "sources"), "source");
|
|
73
|
+
// 旧版 daily / MEMORY.md 被当作 source 层读取,避免已有文件突然不可检索。
|
|
74
|
+
const longterm = path.join(rootPath, ".downcity", "memory", "MEMORY.md");
|
|
75
|
+
if (await pathExists(longterm)) {
|
|
76
|
+
out.push({
|
|
77
|
+
source: "source",
|
|
78
|
+
absPath: longterm,
|
|
79
|
+
relPath: normalizeRelPath(rootPath, longterm),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
await pushMarkdownTree(out, rootPath, path.join(rootPath, ".downcity", "memory", "daily"), "source");
|
|
77
83
|
}
|
|
78
84
|
const sessionRootDir = path.join(rootPath, ".downcity", "session");
|
|
79
85
|
let sessions = [];
|
|
@@ -101,31 +107,10 @@ export async function listMemorySourceFiles(rootPath) {
|
|
|
101
107
|
}
|
|
102
108
|
/**
|
|
103
109
|
* 创建一个新的 memory plugin state。
|
|
104
|
-
*
|
|
105
|
-
* 关键点(中文)
|
|
106
|
-
* - 每个 `MemoryPlugin` 实例都持有自己的 state。
|
|
107
|
-
* - 不再按 rootPath 落到模块级 Map,避免 plugin runtime 实例之间共享状态。
|
|
108
110
|
*/
|
|
109
111
|
export function createMemoryRuntimeState(context) {
|
|
110
112
|
return {
|
|
111
113
|
rootPath: context.rootPath,
|
|
112
114
|
};
|
|
113
115
|
}
|
|
114
|
-
/**
|
|
115
|
-
* 启动 memory 运行时。
|
|
116
|
-
*
|
|
117
|
-
* 关键点(中文)
|
|
118
|
-
* - Markdown-only 方案下不再维护后台索引同步。
|
|
119
|
-
* - 注册了 memory plugin 就视为启用,不再额外读取项目配置开关。
|
|
120
|
-
*/
|
|
121
|
-
export async function startMemoryRuntime(_context, state) {
|
|
122
|
-
void _context;
|
|
123
|
-
void state;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* 停止 memory 运行时。
|
|
127
|
-
*/
|
|
128
|
-
export async function stopMemoryRuntime(_state) {
|
|
129
|
-
void _state;
|
|
130
|
-
}
|
|
131
116
|
//# sourceMappingURL=Store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/memory/runtime/Store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/memory/runtime/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,13 @@
|
|
|
2
2
|
* Memory System Prompt 构建器。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
5
|
+
* - MemoryPlugin 是 agent 的 LLM Wiki style memory。
|
|
6
|
+
* - system prompt 只注入极少量稳定 wiki 摘要,不直接塞整份 memory。
|
|
7
|
+
* - 深层记忆统一通过 memory.search/read/remember/digest/revise action 访问。
|
|
7
8
|
*/
|
|
8
9
|
import type { AgentContext } from "@downcity/agent/internal/types/runtime/agent/AgentContext.js";
|
|
9
10
|
/**
|
|
10
|
-
* 从
|
|
11
|
-
*
|
|
12
|
-
* 关键点(中文)
|
|
13
|
-
* - 只提取 `### Canon` 下的正文。
|
|
14
|
-
* - 丢弃时间戳、类型、空行等易变信息,保证 system prompt 更稳定。
|
|
15
|
-
* - 做简单去重,避免同一条长期偏好重复注入。
|
|
11
|
+
* 从 wiki 中提取少量稳定记忆。
|
|
16
12
|
*/
|
|
17
13
|
export declare function readStableSystemMemory(context: AgentContext): Promise<string[]>;
|
|
18
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemProvider.d.ts","sourceRoot":"","sources":["../../../src/memory/runtime/SystemProvider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SystemProvider.d.ts","sourceRoot":"","sources":["../../../src/memory/runtime/SystemProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AAuCjG;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC,CA4BjB"}
|