使用游标代理、Gemini CLI或Claude agent SDK进行代码搜索
以两种方式在选定的代码库上运行AI代理:
- MCP服务器 –从Cursor、Claude Desktop或其他MCP客户端使用(工具:查询库、列出库)。
- 带有GUI的独立应用程序 –浏览器中的web UI;您选择一个项目并输入提示。
后端是Node.js(TypeScript),前端是带有Material UI的React。
需求
- 和npm
- 代理人: 光标CLI 游标代理, Gemini CLI 双子座,或 Claude代理SDK (与
ANTHROPIC_API_KEY).集 代理类型 到cursor,gemini,或claude. \
有用的命令(Windows PowerShell):
- 来源_目录 –克隆项目所在的目录(每个项目一个子目录)
- 可选的 代码库列表路径 –包含可用代码库URL列表的JSON文件的路径
游标代理有用命令
使用Cursor的官方安装指南。如果您遇到困难,请使用以下命令:
irm 'https://cursor.com/install?win32=true' | iexwinget install BurntSushi.ripgrep.MSVCcursor-agent --version-如果打印了版本,一切正常
Gemini CLI有用命令
使用Gemini的官方安装指南。如果您遇到困难,请使用以下命令:
npm install -g @google/gemini-cligemini -v-如果打印了版本,一切正常
Claude代理SDK(Agent_TYPE=Claude)
后端包括 @anthropic-ai/claude-agent-sdk.Set ANTHROPIC_API_键 在您的环境中(例如 .env).无需单独安装CLI。如果 npm install 由于对等依赖(zod)而失败,运行 npm install --legacy-peer-deps.
1.MCP服务器
将ai代码搜索用作MCP服务器,以便您的IDE或Claude可以调用 问题 (查询库)和 list_librarys (列出可用库)。服务器作为一个单独的进程运行,并通过stdio进行通信。
你需要做什么
- 安装代理 (PATH中的游标代理或Gemini CLI,或设置 代理类型=克劳德 和 ANTHROPIC_API_键 克劳德)。可选设置 AGENT_CMD 对于游标/gemini。
- 配置您的MCP客户端 包含此服务器的路径和所需的环境变量。
MCP客户端配置
将服务器添加到MCP配置中。使用 来源_目录 (克隆的存储位置)以及 代码库列表路径 (路径到 codebase-list.json 或您自己的列表文件)。
示例–光标(~/.cursor/mcp.json 或同等):
{
"mcpServers": {
"ai-code-search": {
"command": "npx",
"args": ["-y", "github:francbohuslav/ai-code-search"],
"env": {
"SOURCES_DIR": "c:\\...\\repos",
"CODEBASE_LIST_PATH": "c:\\...\\codebase-list.json"
}
}
}
}示例–克劳德桌面 (在Claude MCP配置文件中使用相同的结构,例如。 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上)。
可选环境变量: 代理类型 (cursor | gemini | claude,默认值 cursor), AGENT_CMD –游标/gemini命令(默认 "cursor-agent" / "gemini").对于 克劳德,set ANTHROPIC_API_键. 代理模型 (可选)–适用于任何后端(游标/gemini/claude)的模型。
MCP工具
question–参数:library(字符串),prompt(字符串)。在给定的库上运行游标代理;如果不在,请先克隆它SOURCES_DIR。支持进度通知。list_libraries–返回代码库列表中的所有库{ name, downloaded, url? }[].
2.带GUI的独立应用程序
运行web服务器并在浏览器中打开UI。您选择一个项目(从 SOURCES_DIR 和/或代码库列表)并输入提示;后端运行游标代理并流式传输结果。
你需要做什么
- 设置环境变量 (例如在
.env在项目根目录中):
- 来源_目录 –包含项目子目录的目录的绝对路径(必需)。 - 代码库列表路径 –代码库列表JSON文件的绝对路径(如果您希望下拉列表显示列表中的代码库,则需要此路径)。 - 端口 (可选)–HTTP服务器端口,默认为8000。 - 代理类型 (可选)- cursor | gemini | claude,默认值 cursor. - AGENT_CMD (可选)–光标/gemini命令(默认 "cursor-agent" 或 "gemini").对于 克劳德,set ANTHROPIC_API_键. 代理模型 (可选)–适用于任何后端的模型。
- 安装和构建:
- 复制 .env.example 到 .env 并填充路径。 - 安装后端和前端,然后构建前端。
- 启动服务器 并在浏览器中打开应用程序。
快速启动(克隆并在本地运行)
# 1. Clone repo, then in repo root:
cp .env.example .env
# Edit .env: set SOURCES_DIR and CODEBASE_LIST_PATH
# 2. Install and build frontend
npm install
cd frontend && npm install && npm run build && cd ..
# 3. Start server
npm run dev服务器运行于 http://localhost:8000 (或港口从 .env).
使用npx运行(无克隆)
npx -y github:francbohuslav/ai-code-search集 来源_目录 和 代码库列表路径 在您的环境中。只有构建了前端(在您可以运行的npx缓存中),GUI才能工作 cd frontend && npm install && npm run build 从已安装的包目录中,或克隆仓库并使用上述步骤)。
用法(GUI)
- 打开
http://localhost:8000在浏览器中。 - 选择一项 项目 从下拉列表(from
SOURCES_DIR/代码库列表)。 - 输入你的 提示 然后单击 提交.
后端在所选项目目录中运行游标代理,并将结果流式传输到页面。
前端开发(可选)
分别为HMR运行后端和Vite:
# Terminal 1 – backend
npm run dev# Terminal 2 – frontend
cd frontend && npm run dev前端位于 http://localhost:5173;API调用转到后端。
环境变量摘要
| 变量 | 必填 | MCP/GUI | 描述 | ||
|---|---|---|---|---|---|
| 来源_目录 | yes | both | 克隆项目的目录(每个项目一个子文件夹)。 | ||
| 代码库列表路径 | no | both | JSON文件路径:代码库URL数组或 { url, name, description }. | ||
| 端口 | no | 仅GUI | HTTP服务器端口(默认8000)。 | ||
| 代理类型 | 否 | 两者都有 | 代理: cursor | gemini | claude (默认值 cursor). |
| AGENT_CMD | no | both | 游标/gemini命令(默认值 "cursor-agent" 或 "gemini"). | ||
| 代理模型 | no | both | 代理的型号(光标: --model双子座: -m,claude:SDK)。所有人都可以选择。 |
