用途:通过 CodeScope 对已索引代码库进行图查询与语义问答,支持调用链、依赖、死代码、热点、架构分层、代码历史与缺陷根因等分析。
主要能力:代码被索引为两层知识图——结构层(函数、调用、导入、类、模块)与演化层(提交、文件变更、函数修改),并为每个函数生成语义嵌入。支持 Python、JavaScript/TypeScript、C、Java,可处理大型仓库。支持查询调用者、被调者、依赖;查找死代码、热点、架构分层;分析模块耦合、循环依赖、桥接函数;相似函数检索;生成架构报告;抓取 GitHub issue 并将缺陷映射到代码位置。
使用方式:安装命令为 pip install codegraph-ai。可设置环境变量 CODESCOPE_DB_DIR 指向已构建数据库以跳过索引,离线时设置 HF_HUB_OFFLINE=1。使用 codegraph status --db $CODESCOPE_DB_DIR 查看索引状态;用 codegraph init --repo . --lang auto --commits 500 建立索引,--lang 支持 python、c、javascript、typescript、java、auto。CLI 可用 codegraph analyze --db $CODESCOPE_DB_DIR --output report.md 生成报告。更复杂的查询使用 Python API:from codegraph.core import CodeScope,cs = CodeScope(os.environ['CODESCOPE_DB_DIR']),通过 cs.conn.execute() 执行 Cypher,并提供 impact、hotspots、dead_code、circular_deps、module_coupling、bridge_functions、layer_discovery、stability_analysis、class_hierarchy、similar、cross_locate、semantic_cross_pollination、change_attribution、co_change、intent_search、commit_modularity、hot_cold_map 等方法。缺陷分析可用 analyze_issue、analyze_top_bugs,以及 codegraph fetch-issue、fetch-bugs、analyze-bug、analyze-bugs 等命令,需已索引代码图并安装并认证 gh CLI。
限制:演化相关查询需在初始化时使用 --commits,函数级 MODIFIES 边还需 --backfill-limit 回填,否则仅文件级 TOUCHES 可用。索引需预先构建,部分模型依赖 HuggingFace,离线需设置环境变量。编写 Cypher 时应使用 is_historical = 0、is_external = 0 等过滤并加 LIMIT 避免误导或过多结果。可能遇到数据库锁等错误,需按提示清理锁文件。