用途:为 SocratiCode 提供代码库索引的建立、索引与运维管理,涵盖基础设施健康检查、索引、文件监听、代码图谱和上下文工件。
主要能力:codebase_health 检查 Docker、Qdrant、Ollama 或嵌入提供方及嵌入模型;codebase_index 后台启动索引并立即返回;codebase_status 轮询进度,建议每约 60 秒一次直至 100%,同时保持 MCP 连接。首次使用会自动拉取 Docker 镜像、启动容器并下载嵌入模型,约需 5 分钟一次性配置。索引完成后自动构建图谱,默认监听模式下文件监听自动启动。
文件监听与增量更新:默认 SOCRATICODE_WATCHER=auto 下监听器自动维护索引。可用 codebase_watch 的 start、stop、status 控制与查看;codebase_update 做同步增量更新,只处理变更文件。SOCRATICODE_WATCHER=git 时在检出的 ref/HEAD 变化时刷新(每 10 秒及搜索、状态、图谱请求时检查),但索引的是工作区内容,包含未提交修改;不影响 ref/HEAD 的文件保存需用 codebase_update。
索引管理:codebase_stop 优雅暂停并保留检查点,可用 codebase_index 恢复;codebase_remove 删除整个索引(破坏性);codebase_prune 清点存储身份并按精确身份删除;codebase_list_projects 列出已索引项目与图谱、工件状态。
代码图谱:codebase_graph_build 手动后台重建,用 codebase_graph_status 轮询;codebase_graph_remove 删除图谱;codebase_graph_status 查看进度。
上下文工件:在项目根目录创建 .socraticodecontextartifacts.json 配置不属代码的知识文件,支持 SQL 架构、OpenAPI/Protobuf、Terraform/CloudFormation、Kubernetes 清单、架构文档、环境配置等文本文件或目录。可用 codebase_context_index 与 codebase_context_remove 管理。
环境变量:QDRANT_MODE、QDRANT_URL、QDRANT_API_KEY、EMBEDDING_PROVIDER(ollama/openai/google)、OPENAI_API_KEY、GOOGLE_API_KEY、OLLAMA_MODE、EMBEDDING_MODEL(默认 nomic-embed-text)、SEARCH_DEFAULT_LIMIT、SEARCH_MIN_SCORE、MAX_FILE_SIZE_MB、EXTRA_EXTENSIONS、SOCRATICODE_WATCHER、SOCRATICODE_AUTO_RESUME。
限制与排障:Docker 不可用需安装并运行 Docker Desktop;macOS/Windows 索引慢时因 Docker 无法用 GPU,可装原生 Ollama 或用云嵌入;搜索无结果先查状态并运行索引;结果陈旧运行 codebase_update,仅在状态未禁用时启动监听;索引中断可重跑并自动从检查点恢复;其他进程在索引时用 codebase_stop 或等待。完整参数见 references/tool-reference.md。