8.6 KiB
8.6 KiB
Быстрая настройка для Forgejo
Пошаговая инструкция для быстрого запуска AI Agent системы на Forgejo.
Шаг 1: Настройка Forgejo Actions
1.1 Включите Actions в Forgejo
Отредактируйте /etc/forgejo/app.ini:
[actions]
ENABLED = true
DEFAULT_ACTIONS_URL = https://code.forgejo.org
Перезапустите:
sudo systemctl restart forgejo
1.2 Установите Forgejo Runner
# Скачайте runner
wget https://code.forgejo.org/forgejo/runner/releases/download/v3.3.0/forgejo-runner-3.3.0-linux-amd64
sudo mv forgejo-runner-3.3.0-linux-amd64 /usr/local/bin/forgejo-runner
sudo chmod +x /usr/local/bin/forgejo-runner
# Создайте директорию
sudo mkdir -p /etc/forgejo-runner
cd /etc/forgejo-runner
1.3 Получите Registration Token
- Откройте Forgejo в браузере
- Перейдите в ваш репозиторий
- Settings -> Actions -> Runners
- Нажмите "Create new Runner"
- Скопируйте Registration Token
1.4 Зарегистрируйте Runner
cd /etc/forgejo-runner
sudo forgejo-runner register \
--no-interactive \
--instance https://your-forgejo.com \
--token ВАШТОКЕН \
--name ai-agent-runner \
--labels ubuntu-latest:docker://node:16-bullseye
1.5 Создайте systemd service
sudo tee /etc/systemd/system/forgejo-runner.service > /dev/null <<EOF
[Unit]
Description=Forgejo Runner
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/etc/forgejo-runner
ExecStart=/usr/local/bin/forgejo-runner daemon
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
# Запустите
sudo systemctl daemon-reload
sudo systemctl enable forgejo-runner
sudo systemctl start forgejo-runner
1.6 Проверьте статус
sudo systemctl status forgejo-runner
# Должно быть: Active: active (running)
Шаг 2: Настройка Cursor API
2.1 Получите API Key
- Откройте Cursor
- Settings (⚙️)
- Account -> API Keys
- "Create new API key"
- Скопируйте ключ (показывается только один раз!)
Сохраните ключ, например: sk-cursor-abc123...
Шаг 3: Настройка Secrets в Forgejo
3.1 Создайте Forgejo Token
- Forgejo -> Settings -> Applications
- Generate New Token
- Token Name:
ai-agent-token - Select Scopes:
- ✅
repo(Full control of repositories) - ✅
write:issue(Create and edit issues) - ✅
write:workflow(Update workflow files)
- ✅
- Generate Token
- Скопируйте token
3.2 Добавьте Secrets в Repository
- Откройте ваш репозиторий в Forgejo
- Settings -> Secrets and Variables -> Actions
- Добавьте два обязательных secrets:
Secret 1: CURSOR_API_KEY
- Name:
CURSOR_API_KEY - Value:
sk-cursor-abc123...(ваш ключ из Step 2.1)
Secret 2: FORGEJO_TOKEN
- Name:
FORGEJO_TOKEN - Value: ваш token из Step 3.1
Optional Secret 3: CURSOR_MODEL
- Name:
CURSOR_MODEL - Value:
claude-3-5-sonnet-20241022
Шаг 4: Проверка файлов
Убедитесь что эти файлы существуют в вашем репозитории:
ls -la .github/workflows/
# Должны быть:
# - agent-planning.yml
# - agent-development.yml
# - agent-test-deploy.yml
ls -la tools/agent/
# Должны быть:
# - config.py
# - task_manager.py
# - cursor_cli_wrapper.py
# - agent_orchestrator.py
# - planning_agent.py
ls -la ai_docs/agent/
# Должны быть:
# - web_v2/task_list.json
# - web_v2/agent_state.json
# - backend/task_list.json
# - backend/agent_state.json
# - global_lock.json
# - prompts/development_prompt.md
# - prompts/planning_prompt.md
Шаг 5: Первый запуск
5.1 Запустите Planning Agent
- В Forgejo откройте репозиторий
- Перейдите на вкладку Actions
- Слева выберите "AI Agent - Planning"
- Справа нажмите "Run workflow"
- Выберите:
- Branch:
master - Component:
web_v2
- Branch:
- Нажмите "Run workflow"
5.2 Наблюдайте за выполнением
- Вернитесь на вкладку Actions
- Увидите новый workflow run
- Кликните на него
- Смотрите логи в реальном времени
5.3 Проверьте результат
После завершения Planning Agent:
# Клонируйте репозиторий (если еще не клонировали)
git clone https://your-forgejo.com/user/repo.git
cd repo
# Проверьте task list
cat ai_docs/agent/web_v2/task_list.json | jq
# Должен быть JSON с задачами
Также:
- Должен появиться новый Issue с summary
- Должен автоматически запуститься Development Agent
5.4 Наблюдайте Development Agent
Development Agent запустится автоматически:
- Actions -> "AI Agent - Development"
- Найдите активный workflow run
- Смотрите как агент:
- Читает задачи
- Пишет код
- Запускает тесты
- Делает коммиты
Проверка что все работает
✅ Checklist
- Forgejo Actions включены (
app.ini) - Forgejo Runner запущен и online
- Cursor API Key получен
- Forgejo Token создан
- Оба secrets добавлены в repository
- Workflow файлы существуют в
.github/workflows/ - Python скрипты существуют в
tools/agent/ - State файлы существуют в
ai_docs/agent/*/ - Planning Agent успешно запущен
- Task list JSON создан
- Development Agent запущен автоматически
🐛 Если что-то не работает
Runner offline:
sudo systemctl status forgejo-runner
sudo journalctl -u forgejo-runner -f
Workflow не запускается:
- Проверьте что runner online (Settings -> Actions -> Runners)
- Проверьте labels runner совпадают с
runs-on: ubuntu-latest
Secrets не работают:
- Перепроверьте названия:
CURSOR_API_KEYиFORGEJO_TOKEN - Убедитесь что ввели правильные значения
- Попробуйте пересоздать secrets
Python ошибки:
- Проверьте логи workflow
- Убедитесь что все файлы в
tools/agent/существуют - Проверьте синтаксис Python скриптов
Дальнейшие шаги
После успешного первого запуска:
- Мониторинг: Следите за прогрессом в Actions tab
- Ревью: Проверяйте коммиты от агента
- Настройка: Отредактируйте
tasks.mdдля новых задач - Масштабирование: Запустите агентов для других компонентов (backend, common)
Полезные команды
# Проверка runner
sudo systemctl status forgejo-runner
# Логи runner
sudo journalctl -u forgejo-runner -f
# Проверка agent state
cat ai_docs/agent/web_v2/agent_state.json | jq
# Проверка task list
cat ai_docs/agent/web_v2/task_list.json | jq
# Триггер planning через API
curl -X POST \
"https://your-forgejo.com/api/v1/repos/user/repo/actions/workflows/agent-planning.yml/dispatches" \
-H "Authorization: token $FORGEJO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ref":"master","inputs":{"component":"web_v2"}}'
# Список workflow runs
curl -X GET \
"https://your-forgejo.com/api/v1/repos/user/repo/actions/runs" \
-H "Authorization: token $FORGEJO_TOKEN"
Поддержка
Если возникли проблемы:
- Проверьте CONFIGURATION.md для детальной настройки
- Посмотрите README.md для полной документации
- Проверьте логи:
sudo journalctl -u forgejo-runner -f - Создайте issue в репозитории
Время на настройку: 15-30 минут
Сложность: Средняя
Требует: Root доступ к серверу Forgejo