使用说明
Reka
Memory that flows. Knowledge that stays.
Self-hosted RAG infrastructure for AI coding assistants.
Give Claude Code, Cursor, or Windsurf persistent memory across sessions.
Plugin · Quick Start · How It Works · Features · Website · Issues
问题
你的AI编码助手在会话之间会忘记一切。每一次新的对话都是从零开始的——不记得过去的决定,不了解你的架构,不记得已经尝试过和失败过的事情。
Reka解决了这个问题。 它为你的AI助手提供持久内存、语义代码搜索和代码库的知识图——所有这些都在你的机器上运行。
Claude代码插件
使用Reka的最快方法。Claude Code中有两个命令:
/plugin marketplace add getreka/reka-plugin
/plugin install reka@reka-plugins
该插件为您提供完整的Reka体验,无需任何手动MCP配置:
| 您将获得什么 | 详细信息 |
|---|---|
| 9个命令 | /reka:code, /reka:investigate, /reka:review, /reka:arch, /reka:debate, /reka:start, /reka:end, /reka:onboard, /reka:memory-review |
| 4名代理人 | 功能构建器、代码审阅者、rag研究员、rag运维人员——工作流使用的内部子代理,都有持久内存 |
| 2个挂钩 | 自动会话生命周期:SessionStart(上下文+会话id)和SessionEnd(内存整合) |
| MCP服务器 | @getreka/mcp 使用API密钥自动配置(存储在操作系统密钥链中) |
团队自动安装
添加到您的项目 .claude/settings.json 每个团队成员都会自动获得插件:
{
"extraKnownMarketplaces": {
"reka-plugins": {
"source": { "source": "github", "repo": "getreka/reka-plugin" }
}
},
"enabledPlugins": {
"reka@reka-plugins": true
}
}
插件仓库: 拖放/重复插件 --完整的文档、命令参考和架构概述。
快速开始
选项A:Claude代码插件(推荐)
/plugin marketplace add getreka/reka-plugin
/plugin install reka@reka-plugins
会话自动启动(SessionStart挂钩); /reka:start 显示会话状态。
选项B:MCP服务器+CLI
# 1. Start the infrastructure
git clone https://github.com/getreka/reka.git
cd reka/docker && docker compose up -d
# 2. Initialize your project (generates API key + .mcp.json)
npx @getreka/cli init --project my-app
就是这样。打开你的人工智能助手——它现在有内存了。
尝试演示(无需安装)
npx @getreka/cli init --demo --project my-app
这将连接到一个实时Reka实例,因此您可以在部署自己的实例之前尝试内存、搜索和索引。演示数据可能会定期重置。
什么 reka init 做
- 创建映射到项目的API键
- 写
.mcp.json使用正确的MCP服务器配置 - 您的AI助手在下次启动时自动发现MCP服务器
生成的 .mcp.json:
{
"mcpServers": {
"reka": {
"command": "npx",
"args": ["-y", "@getreka/mcp"],
"env": {
"REKA_API_KEY": "rk_myapp_a3f8b2..."
}
}
}
}
一个API密钥=一个项目。 不需要额外的头文件或配置。钥匙告诉Reka你正在做哪个项目。
运作原理
Claude Code + Reka Plugin
│
│ 9 commands · 4 agents · 2 hooks
│
▼
@getreka/mcp ← npm package, auto-configured by plugin
│
│ HTTP + API Key
▼
Reka API (:3100) ← Express server
│
┌───────┼───────┐
▼ ▼ ▼
Qdrant Ollama Redis
vectors LLM+embed cache
每个项目在Qdrant中都有独立的集合:
myapp_codebase--索引源代码myapp_agent_memory--决策、模式、见解myapp_graph--导入/依赖关系myapp_symbols--函数/类/类型索引
项目之间没有交叉污染。一个后端为它们提供服务。
特征
搜索
- 混合搜索 --向量相似度+关键字匹配
- 代码图 --遍历导入、依赖关系、爆炸半径
- 符号索引 --函数、类、类型的即时查找
- 智能调度 --LLM将您的查询路由到最佳搜索策略
记忆
- 持久内存 --决策、模式、ADR在整个会话中都存在
- 内存管理 --隔离、晋升、衰败(并非所有事物都值得永恒)
- 整合 --重复的记忆会随着时间的推移而融合和进化
- 扩散激活 --联想回忆发现相关记忆
索引
- 多语言 --TypeScript、Python、Go、Rust、Java、C#等
- 增量 --基于哈希的更改检测,只重新索引更改的内容
- 知识图谱 --自动提取导入/导出关系
平台
- Claude代码插件 --9个命令、4个代理、2个挂钩、自动配置MCP
- MCP本地 --与Claude Code、Cursor、Windsurf一起开箱即用
- 29工具,0隐藏 --搜索、内存、索引、代理、架构
- 仪表盘 --用于内存审查和分析的Vue 3 web UI
LLM和嵌入
- 完全本地化 --用于LLM和嵌入的Ollama(默认),需要零个API密钥
- 或混合动力 --本地用于快速任务,Claude/GPT-4用于复杂分析
- 你的选择 --Ollama、OpenAI或Anthropic获得法学硕士学位;Ollama(默认)、OpenAI或BGE-M3用于嵌入
部署
自托管-免费。 零限制的完整平台,完全在您的机器上运行: cd docker && docker compose up -d.
计划使用自托管团队许可证,但前提是有实际需求-- 如果你想要,请告诉我们.
需求
| 组件 | 最小值 | 推荐 |
|---|---|---|
| Docker | 24+ | 最新 |
| RAM | 8 GB | 16 GB |
| Node.js | 22+ | 最新LTS |
| 磁盘 | ~2GB | 建议使用SSD |
| GPU | 不需要 | NVIDIA用于Ollama加速 |
对于 仅限Claude代码插件:克劳德代码1.0.33+,Node.js 22+。Docker仅适用于自托管后端。
配置
关键环境变量 rag-api/.env (显示的值是Docker堆栈中的值 docker/docker-compose.yml 用途):
| 变量 | Docker堆栈值 | 描述 |
|---|---|---|
EMBEDDING_PROVIDER |
ollama |
ollama, openai, bge-m3-server |
OLLAMA_EMBEDDING_MODEL |
qwen3-embedding:4b |
嵌入模型 |
VECTOR_SIZE |
2560 |
嵌入尺寸 |
LLM_PROVIDER |
ollama |
ollama, openai, anthropic |
OLLAMA_MODEL |
qwen3.5:9b |
LLM完井模型 |
QDRANT_URL |
http://localhost:6333 |
矢量数据库 |
REDIS_URL |
redis://localhost:6380 |
缓存(可选,推荐) |
OPENAI_API_KEY |
-- | 如果使用OpenAI,则需要 |
ANTHROPIC_API_KEY |
-- | 如果使用Anthropic,则需要 |
默认配置运行完全本地-不需要API密钥。
MCP工具
Reka向您的AI助手公开了29个工具(没有隐藏)。最常用的:
| 工具 | 它做什么 |
|---|---|
hybrid_search |
对代码进行语义+关键字搜索 |
find_symbol |
快速查找:函数、类、类型 |
search_graph |
遍历导入,查找依赖项 |
search_docs |
搜索索引文档 |
context_briefing |
更改前的多策略查找 |
memory |
受控服务器端内存上的人类记忆工具界面(六个命令) |
remember |
存储决策、见解或模式 |
recall |
检索相关记忆 |
record_adr |
记录架构决策 |
index_codebase |
对项目进行索引或重新索引 |
start_session / end_session |
具有连续性的会话生命周期 |
run_agent |
启动自主子代理 |
Reka和Anthropic的记忆工具
人类学 memory_20250818 工具给克劳德一个 /memories 它所在的目录
RL经过训练,可以通过六个命令自动使用: view, create,
str_replace, insert, delete, rename关于这两者之间的关系,有两个事实
向Reka明确表示:
- 在Claude Code中,本机内存工具是在本地主机上实现的 文件夹。 主机对计算机上的某个目录执行命令 并暴露 无可插拔后端 --Reka无法拦截这些电话,并且 我们不声称。
- Reka提供的是与MCP工具相同的六命令界面,名为
memory,因此模型的训练触发会继续下去——但 登陆Reka而不是本地文件夹: 项目范围 (共享 机器和会话)以及 治理.每封信都有署名 (source: auto_memory_tool)并隔离;基于工具自身的路径view立即看到它(阅读你的文章),但它只进入语义recall一旦晋升。查看队列位于仪表板中review_memories/promote_memory.
为了 直接Anthropic SDK用户 适配器是一个真正的后端:将其连接到
SDK的 betaMemoryTool helper和Claude的本地内存调用将持续到
Reka(适配器来源: mcp-server/src/memory-tool-adapter.ts):
import Anthropic from "@anthropic-ai/sdk";
import { betaMemoryTool } from "@anthropic-ai/sdk/helpers/beta/memory";
import { createApiClient } from "./api-client.js";
import { MemoryToolAdapter } from "./memory-tool-adapter.js";
const api = createApiClient(
RAG_API_URL,
PROJECT_NAME,
PROJECT_PATH,
REKA_API_KEY,
);
const adapter = new MemoryToolAdapter(api, PROJECT_NAME);
// betaMemoryTool takes one handler per command; the adapter exposes exactly
// that { [command]: (cmd) => Promise<string> } shape:
const memoryTool = betaMemoryTool(adapter.toHandlers());
const client = new Anthropic();
const runner = client.beta.messages.toolRunner({
model: "claude-opus-4-8",
max_tokens: 1024,
tools: [memoryTool],
messages: [
{ role: "user", content: "Remember that we use qwen3-embedding:4b." },
],
});
for await (const message of runner) console.log(message);
仪表盘
cd dashboard && npm install && npm run dev
# Open http://localhost:3000
内存资源管理器、搜索游乐场、项目分析、索引状态、系统健康状况。
比较
| 河 | 游标内存 | Cody(源代码图) | Continue.dev | Greptile | |
|---|---|---|---|---|---|
| 自托管 | 完全 | 仅云 | 部分 | 是 | 仅云 |
| 克劳德代码插件 | 是 | 否 | 否 | 不 | 否 |
| 内存管理 | 完整生命周期 | 否 | 否 | 无 | 否 |
| 多项目 | 独立 | 每个工作区 | 是 | 有限 | 是 |
| 代码图 | 是 | 否 | 是 | 不是 | 是 |
| MCP本机 | 是 | 否 | 否 | 是 | 不 |
| LLM选项 | 任意 | 锁定 | 锁定 | 任意 | 已锁定 |
| 数据隐私 | 100%本地 | 云 | 部分 | 本地 | 云 |
| 成本 | 免费 | $/座位 | $/座位 | 免费 | $/回购 |
项目结构
reka/
├── rag-api/ # Core API server (Express, TypeScript)
├── mcp-server/ # MCP server (@getreka/mcp)
├── cli/ # CLI tool (@getreka/cli)
├── dashboard/ # Web dashboard (Vue 3)
├── docker/ # Canonical compose stack + Grafana, Prometheus configs
├── docs/archive/ # Historical status snapshots
├── landing/design/ # Landing page design source (.pen)
└── docker-compose.yml # Thin shim that includes docker/docker-compose.yml
插件: 拖放/重复插件 --Claude Code插件(独立仓库)
贡献
我们欢迎捐款。看 贡献.md 了解设置和指南。
好的第一个问题被标记 good first issue.
许可证
Reka来源于 商业来源许可证1.1.
- 自由自主机 --内部使用无限制
- 构建集成 --插件、扩展、自定义工具
- 转换为Apache 2.0 3年后
唯一的限制是:您不能将Reka作为与 Reka 云.
Give your AI assistant the memory it deserves.
Install Plugin · Get started · getreka.dev · Report an issue