@downcity/plugins 1.0.59 → 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.
Files changed (101) hide show
  1. package/bin/BuiltinPlugins.d.ts +39 -2
  2. package/bin/BuiltinPlugins.d.ts.map +1 -1
  3. package/bin/BuiltinPlugins.js +24 -3
  4. package/bin/BuiltinPlugins.js.map +1 -1
  5. package/bin/contact/ContactPlugin.d.ts +6 -1
  6. package/bin/contact/ContactPlugin.d.ts.map +1 -1
  7. package/bin/contact/ContactPlugin.js +9 -8
  8. package/bin/contact/ContactPlugin.js.map +1 -1
  9. package/bin/contact/types/ContactPluginOptions.d.ts +29 -0
  10. package/bin/contact/types/ContactPluginOptions.d.ts.map +1 -0
  11. package/bin/contact/types/ContactPluginOptions.js +9 -0
  12. package/bin/contact/types/ContactPluginOptions.js.map +1 -0
  13. package/bin/index.d.ts +9 -1
  14. package/bin/index.d.ts.map +1 -1
  15. package/bin/index.js +4 -0
  16. package/bin/index.js.map +1 -1
  17. package/bin/memory/Action.d.ts +15 -10
  18. package/bin/memory/Action.d.ts.map +1 -1
  19. package/bin/memory/Action.js +233 -16
  20. package/bin/memory/Action.js.map +1 -1
  21. package/bin/memory/MemoryPlugin.d.ts +10 -4
  22. package/bin/memory/MemoryPlugin.d.ts.map +1 -1
  23. package/bin/memory/MemoryPlugin.js +79 -37
  24. package/bin/memory/MemoryPlugin.js.map +1 -1
  25. package/bin/memory/runtime/Search.d.ts +1 -1
  26. package/bin/memory/runtime/Search.d.ts.map +1 -1
  27. package/bin/memory/runtime/Search.js +11 -7
  28. package/bin/memory/runtime/Search.js.map +1 -1
  29. package/bin/memory/runtime/Store.d.ts +8 -23
  30. package/bin/memory/runtime/Store.d.ts.map +1 -1
  31. package/bin/memory/runtime/Store.js +28 -43
  32. package/bin/memory/runtime/Store.js.map +1 -1
  33. package/bin/memory/runtime/SystemProvider.d.ts +4 -8
  34. package/bin/memory/runtime/SystemProvider.d.ts.map +1 -1
  35. package/bin/memory/runtime/SystemProvider.js +55 -62
  36. package/bin/memory/runtime/SystemProvider.js.map +1 -1
  37. package/bin/memory/runtime/Writer.d.ts +48 -10
  38. package/bin/memory/runtime/Writer.d.ts.map +1 -1
  39. package/bin/memory/runtime/Writer.js +197 -60
  40. package/bin/memory/runtime/Writer.js.map +1 -1
  41. package/bin/memory/types/Memory.d.ts +222 -33
  42. package/bin/memory/types/Memory.d.ts.map +1 -1
  43. package/bin/memory/types/Memory.js +4 -3
  44. package/bin/memory/types/Memory.js.map +1 -1
  45. package/bin/shell/ShellPlugin.d.ts +2 -1
  46. package/bin/shell/ShellPlugin.d.ts.map +1 -1
  47. package/bin/shell/ShellPlugin.js +3 -3
  48. package/bin/shell/ShellPlugin.js.map +1 -1
  49. package/bin/shell/ShellRuntimeTypes.d.ts +7 -2
  50. package/bin/shell/ShellRuntimeTypes.d.ts.map +1 -1
  51. package/bin/shell/runtime/ShellActionRuntime.d.ts.map +1 -1
  52. package/bin/shell/runtime/ShellActionRuntime.js +6 -6
  53. package/bin/shell/runtime/ShellActionRuntime.js.map +1 -1
  54. package/bin/shell/runtime/ShellActionRuntimeSupport.d.ts +14 -5
  55. package/bin/shell/runtime/ShellActionRuntimeSupport.d.ts.map +1 -1
  56. package/bin/shell/runtime/ShellActionRuntimeSupport.js +58 -22
  57. package/bin/shell/runtime/ShellActionRuntimeSupport.js.map +1 -1
  58. package/bin/shell/runtime/ShellProcessEvents.js +3 -3
  59. package/bin/shell/runtime/ShellProcessEvents.js.map +1 -1
  60. package/bin/shell/types/ShellPluginOptions.d.ts +95 -0
  61. package/bin/shell/types/ShellPluginOptions.d.ts.map +1 -0
  62. package/bin/shell/types/ShellPluginOptions.js +10 -0
  63. package/bin/shell/types/ShellPluginOptions.js.map +1 -0
  64. package/bin/task/Scheduler.d.ts +8 -0
  65. package/bin/task/Scheduler.d.ts.map +1 -1
  66. package/bin/task/Scheduler.js +7 -9
  67. package/bin/task/Scheduler.js.map +1 -1
  68. package/bin/task/TaskPlugin.d.ts +18 -1
  69. package/bin/task/TaskPlugin.d.ts.map +1 -1
  70. package/bin/task/TaskPlugin.js +23 -1
  71. package/bin/task/TaskPlugin.js.map +1 -1
  72. package/bin/task/types/TaskPluginOptions.d.ts +22 -0
  73. package/bin/task/types/TaskPluginOptions.d.ts.map +1 -0
  74. package/bin/task/types/TaskPluginOptions.js +9 -0
  75. package/bin/task/types/TaskPluginOptions.js.map +1 -0
  76. package/package.json +2 -2
  77. package/src/BuiltinPlugins.ts +67 -3
  78. package/src/contact/ContactPlugin.ts +17 -9
  79. package/src/contact/types/ContactPluginOptions.ts +30 -0
  80. package/src/index.ts +41 -1
  81. package/src/memory/Action.ts +292 -25
  82. package/src/memory/MemoryPlugin.ts +82 -40
  83. package/src/memory/runtime/Search.ts +16 -9
  84. package/src/memory/runtime/Store.ts +52 -49
  85. package/src/memory/runtime/SystemProvider.ts +55 -69
  86. package/src/memory/runtime/Writer.ts +262 -81
  87. package/src/memory/types/Memory.ts +296 -35
  88. package/src/shell/ShellPlugin.ts +4 -3
  89. package/src/shell/ShellRuntimeTypes.ts +7 -2
  90. package/src/shell/runtime/ShellActionRuntime.ts +18 -9
  91. package/src/shell/runtime/ShellActionRuntimeSupport.ts +106 -21
  92. package/src/shell/runtime/ShellProcessEvents.ts +3 -3
  93. package/src/shell/types/ShellPluginOptions.ts +112 -0
  94. package/src/task/Scheduler.ts +15 -9
  95. package/src/task/TaskPlugin.ts +27 -1
  96. package/src/task/types/TaskPluginOptions.ts +22 -0
  97. package/bin/memory/runtime/Flush.d.ts +0 -15
  98. package/bin/memory/runtime/Flush.d.ts.map +0 -1
  99. package/bin/memory/runtime/Flush.js +0 -63
  100. package/bin/memory/runtime/Flush.js.map +0 -1
  101. package/src/memory/runtime/Flush.ts +0 -83
@@ -1,14 +1,77 @@
1
1
  /**
2
- * Memory Service Action 逻辑。
2
+ * Memory Plugin action 逻辑。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 只处理业务动作,不包含 CLI/API 参数映射细节。
6
- * - 所有动作统一返回结构化结果,失败不抛给上层。
5
+ * - action 面向 agent 的记忆语义:search/read/remember/digest/revise。
6
+ * - 原始证据先进入 sources,长期知识进入 wiki。
7
+ * - LLM digest/revise 能力由 MemoryPlugin constructor 注入。
7
8
  */
8
- import { flushMemory } from "./runtime/Flush.js";
9
+ import { isTextUIPart } from "ai";
9
10
  import { collectMemoryStatus, searchMemory, } from "./runtime/Search.js";
10
11
  import { MEMORY_DEFAULTS, } from "./runtime/Store.js";
11
- import { getMemory, storeMemory } from "./runtime/Writer.js";
12
+ import { appendManualSource, appendMemoryRevision, appendWikiPage, readMemory, readWikiIndex, writeSessionSource, writeWikiPage, } from "./runtime/Writer.js";
13
+ function toUiParts(message) {
14
+ return Array.isArray(message?.parts) ? message.parts : [];
15
+ }
16
+ function extractReadableLine(message) {
17
+ const role = String(message.role || "").toLowerCase() === "user" ? "User" : "Assistant";
18
+ const text = toUiParts(message)
19
+ .filter(isTextUIPart)
20
+ .map((part) => String(part.text || "").trim())
21
+ .filter(Boolean)
22
+ .join("\n")
23
+ .trim();
24
+ if (!text) {
25
+ return "";
26
+ }
27
+ return `${role}: ${text}`;
28
+ }
29
+ function readDigestPages(result) {
30
+ if (typeof result === "string") {
31
+ return {
32
+ pages: [{ title: "Memory Digest", content: result, tags: ["memory", "digest"] }],
33
+ };
34
+ }
35
+ return {
36
+ pages: result.pages,
37
+ summary: result.summary,
38
+ };
39
+ }
40
+ function readReviseResult(result, fallbackPath) {
41
+ if (typeof result === "string") {
42
+ return {
43
+ path: fallbackPath,
44
+ content: result,
45
+ };
46
+ }
47
+ return {
48
+ path: result.path || fallbackPath,
49
+ content: result.content,
50
+ summary: result.summary,
51
+ };
52
+ }
53
+ function slugify(value) {
54
+ const text = String(value || "")
55
+ .trim()
56
+ .toLowerCase()
57
+ .replace(/[^\p{L}\p{N}]+/gu, "-")
58
+ .replace(/^-+|-+$/g, "")
59
+ .slice(0, 80);
60
+ return text || "inbox";
61
+ }
62
+ function toWikiMemoryPath(value) {
63
+ const clean = String(value || "").replace(/\\/g, "/").replace(/^\/+/, "").trim();
64
+ if (!clean)
65
+ return ".downcity/memory/wiki/inbox.md";
66
+ if (clean.startsWith(".downcity/memory/wiki/")) {
67
+ return clean.toLowerCase().endsWith(".md") ? clean : `${clean}.md`;
68
+ }
69
+ const withoutPrefix = clean.replace(/^wiki\//, "");
70
+ const withExt = withoutPrefix.toLowerCase().endsWith(".md")
71
+ ? withoutPrefix
72
+ : `${withoutPrefix}.md`;
73
+ return `.downcity/memory/wiki/${withExt}`;
74
+ }
12
75
  /**
13
76
  * status action。
14
77
  */
@@ -46,11 +109,11 @@ export async function searchMemoryAction(context, state, payload) {
46
109
  }
47
110
  }
48
111
  /**
49
- * get action。
112
+ * read action。
50
113
  */
51
- export async function getMemoryAction(context, payload) {
114
+ export async function readMemoryAction(context, payload) {
52
115
  try {
53
- const data = await getMemory(context, payload);
116
+ const data = await readMemory(context, payload);
54
117
  return { success: true, data: data };
55
118
  }
56
119
  catch (error) {
@@ -61,12 +124,56 @@ export async function getMemoryAction(context, payload) {
61
124
  }
62
125
  }
63
126
  /**
64
- * store action。
127
+ * remember action。
65
128
  */
66
- export async function storeMemoryAction(context, state, payload) {
129
+ export async function rememberMemoryAction(context, options, payload) {
67
130
  try {
68
- const data = await storeMemory(context, state, payload);
69
- return { success: true, data: data };
131
+ const content = String(payload.content || "").trim();
132
+ if (!content) {
133
+ throw new Error("content is required");
134
+ }
135
+ const source = await appendManualSource(context, content, payload.source);
136
+ const targetPath = toWikiMemoryPath(payload.path || slugify(payload.topic || "inbox"));
137
+ if (options.revise) {
138
+ const current = await readMemory(context, { path: targetPath }).catch(() => ({
139
+ path: targetPath,
140
+ text: "",
141
+ }));
142
+ const revised = readReviseResult(await options.revise({
143
+ rootPath: context.rootPath,
144
+ path: targetPath,
145
+ currentContent: current.text,
146
+ instruction: "Integrate this new memory into the wiki page. Deduplicate and keep it concise.",
147
+ evidence: `${content}\n\nSource: ${source.path}`,
148
+ }), targetPath);
149
+ const written = await writeWikiPage(context, {
150
+ path: revised.path,
151
+ title: payload.topic,
152
+ content: revised.content,
153
+ tags: ["memory"],
154
+ });
155
+ const response = {
156
+ sourcePath: source.path,
157
+ wikiPath: written.path,
158
+ mode: "revised",
159
+ writtenChars: written.writtenChars,
160
+ summary: revised.summary,
161
+ };
162
+ return { success: true, data: response };
163
+ }
164
+ const written = await appendWikiPage(context, {
165
+ path: targetPath,
166
+ title: payload.topic || "Memory Inbox",
167
+ content,
168
+ sourcePath: source.path,
169
+ });
170
+ const response = {
171
+ sourcePath: source.path,
172
+ wikiPath: written.path,
173
+ mode: "appended",
174
+ writtenChars: written.writtenChars,
175
+ };
176
+ return { success: true, data: response };
70
177
  }
71
178
  catch (error) {
72
179
  return {
@@ -76,12 +183,117 @@ export async function storeMemoryAction(context, state, payload) {
76
183
  }
77
184
  }
78
185
  /**
79
- * flush action。
186
+ * digest action。
80
187
  */
81
- export async function flushMemoryAction(context, state, payload) {
188
+ export async function digestMemoryAction(context, options, payload) {
82
189
  try {
83
- const data = await flushMemory(context, state, payload);
84
- return { success: true, data: data };
190
+ const sessionId = String(payload.sessionId || "").trim();
191
+ if (!sessionId) {
192
+ throw new Error("sessionId is required");
193
+ }
194
+ const maxMessages = Number.isFinite(payload.maxMessages)
195
+ ? Math.max(1, Math.floor(payload.maxMessages))
196
+ : 30;
197
+ const historyStore = context.session.get(sessionId).getHistoryStore();
198
+ const total = await historyStore.size();
199
+ const start = Math.max(0, total - maxMessages);
200
+ const messages = await historyStore.slice(start, total);
201
+ const lines = messages
202
+ .map((msg) => extractReadableLine(msg))
203
+ .filter((line) => line.length > 0);
204
+ const transcript = lines.length > 0
205
+ ? lines.join("\n\n")
206
+ : "本次 digest 未找到可写入的用户/助手文本内容。";
207
+ const sourceText = [
208
+ `Window: ${start}-${Math.max(start, total - 1)}`,
209
+ "",
210
+ transcript,
211
+ ].join("\n");
212
+ const source = await writeSessionSource(context, sessionId, sourceText);
213
+ if (options.digest) {
214
+ const wikiIndex = await readWikiIndex(context);
215
+ const digested = readDigestPages(await options.digest({
216
+ rootPath: context.rootPath,
217
+ sourceText,
218
+ sourcePath: source.path,
219
+ sessionId,
220
+ wikiIndex,
221
+ }));
222
+ const wikiPaths = [];
223
+ for (const page of digested.pages) {
224
+ const written = await writeWikiPage(context, page);
225
+ wikiPaths.push(written.path);
226
+ }
227
+ const response = {
228
+ sourcePath: source.path,
229
+ wikiPaths,
230
+ messageCount: lines.length,
231
+ mode: "digested",
232
+ summary: digested.summary,
233
+ };
234
+ return { success: true, data: response };
235
+ }
236
+ const written = await appendWikiPage(context, {
237
+ path: "session-digests",
238
+ title: "Session Digests",
239
+ content: sourceText,
240
+ sourcePath: source.path,
241
+ });
242
+ const response = {
243
+ sourcePath: source.path,
244
+ wikiPaths: [written.path],
245
+ messageCount: lines.length,
246
+ mode: "archived",
247
+ };
248
+ return { success: true, data: response };
249
+ }
250
+ catch (error) {
251
+ return {
252
+ success: false,
253
+ error: String(error),
254
+ };
255
+ }
256
+ }
257
+ /**
258
+ * revise action。
259
+ */
260
+ export async function reviseMemoryAction(context, options, payload) {
261
+ try {
262
+ const targetPath = toWikiMemoryPath(String(payload.path || "").trim());
263
+ if (!targetPath) {
264
+ throw new Error("path is required");
265
+ }
266
+ const instruction = String(payload.instruction || "").trim();
267
+ if (!instruction) {
268
+ throw new Error("instruction is required");
269
+ }
270
+ if (options.revise) {
271
+ const current = await readMemory(context, { path: targetPath }).catch(() => ({
272
+ path: targetPath,
273
+ text: "",
274
+ }));
275
+ const revised = readReviseResult(await options.revise({
276
+ rootPath: context.rootPath,
277
+ path: targetPath,
278
+ currentContent: current.text,
279
+ instruction,
280
+ evidence: String(payload.evidence || ""),
281
+ }), targetPath);
282
+ const written = await writeWikiPage(context, {
283
+ path: revised.path,
284
+ content: revised.content,
285
+ tags: ["memory"],
286
+ });
287
+ const response = {
288
+ path: written.path,
289
+ mode: "revised",
290
+ writtenChars: written.writtenChars,
291
+ summary: revised.summary,
292
+ };
293
+ return { success: true, data: response };
294
+ }
295
+ const response = await appendMemoryRevision(context, payload);
296
+ return { success: true, data: response };
85
297
  }
86
298
  catch (error) {
87
299
  return {
@@ -106,6 +318,11 @@ export function toSearchPayload(input) {
106
318
  : typeof input.minScore === "string"
107
319
  ? Number(input.minScore)
108
320
  : MEMORY_DEFAULTS.minScore,
321
+ includeSources: typeof input.includeSources === "boolean"
322
+ ? input.includeSources
323
+ : typeof input.includeSources === "string"
324
+ ? input.includeSources === "true"
325
+ : undefined,
109
326
  };
110
327
  }
111
328
  //# sourceMappingURL=Action.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/memory/Action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Action.js","sourceRoot":"","sources":["../../src/memory/Action.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,21 @@
1
1
  /**
2
- * MemoryPlugin:memory plugin 的类实现。
2
+ * MemoryPlugin:agent 的长期记忆 plugin
3
3
  *
4
4
  * 关键点(中文)
5
- * - memory plugin state 现在归属于 plugin 实例。
6
- * - agent 持有 MemoryPlugin 实例,从而天然形成 per-agent 状态边界。
7
- * - 运行态只在实例内部缓存,不再放到模块级 Map。
5
+ * - 对外仍然是 MemoryPlugin,内部使用 LLM Wiki 方式组织知识。
6
+ * - constructor 注入 digest/revise 能力,plugin 不绑定具体 LLM 服务。
7
+ * - action 面向 agent 语义,而不是暴露底层文件写入细节。
8
8
  */
9
9
  import type { AgentContext } from "@downcity/agent/internal/types/runtime/agent/AgentContext.js";
10
10
  import type { PluginActions } from "@downcity/agent/internal/plugin/types/Plugin.js";
11
11
  import { BasePlugin } from "@downcity/agent/internal/plugin/core/BasePlugin.js";
12
12
  import { type MemoryRuntimeState } from "./runtime/Store.js";
13
+ import type { MemoryPluginOptions } from "./types/Memory.js";
13
14
  /**
14
15
  * Memory plugin 类实现。
15
16
  */
16
17
  export declare class MemoryPlugin extends BasePlugin {
18
+ private readonly options;
17
19
  /**
18
20
  * plugin 名称。
19
21
  */
@@ -22,6 +24,10 @@ export declare class MemoryPlugin extends BasePlugin {
22
24
  * 当前实例持有的 memory plugin state。
23
25
  */
24
26
  runtimeState: MemoryRuntimeState | null;
27
+ /**
28
+ * 创建 MemoryPlugin。
29
+ */
30
+ constructor(options?: MemoryPluginOptions);
25
31
  /**
26
32
  * 当前 plugin 的 system 文本提供器。
27
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPlugin.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAQhF,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAkD5B;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C;;OAEG;IACH,QAAQ,CAAC,IAAI,YAAY;IAEzB;;OAEG;IACI,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEtD;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD;;OAEG;IACH,QAAQ,CAAC,SAAS;yBACO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;oBAKnC,OAAO,CAAC,IAAI,CAAC;MAK7B;IAEF;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CA2I7B;IAEF;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAMhC"}
1
+ {"version":3,"file":"MemoryPlugin.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAShF,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAqD7D;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAc9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAbpC;;OAEG;IACH,QAAQ,CAAC,IAAI,YAAY;IAEzB;;OAEG;IACI,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEtD;;OAEG;gBAC0B,OAAO,GAAE,mBAAwB;IAI9D;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpD;;OAEG;IACH,QAAQ,CAAC,SAAS;yBACO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;oBAInC,OAAO,CAAC,IAAI,CAAC;MAG7B;IAEF;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CA4K7B;IAEF;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAMhC"}
@@ -1,14 +1,14 @@
1
1
  /**
2
- * MemoryPlugin:memory plugin 的类实现。
2
+ * MemoryPlugin:agent 的长期记忆 plugin
3
3
  *
4
4
  * 关键点(中文)
5
- * - memory plugin state 现在归属于 plugin 实例。
6
- * - agent 持有 MemoryPlugin 实例,从而天然形成 per-agent 状态边界。
7
- * - 运行态只在实例内部缓存,不再放到模块级 Map。
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 { flushMemoryAction, getMemoryAction, searchMemoryAction, statusMemoryAction, storeMemoryAction, } from "./Action.js";
11
- import { createMemoryRuntimeState, startMemoryRuntime, stopMemoryRuntime, } from "./runtime/Store.js";
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
- const state = this.getOrCreateRuntimeState(context);
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 状态(backend/files/chunks)",
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
- get: {
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 getMemoryAction(params.context, {
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
- store: {
180
+ remember: {
168
181
  command: {
169
- description: "显式写入 memory(longterm/daily/working)",
182
+ description: "把事实/偏好/决策记入 memory wiki",
170
183
  configure(command) {
171
184
  command
172
- .requiredOption("--content <text>", "写入内容")
173
- .option("--target <target>", "写入层(longterm|daily|working)")
174
- .option("--session-id <sessionId>", "working 目标必填");
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.target === "string") {
181
- payload.target = String(opts.target).trim();
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.sessionId === "string") {
184
- payload.sessionId = String(opts.sessionId).trim();
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
- const target = readOptionalString(body, "target");
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
- target: target === "longterm" || target === "daily" || target === "working"
196
- ? target
197
- : undefined,
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
- flush: {
216
+ digest: {
203
217
  command: {
204
- description: "将当前会话最近消息刷写到 daily memory",
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
- const state = this.getOrCreateRuntimeState(params.context);
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":"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"}
1
+ {"version":3,"file":"MemoryPlugin.js","sourceRoot":"","sources":["../../src/memory/MemoryPlugin.ts"],"names":[],"mappings":"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"}
@@ -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 type { AgentContext } from "@downcity/agent/internal/types/runtime/agent/AgentContext.js";
@@ -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;AA8JpB;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CA8B/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CA+F/B"}
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"}