EnglishРусский中文

Урок 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 test

CI-конвейер (автоматические проверки)#

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
  • Помогать можно и без программирования — документация, переводы, тестирование