用途:Roam 将代码库预索引为语义图(符号、依赖、调用图、架构层、git 历史),存于本地 SQLite 数据库,通过 roam-code CLI 查询,替代反复 grep 与猜测结构,用于探索代码库、规划修改、调试失败、评估 PR 风险与检查架构。
安装与索引:pip install roam-code(或 pipx install roam-code);进入项目根目录执行 roam init 建立 .roam/index.db。git pull 或较大改动后运行 roam index 增量刷新,大重构后用 roam index --force。
主要能力:roam understand、roam tour、roam map/minimap 用于上手与概览;roam search 按名称查找符号并按 PageRank 排序;roam context 给出需阅读的文件与行范围;roam file/module 查看文件或目录结构;roam preflight 在修改前综合影响范围、受影响测试、复杂度、耦合与健康度;roam impact 计算完整影响范围;roam diff 查看未提交或已提交改动的波及面;roam diagnose 调试根因排序;roam affected-tests 找覆盖测试;roam health 健康评分(--gate 供 CI);roam weather 找热点;roam dead 找死代码;roam pr-risk 评估 PR 风险;roam trace 查依赖路径;roam uses/refs 查调用与引用;roam algo 检测算法反模式;roam effects 查副作用;roam safe-delete 判断能否安全删除;roam simulate 模拟重构。
输出模式:默认人类可读文本;--json 输出结构化 JSON;--budget N 限制 token;--select 投影字段;roam grep 返回有界代码包;--sarif 输出 SARIF 2.1.0 供 CI。
用法要点:修改前先运行 roam preflight <symbol>;用 file:symbol 语法消歧;git pull 后运行 roam index 保持图新鲜;roam agent-export --write 可生成代理指令,roam minimap --update 刷新 CLAUDE.md 快照。
限制:需先安装并索引;对字面字符串(错误信息、翻译键、SQL 片段)仍宜用 grep;roam refs 延迟约 700ms(子进程)或低于 100ms(MCP 服务器),比 ripgrep 慢 2-5 倍但结果可直接使用;roam 有 288 个命令,可用 roam --help 与 roam <command> --help 探索。具体收费、平台与效果资料暂未提供。