@morris131/opencode-memos
v0.2.0
Published
OpenCode plugin for persistent memory using Memos
Maintainers
Readme
OpenCode Memos Plugin
基于 Memos 的 OpenCode 持久化记忆插件,让 AI 助手具备跨会话记忆能力。
特性
- 自动记忆召回 - 每次对话自动注入相关记忆上下文
- 自动记忆捕获 - 每隔 N 轮对话自动保存关键信息
- 关键词触发 - 检测"记住"、"保存"等关键词触发记忆保存
- 记忆作用域 - 支持项目级别和用户级别两种记忆范围
- 隐私保护 - 自动过滤敏感内容,防止私密信息存储
- 上下文压缩 - 上下文窗口超限时自动压缩历史记忆
- 多模型支持 - 自动获取模型上下文窗口限制
配置
通过环境变量进行配置:
| 环境变量 | 说明 | 默认值 |
| :--- | :--- | :--- |
| MEMOS_BASE_URL | Memos 实例地址(必填) | 无 |
| MEMOS_ACCESS_TOKEN | Memos 访问令牌(必填) | 无 |
| MEMOS_MAX_MEMORIES | 用户级别最大召回记忆数 | 5 |
| MEMOS_MAX_PROJECT_MEMORIES | 项目级别最大召回记忆数 | 10 |
| MEMOS_TAG_PREFIX | 标签前缀 | opencode |
| MEMOS_CAPTURE_EVERY_N_TURNS | 每隔 N 轮自动捕获记忆 | 3 |
| MEMOS_COMPACTION_THRESHOLD | 上下文压缩阈值百分比 | 80 |
使用方式
OpenCode 配置
在 opencode.json 中添加插件:
{
"plugin": [
["@morris131/opencode-memos", {}]
]
}并设置环境变量:
{
"env": {
"MEMOS_BASE_URL": "http://localhost:5230",
"MEMOS_ACCESS_TOKEN": "your_access_token"
}
}Memos 实例部署
如果还没有 Memos 实例,可以使用 Docker 快速部署:
docker run -d \
--name memos \
-p 5230:5230 \
-v ~/.memos:/var/opt/memos \
neosmemo/memos:stable访问 http://localhost:5230 创建账号,在设置中生成访问令牌。
可用工具
memos
管理存储在 Memos 中的记忆。
模式
| 模式 | 说明 | 参数 |
| :--- | :--- | :--- |
| add | 存储新记忆 | content, type?, scope? |
| search | 搜索记忆 | query, scope? |
| list | 列出最近记忆 | scope?, limit? |
| forget | 删除记忆 | memoryId, scope? |
| help | 显示帮助 | 无 |
作用域
| 作用域 | 说明 |
| :--- | :--- |
| project | 项目级别记忆(默认),仅当前项目可见 |
| user | 用户级别记忆,跨项目可见 |
记忆类型
| 类型 | 说明 |
| :--- | :--- |
| project-config | 项目配置 |
| architecture | 架构决策 |
| error-solution | 错误解决方案 |
| preference | 用户偏好 |
| learned-pattern | 学习到的模式 |
| conversation | 对话摘要 |
示例
添加记忆:
{
"mode": "add",
"content": "本项目使用 Node.js 构建,不使用 Bun",
"type": "project-config",
"scope": "project"
}搜索记忆:
{
"mode": "search",
"query": "构建工具",
"scope": "project"
}开发
# 安装依赖
npm install
# 构建
npm run build
# 开发模式(监听文件变化)
npm run dev
# 类型检查
npm run typecheck许可证
MIT
