Codebaxing
](https://www.npmjs.com/package/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/chroma2.索引您的代码库(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 | |
| ` | 为代码库建立索引(先要求) |
npx codebaxing search | 搜索索引代码 |
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 | 删除记忆 |
注: 这 index AI代理的工具已禁用。使用CLI: `npx codebaxing@latest index `
配置
云嵌入(最快)
本地嵌入在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
`)由于尺寸差异。
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
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密钥。
许可证
麻省理工学院
