EchoMe - Personal memory sync for AI CLI tools (CLI + MCP Server)
Project description
EchoMe
让每个 AI,都能接住你的过去。
Switch AI, not yourself.
是什么
EchoMe 是一个跨 AI 的个人上下文同步层。它把你的工作流规范、技术偏好、项目背景和协作习惯统一管理,让你在 Claude Code、Codex CLI、Cursor、Kiro 等任何 AI 工具之间切换时,不需要重复介绍自己。
核心架构
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ Claude Code │ │ Codex CLI │ │ Cursor/Kiro │
│ (MCP Client) │ │ (MCP Client) │ │ (MCP Client) │
└───────┬────────┘ └───────┬────────┘ └───────┬────────┘
│ │ │
└──────────────────────┼──────────────────────┘
│ MCP Protocol
▼
┌──────────────────────────────────────────────┐
│ EchoMe MCP Server (本地) │
└──────────────────────┬───────────────────────┘
│ HTTPS
▼
┌──────────────────────────────────────────────┐
│ EchoMe Hub (你的服务器) │
│ FastAPI + PostgreSQL + pgvector │
└──────────────────────────────────────────────┘
三层注入策略
| Layer | 何时生效 | 方式 | 限制 |
|---|---|---|---|
| L0 | 每次对话 | 写入 ~/.claude/CLAUDE.md | ≤ 1500 tokens |
| L1 | 进入项目 | 项目级文件 | ≤ 2000 tokens |
| L2 | AI 按需查 | MCP search | 无限制 |
组件
| 组件 | 说明 | 位置 |
|---|---|---|
| Hub | FastAPI 服务端,存储和检索记忆 | hub/ |
| CLI | echome 命令行工具,管理和同步 |
echome/ |
| MCP Server | 向 AI 暴露查询/写入能力 | echome_mcp/ |
安装
方式一:PyPI 安装(推荐)
# 完整安装(CLI + MCP Server)- 默认包含 MCP
pip install echome
# 升级到最新版本
pip install echome --upgrade
方式二:GitHub 安装
# 完整安装
pip install "echome @ git+https://github.com/qzhqzh/EchoMe.git"
快速开始
1. 部署 Hub
git clone https://github.com/qzhqzh/EchoMe.git
cd EchoMe
cp hub/.env.example hub/.env # 配置数据库和 token
docker compose up -d # 启动 Postgres + Redis + Hub
2. 初始化 CLI
echome init # 连接 Hub + 注册 MCP(交互式)
3. 添加记忆
echome add # 交互式添加
echome list # 查看所有记忆
echome search "PR 规范" # 搜索
4. 注入到 AI CLI
cd your-project
echome sync # 自动检测 + 渲染到 CLAUDE.md / AGENTS.md
之后 AI 就能通过 MCP 随时查询你的记忆了。
记忆模型
每条记忆有三个核心维度:
- Type:identity / guardrail / reasoning / method / stack / style / decision / context / template / project
- Scope:global(跟人走)或 project-specific(跟项目走)
- Layer:L0(必须加载)/ L1(项目级加载)/ L2(按需搜索)
文档
技术栈
- Python 3.11+ / FastAPI / SQLAlchemy 2.0 / Alembic
- PostgreSQL 16 + pgvector
- Typer + Rich (CLI)
- mcp (official Python SDK)
- Docker Compose
- uv (包管理)
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
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 echome-1.1.5.tar.gz.
File metadata
- Download URL: echome-1.1.5.tar.gz
- Upload date:
- Size: 16.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c28fe3ce2aea4eeef4a140f9b6daa129c5778743a604b9e91ffe8b92ec3fb8fe
|
|
| MD5 |
56313be7713e521a28ed02f21077dac0
|
|
| BLAKE2b-256 |
6703871f6b0349b335f145b94d0ee8cec4e6f30ef532db4923d556f9b15898ac
|
Provenance
The following attestation bundles were made for echome-1.1.5.tar.gz:
Publisher:
publish.yml on qzhqzh/EchoMe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echome-1.1.5.tar.gz -
Subject digest:
c28fe3ce2aea4eeef4a140f9b6daa129c5778743a604b9e91ffe8b92ec3fb8fe - Sigstore transparency entry: 1632167034
- Sigstore integration time:
-
Permalink:
qzhqzh/EchoMe@5ffa17f20a4ec2053bc1002aa6799be19f64a02f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/qzhqzh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5ffa17f20a4ec2053bc1002aa6799be19f64a02f -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file echome-1.1.5-py3-none-any.whl.
File metadata
- Download URL: echome-1.1.5-py3-none-any.whl
- Upload date:
- Size: 47.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
838c40e59f84c0340c9c301157368b5dd278f1619cf345ee4eb10b02cdea3c07
|
|
| MD5 |
4d8e3d2c5ab8c26c962a88df48268972
|
|
| BLAKE2b-256 |
01de652fd7ecb22e72bc13fc46117c9fac7354d9123b4f8e17ade574e86a4d49
|
Provenance
The following attestation bundles were made for echome-1.1.5-py3-none-any.whl:
Publisher:
publish.yml on qzhqzh/EchoMe
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
echome-1.1.5-py3-none-any.whl -
Subject digest:
838c40e59f84c0340c9c301157368b5dd278f1619cf345ee4eb10b02cdea3c07 - Sigstore transparency entry: 1632167076
- Sigstore integration time:
-
Permalink:
qzhqzh/EchoMe@5ffa17f20a4ec2053bc1002aa6799be19f64a02f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/qzhqzh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5ffa17f20a4ec2053bc1002aa6799be19f64a02f -
Trigger Event:
workflow_dispatch
-
Statement type: