Установка в 1 клик. Всё остальное — в чате с Ultima.
Ultima устанавливается одной командой — без терминала, без ручного копирования файлов.
install.sh → открой терминал → bash install.shUltima-5.3-Setup.exe → запусти → нажми «Установить»
После установки запусти Ultima — откроется чат с твоим персональным AI-агентом.
# macOS / Linux: ~/Projects/Ultima/start-ultima.sh # Windows: Пуск → Ultima v5.3
Ultima попросит API-ключи при первом запуске. Просто напиши их в чат — Ultima сама всё настроит.
| Сервис | Где взять | Зачем |
|---|---|---|
| OpenRouter | openrouter.ai/keys | Доступ к DeepSeek, Claude, Gemini |
| OpenCode Zen | opencode.ai/zen | Бесплатные базовые модели |
| GitHub Token | github.com/settings/tokens | GitHub MCP (issues, PRs, код) |
| Lazyweb | lazyweb.ai | Дизайн-референсы (бесплатно) |
мой OpenRouter ключ: sk-or-v1-... — Ultima сама сохранит его, настроит конфиг и проверит соединение.
Ultima работает. Можешь сразу давать задачи:
• «Напиши пост для Telegram про нейросети» • «Проверь почту и ответь на письма» • «Сделай CRO-аудит моего лендинга» • «Исследуй конкурентов в нише X»
| Сайт Ultima | ivanchepurnov.ru/ultima-win/ |
| GitHub | github.com/ichepurnov/ultima5 |
| Помощь | @ichepurnov |
Все ключевые сервисы для Ultima авторизуются через GitHub. Поэтому начинаем с него.
GitHub нужен, чтобы логиниться в OpenCode Zen, Lazyweb и другие сервисы. Если аккаунта нет — создать.
OpenCode Zen даёт бесплатный доступ к базовым моделям. Нужен всегда. Вход через GitHub.
sk-zen-...)~/.zshrc: export OPENCODE_ZEN_API_KEY="sk-zen-..."OpenRouter даёт доступ к 30+ моделям: DeepSeek, Claude, Gemini, GPT. Вход через GitHub. Пополнение от $5.
Ultimask-or-v1-...)export OPENROUTER_API_KEY="sk-or-v1-..."Для доступа к GitHub MCP (issues, PRs, поиск кода).
Contents: Read, Issues: Read & Writeexport GITHUB_TOKEN="github_pat_..."Lazyweb ищет скриншоты реальных интерфейсов для дизайна. Вход через GitHub.
export LAZYWEB_API_KEY="..."# Установка opencode через npm (Linux/macOS): npm install -g oh-my-openagent-linux-x64@latest # Linux x86_64 npm install -g oh-my-openagent-darwin-arm64@latest # Mac ARM (M1/M2/M3) npm install -g oh-my-openagent@latest # Или одной командой (автоопределение платформы): bash <(curl -s https://raw.githubusercontent.com/ichepurnov/ultima5/main/install.sh) # Проверить: opencode --version
git clone https://github.com/ichepurnov/ultima5.git ~/Projects/Ultima
# Симлинк конфига OpenCode:
mkdir -p ~/.config/opencode
ln -sf ~/Projects/Ultima/configs/opencode.json ~/.config/opencode/opencode.json
Открой ~/.zshrc и добавь:
# Ultima — API ключи export OPENCODE_ZEN_API_KEY="sk-zen-...тут-твой-ключ..." export OPENROUTER_API_KEY="sk-or-v1-...тут-твой-ключ..." export GITHUB_TOKEN="github_pat_...тут-твой-токен..." export LAZYWEB_API_KEY="...тут-твой-ключ..."
Примени изменения: source ~/.zshrc
Для удалённого доступа через веб-морду установи пароль:
# Пароль для opencode-web (заменить на свой): export OPENCODE_SERVER_USERNAME="ichepurnov" export OPENCODE_SERVER_PASSWORD="твой-пароль"
~/Projects/Ultima/ ├── configs/ │ └── opencode.json # Главный конфиг (54+ навыка) ├── personality/ # 9-уровневая иерархия инструкций ├── skills/ # 54+ навыка (SKILL.md) ├── engine-5.3/ # Движок Ultima 5.3 ├── verta/ # Верта — агент-помощник ├── obsidian/ # Память и база знаний ├── evals/ # Тесты безопасности └── scripts/ # MCP серверы и скрипты
OPENROUTER_API_KEY Ultima не сможет вызывать модели.
OpenCode Zen даёт бесплатный доступ, но для полной функциональности нужен OpenRouter.
# Запустить в терминале: cd ~/Projects/Ultima opencode # Агент загрузит конфиг, навыки и личность Ultima.
export YANDEX_EMAIL="ваш-логин@yandex.ru" export YANDEX_APP_PASSWORD="сгенерированный-пароль"
export YANDEX_DISK_TOKEN="y0__...полученный-токен..."# Почта: python3 -c "import imaplib; m=imaplib.IMAP4_SSL('imap.yandex.com'); m.login('$YANDEX_EMAIL','$YANDEX_APP_PASSWORD'); print('✅ Почта OK'); m.logout()" # Диск: curl -s -H "Authorization: OAuth $YANDEX_DISK_TOKEN" \ "https://cloud-api.yandex.net/v1/disk/" | python3 -c \ "import json,sys; d=json.load(sys.stdin); print(f'✅ Диск: {d[\"used_space\"]/1024**3:.1f} GB из {d[\"total_space\"]/1024**3:.1f} GB')"
export GOOGLE_EMAIL="ваш-логин@gmail.com" export GOOGLE_APP_PASSWORD="сгенерированный-пароль"
brew install rclone (macOS) или apt install rclone (Linux)rclone authorize "drive" --drive-scope "drive.file,drive.readonly"Откроется браузер — войди в Google, разреши доступ.
rclone config create ultima drive \
scope "drive.file,drive.readonly" \
token 'вставь-токен-из-предыдущего-шага'# Gmail: python3 -c "import imaplib; m=imaplib.IMAP4_SSL('imap.gmail.com'); m.login('$GOOGLE_EMAIL','$GOOGLE_APP_PASSWORD'); print('✅ Gmail OK'); m.logout()" # Google Drive: rclone ls ultima: --max-depth 1 | head -5 && echo '✅ Drive OK'
После настройки всех ключей выполни полную проверку:
# Проверить версию OpenCode: opencode --version # Проверить что конфиг подтянулся: ls -la ~/.config/opencode/opencode.json # Должен показывать symlink → ~/Projects/Ultima/configs/opencode.json
# Все ключи в окружении:
echo "OpenRouter: ${OPENROUTER_API_KEY:+✅ есть}"
echo "OpenCode Zen: ${OPENCODE_ZEN_API_KEY:+✅ есть}"
echo "Yandex Mail: ${YANDEX_EMAIL:+✅ есть}"
echo "Google Mail: ${GOOGLE_EMAIL:+✅ есть}"
# Яндекс: python3 -c "import imaplib; imaplib.IMAP4_SSL('imap.yandex.com').login('$YANDEX_EMAIL','$YANDEX_APP_PASSWORD').logout(); print('✅ Яндекс Почта')" curl -s -o /dev/null -w '%{http_code}' -H "Authorization: OAuth $YANDEX_DISK_TOKEN" https://cloud-api.yandex.net/v1/disk/ && echo ' ✅ Яндекс Диск' # Google: python3 -c "import imaplib; imaplib.IMAP4_SSL('imap.gmail.com').login('$GOOGLE_EMAIL','$GOOGLE_APP_PASSWORD').logout(); print('✅ Gmail')" rclone ls ultima: --max-depth 1 >/dev/null 2>&1 && echo '✅ Google Drive'
# Проверить что Obsidian-память доступна: ls ~/Projects/Ultima/obsidian/ ls ~/Projects/Ultima/obsidian/knowledge-base/ ls ~/Projects/Ultima/obsidian/memory/ # Проверить hooks: ls ~/Projects/Ultima/skills/ultima-memory-compiler/hooks/ # Сделать тестовую компиляцию: cd ~/Projects/Ultima make snapshot
# Список всех навыков: python3 -c "import json; c=json.load(open('configs/opencode.json')); print(f'Всего навыков: {len(c[\"skills\"])}'); [print(f' {k}') for k in sorted(c['skills'].keys())]" # Должно быть 54+ навыка
# Запустить агента с тестовой задачей: opencode --prompt "Привет! Напиши список из 3 вещей, которые ты умеешь делать." # Агент ответит — значит всё работает!
| Раздел | Ссылка |
|---|---|
| Весь проект Ultima | ivanchepurnov.ru/ultima/ |
| Дашборд с аналитикой | ivanchepurnov.ru/dashboard/ |
| Установка на сервер | → Заказать в Telegram |
| Курс «Нейросети для нулевых» | ivanchepurnov.ru/ultima/#program |