Simple Rick
Simple Rick
面向 AI 编码代理的持久记忆。
每一次与 AI 代理的编码会话都是从零开始的。你重新解释架构,重新论证三周前已经做出的决策,并重新发现自己已经修复过一次的 bug。会话记录确实存在,但它是一堵无人(无论是人类还是模型)会回读的文字墙。
Simple Rick 是一个与你的代理并排运行的 MCP 服务器,它解决了这个问题。它记录会话中实际发生的情况,将其规范化为带有嵌入的结构化块,将这些块连接成一个图,并在下一次会话开始时把相关部分交还给代理。
一切都在本地运行。SQLite 文件位于你的项目中,无需外部数据库,无遥测。
状态:alpha。 它能用也被使用过,但仍有粗糙之处——参见已知限制。接口可能会变化。
工作原理
flowchart LR
A["Claude Code<br/>PostToolUse hook"] -->|POST /api/record| B[Recorder]
W["File watcher<br/>(chokidar)"] --> B
B --> Q[Norm queue]
Q --> L["Lightweight<br/>normalizer"]
L --> D["Deep<br/>normalizer"]
D --> E[Edge wirer]
E --> G[("SQLite<br/>+ sqlite-vec")]
G --> BR[Briefer]
G --> S[Semantic search]
G --> I[Insight engine]
BR --> M["MCP tools<br/>→ your agent"]
S --> M
I --> M
G --> U["Web UI<br/>:3777"]有两样东西为流水线提供输入:一个钩子,报告你的代理发出的每次工具调用;以及一个文件监视器,以毫秒级时间戳捕获差异。两者都进入记录器,记录器以崩溃安全的方式写入原始会话轮次。
一个后台队列在不阻塞你的会话的情况下排空这些轮次。轻量级规范化器以低成本对意图和领域进行分类;深度规范化器进行摘要和嵌入;边连接器将新块与相关的已有块连接起来。最终得到的是一张小型知识图谱,而不是一份会话记录。
在下一次会话开始时,简报器读取那张图,并给你的代理一份简报,而不是一张白纸。
Related MCP server: hive-memory
快速开始
需要 Node.js 20+。
git clone https://github.com/good-v1be/simple-rick.git
cd simple-rick
npm install
npm run build1. 为其配置一个 AI 提供商
Simple Rick 需要一个提供商来生成嵌入,一个用于对话补全。它会从环境中自动检测,以第一个匹配项为准:
环境变量 | 嵌入 | 对话 |
| OpenAI | OpenAI |
| Gemini | |
| Mistral | Mistral |
| Voyage | Claude Haiku |
Anthropic 没有嵌入模型,这就是它需要搭配 Voyage 的原因。
2. 将其注册为 MCP 服务器
在你的项目的 .mcp.json 中:
{
"mcpServers": {
"simple-rick": {
"command": "npx",
"args": ["tsx", "/absolute/path/to/simple-rick/src/server/index.ts"],
"env": {
"PROJECT_PATH": ".",
"OPENAI_API_KEY": "${OPENAI_API_KEY}"
}
}
}
}3. 安装记录器钩子
没有这个,Simple Rick 只能看到文件变更——而不是你的代理实际做了什么。将 hooks/simple-rick-recorder.js 复制到一个永久位置,并在 ~/.claude/settings.json 中将其注册为 PostToolUse 钩子:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash|Edit|Write|MultiEdit",
"hooks": [
{ "type": "command", "command": "node /path/to/simple-rick-recorder.js" }
]
}
]
}
}这个钩子是即发即忘(fire-and-forget)的:它从不阻塞你的代理,而且当 Simple Rick 未在运行时,它会静默地什么都不做。
4. 使用它
启动一个会话,调用一次 simple_rick_init 来初始化项目上下文。此后,用 simple_rick_briefing 打开每个会话,并用 simple_rick_close 关闭它。
MCP 工具
工具 | 功能 |
| 一次性设置。扫描代码库,从代码和 git 历史中提取隐式的架构决策,并初始化初始上下文。 |
| 在会话开始时调用。 返回项目上下文、未决问题、经验教训和建议。可通过可选的 |
| 在会话结束时调用。 排空队列:规范化消息对,提取经验教训,创建嵌入。 |
| 在整个项目历史中进行语义搜索。可按意图( |
| 就代码、过去的决策或事物之间的关联方式提出问题。 |
| 明确记录一条架构决策,包含理由和被否决的备选方案。 |
| 手动交叉链接两个块或概念。 |
| 从知识库中挖掘相关性、趋势和异常,并由 LLM 验证。模式: |
Web 界面
服务器还在 http://127.0.0.1:3777 上提供本地流程可视化,显示流水线的实时状态和生成的图。该界面由首次运行时生成的 Bearer 令牌保护;包含令牌的 URL 会由 simple_rick_briefing 打印。
REST 端点:GET /api/graph、GET /api/sessions、POST /api/record。
你的数据存储在哪里
所有内容都存放在你项目内的 .simple-rick/ 目录中:
.simple-rick/
simple-rick.db SQLite: sessions, turns, chunks, edges, embeddings (sqlite-vec)
.token bearer token for the local HTTP server (mode 0600)Simple Rick 在首次运行时会将 .simple-rick/ 添加到你的 .gitignore 中。除发送到你配置的 AI 提供商以进行规范化和嵌入之外,不会有任何内容被发送到其他任何地方。
请注意体积。 完整记录在磁盘上并不便宜——一个繁重的多日项目可能会产生数百兆字节大小的数据库。
开发
npm run dev # tsx watch
npm run build # compile to dist/
npm run lint # tsc --noEmit
npm test # vitest (11 unit + integration tests)在 e2e/ 中还有一个端到端测试套件,它针对服务器驱动真实的 Claude Code CLI 会话,以测试每个 MCP 工具:
python3 e2e/test_mcp_e2e.py # requires the `claude` CLI and a configured provider它没有接入 npm test,因为它会消耗真实的 API 调用。
调优
以下都是可选配置——这些默认值是该项目几个月来一直使用的设置。
变量 | 默认值 | 作用 |
|
|
|
|
| 代码库扫描器遍历多少个文件。对于大型仓库,请调高此值。 |
|
| 扫描器读取的最大文件大小,以字节为单位。 |
|
| 规范化遍历之间的暂停时间。调低会更快地消耗 API 调用。 |
已知限制
这是一份坦诚的清单,以免有人感到意外:
仅在 Claude Code 上测试过。 MCP 接口是标准的,但记录器钩子是针对 Claude Code 的钩子格式编写的。
记录在磁盘上并不便宜。 参见你的数据存储在哪里。
知识图谱的质量取决于其背后的模型。 规范化、领域路由和洞察验证都是 LLM 调用;一个小型或廉价的模型会产生相应模糊的图谱。
尚无清理机制。 没有任何内容会自行从数据库中过期。
许可证
MIT——参见 LICENSE。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenancePersistent memory for AI coding tools that captures conversations, builds a searchable knowledge graph, and automatically injects relevant context into new prompts.12246MIT
- AlicenseNot gradedqualityCmaintenanceProvides AI coding agents with persistent, graph-connected memory across projects, enabling cross-project context retrieval via synaptic connections and hybrid search.186MIT
- FlicenseNot gradedqualityAmaintenanceProvides persistent, local-first memory with knowledge graph and hybrid search for AI coding agents, reducing token usage by storing decisions, patterns, and codebase context.8
- AlicenseNot gradedqualityDmaintenanceProvides long-term memory for AI coding agents, enabling them to remember, search, and organize information across sessions and platforms like Claude Code, ChatGPT, and Cursor.137MIT
Related MCP Connectors
Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.
Persistent memory for AI agents — verbatim conversations, searchable by meaning.
Persistent memory for AI agents. Search, store, and recall across sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/good-v1be/simple-rick'
If you have feedback or need assistance with the MCP directory API, please join our Discord server