OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

CI Pipeline

这页说明书讲的是 OpenClaw 的“自动检查小帮手”(CI Pipeline)。就像你每次把玩具放回玩具箱,妈妈会检查一下一样,这个小帮手会在每次有人往一个叫 main 的大盒子里放新代码,或者有人想放新代码之前,自动帮忙检查一下。它会聪明地判断哪些地方需要检查,哪些地方不用,这样检查起来又快又不累。

五岁小孩版解释

这个“自动检查小帮手”就像一群勤劳的小机器人。每当我们想把写好的新代码放进一个叫 main 的大宝箱里,或者有人想放进去之前,它们就会开始工作。它们很聪明,会先看看这次改动了什么,如果只改了说明书(docs),就不会去打扰那些负责检查复杂代码的机器人,让检查变得更快。

这些小机器人有不同的名字和任务,就像不同的玩具车有不同的功能一样。我来给你介绍一下它们:

  1. docs-scopechanged-scope 机器人:它们是“侦察兵”。docs-scope 总是第一个跑出来,看看是不是只改了说明书。changed-scope 机器人会在不是只改说明书的时候出动,仔细看看是哪个部分的代码变了(比如是给电脑用的、给苹果电脑用的、给安卓手机用的,还是给窗户系统用的)。
  2. 检查代码的机器人:它们负责检查代码写得对不对、整不整齐。
    • check 机器人:检查一种叫 TypeScript 的代码类型对不对,格式好不好看。只有当代码往 main 宝箱里推,或者改动和电脑(Node)有关时,它才工作。
    • check-docs 机器人:专门检查说明书(Markdown 文件)写得整不整齐,里面的链接能不能点开。只有说明书改了,它才出动。
    • code-analysis 机器人:它会数一数这次改动的代码行数,如果一次改动超过 1000 行,它就会提醒大家“改动太大啦!”。这只在有人想提交新代码(PR)时检查。
    • secrets 机器人:它像个小侦探,总是检查有没有人不小心把秘密(比如密码)写进了代码里,这可不能让别人看到!
  3. 打包机器人build-artifacts 机器人是个“打包员”。当改动不是说明书,并且和电脑(Node)代码有关时,它会把代码打包成一个漂亮的包裹,这样其他机器人就可以直接用这个包裹来检查,不用自己再打包一次了。
  4. 发布检查机器人release-check 机器人在打包员工作之后,会仔细检查这个准备发布的包裹(npm pack)里面东西对不对、全不全。
  5. 测试机器人:这些机器人负责玩一玩(测试)打包好的代码,看它能不能正常工作。
    • checks 机器人:用 Node 或 Bun 工具来玩电脑(Node)部分的代码和协议。
    • checks-windows 机器人:专门在窗户系统(Windows)上玩,测试那里的代码。
    • macos 机器人:在苹果电脑上,检查一种叫 Swift 的代码,也玩电脑(Node)的测试。
    • android 机器人:在安卓手机上,用 Gradle 工具来打包和玩耍(测试)。

这些小机器人们排队工作很有顺序,让简单的检查先做,这样如果发现小问题,就能马上停下来,不用等复杂的检查白跑一趟。它们的排队顺序是:

  1. 先让 docs-scopecode-analysischeck 这几个又快又简单的机器人一起跑(大概1-2分钟)。
  2. 等它们没问题了,再让打包机器人 build-artifacts 工作。
  3. 最后,才让 checkschecks-windowsmacosandroid 这些需要打包好才能玩的测试机器人出动。

判断“哪里变了”的聪明规则,写在一个叫 scripts/ci-changed-scope.mjs 的文件里,就像一本说明书,而且还有专门的测试(在 src/scripts/ci-changed-scope.test.ts 里)来保证这本说明书是对的。

不同的机器人喜欢在不同的“操场”(Runner)上跑步:

  • 大多数在 Linux 系统(像一种很常见的电脑系统)上工作的机器人,包括侦察兵,都在一个叫 blacksmith-16vcpu-ubuntu-2404 的操场上。
  • 专门测试窗户系统(Windows)的 checks-windows 机器人,在 blacksmith-32vcpu-windows-2025 操场上。
  • 在苹果电脑(macOS)上工作的 macosios 机器人,在 macos-latest 操场上。

如果你想在自己电脑上,像这些小机器人一样做检查,你也可以用一些简单的命令:

  • 输入 pnpm check,就可以检查代码类型和格式。
  • 输入 pnpm test,就可以运行测试,玩一玩代码。
  • 输入 pnpm check:docs,就可以检查说明书的格式和链接。
  • 输入 pnpm release:check,就可以检查准备发布的包裹。