"With hedwig-cg, your coding agent knows what to read."
快速开始 · English · 한국어 · 日本語 · Deutsch
raw data from a given number of sources is collected, then compiled by an LLM into a .md wiki, then operated on by various CLIs by the LLM to do Q&A and to incrementally enhance the wiki - Andrej Karpathy
hedwig-cg使用轻量级本地LLM模型,从10,000+文件的代码库和知识文档构建可查询的代码图和知识库。Two-Stage 5信号混合搜索(向量+图+关键词+社区→RRF融合→Cross-Encoder重排序)让编程代理真正理解你的整个项目,而不仅仅是搜索关键词。安装后Claude Code即可看到全貌——无需额外的token,无需额外的命令,一切100%本地运行。
pip install hedwig-cg
cd your-project/
hedwig-cg claude install然后告诉Claude Code:
"为这个项目构建代码图"
就这样。Claude Code会构建图,之后每次搜索都会自动参考。会话结束时图会自动重建。
hedwig-cg通过一个命令与主要AI编程代理集成:
| 代理 | 安装 | 说明 |
|---|---|---|
| Claude Code | hedwig-cg claude install |
Skill + CLAUDE.md + PreToolUse钩子 |
| Codex CLI | hedwig-cg codex install |
AGENTS.md + PreToolUse钩子 |
| Gemini CLI | hedwig-cg gemini install |
GEMINI.md + BeforeTool钩子 |
| Cursor IDE | hedwig-cg cursor install |
.cursor/rules/规则文件 |
| Windsurf IDE | hedwig-cg windsurf install |
.windsurf/rules/规则文件 |
| Cline | hedwig-cg cline install |
.clinerules文件 |
| Aider CLI | hedwig-cg aider install |
CONVENTIONS.md + .aider.conf.yml |
| MCP服务器 | claude mcp add hedwig-cg -- hedwig-cg mcp |
Model Context Protocol 5个工具 |
每个install会写入上下文文件,并(在支持的平台上)注册工具调用前的钩子。卸载:hedwig-cg <platform> uninstall。
hedwig-cg使用tree-sitter和原生解析器提取函数、类、方法、调用、import、继承。
| Python | JavaScript | TypeScript | Go |
| Rust | Java | C | C++ |
| C# | Ruby | Swift | Scala |
| Lua | PHP | Elixir | Kotlin |
| Objective-C | Terraform/HCL |
配置和文档格式也支持结构提取:YAML、JSON、TOML、Markdown、PDF、HTML、CSV、Shell、R等。
文本节点(文档、注释、markdown)使用intfloat/multilingual-e5-small嵌入,支持100多种自然语言——中文、韩语、日语、德语、法语等。用你的语言搜索,找到任何语言的结果。
与AI编码代理(Claude Code、Codex等)集成时,hedwig-cg会在代码变更时自动重建图。Stop/SessionEnd钩子通过git diff检测变更文件,并在后台执行增量构建——无需手动操作。
支持三个来源的忽略模式,全部使用完整的gitignore规范(否定!、**通配符、目录专用模式):
| 来源 | 说明 |
|---|---|
| 内置 | .git、node_modules、__pycache__、dist、build等 |
.gitignore |
从项目根目录自动读取——现有的git忽略规则直接生效 |
.hedwig-cg-ignore |
代码图专用的项目级覆盖 |
逐文件SHA-256内容哈希。仅重新提取和重新嵌入变更的文件。未变更文件从现有图中合并——通常比完整构建快95%以上。
4GB内存预算和分阶段释放。管道在每个阶段执行生成→存储→释放:提取结果在图构建后释放,嵌入以批次流式传输并在DB写入后释放,完整图在持久化后释放。GC在75%阈值时主动触发。
无云服务、无API密钥、无遥测。SQLite + FAISS存储,sentence-transformers嵌入。所有数据保留在本地。
所有查询经过两阶段管线:
阶段1 — 5信号检索(RRF融合)
| 信号 | 搜索内容 |
|---|---|
| 代码向量 | 语义相似的代码 |
| 文本向量 | 100+语言的文档和注释 |
| 图扩展 | 结构连接的节点(调用者、导入) |
| 全文搜索 | 精确关键词匹配(BM25) |
| 社区上下文 | 同一集群的相关节点 |
阶段2 — Cross-Encoder重排序
Cross-Encoder模型对候选结果重新评分,将实现代码排在测试和文档节点之上。结果包含节点间的关系边。
所有命令默认输出紧凑JSON(为AI代理消费而设计)。
| 命令 | 说明 |
|---|---|
build <dir> |
构建代码图(--incremental) |
search <query> |
Two-Stage 5信号混合搜索(--top-k、--fast、--expand) |
search-vector <query> |
仅向量相似度搜索(代码+文本双模型) |
search-graph <query> |
仅图扩展搜索(从向量种子BFS) |
search-keyword <query> |
仅FTS5关键词匹配(BM25排序) |
search-community <query> |
仅社区集群匹配 |
query |
交互式搜索REPL |
communities |
列出和搜索社区(--search、--level) |
stats |
图统计 |
node <id> |
模糊匹配节点详情 |
export |
导出为JSON、GraphML或D3.js |
visualize |
交互式HTML可视化 |
clean |
删除.hedwig-cg/数据库 |
doctor |
检查安装状态 |
mcp |
启动MCP服务器(stdio) |
claude install|uninstall |
管理Claude Code集成 |
codex install|uninstall |
管理Codex CLI集成 |
gemini install|uninstall |
管理Gemini CLI集成 |
cursor install|uninstall |
管理Cursor IDE集成 |
windsurf install|uninstall |
管理Windsurf IDE集成 |
cline install|uninstall |
管理Cline集成 |
aider install|uninstall |
管理Aider CLI集成 |
在hedwig-cg自身代码库上的基准测试(约3,500行,90个文件,1,300个节点):
| 操作 | 时间 |
|---|---|
| 完整构建 | ~14秒 |
| 增量构建(有变更) | ~4秒 |
| 增量构建(无变更) | ~0.4秒 |
| 冷搜索(双模型) | ~2.8秒 |
冷搜索(--fast) |
~0.2秒 |
| 热搜索 | ~0.08秒 |
| 缓存命中 | <1ms |
- 嵌入模型: ~470MB,仅下载一次到
~/.hedwig-cg/models/ - 数据库: ~2MB(SQLite + FTS5 + FAISS索引)
- 增量构建: SHA-256哈希,比完整构建快95%+
- Python 3.10+
- 嵌入模型 ~470MB(首次使用时缓存)
# 可选:PDF提取
pip install hedwig-cg[docs]pip install -e ".[dev]"
pytest
ruff check hedwig_cg/MIT License。参见LICENSE。
欢迎贡献!参见CONTRIBUTING.md。
