使用说明
Codebaxing
MCP服务器 语义代码搜索。对代码库进行一次索引,然后使用自然语言进行搜索。
运作原理
Your Code → Tree-sitter Parser → Symbols → Embedding Model → Vectors → ChromaDB
↓
"find auth logic" → Embedding → Query Vector → Similarity Search → Results
传统搜索会匹配精确的文本。Codebaxing理解其含义:
| 查询 | 查找(即使没有完全匹配) |
|---|---|
| “身份验证” | login()、validateCredentials()、authMiddleware() |
| “数据库连接” | connectDB()、prismaClient、repository.query() |
快速开始
1.启动ChromaDB
docker run -d -p 8000:8000 --name chromadb chromadb/chroma
2.索引您的代码库(CLI)
npx codebaxing@latest index /path/to/your/project
这创建了一个 .codebaxing/ 带有索引的文件夹。每个项目只需要做一次。
性能说明: 本地嵌入速度较慢(约4000个文件需要约4分钟)。为了更快地索引,请使用Gemini嵌入(免费)——请参阅 云嵌入 在......下面
3.为AI编辑器安装MCP服务器
npx codebaxing install # Claude Desktop
npx codebaxing install --cursor # Cursor
npx codebaxing install --windsurf # Windsurf
npx codebaxing install --all # All editors
重新启动编辑器。现在你可以问: “查找身份验证逻辑”
CLI命令
| 命令 | 描述 |
|---|---|
npx codebaxing@latest index <path> |
为代码库建立索引(先要求) |
npx codebaxing search <query> |
搜索索引代码 |
npx codebaxing stats [path] |
显示索引统计信息 |
npx codebaxing clean [path] |
删除索引(重置) |
npx codebaxing install [--editor] |
安装MCP服务器 |
npx codebaxing uninstall [--editor] |
卸载MCP服务器 |
提示: 使用
@latest为了index以确保您拥有最新版本。
搜索选项
npx codebaxing search "auth middleware" --path ./src --limit 10
--path, -p-代码库路径(默认:当前目录)--limit, -n-结果数(默认值:5)
MCP工具(用于AI代理)
安装后,AI代理可以使用这些工具:
| 工具 | 说明 |
|---|---|
search |
语义代码搜索 |
stats |
指数统计 |
languages |
支持的文件扩展名 |
remember |
存储项目内存 |
recall |
找回记忆 |
forget |
删除记忆 |
注: 这
indexAI代理的工具已禁用。使用CLI:npx codebaxing@latest index <path>
配置
云嵌入(最快)
本地嵌入在CPU上运行,对于大型代码库可能很慢(对于约4000个文件,大约需要4分钟)。云嵌入是 速度提高约25倍 并推荐用于任何有1000+个文件的项目。
# Gemini (FREE - recommended, 1500 RPM free tier)
CODEBAXING_EMBEDDING_PROVIDER=gemini GEMINI_API_KEY=... npx codebaxing@latest index /path
# OpenAI (text-embedding-3-small, 384 dims)
CODEBAXING_EMBEDDING_PROVIDER=openai OPENAI_API_KEY=sk-... npx codebaxing@latest index /path
# Voyage (voyage-code-3, 1024 dims, code-optimized)
CODEBAXING_EMBEDDING_PROVIDER=voyage VOYAGE_API_KEY=va-... npx codebaxing@latest index /path
| 供应商 | 型号 | 速度 | 成本 |
|---|---|---|---|
| 双子座 | text-embedding-004 (768调暗) |
~10000条文本/秒 | 免费(1500转/分) |
| 开放人工智能 | text-embedding-3-small (384 dims) |
约10000条文本/秒 | 约0.02美元/1M代币 |
| 航行 | voyage-code-3 (1024 dims) |
约10000条文本/秒 | 约0.06美元/1M代币 |
| 本地 | all-MiniLM-L6-v2 (384调光) |
~200条文本/秒 | 免费(CPU) |
注: 在提供商之间切换需要完全重新索引(
npx codebaxing@latest index <path>)由于尺寸差异。
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
CHROMADB_URL |
ChromaDB服务器URL | http://localhost:8000 |
CODEBAXING_EMBEDDING_PROVIDER |
嵌入后端: local, gemini, openai, voyage |
local |
CODEBAXING_DEVICE |
计算设备(仅限本地): cpu, cuda |
cpu |
CODEBAXING_DTYPE |
模型量化(仅限于本地): fp32, fp16, q8, q4 |
q8 |
CODEBAXING_WORKERS |
用于并行嵌入的工作线程(仅限本地,0=关闭) | 2 |
CODEBAXING_MAX_FILE_SIZE |
最大文件大小(MB) | 1 |
CODEBAXING_MAX_CHUNKS |
要索引的最大块数 | 500000 |
CODEBAXING_FILES_PER_BATCH |
每批文件数(较低=RAM较少) | 100 |
CODEBAXING_PARALLEL_BATCHES |
并发批次 | 3 |
CODEBAXING_METADATA_SAVE_INTERVAL |
每N批保存进度 | 10 |
CODEBAXING_MODEL_CACHE |
模型缓存目录(仅限本地) | ~/.cache/codebaxing/models |
CODEBAXING_OPENAI_API_KEY |
OpenAI API密钥(或使用 OPENAI_API_KEY) |
- |
CODEBAXING_VOYAGE_API_KEY |
Voyage API密钥(或使用 VOYAGE_API_KEY) |
- |
CODEBAXING_GEMINI_API_KEY |
Gemini API密钥(或使用 GEMINI_API_KEY) |
- |
CODEBAXING_EMBEDDING_MODEL |
覆盖嵌入模型名称 | 每个提供程序的默认值 |
CODEBAXING_EMBEDDING_DIMENSIONS |
覆盖嵌入维度 | 每个提供程序的默认值 |
CODEBAXING_EMBEDDING_BASE_URL |
云提供程序的自定义API端点 | 提供程序默认值 |
手动编辑器配置
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"codebaxing": {
"command": "npx",
"args": ["-y", "codebaxing"],
"env": { "CHROMADB_URL": "http://localhost:8000" }
}
}
}
Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"codebaxing": {
"command": "npx",
"args": ["-y", "codebaxing"],
"env": { "CHROMADB_URL": "http://localhost:8000" }
}
}
}
Other Editors
风浪: ~/.codeium/windsurf/mcp_config.json
Zed: ~/.config/zed/settings.json (使用 context_servers 按键)
VS代码+继续: ~/.continue/config.json
支持的语言
Python、JavaScript、TypeScript、Go、Rust、Java、C/C++、C#、Ruby、PHP、Kotlin、Swift、Scala、Lua、Dart、Elixir、Haskell、OCaml、Zig、Perl、Bash、HTML、CSS、Vue、JSON、YAML、TOML、Makefile
需求
- Node.js>=20.0.0
- Docker(用于ChromaDB)
- ~500MB磁盘空间(嵌入式型号)
技术细节
| 组件 | 技术 |
|---|---|
| 本地嵌入 | all-MiniLM-L6-v2 (384调光,ONNX,q8量化) |
| 云嵌入 | 双子座 text-embedding-004 (免费)、OpenAI或Voyage |
| 模型缓存 | ~/.cache/codebaxing/models/ (仅限本地,下载一次) |
| 矢量数据库 | ChromaDB |
| 代码解析器 | 树形图(28种语言) |
| MCP-SDK | @modelcontextprotocol/sdk |
本地模式:嵌入模型在第一次运行时从HuggingFace下载并缓存在 ~/.cache/codebaxing/models/.使用q8量化(比fp32快约3倍)。首次下载后无法访问网络。
云模式:将代码块发送到OpenAI/Vyage API进行嵌入。比本地CPU快约25倍。需要API密钥。
许可证
麻省理工学院
