Перейти к основному содержанию

Пример быстрого старта

Самый простой способ начать работу:
# Запустите интерактивную настройку
npx megallm@latest

# Вывод:
#   __  __                _    _     __  __
#  |  \/  | ___  __ _  __ _| |   | |   |  \/  |
#  | |\/| |/ _ \/ _` |/ _` | |   | |   | |\/| |
#  | |  | |  __/ (_| | (_| | |___| |___| |  | |
#  |_|  |_|\___|\__, |\__,_|_____|_____|_|  |_|
#               |___/
#
# 🚀 Инструмент настройки MegaLLM CLI
# Поддерживается: Claude Code, Codex/Windsurf, OpenCode
#
# ✓ Обнаружена система: Linux (bash)
# ✓ Обнаружены инструменты: Claude Code ✓
#
# ? Какой инструмент вы хотите настроить? Claude Code
# ? Уровень настройки? Системный (глобальный)
# ? У вас есть API-ключ MegaLLM? Да
# ? Введите ваш API-ключ MegaLLM: sk-mega-***
#
# Сводка конфигурации:
# - Инструмент: Claude Code
# - Уровень: Системный
# - API-ключ: sk-mega-***86b9 (последние 4 символа)
#
# ? Применить эту конфигурацию? Да
#
# ✓ Конфигурация успешно применена!
# ✓ Оболочка перезагружена
#
# 🎉 Настройка завершена! Теперь вы можете использовать Claude Code с MegaLLM.

Примеры на основе сценариев

Пример 1: Первоначальная настройка Claude Code

Настройка Claude Code в первый раз на новой машине:
# Шаг 1: Запустите CLI
npx megallm@latest

# Шаг 2: Следуйте подсказкам
# Система обнаружена ✓
# Claude Code обнаружен ✓
#
# ? Какой инструмент вы хотите настроить?
#   › Claude Code
#     Codex/Windsurf
#     OpenCode
#     Настроить все

# Шаг 3: Выберите уровень настройки
# ? Уровень настройки?
#   › Системный (глобальный) - Применяется ко всем проектам
#     Уровень проекта (локальный) - Только текущий каталог

# Шаг 4: API-ключ
# ? У вас есть API-ключ MegaLLM?
#   › Да
#     Нет - Покажите мне, как его получить

# ? Введите ваш API-ключ MegaLLM:
# sk-mega-25f8b5b41a531921b24bf59daa8ccc0d38da68364662fb8956d972333b8d86b9

# Шаг 5: Подтвердите и примените
# Сводка конфигурации:
# Инструмент: Claude Code
# Уровень: Системный
# Файлы: ~/.claude/settings.json, ~/.claude.json
# Переменные окружения: ANTHROPIC_BASE_URL, ANTHROPIC_API_KEY
#
# ? Применить эту конфигурацию? Да
#
# ✓ Создан ~/.claude/settings.json
# ✓ Создан ~/.claude.json
# ✓ Добавлены переменные окружения в ~/.bashrc
# ✓ Конфигурация успешно применена!

Пример 2: Настройка для конкретного проекта

Настройка MegaLLM для конкретного проекта:
# Перейдите в ваш проект
cd ~/projects/my-app

# Запустите CLI
npx megallm@latest

# Выберите настройку уровня проекта
# ? Уровень настройки?
#   Системный (глобальный)
#   › Уровень проекта (локальный) - Только текущий каталог

# После настройки:
ls -la .claude/
# .claude/
#   settings.json
#   settings.local.json

# Добавьте в .gitignore
echo ".claude/settings.local.json" >> .gitignore

# Зафиксируйте настройки проекта (без API-ключа)
cat .claude/settings.json
# {
#   "env": {
#     "ANTHROPIC_BASE_URL": "https://ai.megallm.io"
#   }
# }

git add .claude/settings.json .gitignore
git commit -m "Add MegaLLM configuration"

Пример 3: Настройка нескольких инструментов

Настройка и Claude Code, и Codex:
# Запустите CLI
npx megallm@latest

# Выберите несколько инструментов
# ? Какой инструмент вы хотите настроить?
#   Claude Code
#   Codex/Windsurf
#   OpenCode
#   › Настроить все

# CLI настроит каждый инструмент по порядку
# 1. Настройка Claude Code...
#    ✓ Claude Code настроен
#
# 2. Настройка Codex...
#    ✓ Codex настроен
#
# 3. Настройка OpenCode...
#    ✓ OpenCode настроен
#
# ✓ Все инструменты успешно настроены!

Пример 4: Обновление существующей конфигурации

Обновление конфигурации с новым API-ключом:
# Снова запустите CLI
npx megallm@latest

# Обнаружена существующая конфигурация
# Найдена конфигурация MegaLLM:
# - ~/.claude/settings.json
# - ~/.codex/config.toml
#
# ? Что вы хотите сделать?
#   › Переопределить (удалить старую, применить новую)
#     Пропустить (сохранить существующую)
#     Отмена

# Выберите Переопределить
# ? Какой инструмент вы хотите перенастроить?
#   › Claude Code
#     Codex/Windsurf
#     Оба

# Введите новый API-ключ
# ? Введите ваш новый API-ключ MegaLLM: sk-mega-new-key-here

# ✓ Создана резервная копия старой конфигурации
# ✓ Применена новая конфигурация

Пример 5: Настройка команды с общей конфигурацией

Настройка MegaLLM для командного проекта с конфигурацией под контролем версий:
# Сопровождающий проекта: Создание базовой конфигурации
cd ~/projects/team-project
npx megallm@latest

# Выберите уровень проекта
# Уровень настройки: Уровень проекта

# Создайте .claude/settings.json (без API-ключа)
cat > .claude/settings.json << 'EOF'
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://ai.megallm.io"
  }
}
EOF

# Задокументируйте требование к API-ключу
cat > .claude/README.md << 'EOF'
# Настройка MegaLLM

Для использования этого проекта с MegaLLM:

1. Получите ваш API-ключ на https://megallm.io/dashboard
2. Создайте `.claude/settings.local.json`:
   {
     "env": {
       "ANTHROPIC_API_KEY": "ваш-api-ключ-здесь"
     }
   }
3. Или установите переменную окружения:
   export ANTHROPIC_API_KEY="ваш-api-ключ-здесь"
EOF

# Зафиксируйте общую конфигурацию
git add .claude/settings.json .claude/README.md
git commit -m "Add MegaLLM team configuration"

# Члены команды: Клонируйте и добавьте свой собственный API-ключ
git clone repo
cd repo
echo '{ "env": { "ANTHROPIC_API_KEY": "my-key" } }' > .claude/settings.local.json

Пример 6: Режим отладки для устранения неполадок

Используйте режим отладки для диагностики проблем:
# Запустите с отладочным выводом
DEBUG=* npx megallm@latest

# Подробный вывод показывает:
# DEBUG: Обнаружение ОС...
# DEBUG: ОС: Linux
# DEBUG: Оболочка: bash
# DEBUG: Конфигурация оболочки: /home/user/.bashrc
# DEBUG: Проверка Claude Code...
# DEBUG: Claude Code найден: /usr/local/bin/claude
# DEBUG: Проверка существующей конфигурации...
# DEBUG: Найдено: /home/user/.claude/settings.json
# DEBUG: Разбор файла конфигурации...
# DEBUG: Конфигурация действительна: true
# ... более подробные логи ...

Пример 7: Автоматизированная настройка CI/CD

Используйте CLI в конвейерах CI/CD:
name: Setup MegaLLM
on: [push]

jobs:
  setup:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '18'

      - name: Configure MegaLLM
        env:
          ANTHROPIC_API_KEY: ${{ secrets.MEGALLM_API_KEY }}
          ANTHROPIC_BASE_URL: https://ai.megallm.io
        run: |
          mkdir -p .claude
          cat > .claude/settings.json << EOF
          {
            "env": {
              "ANTHROPIC_BASE_URL": "$ANTHROPIC_BASE_URL",
              "ANTHROPIC_API_KEY": "$ANTHROPIC_API_KEY"
            }
          }
          EOF

      - name: Run tests with Claude Code
        run: npm test

Пример 8: Настройка специально для Windsurf

Настройка Windsurf (вариант Codex):
# Запустите CLI
npx megallm@latest

# Выберите Codex
# ? Какой инструмент вы хотите настроить?
#   Claude Code
#   › Codex/Windsurf
#     OpenCode

# Примечание: Windsurf обнаруживается автоматически
# ✓ Обнаружен вариант Windsurf

# Настройка продолжается в обычном режиме
# Создается ~/.codex/config.toml
# Устанавливается переменная окружения MEGALLM_API_KEY

# Проверьте конфигурацию
cat ~/.codex/config.toml
# model_provider = "megallm"
# model = "gpt-5"
#
# [model_providers.megallm]
# name = "OpenAI using Chat Completions"
# base_url = "https://ai.megallm.io/v1"
# env_key = "MEGALLM_API_KEY"

Расширенные сценарии

Переключение между различными API

Используйте различные конфигурации для разных проектов:
# Проект A: Использование MegaLLM
cd ~/projects/project-a
npx megallm@latest
# Настройте с API-ключом MegaLLM

# Проект B: Использование другого API
cd ~/projects/project-b
# Создайте пользовательскую конфигурацию
cat > .claude/settings.json << 'EOF'
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://other-api.com",
    "ANTHROPIC_API_KEY": "other-key"
  }
}
EOF

Конфигурации для различных сред

Различные конфигурации для разработки, тестирования, продакшена:
# Разработка
export ANTHROPIC_API_KEY="sk-mega-dev-key"

# Тестирование
export ANTHROPIC_API_KEY="sk-mega-staging-key"

# Продакшен
export ANTHROPIC_API_KEY="sk-mega-prod-key"

# Или используйте различные файлы конфигурации
cp .claude/settings.dev.json .claude/settings.json  # для разработки
cp .claude/settings.prod.json .claude/settings.json  # для продакшена

Настройка Docker-контейнера

Используйте MegaLLM в Docker-контейнерах:
FROM node:18

# Установите MegaLLM CLI глобально
RUN npm install -g megallm

# Установите переменные окружения
ENV ANTHROPIC_BASE_URL=https://ai.megallm.io
ENV ANTHROPIC_API_KEY=your-key-here

# Создайте директорию конфигурации
RUN mkdir -p /root/.claude

# Скопируйте файл конфигурации
COPY .claude/settings.json /root/.claude/settings.json

# Настройка вашего приложения
WORKDIR /app
COPY . .
RUN npm install

CMD ["npm", "start"]

Обычные рабочие процессы

Рабочий процесс 1: Адаптация нового разработчика

# 1. Новый разработчик клонирует репозиторий
git clone https://github.com/company/project.git
cd project

# 2. Видит инструкции по настройке MegaLLM в README
cat README.md
# "Получите ваш API-ключ на https://megallm.io/dashboard"

# 3. Получает API-ключ из панели управления
# Открывает https://megallm.io/dashboard в браузере

# 4. Запускает настройку (с NO_BANNER для более чистого вывода)
NO_BANNER=1 npx megallm@latest

# 5. Вводит API-ключ при запросе
# Конфигурация автоматически объединяется с настройками проекта

# 6. Начинает разработку
npm run dev

Рабочий процесс 2: Миграция с OpenAI

# 1. В настоящее время используется OpenAI напрямую
# Файл .env содержит: MEGALLM_API_KEY=sk-mega-...

# 2. Переключение на MegaLLM
npx megallm@latest

# 3. CLI обнаруживает Claude Code/Codex и настраивает
# Устанавливает ANTHROPIC_BASE_URL=https://ai.megallm.io

# 4. Обновите код приложения (при необходимости)
# Измените: base_url с api.openai.com на ai.megallm.io
# Или: Позвольте переменным окружения обработать это автоматически

# 5. Протестируйте миграцию
npm test

# 6. Разверните с новой конфигурацией

Рабочий процесс 3: Разработка с несколькими инструментами

# Разработчик использует и Claude Code, и Codex
npx megallm@latest

# Настройте все инструменты сразу
# ? Какой инструмент? Настроить все

# Результат:
# - Claude Code использует переменные окружения ANTHROPIC_*
# - Codex использует переменную окружения MEGALLM_API_KEY
# - Оба указывают на ai.megallm.io

# Можно бесшовно переключаться между инструментами
claude-code  # Использует ANTHROPIC_API_KEY
codex        # Использует MEGALLM_API_KEY

Примеры устранения неполадок

Пример: Доступ запрещен

# Ошибка во время настройки
npx megallm@latest
# Error: EACCES: permission denied, mkdir '/home/user/.claude'

# Исправьте права доступа
sudo chown -R $USER ~/.claude ~/.codex
chmod -R 755 ~/.claude ~/.codex

# Повторите попытку
npx megallm@latest

Пример: Конфигурация не загружается

# Проверьте, установлены ли переменные окружения
env | grep -E "ANTHROPIC|MEGALLM"
# (нет вывода = не установлены)

# Перезагрузите конфигурацию оболочки
source ~/.bashrc  # или ~/.zshrc

# Или перезапустите терминал
exit
# Откройте новый терминал и проверьте снова
env | grep -E "ANTHROPIC|MEGALLM"
# ANTHROPIC_BASE_URL=https://ai.megallm.io
# ANTHROPIC_API_KEY=sk-mega-...

Пример: Проверка API-ключа не удалась

npx megallm@latest

# ? Введите ваш API-ключ MegaLLM: sk-mega-abc
# ✗ API-ключ должен содержать не менее 20 символов

# Исправление: Введите полный API-ключ
# ? Введите ваш API-ключ MegaLLM: sk-mega-25f8b5b41a531921b24bf59daa8ccc0d38da68364662fb8956d972333b8d86b9
# ✓ API-ключ проверен

Следующие шаги