@descryy/cli

中文文档
0.20.1发布于 2026/10/30MITTypeScriptES Module近 30 天下载 2117

德克瑞的指挥线表面. 第一个命令是 init,它写一个多repo运行需要的宣告——在.descry/config.json中的工作空间id,以及当repo是单repo时的包/铺设声明. 也从未推断过.

中文使用文档
文档目录9 节
  1. 所需资源
  2. 快速启动
  3. 图标
  4. 解决问题
  5. 分析说没有源代码读取/ 适配器未确认
  6. 自动模式中的 Claude 代码
  7. 已知限制
  8. 隐私
  9. 许可证

@descryy/ cli (英语)

这个 descry 命令行工具。 它为Descry建立了一个寄存器,检查安装是否有效,在没有代理的情况下运行Descry的支票.

Descry将寄存器的源头读入一个图表,并告诉一个编码代理一个应用程序运行时所达到的改变,测试的是什么和中断的是什么,以及它无法检查的清晰清单. 该图由 @descryy/mcp;此软件包是它的设置和命令行侧. 一切都运行在你的机器上.

所需资源

  • 节点.js 22.5或更新.
  • 一个有至少一个承诺的 Git 仓库 .
  • 用于沙盒的 Linux 运行服务器报价(observe, (中文(简体) ), generate_test) (中文(简体) ). Descry自己的测试在Linux上运行;macOS和Windows还没有被验证.

快速启动

  1. 在存储库中:

    npx -y @descryy/cli init
    

    写着 .descry/config.json 带有明确的寄存器身份和识别寄存器的语言适配器,记录此机已确认这些适配器,并打印下一步要做什么. 其输出的最后一行是精确的注册命令,此安装的服务器版本被填入.

  2. 向您的代理注册服务器 。 克劳德代码:

    claude mcp add descry --scope local -- npx -y @descryy/mcp@<version> "$(pwd)"
    

    任何其他MCP客户端都采取与stdio命令相同的做法: npx 与论据 -y, (中文(简体) ), @descryy/mcp@<version> 和寄存器的绝对路径. <version> 是那个 init 打印: 此 CLI 的服务器版本已发布 .

  3. 在经纪人,呼叫 workspace 带有动词的工具 analyze 用来构建图表.

提交 .descry/config.json 财务报告和审定财务报表 .descry/.gitignore数据库和其他所有信息 .descry/ 留在这台机器上,被git忽略.

若为 init 找不到寄存器的适配器, 它说是这样的, 并打印一个的安装命令(npm install @descryy/adapter-<name>; 运行 init 之后再说 如果寄存器的配置已经列出此机尚未确认的适配器, init 列出他们,请您在终点站确认(--yes 未经询问即予以确认)。 没有终点站也没有 --yes 它证实了什么和指纹 descry trust从经纪人, workspace 动词 trust_sources 列出将装入并询问一次的准确内容.

图标

descry init [--workspace <name>] [--repo <name>] [--yes] [--json] [repository-path]
descry trust [--yes] [repository-path]
descry setup [--workspace <name>] [--repo <name>] [--yes] [--hook <agent>] [repository-path]
descry doctor [--json] [--fix] [repository-path]
descry check [--base <ref>] [--require-ready] [--json] [--scenarios] [repository-path]
descry qa gaps [--json] [--limit <number>] [--fail-on P0|P1|P2|none] [repository-path]
descry qa analyze [--json] [--limit <number>] [--fail-on P0|P1|P2|none] [repository-path]
descry qa validate-tests (--test <id>... | --file <path>) [--timeout-ms <number>] [--yes] [--json] [repository-path]
descry browse explore|autopilot|layout|prove-reach --url <address> [--safety <level>] [--yes] [--json] [repository-path]
descry analyze [--no-history] [--max-commits <number>] [--json] [repository-path]
descry approve browser --origin <address>... [--write] [--ttl <8h>] [repository-path]
descry approve tests --command <command> [--ttl <8h>] [repository-path]
descry approve sandbox | store [--ttl <8h>] [repository-path]
descry approve --list | --revoke <id> | --revoke --all
descry approvals list [--json]
descry approvals approve <id> | deny <id>
descry observe tests [--command <command>] [--cwd <folder>] [--no-coverage] [--yes] [--json] [repository-path]
descry scenario record <name> --url <address> [--yes] [--json] [repository-path]
descry feedback [--json] [--hook <agent>] [--refresh] [repository-path]
descry slop [--scope change|repo] [--base <ref>] [--paths <path>...] [--detectors fast|all|S1,S4] [--include introduced|all] [--limit <number>] [--detail minimal|standard] [--format json|text] [--refresh] [--fail-on-findings] [repository-path]
descry slop suppressions [--format json|text] [--limit <number>] [repository-path]
descry slop --hook <agent> [repository-path]
descry hook install|uninstall|restore|test --agent <agent> [repository-path]
descry viz [--port <number>] [repository-path]
descry credential set <name>
  • init 写入寄存器的身份、适配器、 .descry/.gitignore,而对于一个没有软件包声明的单曲,则在向您展示准确的diff后,再发布软件包声明. --workspace 设置一个工作空间id,用于共享存储器;将其留给一个单独的存储器. --json 将一个 JSON 对象与结果和下一步一起打印, 并且永远不要提示, 因此, 软件包声明只有在您也通过时才会被写入 --yes。 。 。 .
  • trust 列出此寄存器的配置名称, 此机器尚未确认, 在终端询问您, 并记录每个寄存器和每个寄存器的确认 . --yes 将问题跳过脚本;没有终端和没有 --yes 它证实了什么 并打印命令。 这是快速的替代 DESCRY_TRUST_CONFIGURED_SOURCES=1,它信任服务器打开的每个寄存器.
  • setup 执行存储器在一步或一无所求: init,构建图表,为浏览器工具安装Chrimium,然后对每个工具进行自试. 一个失败的步子 使整个跑回.
  • doctor 检查Descry能在这里运行。 它查看了节点版本及其内置的SQLite,安装了一个引擎复制件,这个CLI和旁边的服务器是一起发布的版本,npx的缓存一个半提取的软件包,常备的审批和等待你的审批,在一个寄存器中,它的git状态(一个寄存器,有承诺),配置,适配器,这台机器是否已经确认它们,图形和 .gitignore每一个发现名称 它的固定。 退出代码0全部通过,2只是警告,1是失败. --fix 仅从 npx 的缓存中删除已断开的 Descry 项, 并列出它们 .
  • check 运行更改镜、合同、验证和对您更改的文件的交叉PR检查,当发现缺陷时退出。 它的本意是钩子或者CI步骤. 0出口是干净的,1是屏蔽发现,2是检查无法运行. 过 --require-ready 在CI中,缺失的图表是失败而不是沉默的通关.
  • qa gaps 财务报告和审定财务报表 qa analyze 报告存储器的测试所证明的内容以及缺少该证据的地方,每个部分都标有完整、部分、不运行或失败的标签.
  • browse, (中文(简体) ), observe tests, (中文(简体) ), qa validate-tests 财务报告和审定财务报表 scenario record 是服务器仅在确认后提供的动词,用于CI和脚本。 每个字都印出服务器会同意的文本,在终端向您询问,并且只运行在“是”;没有终端,除非您通过,否则拒绝 --yes,用于输入它的人(一个添加它运行命令的代理商,不管其主机给予它什么 shell 许可, 和 trust --yes) (中文(简体) ). browse 打开浏览器会话,运行一个动词(explore, (中文(简体) ), autopilot, (中文(简体) ), layout 或者说 prove-reach并结束会议; explore 财务报告和审定财务报表 autopilot 点击和键入,所以需要 --safety write。 。 。 . observe tests 在运行前显示精确的命令行. scenario record 打开可见浏览器,记录您在其中的所为,直到按 Enter,并保存为 descry/scenarios/<name>.scenario.json; 您输入的密码从不存储, 步骤保留一个 ${credential:NAME} 引用和名称都打印出来,这样您就可以用 credential set。 。 。 .
  • analyze 构建寄存器的代码图, 同样的构建 workspace 工具的 analyze 动词运行,所以 check, (中文(简体) ), qa 财务报告和审定财务报表 observe tests 可以在它之前没有MCP客户端. 它只装入此机确认的适配器;用未经证实的能建出它所能建的(git history),直言不讳地说没有读出源,2号出口. --no-history 跳过历史和 --max-commits 盖住它.
  • approve 是一个客户不能给你一个批准提示的代理人 它显示什么是批准,需要一个终端,你是否输入它;它没有 --yes。补助金是以下文件: ~/.descry/grants 绑在这个仓库里 对你来说是私人的 它会过期的. approve browser --origin 允许只读关于您命名的确切起源的会话( 默认为8小时, 最多7天); --write 它允许写级会话,只在回回地址上(localhost, 127.0.0.1, [:1]). approve tests --command 允许输入准确的测试命令,通过 observe tests。 。 。 . approve sandbox 允许 qa validate_tests 财务报告和审定财务报表 generate_test verify 在此寄存器中, 该寄存器会运行于一个被网络拒绝的沙盒中 . approve store 允许写入 Descry 自己的商店( 事件、 答案、 牵引请求范围、 解除共享图链接 )。 除了只读浏览之外,所有东西最多都持续了24小时. 他们没有覆盖已保存的登录或信头 . --list 显示赠款和 --revoke 移除一个或全部。 存储器中的文件不能创建或拓宽 .
  • approvals 一次处理一个电话。 门牌动词的首个调用会排队批准 ~/.descry/approvals (15分钟,最多50分钟,绝不是辩论本身); approvals list 说明究竟在等待什么, approvals approve <id> 您是否输入 id 并让代理的下一次呼叫运行一次 approvals deny <id> 拒绝。 它在任何客户端和无头运行中都起作用。 没有 --yes。 。 。 .
  • 这里的每个提示都从控制终端读取,丢弃任何在提示出现前被粘贴的东西,只取您在提示后输入的东西,因此粘贴数个指令一次无法回答更早的问题. 独自运行每个命令 等待它的快。 没有终点站也没有 --yes 命令拒绝.
  • feedback 列出引入的未承诺的更改中存在的少数合同和配置缺陷. hook 在克勞德代碼(Claude Code, Codex),副驾驶,双子座或克爾斯(Cursor)中将它变成一尾钩并可以再去掉.
  • slop 在更改中查找低质量代码,或,随 --scope repo, 整个寄存器: 引用不存在的东西, 根和占位符, 吞入错误, 添加无用, 和测试 坚持什么。 它报告代码的属性,从来没有谁或什么写它,并且编辑什么. 它需要一个构建的代码图。 输出是用于读取的文本或 --format json; 一次部分运行在它的最后一行都这么说,并且从未被报道为干净. 退出 0 是完成运行, 1 是 --fail-on-findings 满足于一个得到有力支持的快速级发现所引入的更改,2是一个糟糕的论据,3是德斯克里拒绝运行(没有图,不是git寄存器),4是一个出乎意料的失败. slop suppressions 列出每个内行 descry-slop-ignore 标出它的理由. slop --hook <agent> 答案作为倒转的钩子:最多有五个一行的发现,当变化是干净的或任何东西出错时则一无所有;用手将其添加到代理的设置中.
  • viz 在一个已经建好的图表上为当地检查员服务.
  • credential set 读取一个从 stdin 到浏览器方案所使用的本地证书存储处的秘密 .

解决问题

运行 npx -y @descryy/cli doctor 在仓库。 新寄存器库最满足的信息 :

  • "没有.descry/config.json"或"没有来源":运行 npx -y @descryy/cli init。 。 。 .
  • "本机未确认":见"分析说没有读出源"下.
  • "不是git仓库"或"还没有承诺":运行 git init 并做出第一个承诺.
  • "descry-mcp:没有找到"或 ENOTEMPTY 从 npx: 运行 doctor --fix。 。 。 .

分析说没有源代码读取/ 适配器未确认

那么图中只有Git历史,没有代码. 按这个顺序处理:

  1. 运行 npx -y @descryy/cli init --yes 在寄存器中,记录了这台机器对它所写的适配器的确认. 或运行 descry trust (见命令).
  2. 如果配置已经列出适配器,请打电话 workspace 动词 trust_sources 并批准它提出的要求 告诉当事人期望这个即时;如果客户端不能显示一个,步骤一就是方法.
  3. 打电话 workspace 动词 analyze 再来一次.

未设置 DESCRY_TRUST_CONFIGURED_SOURCES=1 在一个全球MCP服务器条目中。 它使服务器信任它所打开的每个寄存器的适配器列表,一个寄存器可以通过编辑一个已承诺的文件来更改该列表. 设定它只用于一个单一的,可信任的寄存器,在寄存器自己的服务器条目中.

自动模式中的 Claude 代码

Claude Code在Descry看到之前决定每个工具调用,通过许可规则,询问规则,或者在自动模式下,一个分类器. 规则被命名 mcp__<server-name>__<tool>时 <server-name> 你给的名字 claude mcp add。可自由允许阅读工具:

{
  "permissions": {
    "allow": [
      "mcp__descry__code_context",
      "mcp__descry__git_context",
      "mcp__descry__disclosure",
      "mcp__descry__check",
      "mcp__descry__reach",
      "mcp__descry__similar_incidents",
      "mcp__descry__draw_conclusion"
    ]
  }
}

内 .claude/settings.local.json。运行代码、驱动浏览器或写作的工具也可以按规则允许:它们的首通电话不会改变任何东西,一个人在许可提示中批准准确的句子: descry_confirm,允许规则不能跳过。 如果无法使用该工具(不是 Claude 代码或无头运行),则使用 descry approvals, (中文(简体) ), descry approve 或上述命令线双胞胎。 不要通过剧本或钩子 来赎回任何戴斯克里要求的东西.

已知限制

  • Playwright 和其他端到端测试仅通过已执行覆盖连接到代码(observe 动词 tests) (中文(简体) ). 测试的静态链接 page.goto 仅限于精确的文字路径,所以在覆盖运行之前,这样的套房节目是注册的,但没有覆盖任何东西.
  • 变化镜解答的可靠性类是被接入的边缘上的最低值. 一个宽的diff可以成为C级,因为有少数R0边缘.
  • 只有前端寄存器的图中没有 API 路由,所以 check 动词 contracts 在后端寄存器链接到 workspace 动词 link。 。 。 .

隐私

这里没有Descry服务 此工具所撰写的文件在仓库中 .descry/ 文件夹,加上确认和储存的证书 ~/.descry/ 在这个机器上.

许可证

麻省理工学院

版本与发布记录

@descryy/cli 共发布 39 个版本,首次发布于 2026/09/01;过去 12 个月发布了 39 个版本。

版本发布日期距今
0.20.1latest2026/10/3015 天前
0.20.02026/10/3015 天前
0.19.02026/10/2915 天前
0.18.02026/10/2124 天前
0.17.02026/10/2025 天前
0.16.02026/10/1926 天前

关于 @descryy/cli 的常见问题

@descryy/cli 是什么?

德克瑞的指挥线表面. 第一个命令是 init,它写一个多repo运行需要的宣告——在.descry/config.json中的工作空间id,以及当repo是单repo时的包/铺设声明. 也从未推断过.

如何安装 @descryy/cli?

在项目目录运行 npm install @descryy/cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 descry,可以用 npx descry 直接运行。

@descryy/cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@descryy/cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@descryy/cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.5。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@descryy/cli 可以商用吗?

@descryy/cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@descryy/cli 的下载量有多少?

根据 npm 官方下载统计,@descryy/cli 在 2026/10/12 – 2026/11/10 这 30 天内被下载 2,117 次,日均约 71 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@descryy/cli 还在维护吗?

最新版本 0.20.1 发布于 2026/10/30(15 天前);至今共发布 39 个版本,其中过去 12 个月发布了 39 个;首次发布于 2026/09/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。