# AI对话持久记忆插件 `AI记忆` `OpenCode` `插件` `语义搜索` `Markdown`
historian agent

Historian 为你的 AI 智能体提供跨对话的持久记忆。

同步 · 召回 · 记住 · 遗忘 · 复合增长

--- # OpenCode Historian 基于 QMD 驱动的 OpenCode 智能体持久记忆系统。 Historian 帮助你的智能体在会话之间记住决策、偏好、经验和项目上下文。它将记忆以 Markdown 格式存储,通过 QMD 建立索引,并提供记住、召回、遗忘和同步记忆的工具。 ## 功能特性 - 跨对话的持久记忆 - 对已保存记忆的语义搜索 - 内置决策、问题、经验和偏好等记忆类型 - 基于 Markdown 的存储,保存在你的仓库中 - 内置 `historian` 智能体及记忆工具 - 可选的 Serena MCP 代码导航支持 ## 前置条件 - **Bun** `1.3.9+` - 全局安装 **QMD** 安装 QMD: ```bash npm install -g qmd # 或 bun install -g qmd ``` ## 安装插件 在 `opencode.json` 中添加插件: ```json { "plugins": ["opencode-historian"] } ``` 这一步即可完成插件注册,同时注册内置的 `historian` 智能体和记忆工具。 ## 安装 `mnemonics` 技能 该插件还包含一个 `mnemonics` 技能,用于教导智能体如何有效使用 `@historian` 子智能体。 推荐安装方式: ```bash npx skills add https://github.com/5kahoisaac/opencode-historian/tree/main/src --skill mnemonics ``` 安装后,智能体可加载 `mnemonics` 以获取记忆类型指导、何时使用 `@historian`,以及如何正确存储或召回项目知识。 ## 快速开始 启用插件后,用自然语言与 historian 智能体交互即可。 ### 保存信息 > "记住我们使用 PostgreSQL 作为数据库" > > "保存这条信息:我们决定使用 JWT 令牌,有效期 24 小时" > > "记录 API 速率限制为每分钟 100 次请求" ### 召回信息 > "我们关于身份验证做了哪些决策?" > > "有什么已知问题吗?" > > "这个项目我有哪些偏好设置?" Historian 将会: - 按类型对记忆进行分类 - 为记忆添加标签以便检索 - 建立语义搜索索引 - 以 Git 友好的 Markdown 格式保存记忆 ## 记忆类型 Historian 内置以下记忆类型: | 类型 | 用途 | |------|------| | `architectural-decision` | 系统架构选择 | | `design-decision` | UI/UX 设计决策 | | `learning` | 经验与发现 | | `user-preference` | 用户个人偏好 | | `project-preference` | 团队规范约定 | | `issue` | 已知问题 | | `context` | 通用上下文(默认) | | `recurring-pattern` | 可复用模式 | | `conventions-pattern` | 编码规范 | ## 配置 可选配置文件路径: ```text .opencode/opencode-historian.json ``` 示例: ```json { "appendPrompt": "重点关注 API 设计决策。", "memoryTypes": [ { "name": "api-endpoint", "description": "API 端点决策" } ], "disabledMcps": ["serena"] } ``` ### 配置项说明 | 配置项 | 默认值 | 说明 | |--------|--------|------| | `model` | - | historian 智能体使用的模型 | | `temperature` | `0.3` | 响应创造性程度 | | `appendPrompt` | - | 追加到 historian 提示词末尾的额外指令 | | `memoryTypes` | - | 在内置类型基础上添加的自定义记忆类型 | | `autoCompound` | `true` | 在适当时自动将新经验合并到已有记忆中 | | `disabledMcps` | - | 要禁用的内置 MCP,例如 `["serena"]` | ## 存储结构 记忆以 Markdown 文件形式存储在项目根目录的 `.mnemonics/` 下: ```text .mnemonics/ ├── architectural-decision/ ├── design-decision/ ├── learning/ └── ... ``` 优势: - 人类可读 - 易于用 Git 进行版本管理 - 便于手动查看或编辑 ## 内置工具 插件注册了以下记忆工具: - `memory_remember` - `memory_recall` - `memory_forget` - `memory_list_types` - `memory_sync` ## 技能与工具的使用场景 - 使用**插件**在 OpenCode 内开启记忆能力 - 使用 **`mnemonics` 技能**教导智能体如何更好地使用 `@historian` - 需要直接编程操作记忆时使用**记忆工具** 简而言之:插件赋予你能力,技能则让智能体更懂得如何运用这种能力。 ## 许可证 本项目基于 [MIT 许可证](LICENSE) 开源。