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

主要形状

  • lifecycle
  • actions
  • system

存储结构

.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",
    };
  },
});

如果不传 digestrevise,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 名称是 statussearchreadrememberdigestrevise

关键语义

  • MemoryPlugin 是 LLM Wiki style memory,不是向量数据库。
  • wiki/ 是 agent 主要读取的长期知识层。
  • sources/ 是证据层,默认不参与 search,除非传 includeSources
  • LLM 能力只通过 constructor 注入,不读取项目配置文件。
  • memory 是否启用,和代码里是否存在这个 plugin 不是一回事。

相关文档