专为Claude Code开发者的免费本地RAG系统 - 节省令牌与时间
DevRag是一款专门为使用Claude Code的开发者设计的轻量级RAG(检索增强生成)系统。停止通过阅读整个文档浪费令牌——让向量搜索找到你需要的确切信息。
在使用Claude Code时,通过“读取”工具阅读文档会消耗大量的令牌:
使用DevRag:
从Releases获取适合您环境的二进制文件:
| 平台 | 文件 |
|---|---|
| macOS (Apple Silicon) | devrag-macos-apple-silicon.tar.gz |
| macOS (Intel) | devrag-macos-intel.tar.gz |
| Linux (x64) | devrag-linux-x64.tar.gz |
| Linux (ARM64) | devrag-linux-arm64.tar.gz |
| Windows (x64) | devrag-windows-x64.zip |
macOS/Linux:
tar -xzf devrag-*.tar.gz
chmod +x devrag-*
sudo mv devrag-* /usr/local/bin/devrag
Windows:
C:\Program Files\devrag\)在~/.claude.json或.mcp.json中添加:
{
"mcpServers": {
"devrag": {
"type": "stdio",
"command": "/usr/local/bin/devrag"
}
}
}
mkdir documents
cp your-notes.md documents/
就这样!文档会在启动时自动被索引。
在Claude Code中:
"搜索JWT认证方法"
创建config.json:
{
"documents_dir": "./documents",
"db_path": "./vectors.db",
"chunk_size": 500,
"search_top_k": 5,
"compute": {
"device": "auto",
"fallback_to_cpu": true
},
"model": {
"name": "multilingual-e5-small",
"dimensions": 384
}
}
documents_dir: 包含markdown文件的目录db_path: 向量数据库文件路径chunk_size: 文档片段大小(字符数)search_top_k: 返回的搜索结果数量compute.device: 计算设备(auto, cpu, gpu)compute.fallback_to_cpu: 如果没有GPU,则回退到CPUmodel.name: 嵌入模型名称model.dimensions: 向量维度DevRag通过Model Context Protocol提供了以下工具:
执行语义向量搜索
参数:
query (string): 搜索查询返回值: 包含文件名、片段内容和相似度分数的搜索结果数组
索引一个markdown文件
参数:
filepath (string): 要索引的文件路径列出所有已索引的文档
返回值: 包含文件名和时间戳的文档列表
从索引中删除一个文档
参数:
filepath (string): 要删除的文件路径重新索引一个文档
参数:
filepath (string): 要重新索引的文件路径非常适合拥有大量文档存储库的团队:
git pull自动更新索引为项目文档目录配置:
{
"documents_dir": "./docs",
"db_path": "./.devrag/vectors.db"
}
环境:MacBook Pro M2,100个文件(总计1MB)
| 操作 | 时间 | 令牌 |
|---|---|---|
| 启动 | 2.3秒 | - |
| 索引化 | 8.5秒 | - |
| 搜索(1个查询) | 95毫秒 | ~300 |
| 传统读取 | 25秒 | ~12,000 |
搜索速度提高260倍,令牌减少40倍
# 所有测试
go test ./...
# 特定包
go test ./internal/config -v
go test ./internal/indexer -v
go test ./internal/embedder -v
go test ./internal/vectordb -v
# 集成测试
go test . -v -run TestEndToEnd
# 使用构建脚本
./build.sh
# 直接构建
go build -o devrag cmd/main.go
# 跨平台发布构建
./scripts/build-release.sh
# 创建版本标签
git tag v1.0.1
# 推送标签
git push origin v1.0.1
GitHub Actions会自动:
devrag/
├── cmd/
│ └── main.go # 入口点
├── internal/
│ ├── config/ # 配置管理
│ ├── embedder/ # 向量嵌入
│ ├── indexer/ # 索引逻辑
│ ├── mcp/ # MCP服务器
│ └── vectordb/ # 向量数据库
├── models/ # ONNX模型
├── build.sh # 构建脚本
└── integration_test.go # 集成测试
原因:互联网连接或Hugging Face服务器问题
解决方法:
export HTTP_PROXY=http://your-proxy:port
export HTTPS_PROXY=http://your-proxy:port
models/DOWNLOAD.md)在config.json中明确设置为CPU:
{
"compute": {
"device": "cpu",
"fallback_to_cpu": true
}
}
go env CGO_ENABLEDchunk_size(默认:500)MIT License
欢迎提交Issue和Pull Requests!