Relay Knowledge CLI

🕸️ 知识图谱驱动的智能代码分析引擎

基于知识图谱的智能代码仓库分析 CLI,支持符号检索、调用关系、依赖图谱、特性开关与影响分析,优先替代传统文本搜索

收藏
5.4k
安装
1.2k
版本
1.1.5
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

Relay Knowledge CLI 是一款面向代码仓库的知识图谱与 GraphRAG 分析工具,通过本地 CLI 提供深度语义化代码查询能力。其核心功能围绕 repo queryrepo software 两大命令体系展开:

代码检索能力(repo query)

支持八种查询模式:hybrid(混合语义)、symbol(符号名)、definition(定义定位)、references(引用追踪)、callers(调用方)、callees(被调用方)、imports(导入依赖)、sbom(软件物料清单)。特别适用于复杂调用链分析、跨模块依赖追踪及 API 使用模式识别。

软件图谱分析(repo software)

提供九种图谱切片:dependencies(依赖关系)、sdks(SDK/API 使用)、files(文件角色)、topics(主题发现)、relationships(跨域关系)、build(构建目标)、iac(基础设施即代码)、design(设计文档)、all(全景视图)。专为架构梳理、技术债务评估及代码地图生成设计。

特色功能

  • 特性开关检测:独立的 repo feature-flags 命令,识别配置驱动代码与灰度发布逻辑
  • 影响分析repo impact 支持基线对比,量化变更波及范围
  • 混合检索:语义搜索 + 符号图遍历,避免传统 grep 的精确匹配局限

显著优势

1. 图谱优先架构:将代码库建模为可查询的知识图谱,支持多跳关系推理,远超文本搜索的线性局限
2. GraphRAG 原生设计:检索增强生成基于结构化代码关系,减少 LLM 幻觉

3. 多语言支持:通过统一的符号层抽象,兼容 Rust、Python、Go、TypeScript 等主流语言

4. 本地运行:支持完全离线索引与查询,数据不出境,满足合规要求

5. CLI 自动化友好:JSON 输出格式规范,便于 CI/CD 集成与脚本化分析

局限与风险

技术局限

  • 索引开销:首次全量索引耗时较长,大型仓库需权衡 freshness 策略
  • glibc 兼容性:Linux 二进制要求 glibc 2.31+,旧系统需源码编译
  • 调用链深度:当前仅暴露单跳调用边(one-hop),复杂调用链需手动迭代展开

使用约束

  • 非实时性:依赖预构建索引,无法查询未索引的最新代码
  • 配置敏感度:特性开关检测依赖提取规则,新增规则后需重新索引
  • Windows/POSIX 隔离:禁止跨 shell 边界执行二进制(如 WSL 调用 Windows exe)

适合人群

  • 架构师与 Tech Lead:进行系统依赖分析、技术债务评估与重构规划
  • 代码审查者:快速理解跨模块调用关系与变更影响范围
  • DevOps/SRE:追踪基础设施代码与设计文档的关联图谱
  • AI 辅助开发用户:为 LLM 提供结构化代码上下文,替代简单的文件切分策略

安全风险

| 维度 | 评估 |
|------|------|
| **数据安全** | S+:纯本地运行,无云服务依赖;支持临时目录隔离测试环境 |
| **供应链** | A:官方 GitHub Release + crates.io 双渠道;建议验证校验和 |
| **执行安全** | B:自动解析并执行二进制,需确保路径可信;文档明确禁止 MCP 协议滥用 |
| **信息泄露** | S:索引文件可能含敏感代码结构,需控制 `RELAY_KNOWLEDGE_HOME` 权限 |

关键风险提示

  • 代理配置需显式声明,避免敏感流量经未授权代理
  • 禁止用于 MCP 协议配置,防止与 Agent 协议层混淆
  • 测试场景强制要求 RELAY_KNOWLEDGE_HOME 临时目录,避免污染生产索引

Relay Knowledge CLI 内容

agents文件夹
references文件夹
手动下载zip · 15.1 kB
openai.yamltext/plain
请选择文件