第7课:参与项目#

为什么需要这个#

OpenClaw 是一个开源项目。这意味着任何人都可以查看它的工作原理、提出改进建议或修复错误。即使你不是程序员,也可以帮忙 — 比如报告错误、改进文档或翻译界面。

开始前的准备#

  • GitHub 账户(免费)
  • 已安装的程序:GitNode.js(22+版本)、pnpm
  • 对终端(命令行)的基本了解

Git 是一个版本控制系统,跟踪代码的所有更改。
Node.js 是运行 JavaScript 程序的环境。
pnpm 是包管理器(安装项目依赖)。

从源码构建#

步骤1:下载项目#

git clone https://github.com/openclaw/openclaw.git
cd openclaw

步骤2:安装依赖#

corepack enable     # 启用 pnpm
pnpm install        # 下载所有需要的库

步骤3:构建项目#

pnpm build

步骤4:验证一切正常#

pnpm check    # 类型检查、代码检查、格式化
pnpm test     # 运行测试

测试体系#

OpenClaw 使用三个级别的测试:

1. 单元测试(Unit tests)— 快速检查#

pnpm test
  • 测试代码的各个部分
  • 不需要真实的 API 密钥
  • 只需几分钟
  • 每次提交前都要运行

2. E2E 测试(端到端)— 完整流程验证#

pnpm test:e2e
  • 启动真实的 Gateway 并测试其行为
  • 测试 WebSocket、HTTP、配对
  • 也不需要 API 密钥

3. Live 测试 — 使用真实服务商#

pnpm test:live
  • 需要真实的 API 密钥(Anthropic、OpenAI 等)
  • 使用真实模型
  • 需要花钱(消耗令牌)
  • 仅在必要时运行

提交前的完整检查#

pnpm build && pnpm check && pnpm test

CI 流水线(自动检查)#

CI(持续集成)是一个自动化系统,检查每次代码更改。

当你将更改推送到 GitHub 时,会自动运行:

检查 作用 时间
check TypeScript 类型、代码检查、格式化 ~1-2分钟
secrets 检查是否意外添加了密码 ~1分钟
code-analysis 检查更改大小 ~1分钟
checks 单元测试(Linux) ~3-5分钟
checks-windows Windows 上的测试 ~3-5分钟

检查按"从便宜到昂贵"的顺序运行 — 如果简单检查失败,昂贵的检查就不会运行。

CI 命令的本地等效命令#

pnpm check          # 类型 + 代码检查 + 格式化
pnpm test           # 单元测试
pnpm check:docs     # 文档检查
pnpm release:check  # npm 包检查

如何提交更改#

步骤1:创建分支#

分支(branch)是代码的副本,你在其中做更改,而不影响主代码。

git checkout -b my-improvement

步骤2:进行更改#

编辑文件、添加代码、修复错误。

步骤3:本地检查#

pnpm build && pnpm check && pnpm test

步骤4:提交更改#

git add .
git commit -m "描述你修改了什么"

步骤5:推送到 GitHub#

git push origin my-improvement

步骤6:创建 Pull Request#

Pull Request(PR) 是将你的更改合并到主项目的提案。打开 GitHub 并点击 “Create Pull Request”。

如何帮忙(不用编程)#

  • 报告错误 — 在 GitHub 上创建 Issue
  • 改进文档 — 修改错别字、添加示例
  • 翻译 — OpenClaw 支持多种语言
  • 测试 — 试用新版本并报告问题
  • 回答问题 — 在讨论区帮助其他用户

项目结构#

openclaw/
├── src/              ← Gateway 主代码
├── extensions/       ← 内置插件
├── scripts/          ← 辅助脚本
├── docs/             ← 文档
├── ui/               ← Web 界面
├── skills/           ← 内置技能
├── Dockerfile        ← 用于构建 Docker 镜像
└── package.json      ← 项目描述和依赖

开发常用命令#

pnpm build           # 构建项目
pnpm check           # 检查类型和代码风格
pnpm test            # 运行测试
pnpm test:e2e        # 运行集成测试
pnpm test:coverage   # 带覆盖率报告的测试
pnpm check:docs      # 检查文档

课程总结#

  • OpenClaw 是开源项目,你可以参与贡献
  • 构建需要 Git、Node.js 22+ 和 pnpm
  • 三个测试级别:unit(快速)、e2e(中等)、live(使用真实 API)
  • 提交更改前:pnpm build && pnpm check && pnpm test
  • CI 自动检查每个 Pull Request
  • 不用编程也能帮忙 — 文档、翻译、测试