OpenViking
volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:gezi-wen/sage-mem
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
给 DeepSeek Harness(DSH)装上跨会话记忆——agent 今天记住的事,明天的新会话自动想起来。
记忆存在本地 markdown 文件里(frontmatter + 正文),不是数据库。透明、可检查、防膨胀。
你已经在 Claude Code(CC)里养了一个 agent,舍不得它的记忆和人格?sage-mem 是「CC → DSH」迁移方案的一部分,记忆与人格都能无损搬过来:
CLAUDE.md → DSH 的 AGENTS.md,DSH 原生加载,纯文本一字不改就能用。memory/ 目录(markdown + frontmatter,四类)。没有数据库、没有私有格式——全都是 markdown 文本,直接拷文件就完成迁移。agent 换了身体,但依然记得你是谁、记得你们聊过什么、记得进行中的项目。
DSH 原生没有记忆系统,每个会话都是白纸。市面上的记忆方案大多走 SQLite + 常驻 worker:
sage-mem 换成文件式:每条记忆一个 markdown 文件,直接用编辑器打开就能看、能改、能删。存不存由 agent 按规则判断,不是事件全捕获。没有 worker、没有 SQLite、没有端口。
user(用户是谁)/ feedback(工作方式指导)/ project(项目状态)/ reference(外部信息指针)*.md 文件,frontmatter 存元数据,正文存内容DSH(Cordis 插件)
└─ sage-mem 插件(按问题检索 + 注入)← 本仓库
│ Node fs 直读
▼
memory/ 目录(markdown 文件,4 类)
├── user_*.md
├── feedback_*.md
├── project_*.md
├── reference_*.md
└── MEMORY.md ← 索引
没有 worker、没有 SQLite、没有 HTTP 端口、没有常驻进程。
在你的 DSH profile 的 package.json 里加:
{
"dependencies": {
"sage-mem": "github:gezi-wen/sage-mem"
},
"dsh": {
"profile": {
"bundles": ["sage-mem"]
}
}
}
或 clone 后本地 link:
{
"dependencies": {
"sage-mem": "link:../sage-mem"
}
}
然后 pnpm install 重启 DSH。
用环境变量 SAGE_MEM_DIR 指定记忆目录,默认 ~/.sage-mem/memory:
SAGE_MEM_DIR=/path/to/your/memory
记忆文件格式:
---
name: 可选的短名
description: 一句话说清这条记忆是什么(检索与列表都靠它)
metadata:
type: user # user / feedback / project / reference
---
记忆正文。
feedback 类建议带 **Why:**(原因)和 **How to apply:**(何时生效)两行,方便判断边界。
跨会话记忆链路(实测):
memory/本仓库早期是 SQLite + worker 架构,已归档到 sqlite-worker 分支。文件式是继任实现。
Apache-2.0
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: agent-memory、claude-code、long-term-memory、markdown。