ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

cocoindex-code的11个配置项完全指南:从全局嵌入设置到项目级文件过滤

cocoindex-code的11个配置项完全指南:从全局嵌入设置到项目级文件过滤 cocoindex-code的11个配置项完全指南从全局嵌入设置到项目级文件过滤【免费下载链接】cocoindex-codeA 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!项目地址: https://gitcode.com/gh_mirrors/co/cocoindex-codecocoindex-code 是一款超轻量级的嵌入式语义代码搜索引擎 CLI基于 AST 分块与向量嵌入能显著提升编码 Agent如 Claude、Codex、Cursor检索代码库的速度与效率。它的行为完全由11 个配置项决定分别存放在全局设置与项目级设置两个 YAML 文件中。本文带你从零看懂 cocoindex-code 配置项无需翻阅源码即可完成调优。一图看懂两个配置文件11 个配置项运行ccc init后cocoindex-code 会自动生成两个 YAML 文件所有配置项都归属于它们层级文件位置作用用户级全局~/.cocoindex_code/global_settings.yml所有项目共享控制嵌入模型、环境变量、守护进程项目级项目根目录/.cocoindex_code/settings.yml控制哪些文件被索引 项目级的.cocoindex_code/目录会在初始化时自动加入.gitignore不会污染你的版本库。完整字段定义见 settings.py官方配置参考文档在 skills/ccc/references/settings.md。全局配置9 项决定用什么模型嵌入代码1. embedding.provider选择本地或云端嵌入sentence-transformers本地运行模型无需 API Key需安装cocoindex-code[full]完整版。litellm云端/远程模型省略该字段时默认使用支持 OpenAI、Gemini、Voyage、Ollama 等数十种提供方。embedding: provider: sentence-transformers # 或 litellm2. embedding.model指定嵌入模型不同模型的效果与资源需求差异很大。完整版安装默认使用轻量模型Snowflake/snowflake-arctic-embed-xs追求更好的代码检索效果可换用nomic-ai/CodeRankEmbed约需 1 GB 显存使用云端模型则写提供方前缀如text-embedding-3-small、voyage/voyage-code-3。⚠️ 重要提示切换嵌入模型后必须重建索引因为向量维度会变ccc reset ccc index3. embedding.device指定计算设备取值cpu、cuda、mps之一省略时自动检测。只对本地sentence-transformers提供方有意义embedding: device: mps # Apple Silicon 用户常见配置4. embedding.min_interval_ms云端请求限速调用 LiteLLM 云端嵌入时两次请求之间的最小间隔毫秒。默认5频繁遇到 429 限流错误时可以调大到300左右来缓解。5. embedding.indexing_params / 6. embedding.query_params非对称检索调优部分模型如 Cohere v3、Voyage、nomic-ai 系列对被索引的文档和用户查询希望采用不同的嵌入模式这两个配置项就是分别控制两侧embedding: provider: litellm model: cohere/embed-english-v3.0 indexing_params: input_type: search_document # 索引文档侧 query_params: input_type: search_query # 查询侧ccc init会为已识别的知名模型自动填好这两个值模型清单见 embedder_defaults.py。合法键名很严格sentence-transformers只接受prompt_namelitellm只接受input_type写错会在守护进程启动时报错校验逻辑在 embedder_params.py。运行ccc doctor会分别用两侧参数各做一次真实嵌入测试方便定位是哪一侧配错了。7. envs为守护进程注入环境变量主要用于填写未导出到 shell 的 API Keyenvs: OPENAI_API_KEY: your-api-key VOYAGE_API_KEY: your-api-key守护进程本身会继承你的 shell 环境因此envs只需补环境里没有的那部分。8. daemon.idle_timeout_minutes守护进程闲置超时后台守护进程会常驻内存并持有嵌入模型长时间无客户端活动后自动退出下次使用时自动拉起。默认180分钟设为0则永不退出。9. daemon.keep_alive_with_mcpMCP 会话保活默认true只要编码 Agent 通过 MCP 保持连接守护进程就维持热状态搜索零等待。设为false可在长会话中按正常闲置超时释放模型资源。daemon: idle_timeout_minutes: 180 keep_alive_with_mcp: true项目配置2 项核心 3 项进阶过滤哪些文件被索引10. include_patterns只索引这些文件一组 glob 模式决定哪些文件进入索引。默认已覆盖 28 种主流扩展名Python、JS/TS、Rust、Go、Java、C/C、SQL、Shell、Markdown 等完整默认清单见 settings.py。要索引额外类型追加一行即可include_patterns: - **/*.py - **/*.proto # 新增Protocol Buffers 文件11. exclude_patterns跳过这些目录和文件默认会排除隐藏目录、node_modules、__pycache__、dist、target、vendor等构建产物与依赖目录。要排除代码生成目录直接追加exclude_patterns: - **/.* - **/generated # 新增跳过代码生成目录进阶 3 件套大文件限制、语言覆盖、自定义分块器项目配置还有 3 个进阶配置项默认不写出按需添加max_file_size跳过超过该大小的文件支持B/KB/MB/GB单位不区分大小写例如max_file_size: 500KB避免打包产物挤占索引空间。language_overrides按扩展名覆盖语言识别如把.inc文件按 PHP 解析。chunkers为特定扩展名指定自定义分块函数module.path:function精细控制文件切块方式可用 tests/example_toml_chunker.py 作参考。配置完成后如何验证改完任何配置项标准验证流程只有两条命令ccc doctor # 检查设置、守护进程、模型测试、文件匹配情况 ccc index # 用新配置重建索引注意事项修改include_patterns、exclude_patterns、max_file_size、language_overrides后无需删除索引或重启守护进程。新增或修改chunkers时需先ccc daemon restart再ccc index。修改全局嵌入配置后建议运行ccc doctor做端到端验证详见 skills/ccc/references/management.md。想要更深入的模型选型与嵌入指南参阅 EMBEDDINGS.md。常见问题速查现象原因与对策云端调用报 429调大embedding.min_interval_ms换模型后搜索结果异常向量维度变化执行ccc reset ccc index索引里混入了生成文件用exclude_patterns或max_file_size过滤守护进程反复拉起/退出检查daemon.idle_timeout_minutes与keep_alive_with_mcp启动报错 unknown keyindexing_params/query_params写了提供方不接受的键名至此cocoindex-code 的 11 个配置项已全部讲完全局 9 项决定用哪个模型、在哪里跑、如何保活项目级配置决定哪些文件进入索引。按本文顺序逐项核对你就能为任意项目定制一份高效、干净的代码语义搜索配置。【免费下载链接】cocoindex-codeA 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!项目地址: https://gitcode.com/gh_mirrors/co/cocoindex-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表