第7课:参与项目#
为什么需要这个#
OpenClaw 是一个开源项目。这意味着任何人都可以查看它的工作原理、提出改进建议或修复错误。即使你不是程序员,也可以帮忙 — 比如报告错误、改进文档或翻译界面。
开始前的准备#
- GitHub 账户(免费)
- 已安装的程序:Git、Node.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 testCI 流水线(自动检查)#
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
- 不用编程也能帮忙 — 文档、翻译、测试