CocoIndex Code

为代码代理提供本地 AST 语义搜索与结构化检索。

Star 数
★ 2.7k
最近更新
1 天前
License
Apache-2.0
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台Codex · Claude Code · OpenAI API
开始前需要
pipx or uvShell / 命令行网络访问本地文件系统MCP Server
典型场景
刚接手陌生 Python、TypeScript 或 Rust 仓库的开发者,需要用“用户会话如何管理”这类描述定位实现。
主要局限
本地完整安装会引入约 1 GB 的 torch 与 transformers 依赖;完整 Docker 镜像约 5 GB。

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

CocoIndex Code 是一个面向代码库的嵌入式语义搜索 CLI,底层使用 CocoIndex 的 Rust 索引引擎。它通过 ccc 命令初始化项目、构建或增量更新索引,并返回带路径、语言、代码内容、行号和相似度的匹配代码块。除了 CLI,它可作为 ccc mcp stdio 服务器向 Codex、Claude Code、OpenCode 和 Kilo Code 提供 search 工具,也提供可安装给兼容代理的 ccc skill。索引和项目设置默认保存在项目的 .cocoindex_code 目录,后台 daemon 会在首次使用时启动并保持嵌入模型热加载。部署可使用原生 Python 工具链,或使用持久 Docker 容器运行。

执行 ccc init 创建全局与项目 YAML 设置,并将 .cocoindex_code/ 写入 .gitignore;ccc index 会建立或更新索引,且文档说明它只重新索引变更文件。ccc search <query> 使用语义相似度检索,可按 --lang、--path、--offset、--limit 过滤,并可用 --refresh 先更新索引。ccc grep <pattern> 使用 CocoIndex 的 code_match 按语法结构匹配源码,无需索引、daemon 或嵌入模型。运行 ccc mcp 时,它公开 search(query, limit, offset, refresh_index, languages, paths) 工具,返回代码块及其元数据。嵌入可来自本地 SentenceTransformers,或通过 LiteLLM 使用云端提供商。

  1. 刚接手陌生 Python、TypeScript 或 Rust 仓库的开发者,需要用“用户会话如何管理”这类描述定位实现。
  2. 使用 Codex 或 Claude Code 的工程师,希望代理通过 MCP 的 search 工具检索相关代码块。
  3. 不确定函数或类名、普通文本 grep 难以命中的维护者,需要按自然语言概念搜索实现。
  4. 需要查找函数定义、调用或类结构的开发者,可用 ccc grep 编写 AST 模式而非依赖格式一致的文本。
  5. 希望在团队或受限主机上使用固定运行环境的工程师,可用持久 Docker 容器保持 daemon 和模型缓存。

如何安装或部署这个 Agent?

本地安装(包含无需 API 密钥的本地嵌入):

pipx install 'cocoindex-code[full]'

或:

uv tool install --upgrade 'cocoindex-code[full]'

进入目标代码库后首次可运行:

ccc init
ccc index
ccc search "authentication logic"

[full] 默认使用本地 Snowflake/snowflake-arctic-embed-xs。若安装 slim 版 cocoindex-code,则需配置云端嵌入提供商及其 API 密钥。

如何使用这个 Agent?

直接检索:ccc search "database schema";按语言过滤:ccc search --lang python --lang markdown schema;先刷新再查:ccc search --refresh "query handler"。结构化检索示例:ccc grep 'def \NAME(\(ARGS*\)):'。给 Codex 注册 MCP:codex mcp add cocoindex-code -- ccc mcp;随后 MCP 的 search 工具可接受 query、limit、offset、refresh_index、languages 和 paths。安装 ccc skill 可运行:npx skills add cocoindex-io/cocoindex-code。

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

优点
  • 同时提供语义检索和无需索引的 ccc grep AST 结构化检索,适合不同的代码定位任务。
  • ccc mcp 以 stdio 暴露明确的 search 工具,可直接接入已文档化的 Codex 和 Claude Code 工作流。
  • 支持本地 SentenceTransformers,也可借助 LiteLLM 使用多种云端嵌入服务;本地默认模型不需要 API 密钥。
  • 索引嵌入项目目录,并通过后台 daemon 保持模型热加载;Docker 部署可让容器内 daemon 跨会话保持运行。
局限
  • 本地完整安装会引入约 1 GB 的 torch 与 transformers 依赖;完整 Docker 镜像约 5 GB。
  • slim 安装依赖云端嵌入提供商和 API 密钥,使用时会增加网络与供应商配置要求。
  • 更换嵌入模型后需要执行 ccc reset && ccc index,因为向量维度可能不同。
  • ccc grep 依赖 CocoIndex 的 code_match;文档说明在该功能发布前需要使用本地 CocoIndex 构建。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
CocoIndex Code 当前 52 · 缺口较多 ★ 2.7k 1 天前 Python Codex · Claude Code · OpenAI API
Claude Context — 基于语义搜索的代码库上下文插件 49 · 缺口较多 ★ 13k 2 个月前 TypeScript Codex · Claude Code · OpenAI API
Arbor 自主研究优化器 55 · 缺口较多 ★ 1.1k 16 天前 Python Codex · Claude Code · OpenAI API · Claude API
ACE 智能体经验学习引擎 51 · 缺口较多 ★ 2.6k 2 天前 Python Claude Code · OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
52/ 100 五分制 2.6 / 5
信任安全 10/29
可靠稳定 8/14
适用触发 12/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全10 / 29 · 1.7/5

证据显示:项目提供SECURITY.md,有安全联系邮箱和范围说明;安装时通过pipx/uv,无特殊权限要求;Docker挂载$HOME有安全提示;有reset命令可删除索引数据;依赖有版本范围。扣分:未明确说明数据流(如索引数据存储位置、是否上传),未提供用户确认机制(如搜索前确认),未提供回滚机制,发布者身份未验证。

可靠稳定8 / 14 · 2.9/5

证据显示:README和pyproject.toml一致,CLI命令和配置说明清晰;依赖有版本范围,有CI测试。扣分:未提供失败消息的具体示例,依赖可用性未验证(静态审查)。

适用触发12 / 18 · 3.3/5

证据显示:明确目标用户为编码代理,提供多种集成方式(CLI、MCP、Docker),支持多语言,有环境变量配置。扣分:未明确能力边界(如支持的代码库大小),触发条件(何时自动搜索)未详细说明。

规范维护10 / 18 · 2.8/5

证据显示:README结构清晰,有安装说明、CLI参考、配置指南;有LICENSE(Apache-2.0);有版本号(pyproject.toml)。扣分:未提供CHANGELOG,已知限制未明确列出,维护责任未明确(发布者未验证)。

有效结果9 / 13 · 3.5/5

证据显示:声称节省70% token,提供搜索、grep等功能,有Docker镜像和多种安装方式。扣分:未提供性能基准或用户反馈,成本效益未量化。

证据核验3 / 8 · 1.9/5

证据显示:README有功能描述,有测试文件(tests/),有CI配置。扣分:未提供可复现的基准测试,声明(如70% token节省)无数据支持,事实与推断未明确区分。

风险与缓解建议
  • 发布者身份未验证,安装前请自行评估风险。
  • Docker挂载$HOME可能暴露敏感数据,建议使用更窄的挂载路径。
  • 静态审查无法验证实际运行行为,请进行实际测试。
证据充分度: 评估于 2026年8月9日 审查版本 9fd2e7470a8b 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

是否必须使用云端 API 或付费模型?
不是。安装 cocoindex-code[full] 后可使用本地 SentenceTransformers,默认模型为 Snowflake/snowflake-arctic-embed-xs;slim 版则需要云端嵌入提供商及 API 密钥。
它会读取或上传我的源码吗?
工具会读取项目中符合 include/exclude 规则的文件来建立索引。文档称匿名遥测不会收集源码、路径、查询、搜索结果、嵌入或设置;可用 COCOINDEX_DISABLE_USAGE_TRACKING=1 关闭。云端嵌入模式的代码内容处理边界需按所选提供商评估。
索引是否需要每次手动重建?
ccc index 会构建或更新索引,文档称仅重新索引已变更的文件;ccc search --refresh 也可在搜索前更新。
MCP 搜索会返回什么?
ccc mcp 的 search 返回匹配代码块,并包含文件路径、语言、代码内容、行号和相似度分数。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents