Урок 7. Участие в проекте#
Зачем это нужно#
OpenClaw — это проект с открытым исходным кодом (open source). Это значит, что любой может посмотреть, как он устроен, предложить улучшения или исправить ошибки. Даже если вы не программист, вы можете помочь — например, найти и сообщить об ошибке, улучшить документацию или перевести интерфейс.
Что нужно для начала#
- Аккаунт на 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-тесты (End-to-End) — проверка «от начала до конца»#
pnpm test:e2e- Запускают настоящий Gateway и проверяют его поведение
- Тестируют WebSocket, HTTP, пейринг
- Тоже не требуют API-ключей
3. Live-тесты — с реальными провайдерами#
pnpm test:live- Требуют настоящие API-ключи (Anthropic, OpenAI и т.д.)
- Используют реальные модели
- Стоят денег (расходуют токены)
- Запускайте только при необходимости
Полная проверка перед отправкой#
pnpm build && pnpm check && pnpm testCI-конвейер (автоматические проверки)#
CI (Continuous Integration) — это автоматическая система, которая проверяет каждое изменение в коде.
Когда вы отправляете свои изменения на 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 моё-улучшениеШаг 2. Внесите изменения#
Отредактируйте файлы, добавьте код, исправьте ошибку.
Шаг 3. Проверьте локально#
pnpm build && pnpm check && pnpm testШаг 4. Зафиксируйте изменения#
git add .
git commit -m "Описание того, что вы изменили"Шаг 5. Отправьте на GitHub#
git push origin моё-улучшениеШаг 6. Создайте Pull Request#
Pull Request (PR) — это предложение включить ваши изменения в основной проект. Откройте GitHub и нажмите «Create Pull Request».
Чем можно помочь (без программирования)#
- Сообщить об ошибке — создайте Issue на GitHub
- Улучшить документацию — исправить опечатку, добавить пример
- Перевести — OpenClaw поддерживает несколько языков
- Протестировать — попробовать новую версию и сообщить о проблемах
- Ответить на вопросы — помочь другим пользователям в обсуждениях
Структура проекта#
openclaw/
├── src/ ← основной код Gateway
├── extensions/ ← встроенные плагины
├── scripts/ ← вспомогательные скрипты
├── docs/ ← документация
├── ui/ ← веб-интерфейс
├── 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
- Помогать можно и без программирования — документация, переводы, тестирование