使用说明
Chronos MCP
负责任地遗忘的内存服务器,可以告诉你它过去相信什么。
这个演示中的每个输出都是真实的发动机输出——它是由
scripts/make_demo_gif.py 运行实际
针对一次性数据库的服务器代码。
当你开始新的聊天时,克劳德会忘记一切。大多数内存服务器通过以下方式解决了这个问题 囤积:一切都被永远保存,每一次回忆都被抛到背景中,没有任何概念 记忆是否仍然真实。Chronos采取了相反的立场——记忆 表现得像内存:
- 时间旅行:
query_at重建克劳德在任何过去时间戳所知道的内容, 包括此后编辑的内容。 “我们对认证了解多少 3月1日系统?" 这是一个单一工具的答案。 - 忘记曲线:每个记忆都有一个置信度得分和FSRS
保留模型(Anki背后的算法)。未回顾的记忆会衰退;确认
一个稳定。
consolidate_memories运行一个融合了四个阶段的“梦想”通行证 复制、腐蚀陈旧的信念,并修剪系统失去信心的东西。 - 诚实删除:
forget隐藏(可审计、可逆),purge摧毁 (从每个表中删除内容,留下无内容的审计存根)。
所有内容都是一个本地SQLite文件。没有帐户,没有API密钥,没有云,没有 嵌入模型下载。搜索是SQLite内置的FTS5/BM25,带有搬运工 通过数据库触发器与内容保持同步——索引不能漂移, 即使在撞车事故中。
快速开始
1.安装
git clone https://github.com/Kodaxadev/ChronosMCP
cd ChronosMCP
pip install -e .
2.添加到克劳德桌面
打开 claude_desktop_config.json 并添加:
{
"mcpServers": {
"chronos": {
"command": "python",
"args": ["/absolute/path/to/ChronosMCP/chronos_mcp.py"],
"env": {
"CHRONOS_DB_PATH": "/absolute/path/to/chronos.db"
}
}
}
}
克劳德代码(CLI):
claude mcp add chronos -- python /absolute/path/to/ChronosMCP/chronos_mcp.py
重新启动Claude Desktop,就完成了。
你可以问克劳德什么
Remember that we always squash commits before merging to main.
What do you know about our Git workflow?
What did you know about the auth system as of March 1st?
How confident are you in that memory about the rate limit?
Run a consolidation pass and show me what's gone stale.
Permanently delete the memory with my old API key in it.
工具
记忆
| 工具 | 它做什么 |
|---|---|
remember |
使用可选功能保存笔记 project, tags,以及 source 来源。 |
recall |
BM25+词干搜索,按FSRS保留率×置信度重新排名。可选的 token_budget 用于压缩结果。 |
get_memory |
按id完整获取一个内存,从不截断。 |
update_memory |
重写内容;旧版本是为时间旅行而拍摄的。 |
related_memories |
“更像这样”——发现记忆共享独特的词汇。 |
query_at |
在任何过去的时间戳进行时间旅行回忆,解析编辑的内容。 |
forget / restore_memory |
具有持久原因的可逆软删除。 |
purge_memory |
不可逆地硬删除其所在的任何地方的内容。 |
认知
| 工具 | 它做什么 |
|---|---|
set_confidence / boost_confidence / weaken_confidence |
证据驱动的信任评分(0.01-0.99),带有完整的审计跟踪。 |
review_memory |
FSRS审查——增强记忆的稳定性,使其衰减较慢。 |
get_memory_health |
信心、记忆保留概率、回顾一段记忆的历史。 |
log_search_feedback / search_effectiveness |
召回的曲目实际上被使用了;建议调整。 |
consolidate_memories |
四阶段梦想通行证:东方→ 收集重复项→ 合并/衰减/标志→ 修剪。默认情况下为干运行。 |
图形(实验,默认关闭)
事件源项目图(任务、依赖关系、因果分析
结果)船落后 CHRONOS_ENABLE_GRAPH=1。它被隔离了,而不是
删除:结构相似性信号在实践中被证明很弱(见
docs/KNOWN_LIMITATIONS.md),以及核心存储器
服务器最好没有表面积。如果排序了依赖关系,则启用它
任务建议(suggest_next_tasks)对你来说是值得的。
配置
| 变量 | 默认值 | 描述 |
|---|---|---|
CHRONOS_DB_PATH |
./chronos.db |
SQLite数据库文件的路径 |
CHRONOS_DB_KEY |
unset | SQLCipher静态加密的密码短语(需要 [encryption] 额外) |
CHRONOS_SEMANTIC |
unset | 设置为 1 用于混合语义搜索(需要 [semantic] 额外) |
CHRONOS_SEMANTIC_MODEL |
BAAI/bge-small-en-v1.5 |
启用语义搜索时嵌入模型 |
CHRONOS_ENABLE_GRAPH |
unset | 设置为 1 启用实验图层 |
可选:语义搜索
默认情况下,搜索是词法搜索(BM25+波特词干)——零额外搜索 依赖关系,即时启动。如果你想让“车”找到一段关于 汽车:
pip install "chronosmcp[semantic]" # local ONNX model, no API keys, no torch
然后设置 CHRONOS_SEMANTIC=1 在服务器环境中。检索成为 混合:
BM25候选和嵌入最近邻(一个~70MB的局部模型,
下载一次)与往复式排名融合合并,因此精确的术语匹配
意义与表面相匹配。结果获得a semantic_similarity 现场。
在现有数据库上的首次启动会嵌入你的整个语料库——分钟,
一次;之后的所有内容都是直写和毫秒。
安全模型——读一遍
Chronos是一个 本地单用户 工具。它的威胁模型是诚实的,而不是 安心:
- 默认情况下,明文处于静止状态;SQLCipher选择加入。 如果没有钥匙
数据库是一个未加密的SQLite文件——不要存储凭据,而是使用
purge_memory(不是forget)当某物必须真正消失时。随着pip install "chronosmcp[encryption]"和CHRONOS_DB_KEY集,整个 文件(内容、历史、FTS索引、WAL)是SQLCipher加密的。PBKDF2 成本在启动时支付一次,而不是每次操作。迁移现有 数据库与python scripts/encrypt_db.py encrypt了解行业: 密钥存在于环境变量中(可由本地进程读取 像你一样运行),丢失它意味着丢失数据——无法恢复。 - 记忆是数据,不是指令。 召回结果带有
source领域 (user,claude,web,document).源自外部的内容 谈话永远不应该被当作指令来遵循——被毒害的记忆是 持续快速注射,来源就是你的导火索。工具 描述相应地指示克劳德。 - 注射安全查询。 自由文本永远不会达到FTS5 MATCH语法或SQL-- 查询被简化为引号,每条语句都被参数化。
- 默认情况下没有网络。 基础服务器不进行任何出站连接--
唯一的进口是
mcp,numpy,以及标准库。唯一 例外情况是选择加入:CHRONOS_SEMANTIC=1从下载其嵌入模型 拥抱面部一次,之后推理完全是局部的。
运作原理
remember 写一行。SQLite触发器将其索引到FTS5表中
同一事务——没有内存索引,没有启动重建,也没有窗口
其中数据库和搜索索引不一致。 recall 与BM25并列
(波特打断),然后通过FSRS提升重新排名:自信的记忆
和 最近确认的先浮出水面,而陈旧的未经证实的先沉入水中。
update_memory 将旧内容快照到版本表中
覆盖。 query_at 重放历史:它选择那些
在所请求的时刻存在的、解析每个人在该时刻的内容,
并用短暂的BM25索引对重建的快照进行排名——所以过去和
当前搜索的得分方式相同。
认知层是使Chronos在使用数月后变得不同的部分。 你确认的记忆变得更加稳定(衰减速度较慢);未被回顾的记忆 对每一次整合都失去信心;既不可信又不可信的记忆 褪色的候选人变成了修剪整齐的候选人。系统的信念与你趋同 实际使用和验证——每个置信度变化都会写入审计 桌子,所以你可以随时问 为什么 它相信它所相信的。
开箱即用,搜索是词法的(BM25+词干)——一种深思熟虑的
零依赖性权衡。可选 [semantic] 额外升级召回
具有局部模型的混合词汇+向量检索(见配置);
其余边界记录在
docs/KNOWN_LIMITATIONS.md.
发展
pip install -e ".[dev]"
pytest tests/ -v # 48 tests
ruff check .
CI在Linux和Windows上跨Python 3.10/3.12/3.14运行该套件。
建筑笔记住在 docs/ARCHITECTURE.md;
v3.3→ v4.0重新设计的基本原理是 更改日志.md.
README演示将重新生成 python scripts/make_demo_gif.py
(需要 pip install pillow)所以它永远不会偏离真实的行为。
许可证
麻省理工学院