cocoindex-io/cocoindex-code

A super light-weight embedded code search engine CLI (AST based) that just works - improves speed and efficiency for coding agent 🌟 Star if you like it!

cocoindex-code – 基于AST的语义代码搜索

简介 – 一个轻量级命令行工具(和插件),让您通过含义而非精确文本搜索代码库。它使用基于Rust的CocoIndex引擎从源文件的抽象语法树(AST)构建索引,然后通过自然语言查询返回相关代码片段。

重要性 – 通过理解代码结构,即使标识符或格式不同,该工具也能找到匹配项,为需要查找代码的LLM驱动代理节省高达约70%的令牌使用量。


主要功能(如README中所述)

  • 基于AST的语义搜索 – 索引代码结构,而不仅仅是原始文本。
  • 两种安装变体:
    • cocoindex-code[full] – 捆绑本地sentence-transformers模型(无需API密钥)。
    • cocoindex-code(精简版) – 使用LiteLLM云提供商进行嵌入。
  • 一分钟零配置设置 – ccc init(或技能)自动创建默认设置。
  • CLI命令 – ccc init、ccc index、ccc search、ccc grep(结构模式搜索)、状态、诊断、守护进程控制等。
  • 代理集成 – 提供技能(ccc)和可选的钩子及MCP服务器,可被Claude Code、Grok、Oh My Pi、Codex、OpenCode、Kilo Code等使用。
  • Docker镜像 – cocoindex/cocoindex-code:latest(精简版,云嵌入)和:full(本地嵌入),用于可重复、无依赖的部署。
  • MCP工具 – 暴露一个search工具,参数包括查询、结果限制、语言/路径过滤器和可选的索引刷新。
  • 结构搜索(ccc grep) – 使用相同AST引擎进行基于示例的模式匹配,无需索引。

快速开始(CLI)

# 通过pipx安装(完整变体包括本地嵌入)
pipx install 'cocoindex-code[full]'
# 或精简变体
pipx install cocoindex-code

# 初始化项目(创建.cocoindex_code/settings.yml)
ccc init
# 构建索引(自动运行后台守护进程)
ccc index
# 按描述搜索
ccc search "authentication logic"

该工具将在首次使用时自动初始化,守护进程保持索引最新。


代理/插件使用

  1. 技能(推荐) – 将技能添加到编码代理:
    npx skills add cocoindex-io/cocoindex-code
    
    代理然后自行运行ccc init、ccc index和ccc search,并在编辑文件时更新索引。
  2. Claude Code – 通过Claude的插件市场安装(/plugin marketplace add …)。
  3. Grok – 安装插件,包含技能、会话开始/工具使用后钩子(自动索引)和MCP服务器(ccc mcp)。
  4. Oh My Pi – 类似的安装路径;插件还提供用于增量索引的TypeScript钩子。
  5. MCP服务器 – 运行ccc mcp并将其注册到任何支持MCP的代理(Claude、Codex、OpenCode、Kilo等)。暴露的search工具接受自然语言查询和可选过滤器。

Docker部署

# 适用于任何操作系统的一行命令(从GitHub拉取compose文件)
# macOS / Windows
docker compose -f <(curl -L https://raw.githubusercontent.com/cocoindex-io/cocoindex-code/main/docker/docker-compose.yml) up -d
# Linux(保留文件所有权)
PUID=$(id -u) PGID=$(id -g) docker compose -f <(curl -L https://raw.githubusercontent.com/cocoindex-io/cocoindex-code/main/docker/docker-compose.yml) up -d

容器运行守护进程,并将索引数据存储在Docker卷中。shell包装器可以将ccc命令转发到容器中:

ccc() { docker exec -it -e COCOINDEX_CODE_HOST_CWD="$PWD" cocoindex-code ccc "$@"; }

何时使用哪种变体

变体 大小 嵌入来源 最适合
cocoindex-code:latest(精简版) 约450MB LiteLLM云提供商(OpenAI、Gemini等) 大多数用户,最小镜像,适用于任何API密钥
cocoindex-code:full 约5GB 本地sentence-transformers模型(例如snowflake-arctic-embed-xs) 离线环境或不想暴露API密钥时

总结

  • 使用pipx install 'cocoindex-code[full]'(或精简变体)安装。
  • 运行一次ccc init && ccc index。
  • 通过ccc search "…"搜索或让编码代理调用ccc技能/MCP。
  • 可选的Docker镜像用于团队范围、可重复的设置。

该项目是真正的开源AI驱动语义代码搜索工具,与现代LLM编码助手紧密集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目