Local long-term memory for coding agents (SQLite FTS5 + keyword graph + skills for Claude Code / Codex / OpenCode / Cursor / Grok)
Project description
Silo
English | 中文
Coding agent 的本地长期记忆系统。
Claude Code、Codex、Cursor 等 agent 每个会话都"失忆"——用户的偏好、项目事实、历史经验无法沉淀。Silo 让任意 agent 在每次对话开始时召回相关记忆,在任务交付后沉淀新经验。
- 纯本地:Markdown 原文 + SQLite FTS5 索引 + 关键词关系图,全部存储在本机,不发送数据到外部服务
- 即插即用:为 Claude Code / Codex / OpenCode / Cursor / Grok 提供
search与update两个技能,一条命令安装 - 零端口:CLI 优先,无需常驻服务;可选 Web 管理台
安装
uv tool install silo-memory # 推荐
pipx install silo-memory # 或
pip install silo-memory # 或
安装技能到 agent:
silo install # 自动检测已安装的 agent
silo install claude-code # 或指定 agent
开发安装:
git clone https://github.com/flynn-eye/silo-mem.git && cd silo-mem
uv tool install -e .
快速上手
# 写入一条记忆
silo add "项目使用 pnpm 管理前端依赖" --tags "my-project 前端 pnpm 约定"
# 搜索
silo search "前端依赖管理" --tags "my-project 前端" --limit 5
# 启动 Web 管理台
silo server # http://127.0.0.1:8900
CLI 参考
silo search "关键词" --tags "标签 标签" --limit 5 # 搜索(JSON,按相关度排序)
silo add "记忆内容" --tags "标签 标签" # 新增
silo replace <old_id> -c "新内容" -t "标签" # 删旧增新
silo delete <id> # 删除
silo reindex # 从 Markdown 源重建索引
silo graph link "A" "B" -r SAME_AS # 建立标签关系
silo graph unlink "A" "B" -r SAME_AS # 删除标签关系
silo graph expand "A" --depth 2 # 查看标签扩展范围
silo graph status # 图规模及状态
silo server # Web 管理台
silo install [auto|all|claude-code|codex|opencode|cursor|grok]
silo uninstall [all|<agent>]
silo upgrade # 自更新
搜索与关键词图
搜索同时覆盖记忆内容和 tags。--tags 中的标签先通过本地关键词图做最多两跳的有限扩展,再以衰减权重加入 FTS5 检索;精确关键词和原始标签始终比图扩展标签权重更高。查询经 jieba 预分词后作为字面 token 匹配,foo-bar、C++ 等文本不会被解释成 FTS5 查询语法。
关键词图支持 SAME_AS、ALIAS_OF、PARENT_OF、CHILD_OF 和 RELATED_TO 显式关系。同一条记忆中的 tags 会自动形成低权重 CO_OCCURS 边。递归查询有跳数、最低得分、去环和结果数量限制,避免关系无限扩散。
技能如何工作
- silo-search:用户每次提交新提示词时,agent 提炼 keywords + tags 调
silo search;query tags 自动经过关系图扩展,命中的历史记忆作为上下文注入。Claude Code 额外注册 UserPromptSubmit hook 实现自动召回(--no-hook可关闭)。 - silo-update:任务交付后或用户要求"记住"时,agent 自评经验价值 → 查重 → 命中旧记忆则合并后
silo replace,无命中则silo add。只有用户明确确认时才调用silo graph link。
Web 管理台
提供"记忆档案"和"关键词图"两个视图。关键词图使用 Canvas 力导向布局展示有界子图,支持按标签定位、关系类型筛选、节点详情查看。
默认只监听回环地址。如需局域网访问:silo server --host 0.0.0.0 --allow-remote(无鉴权)。
存储结构
~/.silo/
├── memories/*.md # 原文(frontmatter: id/tags/created_at),人可读、可备份
├── index/search.db # SQLite FTS5 索引(可从 Markdown 重建)
├── graph.db # 标签节点、关系边、证据
├── ops.db # 操作日志
└── .silo.lock # 跨进程读写锁
索引损坏或 schema 变化时自动重建。所有写操作在跨进程锁内完成,支持多 agent 并发。
开发
uv sync # 后端依赖
cd web && pnpm install # 前端依赖(Vite + React + pnpm)
pnpm dev # 前端热更新(API 代理到 :8900)
uv run silo server # 后端
uv run pytest # 测试
uv build # 构建(自动触发前端编译)
技术栈
SQLite FTS5 · sqlite-vec · jieba · typer · FastAPI · uvicorn · React · Vite · react-force-graph-2d
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file silo_memory-0.3.2.tar.gz.
File metadata
- Download URL: silo_memory-0.3.2.tar.gz
- Upload date:
- Size: 117.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90dd2cf18e14ac951686115ac24a4c5a53b097f22b0e7444358cd068713986c6
|
|
| MD5 |
caf255b403b26bc195ff845530ee63d2
|
|
| BLAKE2b-256 |
7035fcd65c575251d9f79cf7b4034518df950ce99ad7fcdf2a30343b7ff2bb5c
|
File details
Details for the file silo_memory-0.3.2-py3-none-any.whl.
File metadata
- Download URL: silo_memory-0.3.2-py3-none-any.whl
- Upload date:
- Size: 46.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd1103f8f622e219c2ff666dc25da2a95930effbc0d120d849be1d04f0cbd562
|
|
| MD5 |
4c0488f01bc6bc975e8be9fc4b99468e
|
|
| BLAKE2b-256 |
de46c2c2f06084ff09b4676530ed622871741fc531d43081777327ffc7effa2a
|