Skip to main content

Local long-term memory for coding agents (SQLite FTS5 + keyword graph + skills for Claude Code / Codex / OpenCode / Cursor / Grok)

Project description

Silo

PyPI version Python License: MIT

English | 中文

Coding agent 的本地长期记忆系统。

Claude Code、Codex、Cursor 等 agent 每个会话都"失忆"——用户的偏好、项目事实、历史经验无法沉淀。Silo 让任意 agent 在每次对话开始时召回相关记忆,在任务交付后沉淀新经验。

  • 纯本地:Markdown 原文 + SQLite FTS5 索引 + 关键词关系图,全部存储在本机,不发送数据到外部服务
  • 即插即用:为 Claude Code / Codex / OpenCode / Cursor / Grok 提供 searchupdate 两个技能,一条命令安装
  • 零端口: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.git && cd silo
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-barC++ 等文本不会被解释成 FTS5 查询语法。

关键词图支持 SAME_ASALIAS_OFPARENT_OFCHILD_OFRELATED_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

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silo_memory-0.3.1.tar.gz (117.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

silo_memory-0.3.1-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

Details for the file silo_memory-0.3.1.tar.gz.

File metadata

  • Download URL: silo_memory-0.3.1.tar.gz
  • Upload date:
  • Size: 117.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for silo_memory-0.3.1.tar.gz
Algorithm Hash digest
SHA256 17dc8ec655d7521f5b86a137d910e3d60b6d429b086fed891a9f64a9dedd3502
MD5 0c2f47d71c7a7ce3007fa9a68b3dd248
BLAKE2b-256 8a430544653272e8f35301caf681c84a02b0f3a0261e78064da724dc30a8ea73

See more details on using hashes here.

File details

Details for the file silo_memory-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for silo_memory-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b93ef580202937391c2a5ca51e1e07c4a7c841ee06aee4e00f74b5674869f7a4
MD5 a38652f4a93ac60091078cd51b3d2e2d
BLAKE2b-256 4fa529331fb9d765bbc23f8fb53f4eb0f1401bc9c33d70e27a00cb8602461bd0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page