开发与工程 code-intelligencesemantic-searchcall-graphtree-sittermcplancedbtantivy-bm25

CodeSeek 代码智能 CLI

为编码助手提供本地代码索引、语义检索与调用图查询。

FollowAgents 评估 · FARS-2.0
待评估
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

CodeSeek 是一个面向 Claude Code 和 Codex CLI 的 Rust 代码智能命令行工具。它使用 Tree-sitter 解析 Rust、Python、JavaScript、TypeScript、Go、C/C++ 和 Java,并提取函数、类和方法以建立调用图。索引将向量写入 LanceDB、将 BM25 全文索引写入 Tantivy,并把调用图保存到本地的 ~/.codeseek/<project_hash>/ 目录。搜索流程可结合稠密检索、BM25 稀疏检索、图名称检索、RRF 融合和 Qwen3-Reranker 重排;当嵌入或重排不可用时,会退回图名称搜索。它不运行守护进程或 HTTP 服务,每个命令都是独立进程,并可通过 stdio JSON-RPC 暴露为 MCP 工具。

执行 codeseek init 时,CodeSeek 读取项目源码文件,以 Tree-sitter AST 解析 7 种语言,提取函数、类和方法;随后按每批 20 段文本调用嵌入 API,并使用 SQLite 缓存结果。它将向量存入 LanceDB、建立 Tantivy BM25 索引、用 PetCodeGraph 序列化调用图,并用 MD5 比较文件变化以增量更新。执行 codeseek search <query> 时,它生成查询向量,运行 LanceDB ANN 稠密搜索、Tantivy BM25 稀疏搜索和 PetCodeGraph 图搜索,再用 Reciprocal Rank Fusion 合并候选结果,并可由 Qwen3-Reranker-4B 对结果重排。codeseek callers、callees 和 callgraph 输出符号的上游或下游调用关系;codeseek install 会为 Claude Code 或 Codex 写入 MCP 配置。

  1. 使用 Claude Code 的开发者需要在大型 Rust 或 TypeScript 项目中按自然语言寻找相关函数和实现位置。
  2. 维护遗留 Python、Java 或 Go 服务的工程师需要确认某个函数的调用方与下游依赖。
  3. 同时维护多语言仓库的团队需要在本机建立函数、类和方法级别的统一索引。
  4. 希望让 Codex CLI 通过 MCP 查询项目代码结构的开发者,可安装 codeseek_search 和调用图工具。
  5. 频繁提交代码的个人开发者可安装 post-commit 与 post-merge 钩子,让 codeseek init 在提交或合并后更新索引。

这个 Agent 有哪些优点和局限?

优点
  • 将 Tree-sitter 结构提取、PetCodeGraph 调用图、LanceDB 向量检索和 Tantivy BM25 放在同一个本地 CLI 中。
  • 搜索可融合稠密、稀疏和图检索,并以 RRF 和可选的 Qwen3-Reranker-4B 提高候选排序精度。
  • 通过 MD5 文件比较、SQLite 嵌入缓存和 Git 钩子,支持后续增量索引而非每次重建全部数据。
  • 原生提供 Claude Code 与 Codex CLI 的 MCP 安装流程,以及五个代码查询工具。
局限
  • 语义检索依赖嵌入 API token、模型和 base URL;需要网络连接,且 API 成本未在资料中说明。
  • 启用 Qwen3-Reranker-4B 后,文档标示重排约需 1–2 秒,可能增加搜索等待时间。
  • npm 预编译安装包只明确支持 macOS arm64/x64 与 Linux x64;其他平台没有已说明的二进制支持。
  • 支持范围限于文档列出的 7 种语言,且资料没有说明跨项目查询、权限控制或团队共享索引能力。

如何安装或部署这个 Agent?

推荐安装:npm install -g codeseek,然后运行 codeseek 完成首次交互式配置。向导会要求填写嵌入模型的 API token、模型和 base URL;示例配置使用 OpenAI-compatible 提供方与 Qwen/Qwen3-Embedding-4B。也可使用 Homebrew:brew tap CodeBendKit/codeseek [email protected]:CodeBendKit/codeseek.git && brew install codeseek。源码构建前需安装 protoc,随后执行 git clone https://github.com/CodeBendKit/codeseek.git、cd codeseek、./build.sh --release。

如何使用这个 Agent?

在目标项目目录运行 codeseek init 建立索引。使用 codeseek search main --limit 10 搜索符号,或使用 codeseek search 'how the code embedding work' 进行自然语言代码搜索。使用 codeseek callers <symbol>、codeseek callees <symbol> 或 codeseek callgraph <symbol> 查询调用关系;查询命令可附加 --json。运行 codeseek install 将 MCP 服务器配置写入 ~/.claude.json 或 ./.mcp.json,以及 ~/.codex/config.toml;运行 codeseek install-hooks 可在 Git 提交和合并后自动执行索引更新。

常见问题

不配置嵌入 API 还能使用吗?
可以有限使用。资料说明当嵌入或重排不可用时,搜索会退回到 PetCodeGraph 的图名称搜索。
索引数据会发送到哪里?
源码解析后的文本会按批调用配置的嵌入 API;本地索引数据保存于 ~/.codeseek/<project_hash>/,包括 LanceDB、Tantivy、调用图和文件哈希。
它如何与 Claude Code 或 Codex CLI 集成?
运行 codeseek install 后,它会写入相应 MCP 配置,并通过 stdio JSON-RPC 提供搜索、调用方、被调用方、调用图和状态查询工具。
是否需要常驻后台服务?
不需要。资料明确说明没有守护进程和 HTTP 服务,每个命令均作为独立进程执行。

相关 Agents