语义代码搜索工具

Cog是一款基于Nomic嵌入技术的语义代码搜索工具,能够在Apple Silicon设备上通过理解代码含义进行搜索、分析代码结构并生成嵌入向量。

  • by vitorcalvi
  • Python
  • 本地部署
  • 17 星标
  • 更新于
在 GitHub 查看 vitorcalvi/cog-mcp

使用说明

齿轮

AI助手的语义代码搜索。由苹果硅上的Nomic嵌入技术提供支持。

它做什么

  • 按含义搜索代码 -查找“处理身份验证”的函数,而不仅仅是关键字匹配
  • 分析结构 -从任何文件中提取函数、类和依赖项
  • 生成嵌入 -金属GPU(M1/M2/M3)上的768个暗矢量

需求

  • macOS与苹果硅
  • Python 3.12+
  • Node.js 18+
  • 紫外线

安装

git clone https://github.com/vitorcalvi/cog.git
cd cog

# Python engine
cd packages/core && uv sync

# MCP server
cd ../mcp && npm install && npm run build

为代码编制索引

cd packages/core
uv run cog-index ./your/project

连接到OpenCode

编辑 ~/.config/opencode/opencode.json:

{
  "mcp": {
    "cog": {
      "type": "local",
      "command": ["node", "/ABSOLUTE/PATH/TO/cog/packages/mcp/dist/index.js"],
      "environment": {
        "COG_CORE_DIR": "/ABSOLUTE/PATH/TO/cog/packages/core",
        "COG_DB_PATH": "/ABSOLUTE/PATH/TO/cog/packages/core/cog_memory"
      },
      "enabled": true
    }
  }
}

替换 /ABSOLUTE/PATH/TO 你的实际路径。

在OpenCode中使用

> Search my codebase for user authentication
> Analyze the structure of src/api.py
> Find database connection functions

工具

工具 说明
search_code 语义搜索-按含义查找代码
analyze_structure 从文件中提取函数和类
generate_embedding 获取任意文本的768个昏暗矢量

测试它是否有效

包装 测试 覆盖范围
Python核心 60 100%
TypeScript MCP 35 98.7%

运行测试:

cd packages/core
uv run pytest
cd packages/mcp
npm test

许可证

MIT© 维托·卡尔维