Built-ins
memory Plugin
基于 LLM Wiki 的 agent 长期记忆 plugin
memory Plugin
memory 是 agent 的长期记忆 plugin。它对 agent 暴露的是 memory 能力,内部使用 LLM Wiki 的方式组织知识。
它提供:
- memory wiki 检索
- memory wiki 读取
- 显式记住事实、偏好、决策
- 把 session 提炼进 wiki
- 基于新证据修订 wiki page
- memory system text
主要形状
lifecycleactionssystem
存储结构
.downcity/memory/
wiki/ # agent 主要读取的整理后知识层
sources/ # session/manual input 等原始证据层wiki/ 是长期记忆的主要形态,sources/ 只是证据和重建材料。默认检索优先查 wiki/,需要追溯证据时才包含 sources/。
Constructor 注入
LLM digest/revise 能力从 constructor 传入:
import { MemoryPlugin } from "@downcity/plugins";
const memory = new MemoryPlugin({
digest: async (input) => {
return {
pages: [
{
path: "project-decisions.md",
title: "Project Decisions",
content: "整理后的 wiki markdown",
},
],
summary: "Updated project decisions.",
};
},
revise: async (input) => {
return {
path: input.path,
content: "修订后的完整 wiki markdown",
};
},
});如果不传 digest 或 revise,plugin 会使用确定性 fallback:保存 source,并追加写入 wiki page,不会调用模型。
用户怎么使用
普通本地使用直接走 downcity memory 快捷命令:
downcity memory status
downcity memory search "project decision" --max-results 5
downcity memory read .downcity/memory/wiki/project-decisions.md --from 1 --lines 20
downcity memory remember --content "Prefer constructor-based plugin config." --topic "plugin system"
downcity memory digest --session-id <sessionId> --max-messages 30
downcity memory revise .downcity/memory/wiki/plugin-system.md --instruction "Merge the latest constructor config decision"SDK action 用法
await agent.plugins.runAction({
plugin: "memory",
action: "remember",
payload: {
content: "用户偏好:Plugin 配置从 constructor 传入。",
topic: "plugin system",
},
});action 名称是 status、search、read、remember、digest、revise。
关键语义
- MemoryPlugin 是 LLM Wiki style memory,不是向量数据库。
wiki/是 agent 主要读取的长期知识层。sources/是证据层,默认不参与 search,除非传includeSources。- LLM 能力只通过 constructor 注入,不读取项目配置文件。
- memory 是否启用,和代码里是否存在这个 plugin 不是一回事。