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-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-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.2.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.2-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

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

Hashes for silo_memory-0.3.2.tar.gz
Algorithm Hash digest
SHA256 90dd2cf18e14ac951686115ac24a4c5a53b097f22b0e7444358cd068713986c6
MD5 caf255b403b26bc195ff845530ee63d2
BLAKE2b-256 7035fcd65c575251d9f79cf7b4034518df950ce99ad7fcdf2a30343b7ff2bb5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silo_memory-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dd1103f8f622e219c2ff666dc25da2a95930effbc0d120d849be1d04f0cbd562
MD5 4c0488f01bc6bc975e8be9fc4b99468e
BLAKE2b-256 de46c2c2f06084ff09b4676530ed622871741fc531d43081777327ffc7effa2a

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