Ummon
使用知识图谱解锁代码洞察:将代码与概念连接起来,轻松查询,增强AI辅助。
⚠️ 警告:此项目处于早期开发阶段,尚未稳定。API 和功能在不同版本之间可能会有重大变化。
Ummon 是一个代码分析工具,它从代码库构建知识图谱,增强代码理解、改进 AI 辅助,并支持复杂查询。通过创建代码实体与领域概念之间的连接,使得对复杂软件系统的推理变得更简单。
安装
cargo install ummon
核心功能
- 知识图谱构建:索引代码,映射实体关系,支持多种语言
- 高级查询系统:使用结构化查询或自然语言探索代码库
- 领域模型提取:识别业务实体与概念,连接实现细节
基本使用
1. 索引代码库
# 基本索引
ummon index /path/to/codebase
# 启用领域模型提取
ummon index /path/to/codebase --enable-domain-extraction
2. 查询代码库
# 自然语言查询
ummon query "show all authentication functions"
# 结构化查询
ummon query "select functions where name like 'auth%'" --no-llm
# 遍历查询(查找关系)
ummon query "functions calling functions where name like 'validate%'" --no-llm
3. 格式化输出
# JSON 格式输出
ummon query "select functions" --format json
# 树形结构输出
ummon query "select functions" --format tree
4. AI 辅助
ummon assist "implement a user registration function"
配置
Ummon 使用环境变量处理敏感信息:
OPENROUTER_API_KEY
: LLM 服务的 API 密钥(用于查询和领域提取)
语言支持
- Rust: 类/结构体、特征、实现、函数、模块
- Python: 类、函数、装饰器、导入
- JavaScript: 类、函数、箭头函数、导入
- Java: 类、接口、方法、构造函数、字段
更多资源
查看查询系统文档了解更多详细查询选项。