richinfo-cr

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

彩讯自研的第二代代码审查智能体。当用户完成代码编写或修改、准备提交(commit/push)、发起 PR/MR 之前,或明确要求「审核/审查/review/检查代码」时使用。调用本机 richinfo-cr CLI 提交变更、等待审核结果、展示发现项,并分析哪些问题需要修复、是否应当修复。

一句话选型结论

按资料字段整理

richinfo-cr是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_f018361d/richinfo-cr
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_f018361d仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791624061
正文体量27.4 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
richinfo-cr当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

27.4 KB
模型实际读到的说明书原文,来自技能仓库

richinfo-cr 代码审核

通过本机 richinfo-cr CLI 完成代码审核。认证、变更收集、CodeGraph 上下文、提交、等待与结果渲染全部由 CLI 负责;禁止直接调用服务端 API,禁止自行用 git diff / CodeGraph 复刻这些步骤。命令输出按结构化 JSON 处理,不得在输出中暴露任何凭据值。

触发时机

在以下任一场景下主动介入:

  • 用户完成一段代码编写或修改后,希望确认质量;
  • 用户在 commit、push 或发起 PR(MR) 之前;
  • 用户明确要求「审核」「审查」「review」「检查代码」;
  • 用户执行主动命令 /review。

工作流

第 0 步:版本对齐(不最新则强制升级)

审核的起手动作就是版本对齐:先取本机版本、再取线上最新版本;只要不是最新,就强制升级到最新,升级后复审确认,再进第 1 步。

richinfo-cr version --format json      # 本机版本(cliVersion)
npm view @richinfo-cr/cli version      # 线上最新版本

判定与动作:

情形 动作
两者一致 直接进入第 1 步
本机低于线上 强制升级(不征求用户同意):npm install -g @richinfo-cr/cli@latest,再复审 version 确认已到最新
命令不存在(command not found) 先分清是「没装」还是「PATH 没带上」(见硬要求 5);确认真没装,才直接安装 npm install -g @richinfo-cr/cli@latest
本机高于线上(本地构建 / 预发布版) 视为已满足,不要降级

强制升级的五条硬要求:

  1. 比对与安装必须走同一个 registry。 本机 npm 可能指向镜像源,两处用不同源会得出「永远不是最新」的假结论并反复升级。先 npm config get registry 确认;需要显式指定时,两条命令统一加 --registry https://registry.npmjs.org。
  2. 升级后必须复审一次 richinfo-cr version --format json。仍不一致、或安装失败 → 如实报告错误并停止本次审核,不要用旧版本静默继续。
  3. npm install -g 改的是整机 CLI,会同时影响这台机器上所有宿主(WorkBuddy / Claude Code / Codex / Cursor)以及正在跑的审核会话——这是"强制"的固有代价,不要再回头征求同意。
  4. 幂等:版本已一致就不要重复安装;同一会话内已对齐过,后续审核不必每轮再装一次。
  5. command not found ≠ 未安装 —— 先排除 PATH 问题。 npm 全局 bin($(npm prefix -g)/bin,本机实测为 ~/.npm-global/bin)常常不在 Agent 沙箱 / 非登录 shell 的 PATH 里,而已装好的软链其实就躺在那里。查明前不要重装(重装修不好解析,只会白装一遍并在每轮审核里重复):
ls -l "$(npm prefix -g)/bin/richinfo-cr"
  • 存在 ⇒ 是 PATH 问题,不要安装。改用绝对路径调用,并提示用户把 $(npm prefix -g)/bin 加进 PATH:
"$(npm prefix -g)/bin/richinfo-cr" version --format json
  • 确实不存在 ⇒ 才走上面的安装动作。

> 版本对齐只针对 richinfo-cr CLI 本身。其他外部工具仍不要在审核流程内引导安装:skillhub 与审核无关、不要引入;CodeGraph 由 CLI 按需托管(init 自动拉取并 pin 版本,判定见「索引状态真伪判定」一节)。

第 1 步:前置检查(懒初始化)

首次使用或不确定环境是否就绪时,先运行健康检查:

richinfo-cr doctor --format json

doctor 返回 checks[],每项为 {name, ok, message},覆盖 login、git、codegraph、config、network 五项。按结果逐项处理:

  • login 失败 → 运行 richinfo-cr login --format json 启动设备授权,引导用户完成登录(会打开浏览器);
  • git 或 config 失败 → 运行 richinfo-cr init --format json(自动注册当前仓库、准备 CodeGraph 索引);
  • codegraph 失败 → 运行 richinfo-cr init --format json。该项现为「二进制版本 + 本地索引状态」两段式:健康时给出已索引文件/符号数,并提示待同步文件或 daemon 状态;失败可能是二进制缺失、索引未构建、reindexRecommended(需一次性全量重建:引擎升级,或索引从未建成过)或 WAL 异常增长(>1 GiB,索引可能损坏),以上都由 init 读 status 自动分流修复(分流规则见「索引状态真伪判定」一节)。

触发全量重建前必须先核算索引规模,不要拿仓库体积当代理指标。 索引只吃「可建图的源码文本」——.git 对象、二进制、图片、构建产物、以及被 exclude 挡掉的目录全都不进索引,两者可以差一个数量级(pc_client 实测:仓库 9.6 GB,其中 .git 4.7 GB,排除 ext/ 后实际索引仅 204 MB)。核算三步(估算法与实测标定详见 references/codegraph-probe.md):

  1. 读仓库根 codegraph.json 的 exclude(init 会把内置规则合并进来),确认第三方源码目录(ext/、vendor/、third_party/ 这类)在排除面内。内置规则不覆盖 ext/,这类目录必须由仓库自己声明——init 时可一次写入:richinfo-cr init --exclude '**/ext/**' --format json;
  2. 按目录汇总可建图字节:git ls-tree -r -l HEAD | awk '{p=$5; s=$4; if (p ~ /\.(hpp|h|cpp|c|ipp|cc|cxx|m|mm|js|ts|tsx|xml|yaml|yml)$/) {split(p,a,"/"); d=(a[2]==""?"(root)":a[1]); b[d]+=s}} END {for (k in b) printf "%10.1f MiB %s\n", b[k]/1048576, k}' | sort -rn;
  3. 按 db ≈ 可建图源码字节 × 3(峰值瞬时再 × 2.5)估算,再与 df -h 的可用空间比对。

排除到位时,大仓重建通常是百余 MB、分钟级(pc_client 实测 2,256 文件 / 204 MB / 54 秒);只有把 vendored 依赖也建图才会到 GB 级、小时级。先算出数字再决定要不要用户拍板,不要把笼统的"数小时 / 数 GB"抛给用户;核算发现确实超预算时,优先扩大 exclude 面,而不是直接放弃索引。
- network 失败 → 先用 curl 探一次服务地址确认服务是否真的不可达:若服务有响应(如 /api/v1/version 返回 JSON),说明是认证探测失败而非网络问题,继续尝试审核;确实不可达才报告用户,不要反复重试;
- 全部 ok=true → 直接进入第 2 步。

doctor 是纯只读检测,幂等;完成后无需再次运行即可直接审核。索引状态检查只在 git 仓库内、且配置检查通过后执行,非仓库目录下不会因此变红。

第 2 步:执行审核

richinfo-cr review --format json

该命令默认等待终态结果。缩小审核范围可用 --base <branch>、--commit <sha>,或传仓库相对路径。

变更范围包含未跟踪的新文件(本机实测:工作区 1 个已跟踪改动 + 1 个 ?? 新文件 → summary.filesChanged=2,两条 finding 全部落在那个未跟踪文件上)。所以提交前先看一眼 git status,别把临时脚本、本地调试产物、构建中间件一并送审;只想审已提交内容就用 --commit <sha>。另外 --format json 下全程无进度输出(含前台),静默到出结果为止——小改动约 1~2 分钟,属正常,不要据此判定卡死。

退出码含义:

退出码 含义 处理
0 审核完成,未达阻断阈值 展示结果
1 审核完成,发现项达阻断阈值 展示结果并分析修复
2 本地配置 / Git / CodeGraph 错误 回到第 1 步处理
3 登录 / 授权错误 回到第 1 步 login
4 网络或服务端暂时不可用 告知用户稍后重试
5 审核失败或结果不完整 报告失败原因

大仓 / 慢网关下不要在前台死等。 本机实测:review 在前台可能长时间无任何输出,而工具侧的等待上限会把它 SIGTERM 掉(退出码 137)——但审核已在服务端继续跑,不会因此丢失。判断与跟进方式:

  1. 改用 --no-wait 提交,拿到 reviewId 后轮询:
richinfo-cr review --commit <sha> --no-wait --format json   # → {"reviewId":"CLI-12-…","status":"QUEUED"}
richinfo-cr status <reviewId> --format json                  # 轮询到 COMPLETED / FAILED / PARTIAL_FAILED
richinfo-cr result <reviewId> --format json
  1. 若已在前台被中断,不要重新提交,先 richinfo-cr list --format json 看是否已生成 reviewId,有就直接 status / result 跟进。
  2. status 在 REVIEWING 55% 停留较久是正常的(该阶段是多个专家 Agent 并行审查),不要据此判定卡死。

第 3 步:展示审核结果

读取返回的 ReviewResult,结构化展示:

  • summary:变更/审核文件数、发现项总数、阻断数、最高严重度、覆盖率、耗时;
  • findings[]:逐项列出 severity、path:line、title、message、suggestion;
  • incomplete 或 contextPartial 为 true 时,如实提示结果可能不完整。

第 4 步:本地 Agent 分析缺陷是否成立

这一步的分析主体是本机 Agent,不是服务端。 服务端只返回 findings 的原始数据;某条缺陷是否真的成立、是否值得改,必须由你在本地结合真实代码、diff 范围、调用链与项目约定自行判断。不要盲信服务端给出的 severity,也不要无脑全修。

判断依据(字段含义详见 references/finding-schema.md):

  • severity:BLOCKER/CRITICAL 默认必须处理;MAJOR 需结合上下文;MINOR/INFO 一般不处理;
  • validation.introduced:true 为本次变更新引入(应处理);false/缺省为历史遗留,通常不在本次范围;
  • validation.grounded:true 表示证据充分;false 可能是误报,须亲自读代码复核;
  • suggestion:官方修复建议,仅作参考,不代替你的判断;
  • 本地复核(必需):打开 path:startLine 附近的真实代码,确认问题是否真实存在、是否由本次 diff 引入、项目约定是否另有要求。

据此输出三类清单:

  1. 必须处理:BLOCKER/CRITICAL;或 MAJOR 且 introduced=true 且本地复核成立;
  2. 建议处理:MAJOR;或高严重度但本地复核存疑;
  3. 可忽略:MINOR/INFO;或 introduced=false 的历史遗留。

对每个「必须处理」和「建议处理」项,先写出你的结论(成立 / 不成立 + 一句话理由,引用具体代码事实)。这个理由在第 6 步 B 分支会上报给平台,必须是基于代码的判断,不能只是复述平台描述。

第 5 步:弹窗收集用户决策

对第 4 步产出的「必须处理」「建议处理」清单,逐项弹窗让用户决策,不要只在正文里问一句。

使用 AskUserQuestion 工具,每个 finding 一个问题,选项固定三项:

选项 含义 后续动作
修复 用户认可,交由你修改 第 6 步 A 分支
上报为误报 用户认为审查结果不成立 第 6 步 B 分支
暂不处理 认可问题但本次不改 第 6 步 C 分支

分批规则(AskUserQuestion 单次最多 4 个问题):

  • 待决策项 ≤ 3 个 → 一次性逐项询问;
  • 待决策项 > 3 个 → 先弹一个总览问题「共 N 项待处理,如何决策?」,选项为 全部修复 / 逐项决策 / 全部暂不处理;用户选 逐项决策 后再按每批不超过 3 项分批询问。

问题文本用 path:startLine + title,每个选项的 description 写你第 4 步得出的判断理由,便于用户快速决策。

第 6 步:按决策执行

A 分支:修复

  • 按 path:startLine 定位,采纳 suggestion 并结合项目约定修改;同一文件多个 finding 合并处理,避免重复编辑;
  • 修完在正文列出改动点(文件 + 行 + 改了什么);
  • 询问用户是否重跑 richinfo-cr review --format json 复检;
  • 复检通过后,若 CLI 支持,执行下面命令把采纳状态回写平台,供统计采纳率(GitLab 来源会同步回评):
richinfo-cr finding adopt --review <reviewId> --finding <findingKey> --format json

B 分支:上报为误报(整合到平台 bad-case)

先做能力探测,确认 CLI 是否支持反馈命令:

richinfo-cr finding --help 2>/dev/null || echo "NO_FEEDBACK_CMD"

支持时,对每个上报项执行:

richinfo-cr finding false-positive --review <reviewId> --finding <findingKey> --format json \
  --category "<类别>" --reason "<本地 Agent 给出的不成立理由>"
  • --category 由你依据本地复核结论判定(服务端会把中文归一化为枚举值)。最常用三类:幻觉(平台描述与代码事实不符)、规范不合理(规则不适用于当前上下文)、可忽略(问题成立但影响极小);另有 低价值、已有保护措施、不符合项目规范、其他 可用;
  • --reason 填你第 4 步写出的判断理由(必填),说明为什么不成立。平台会把该理由连同代码片段一起存入 bad-case 库;
  • 依赖 findingKey:上报按 findingKey 定位 finding(形如 26898161811f),该字段由 richinfo-cr result 返回(CLI 默认按 schemaVersion=2 取结果,已包含)。若 findings 中不含 findingKey,说明服务端或 CLI 版本过旧,走下面的降级路径,不要臆造 ID;
  • 提交即生效,无需审批(平台已于 2026-09-17 去审批)。上报成功后平台立即置 qa_status_code=ACTIVE,但向量化是异步的:先 PENDING_VECTOR,完成后转 READY。只有 READY 的条目才会被后续审核召回,所以刚上报时不要声称"已用于抑制同类误报"——须如实告知用户向量化仍在进行(通常数秒到数十秒)。
  • 状态是两个正交字段,不要混为一谈:qa_status_code(ACTIVE/DISABLED,业务可用性,提交即 ACTIVE、管理员可下线)与 vector_state(PENDING_VECTOR/READY/FAILED,向量化进度)。长时间停在 PENDING_VECTOR 或转为 FAILED 时,平台有定时扫描自动重试,无需重新上报。

不支持时(已输出 NO_FEEDBACK_CMD,或无 findingKey),不要报错中断流程,降级处理:把每个上报项整理成一段可直接粘贴的内容(reviewId + findingKey + path:startLine + category + 你写的 reason),提示用户到平台 Web 端 bad-case 页面上报,并说明 CLI 需升级到支持反馈命令的版本。

C 分支:暂不处理

  • 在正文说明该项已由用户决定暂不处理,本次不再改动;
  • 若 CLI 支持,可执行下面命令记录决策;不支持则跳过,不必强行上报:
richinfo-cr finding ignore --review <reviewId> --finding <findingKey> --format json

必须区分的语义:暂不处理 与 上报为误报 完全不同——前者代表认可问题但本次不改,后者代表认为审查结果根本不成立。绝不要把「暂不处理」也作为误报上报,否则会污染平台 bad-case 库,导致后续同类真实问题被错误抑制。

索引状态真伪判定

> 本节以 CLI v0.2.0 的实际行为为准(managedCodeGraph.Init + codegraph.IndexStatus.Complete(),引入于 f634500,自 0.2.0 起随包发布)。v0.1.9 及更早不读 status 分支,会把被中断的索引当「已初始化」跳过修复——在旧版 CLI 上排查时不要套用本节结论。

initialized: true 不等于索引可用——一个被强杀打断的索引同样满足 initialized。判断索引真伪的唯一权威口径是引擎自报的 codegraph status --json(不要只看 doctor:inspectLocalIndex 只检查「是否初始化 / 是否需重建 / WAL 是否 >1 GiB」三项,检不出下面这类半成品)。

# 在目标仓库内执行;CG 为 CLI 托管的那份二进制
CG=$(ls -d ~/Library/Caches/richinfo-cr/codegraph/versions/*/codegraph-*/bin/codegraph | tail -1)
cd <repo> && "$CG" status --json
字段 健康 半成品 / 异常
index.state complete indexing(已中断;init 会据此分流,见下表)
index.pendingRefs 0 数万以上(解析未完)
index.builtWithVersion 非 null(如 1.6.0) null ⇒ 从未完成过一次构建
index.reindexRecommended false true
walSizeBytes 回填后为 0,且无 .codegraph/codegraph.db-wal 残留 数十 MB 以上残留 ⇒ 进程被强行打断
.codegraph/codegraph.lock 无,或记载的 PID 仍存活 文件在、PID 已不存在 ⇒ 残留锁
fileCount 与排除后应有文件数相当 明显偏小 ⇒ 跑到一半停了

判为半成品(典型组合:state=indexing + pendingRefs 数万 + 残留锁)时,直接跑 richinfo-cr init --format json 即可,不要手动删 .codegraph。v0.2.0 起 init 会先读一次 status 再决定动作(managedCodeGraph.Init):

status 判定 init 的实际动作 触发情形
NeedsReindex() 全量重建(codegraph index) 引擎升级(reindexRecommended),或索引从未建成(builtWithVersion=null)
Complete() 增量同步(codegraph sync) 索引健康,只补工作区差异
都存在但未完成 清残留锁后 init 续跑 从检查点继续,不从头开始

⚠️ 两个容易看错的地方:① builtWithVersion=null 时 reindexRecommended 必为 true,会走全量重建这条最贵的路径——doctor 的「引擎已升级 / 需全量重建」说的就是它,但成因是"没建完"而非"要升级",执行前先按第 1 步核算规模(pc_client 排除 ext/ 后全量重建约 54 秒);② rm -rf .codegraph 只在你确认要重来一遍时才做——它会把可续跑的检查点也丢掉,属于最贵的选择,不是首选。

常见故障处理(本机实测)

现象 根因 处理
doctor 仅 network 失败,但 curl 服务地址有响应 认证相关探测失败,非服务不可达 不要判定服务宕机;直接尝试 review。若仍失败按下表处理
richinfo-cr: command not found,但 ls -l "$(npm prefix -g)/bin/richinfo-cr" 能列出软链 npm 全局 bin(本机实测 ~/.npm-global/bin)不在 Agent 沙箱 / 非登录 shell 的 PATH 里,并非未安装 不要 npm install -g 重装(重装修不好解析,只会白装一遍并在每轮审核重复);改用绝对路径 "$(npm prefix -g)/bin/richinfo-cr" …,或把该目录加进 PATH。先按第 0 步硬要求 5 分流
CLI_REFRESH_TOKEN_REVOKED(刷新令牌已撤销) 本地令牌失效;单独执行 login 后立即 review 仍会报撤销 把三步串成单条命令一次执行:richinfo-cr logout --format json && richinfo-cr login --format json && richinfo-cr review ... --format json。分开执行会持续失败
CLI_AUTH_ERROR: read server capabilities + stderr 出现 Library/Keychains/login.keychain-db 被沙箱拒绝 CLI 凭据存 macOS 钥匙串,沙箱禁止写入 命令必须以沙箱外方式执行(前台 + 禁用沙箱)。注意:后台任务即使声明禁用沙箱仍会被拦截,需前台启动再让其自动转后台
review has no changes(退出码 2) 工作区干净、无未提交变更 改用 --commit <sha> 指定最近一次提交,或 --base <branch> 对比分支;先用 git log --oneline -3 确认审核对象
PLAN_MODE_TIMEOUT(REVIEW 阶段 300s 无进展)导致 status=FAILED 审核阶段偶发超时,failures[].retryable=true 直接重跑同一条 review 命令;重跑通常可 COMPLETED
richinfo-cr finding 提示 unknown command / 返回 NO_FEEDBACK_CMD CLI 未对齐到最新(第 0 步未生效),或该版本确实不含反馈命令 先按第 0 步确认已是最新;仍不支持才走第 6 步 B 分支的降级路径:整理可粘贴内容,引导用户到 Web 端 bad-case 页面上报;不要把失败暴露为流程错误
上报返回 404 / FINDING_NOT_FOUND 服务端未部署反馈端点,或 findingKey 与本次 review 不匹配 确认 findingKey 取自本次 review 的结果;仍失败则降级为 Web 端上报
doctor 的 codegraph FAIL,message 含「引擎已升级 / 需全量重建」 reindexRecommended=true;只有全量 index 能清,sync 清不掉。两种成因:引擎升级后抽取版本不匹配,或索引从未建成过(builtWithVersion=null) 运行 richinfo-cr init --format json 做一次性全量重建。触发前先按第 1 步的核算三步算出体积/耗时再告知用户,不要只报笼统的"数 GB / 数小时"。⚠️ 该 message 有两种成因:index.builtWithVersion 非空 ⇒ 确实是引擎升级;为 null ⇒ 索引从未建成过(被中断的半成品),此时 message 里的版本号会是空的,按下面「半成品」那行处理。review 本身不会触发全量重建,只会退化为增量 sync 并给出提示
CLI_REPOSITORY_NOT_FOUND(退出码 2) 服务端尚未登记当前仓库 不要回到第 1 步 doctor(会陷入死循环);直接 richinfo-cr init --format json 重新登记仓库,再重跑 review
CodeGraph 报 database is locked,或 init 在索引阶段反复失败 上次索引被强杀留下锁文件,或残留 daemon(.codegraph/daemon.pid)仍持有库 先判索引是「有效」还是「半成品」(判据见上一节「索引状态真伪判定」),再决定删不删:<br>① 有效索引(index.state=complete)→ 重跑 richinfo-cr init(会自动 codegraph unlock),仍失败则结束残留 daemon 后重试。不要删 .codegraph,那会丢掉已建索引、被迫全量重建;<br>② 半成品(state=indexing、pendingRefs 数万以上,或 codegraph.lock 里的 PID 已不存在)→ 直接重跑 richinfo-cr init:v0.2.0 起 init 会先读 status 自动分支(NeedsReindex→全量重建 / Complete→增量 sync / 未完成→清残留锁后续跑),能自愈,不需要也不建议手动删 .codegraph(那会丢掉可续跑的检查点,是最贵的选择)。注意 builtWithVersion=null 会命中全量重建,执行前先按第 1 步核算规模
status=PARTIAL_FAILED 且 findings 为空 某个专家 Agent(如 correctness-reviewer)被看门狗取消:review_agent_execution.terminal_reason=AUTO_RETRY_DISABLED,因 reviewer-max-auto-retries=0 不做自动重试 直接重跑同一条 review。本机实测:首跑 PARTIAL_FAILED / 0 findings,重跑后三专家全部 COMPLETED 并产出 findings。慢网关下单个专家模型调用可能从常态 ~25s 涨到 ~260s,从而撞上超时
status 长期停在 REVIEWING 55% 该阶段是多专家 Agent 并行审查,review_record 只在任务终结时一次性落盘 属正常,继续轮询即可,不要据此判定卡死。若明显超过 master-plan-timeout(10m) + reviewer-hard-timeout(15m) 仍不动,再查服务端 review_task 表的 status_code / last_error
finding false-positive 返回 CLI_INTERNAL_ERROR / 服务暂时不可用(retryable=true,退出码 4) 已于 2026-09-17 定位并修复(NotificationService.badCaseContext)。根因:CLI 来源的 review_record.project_id 为 NULL(本机 173 条记录里 132 条为空),代码直接调 projectRepository.findById(null),抛 InvalidDataAccessApiUsageException: The given id must not be null。该异常发生在 falsePositiveRepository.save 之后,于是整个 @Transactional 回滚:false_positive 无记录、finding 仍为 OPEN、接口 500 若仍复现,先确认服务端已重启到含修复的版本(本地 IDEA 调试会话不会热加载)。诊断该类「调用方 500 但 save 看似成功」的通用手法:比对 false_positive 的 AUTO_INCREMENT 与 MAX(id),若前者更大即「插入成功后被同事务后续语句回滚」,抛出点必在 save 之后。降级路径:整理 reviewId + findingKey + category + reason 引导用户到 Web 端 bad-case 页面上报
doctor --format json 失败时只回 {code,message,retryable},没有 checks[] 已知输出契约缺口:失败分支返回错误信封而非 DoctorReport;human 格式也只打一行汇总 无法逐项判断,只能从 message 文本反推(如 doctor checks failed: codegraph: … 表示仅 codegraph 失败)。这是产品侧待修项,不要误判为命令用错
已显式传 --server 却仍打到别的服务地址;改了 .richinfo-cr/config.json 却不生效 --server 的默认值优先于仓库配置:runtime.serviceURL 恒非空时覆盖 cfg.ServiceURL,而本地构建会用 ldflags 把 DefaultServiceURL 注成默认值 目标地址只能靠 --server 显式指定,不要依赖仓库配置。自查:richinfo-cr review --help 看 --server 默认值

审核耗时参考(本机实测):3 文件小改约 2 分钟;34 文件变更约 12~15 分钟;pc_client 这类 C/C++ 大仓 5 文件单次约 11~16 分钟(三专家并行)。命令超时建议给足(≥600s);前台等待被工具 SIGTERM 掉(退出码 137)不会丢失审核,按第 2 步的 --no-wait 方式跟进即可。

命令速查

意图 命令
查看版本 richinfo-cr version --format json
升级 CLI npm install -g @richinfo-cr/cli@latest(第 0 步:非最新即强制升级)
健康检查 richinfo-cr doctor --format json
登录 richinfo-cr login --format json
初始化仓库 richinfo-cr init --format json
执行审核 richinfo-cr review --format json
查询进度 richinfo-cr status &lt;review-id&gt; --format json
取结果 richinfo-cr result &lt;review-id&gt; --format json
列出历史 richinfo-cr list --format json
上报误报 richinfo-cr finding false-positive --review &lt;id&gt; --finding &lt;key&gt; --category &lt;类别&gt; --reason &lt;理由&gt;
标记暂不处理 richinfo-cr finding ignore --review &lt;id&gt; --finding &lt;key&gt;
标记已采纳 richinfo-cr finding adopt --review &lt;id&gt; --finding &lt;key&gt;

参考资料

  • references/finding-schema.md:finding 字段语义、严重度映射与 3 种处理动作。
  • references/codegraph-probe.md:核验 CodeGraph 版本能力(命令面、status --json 真实字段、迁移门闸、daemon 行为)的可复现步骤,以及索引体积/耗时的估算法与实测标定。以下三种情况先读它,不要凭印象下结论:① 判断「某能力属于哪个版本」或升级 CodeGraph pin;② 估算某仓库的索引代价(体积 / 耗时),或要回答"这个大仓值不值得建索引";③ 索引异常(半成品、WAL 泄漏、需全量重建)时定因。

常见问题

5 问
答案由本站依据条目字段整理
richinfo-cr怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_f018361d/richinfo-cr。安装方式为未标注。装完刷新技能列表或重开客户端。

richinfo-cr支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

richinfo-cr权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

richinfo-cr收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

richinfo-cr用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。