Назад к программе

День 1 – Установка и первый диалог

Установка AI-агента на VPS, подключение к ДуровГрам, знакомство, первый разговор. 90 минут.

Скопируй всю страницу и отправь своему Claude Code или ChatGPT – они помогут пройти этот день

Содержание

Внимание: технические сложности на эфире

На эфире возникли технические сложности при подключении к VPS через терминал. Примерно с 55 минуты контент уже неактуален – смотрите видео-инструкцию ниже, там весь процесс показан без ошибок.

Таймкоды

0:00 Приветствие, начало записи
1:47 План дня: зачем агенты, установка на VPS, Telegram
5:00 Кто уже использует Claude Code (опрос)
10:01 Почему Claude Code, модели, подписки
15:01 Скиллы, экосистема, юзкейсы
25:03 Telegram как интерфейс, мультиагентность
30:03 Оплата, VPN, варианты подключения
35:04 Покупка VPS на Hetzner Cloud
40:05 Что такое SSH, подключение к серверу
50:08 SSH-ключи, подключение через терминал
55:08 Инсталлер EdgeLab, установка агента
1:00:13 Подключение к VPS (технические сложности)
1:10:14 Создание Telegram-бота через BotFather
1:15:14 API-ключ Anthropic
1:20:15 Авторизация Claude Code
1:25:15 Первое общение с агентом
1:35:17 Подключение Telegram Gateway
1:40:19 Gateway работает, общение через Telegram
1:55:19 Подключение второго агента (Richard)
2:20:33 Q&A: bypass permissions, настройки
2:35:48 Подключение через Cursor (Remote-SSH)
2:58:01 Bypass Permissions, упрощение инструкции
3:08:12 Установка Cursor, финальные вопросы
Скачать транскрипт эфира (MD) Открыть майндкарту воркшопа Оставить отзыв

Урок: как с нуля поставить первого агента

Таймкоды

00:00Начало. Что будем делать
01:30Подключение к VPS по SSH
04:50Запуск инсталлера EdgeLab
09:20Создание Telegram-бота через BotFather
12:00Узнаём свой Telegram ID
14:30Авторизация Claude Code (OAuth)
20:15Первый диалог с агентом
25:40Проверка установки – тесты
30:10Скиллы и Superpowers
38:00Знакомство – onboarding и USER.md
44:20Настройка характера – CLAUDE.md
50:00Richard – root-агент для починки
55:30Итоги и домашнее задание
Скачать транскрипт урока (MD) Открыть майндкарту воркшопа Оставить отзыв

1. Вступление и архитектура – 10 мин

Что такое AI-агент

AI-агент – это не чат. Это программа, которая сама выполняет действия: пишет код, запускает команды, создаёт файлы, помнит контекст между сессиями.

Обычный ChatGPT – это собеседник. Claude Code – это исполнитель. Ты говоришь «сделай» – он делает.

Agent-Native подход: вы не набираете команды сами

Прошлый сценарий был «терминал + пара длинных команд». Новый – вы разговариваете с Claude через Cursor, и он сам запускает команды на VPS. Команду curl edgelab.su/install | sudo bash тоже будет вводить не вы, а агент.

Это тренировка: к концу Дня 1 вы привыкнете поручать агенту, а не печатать вручную.

Три Claude Code на одном VPS

К концу урока на VPS будет работать три независимых Claude Code. Одна подписка Anthropic Max, три отдельных OAuth-токена в трёх ~/.claude/ папках – это разрешено Anthropic.

┌─────────────────────────────────────────────────────────┐
│ VPS (Ubuntu 22/24)                                       │
│                                                          │
│  user=root                    user=edgelab               │
│  ┌────────────────────┐       ┌─────────────────────┐    │
│  │ Claude Code #1     │       │ Claude Code #2      │    │
│  │ (временный)        │       │ JARVIS              │    │
│  │                    │       │ ├─ Bot Jarvis       │    │
│  │ только для блока 4 │       │ ├─ ~/.claude-lab/   │    │
│  │ – ставит инсталлер │       │ └─ systemd: gateway │    │
│  │   и уходит в тень  │       │ (основной агент)    │    │
│  │                    │       └─────────────────────┘    │
│  │                    │       ┌─────────────────────┐    │
│  │                    │       │ Claude Code #3      │    │
│  │                    │       │ RICHARD             │    │
│  │                    │       │ ├─ Bot Richard      │    │
│  │                    │       │ ├─ /opt/richard/    │    │
│  │                    │       │ └─ systemd: richard │    │
│  │                    │       │ (молчит, оживляет   │    │
│  │                    │       │  Jarvis когда он    │    │
│  │                    │       │  падает)            │    │
│  └────────────────────┘       └─────────────────────┘    │
│                                                          │
│  Anthropic Max – одна подписка на все три                │
└─────────────────────────────────────────────────────────┘

Зачем два Telegram-бота

  • Jarvis (бот №1) – с ним вы общаетесь каждый день. Голос, текст, напоминания, скиллы, онбординг. Имеет bypassPermissions – может менять файлы и запускать команды без подтверждения. Это «ваш Джарвис».
  • Richard (бот №2) – молчит 99% времени. Нужен только когда падает gateway у Jarvis и тот перестаёт отвечать. Тогда вы пишете Richard'у: «Jarvis молчит, посмотри логи и подними». Richard живёт в отдельном процессе, у него свой мост к Telegram, поэтому падение Jarvis на него не влияет. У него тоже все права – он подстраховка, а не песочница.

Почему не один бот с двумя ролями: если Jarvis упадёт, через его же бот написать «почини себя» нельзя – бот не отвечает. Нужен отдельный канал связи, которым в этот момент можно воспользоваться.

Что получим к концу дня

  • VPS с работающим Jarvis – голос, текст, 10 скиллов + Superpowers
  • Richard – страховка на соседнем процессе
  • Два бота в Telegram, оба отвечают
  • Jarvis знает, кто вы (прошёл /onboarding) и как с вами общаться
  • Cursor на ноутбуке, подключённый к VPS – так вы будете работать дальше

Проверка готовности

  • VPS с Ubuntu 22 или 24 (из Дня 0), root-пароль или SSH-ключ
  • Cursor (или VSCode) на ноутбуке – оба бесплатны для нашего сценария
  • Обходыч с европейским IP – для OAuth Anthropic
  • Аккаунт Gmail для входа в Anthropic
  • Подписка Anthropic Max или Pro – оформляется на тот же Gmail
  • Telegram на телефоне – чтобы создавать ботов через @BotFather и получать ID

Какой Gmail использовать

  1. Уже есть Anthropic-аккаунт (вы раньше пользовались Claude) используйте его.
  2. Анthropic-аккаунта нет, но есть основной Gmail регистрируйте Claude на него.
  3. Gmail нет заведите отдельный (можно купить готовый) и регистрируйте Claude на него.

Важно: оформите Anthropic Max или Pro ДО начала воркшопа. Без подписки Claude Code работать не будет, и вы застрянете на шаге OAuth.

2. Cursor + Remote-SSH как root – 15 мин

Цель блока: установить Cursor, подключиться к VPS как root прямо из Cursor. После этого вся работа идёт в одном окне – терминал, файлы, Claude.

Шаг 1. Установите Cursor (или VSCode)

Cursor – это форк VSCode с встроенным AI-режимом. В нашем сценарии мы будем использовать его как обычный редактор + терминал + Remote-SSH. AI-функции Cursor на VPS нам не нужны – там работает Claude Code, а не встроенный Cursor-AI.

  • Cursor: cursor.com – бесплатно для нашего сценария
  • VSCode: code.visualstudio.com – тоже бесплатно, можно использовать его

Дальше команды описаны для Cursor, в VSCode всё делается ровно так же – интерфейс общий.

Шаг 2. Установите расширение Remote-SSH

Откройте Cursor → боковая панель «Extensions» (Ctrl/Cmd+Shift+X) → найдите «Remote - SSH» (автор Microsoft) → Install.

Шаг 3. Сгенерируйте SSH-ключ (если его нет)

?Что такое SSH-ключ и зачем он

SSH-ключ – пара из двух файлов: приватный (секрет, лежит у вас) и публичный (кладётся на VPS). Сервер пускает по совпадению пары – без пароля и надёжнее.

Приватный (id_ed25519) – никому не показывайте. Публичный (id_ed25519.pub) – открытый, его копируют на сервер.

Откройте встроенный терминал Cursor (Ctrl/Cmd+`) и выполните на своём ноутбуке:

ssh-keygen -t ed25519 -C "your_email@example.com"

Нажимайте Enter на все вопросы. Ключ появится в ~/.ssh/id_ed25519 и ~/.ssh/id_ed25519.pub. На Windows – PowerShell, та же команда.

Посмотреть публичный ключ:

# macOS / Linux
cat ~/.ssh/id_ed25519.pub

# Windows PowerShell
Get-Content $HOME\.ssh\id_ed25519.pub

Шаг 4. Положите публичный ключ на VPS

Два способа – выберите удобный.

Способ A (рекомендуется): через панель хостинга. В Timeweb / VDSina / Hetzner / DigitalOcean при создании VPS есть поле «SSH-ключ» – вставьте туда содержимое id_ed25519.pub целиком. После установки VPS ключ уже на месте.

Способ B: на уже созданный VPS через пароль.

ssh-copy-id root@IP_ВАШЕГО_VPS

Замените IP_ВАШЕГО_VPS на реальный IP. Команда попросит пароль root один раз – после этого ключ уже на сервере.

Шаг 5. Подключитесь к VPS через Cursor Remote-SSH

  1. В Cursor нажмите F1 (или Ctrl/Cmd+Shift+P) – откроется command palette
  2. Введите «Remote-SSH: Connect to Host...» и выберите
  3. Выберите «+ Add New SSH Host...»
  4. Введите строку: ssh root@IP_ВАШЕГО_VPS
  5. Выберите файл конфига (обычно ~/.ssh/config)
  6. Снова F1 → «Remote-SSH: Connect to Host...» → выберите свой сервер
  7. Откроется новое окно Cursor, внизу слева синий индикатор «SSH: root@...»

Откройте встроенный терминал в этом окне (Ctrl/Cmd+`) – вы уже на VPS под root. Проверьте:

whoami       # должно быть: root
hostname     # должно показать имя VPS
echo $HOME   # должно быть: /root

С этого момента всё, что вы делаете в терминале Cursor – делается на VPS под root. Это ваш рабочий кабинет до конца Дня 1.

Не получается подключиться? Скопируй и вставь в свой Claude

Если SSH не подключается, скопируй промпт ниже и отправь его в Claude Code или ChatGPT – он поможет разобраться.

Помоги мне подключиться к VPS по SSH через Cursor (Remote-SSH).

Мои данные:
- IP VPS: [ВСТАВЬ IP СВОЕГО VPS]
- ОС VPS: Ubuntu (22.04 или 24.04)
- Мой компьютер: [macOS / Windows / Linux]
- Подключаюсь как: root

Что я уже сделал:
1. Установил Cursor (или VSCode)
2. Установил расширение Remote-SSH
3. [Опиши, что сделал и на чём застрял]

Ошибка:
[Вставь текст ошибки, если есть]

Помоги пошагово:
1. Проверь, есть ли у меня SSH-ключ (~/.ssh/id_ed25519 или id_rsa)
2. Если нет – помоги сгенерировать
3. Помоги скопировать ключ на VPS
4. Проверь, что подключение работает (ssh root@IP)
5. Помоги настроить Remote-SSH в Cursor – config файл, подключение
6. Если ошибка – объясни причину и как починить

Тест: подключение работает

Проверьте все три условия в терминале Cursor:

whoami && hostname && cat /etc/os-release | grep PRETTY_NAME

Ожидаемый результат: root, имя VPS, Ubuntu 22.04 или 24.04.

3. Claude Code под root – временный – 10 мин

Этот Claude Code живёт только один день. Мы ставим его под root, чтобы он сам запустил инсталлер в блоке 4. После инсталлера он нам больше не нужен – всё важное будет под пользователем edgelab. Не настраивайте его глубоко, не грузите скиллы – он служебный.

Шаг 1. Установите Claude Code

В терминале Cursor (вы под root, проверили в блоке 2):

curl -fsSL https://claude.ai/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
claude --version

claude --version должен показать номер версии (например 2.1.114). Это подтверждение, что бинарь установлен в /root/.local/bin/claude.

Шаг 2. OAuth №1 – claude login под root

claude login

5 шагов OAuth

  1. Меню из 3 опций – выберите первую: «Subscription (Claude Max, Pro)». НЕ выбирайте «Console» или «3rd-party».
  2. Терминал напечатает длинный URL и строку Paste code here if prompted >. Скопируйте URL, откройте в браузере через обходыч, войдите своим Gmail (тем, на котором Max-подписка). Браузер покажет код авторизации.
  3. Скопируйте код из браузера и вставьте обратно в терминал Cursor. Нажмите Enter.
  4. Security notes – терминал напечатает правила безопасности, нажмите Enter для подтверждения.
  5. Вы окажетесь внутри чата Claude Code (появится приглашение ). Авторизация прошла. Чтобы выйти обратно в shell – введите /exit или нажмите Ctrl+C.

Токен лёг в /root/.claude/.credentials.json – это OAuth №1. Он обслуживает только root-Claude.

Типичная ошибка: ученики пишут login или /login прямо внутри чата Claude – это НЕ нужно, вы уже авторизованы. Просто введите /exit.

Шаг 3. Проверьте, что root-Claude работает

В терминале (не внутри чата, а в обычном shell):

claude --version && ls -la /root/.claude/.credentials.json

Версия должна быть видна, файл .credentials.json – существовать с правами 600.

Тест: root-Claude готов к работе

Запустите claude ещё раз и спросите его самого:

Под каким пользователем ты запущен? Выполни whoami и echo $HOME. Это должен быть root – иначе я ошибся, предупреди меня.

Ожидаемый ответ: агент показывает root и /root. Если нет – вернитесь в блок 2, проверьте Remote-SSH-сессию.

4. root-Claude запускает инсталлер – 20 мин

Самое интересное. Вы не вводите ни одной длинной команды – вы поручаете root-Claude, он ставит инсталлер, отвечает на его вопросы, проверяет результат.

Шаг 1. Запустите root-Claude в режиме bypass

Под root обычный --dangerously-skip-permissions не работает (он намеренно заблокирован Anthropic). Но Claude Code всё равно может выполнять команды – просто будет спрашивать подтверждение. Для нашего сценария этого достаточно: вы принимаете одним-двумя Enter.

Запустите:

cd /root && claude

Шаг 2. Дайте агенту задание – инсталлятор EdgeLab

Отправьте в чат Claude сообщение (скопируйте блок целиком):

Скопируй и вставь в свой Claude

Ты – root-Claude, временный агент на этом VPS. Задача одна: запусти
официальный инсталлер EdgeLab и проконтролируй, что он отработал до конца.

Команда:
  curl -fsSL https://edgelab.su/install | sudo bash

Инсталлер – идемпотентный, можешь перезапускать без страха.

По ходу он спросит:
- имя агента – скажу тебе ниже
- роль агента – скажу тебе ниже
- моё имя (как ко мне обращаться)
- таймзона в IANA (например Europe/Moscow)
- язык общения (русский)
- Telegram bot token для Jarvis – Enter (добавим в следующем блоке)
- Мой Telegram user id – Enter
- Groq API key (для голоса) – Enter

Проверь в конце:
1. Создан пользователь edgelab: id edgelab
2. Стоят Node 22 и Python 3.12+
3. Установлен Jarvis gateway (claude-gateway.service): systemctl status claude-gateway
4. Установлен Richard bridge (claude-richard.service): systemctl status claude-richard
5. Создан workspace: ls /home/edgelab/.claude-lab/
6. Есть sudoers-файл: ls /etc/sudoers.d/edgelab-agents
7. Под edgelab Claude НЕ залогинен пока – это нормально, логинимся дальше
8. Покажи финальный баннер инсталлера.

Имя агента: Jarvis
Роль: персональный AI-ассистент
Моё имя: [СКАЖИТЕ ЗДЕСЬ, КАК ВАС ЗОВУТ]
Таймзона: [НАПРИМЕР Europe/Moscow]
Язык: русский

Если увидишь ошибку – покажи её и скажи, как чинить.

Если команда виснет на «Connection timed out»

У некоторых российских провайдеров заблокирован IP сервера, на котором лежит редирект edgelab.su/install. В этом случае попроси root-Claude использовать прямой адрес GitHub – инсталлер тот же:

curl -fsSL https://raw.githubusercontent.com/qwwiwi/edgelab-install/main/install.sh | sudo bash

Если и этот URL не отвечает – включи VPN и повтори.

Клод выполнит curl ... | sudo bash, инсталлер начнёт работать. Клод будет подтверждать шаги – иногда он остановится и спросит «разрешить?» – отвечайте y или «да». Это нормальная защита Claude Code под root.

Что именно сделает инсталлер (то, что вам не нужно запоминать)

  • Обновит систему, установит базовые пакеты
  • Создаст системного пользователя edgelab с домашней /home/edgelab
  • Поставит Node.js 22 и Python 3.12+ глобально
  • Установит claude в /home/edgelab/.local/bin/claude (это Claude Code для Jarvis и Richard)
  • Развернёт workspace Jarvis: /home/edgelab/.claude-lab/jarvis/ (CLAUDE.md, USER.md, скиллы, память)
  • Поставит Jarvis Telegram gateway из qwwiwi/jarvis-telegram-gateway
  • Поставит Richard bridge из RichardAtCT/claude-code-telegram в /opt/richard/
  • Создаст два systemd-сервиса: claude-gateway (Jarvis) и claude-richard (Richard)
  • Пропишет passwordless sudo для обоих агентов в /etc/sudoers.d/edgelab-agents – узкий набор: systemctl, journalctl, apt для нужных сервисов
  • Настроит 10 базовых скиллов + плагин Superpowers
  • Покажет финальный баннер с двумя задачами на следующий блок: создать бот Jarvis, создать бот Richard, передать токены агенту

Семантическая память (OpenViking / Cognee) настраивается на Дне 2. Сегодня – только Jarvis и Richard.

Что если инсталлер упал

Скорее всего root-Claude сам покажет ошибку и предложит перезапустить. Если он молчит – напишите ему:

Покажи последние 50 строк journalctl -u claude-gateway и journalctl -u claude-richard. Если инсталлер оборвался – перезапусти curl -fsSL https://edgelab.su/install | sudo bash и продолжи с места падения.

Тест: инсталлер отработал

Спросите root-Claude:

Проверь всё, что должен был сделать инсталлер. Формат – таблица:

[Проверка | Команда | Ожидаемо | Факт | OK/FAIL]

1. Пользователь edgelab существует – id edgelab – uid>=1000
2. Node.js 22+ – node -v – v22.x
3. Python 3.12+ – python3 --version – 3.12 или выше
4. claude для edgelab – sudo -u edgelab bash -lc 'which claude' – /home/edgelab/.local/bin/claude
5. Workspace Jarvis – ls /home/edgelab/.claude-lab/jarvis/.claude/ – CLAUDE.md, USER.md, skills/
6. Сервис Jarvis – systemctl is-active claude-gateway – active
7. Сервис Richard – systemctl is-active claude-richard – active
8. Sudoers – ls -la /etc/sudoers.d/edgelab-agents – файл есть, права 0440
9. Скиллы – ls /home/edgelab/.claude-lab/jarvis/.claude/skills/ | wc -l – 10
10. Superpowers – ls /home/edgelab/.claude/plugins/superpowers/skills/ | wc -l – около 15

Если где-то FAIL – скажи, что конкретно сломалось и как починить.

Ожидаемый результат: все 10 пунктов OK. Боты пока не запустились (нет токенов) – это нормально, исправим в следующем блоке.

5. Два ДуровГрам-бота + OAuth для Jarvis – 15 мин

Инсталлер уже поставил два сервиса, но они не стартуют – нет токенов и не залогинен Claude под edgelab. Чиним.

Шаг 1. Создайте двух ботов в @BotFather

Откройте Telegram → найдите @BotFather → и создайте двух разных ботов, по одному на каждого агента.

Бот №1 – Jarvis (ваш основной):

  1. Отправьте /newbot
  2. Имя бота (отображаемое): например «Jarvis» или «Мой AI Агент»
  3. Username: должен заканчиваться на bot, например my_jarvis_agent_bot
  4. Скопируйте токен Jarvis – строка вида 7123456789:AAHx...

Бот №2 – Richard (страховка):

  1. Снова /newbot
  2. Имя: например «Richard» или «Мой Server Doctor»
  3. Username: например my_richard_doctor_bot
  4. Скопируйте токен Richard

Шаг 2. Узнайте свой Telegram user_id

  1. Найдите @userinfobot в Telegram
  2. Отправьте ему любое сообщение
  3. Он ответит вашим ID – число вроде 164795011

Шаг 3. Дайте root-Claude три значения и пусть настроит обоих

Вернитесь в Cursor → в тот же чат с root-Claude (или запустите claude заново) → отправьте:

Скопируй и вставь в свой Claude

Настрой обоих Telegram-ботов: Jarvis (основной) и Richard (страховка).

Jarvis bot token:      [ВСТАВЬТЕ ТОКЕН JARVIS]
Richard bot token:     [ВСТАВЬТЕ ТОКЕН RICHARD]
Мой Telegram user_id:  [ВСТАВЬТЕ ID]

Что надо сделать:
1. Jarvis gateway:
   - Пропиши bot_token и allowed_user_ids=[id] в /home/edgelab/claude-gateway/config.json
   - Поменяй владельца файла на edgelab:edgelab
   - Перезапусти: systemctl restart claude-gateway
   - Покажи journalctl -u claude-gateway -n 30 – убедись что нет ошибок

2. Richard bridge:
   - Пропиши TELEGRAM_BOT_TOKEN и ALLOWED_USERS=id в /opt/richard/.env
   - Поменяй владельца на edgelab:edgelab
   - Перезапусти: systemctl restart claude-richard
   - Покажи journalctl -u claude-richard -n 30

3. Проверь токены через Telegram API (не светя их мне обратно, только первые 10 символов):
   curl -s https://api.telegram.org/botTOKEN/getMe | jq .result.username
   – для обоих

После всего напиши итог: оба сервиса active, оба getMe вернули username.

root-Claude внесёт токены в конфиги. Файлы владеют edgelab:edgelab – это важно, иначе сервисы не прочитают.

Шаг 4. OAuth №2 – claude login под edgelab

Теперь – вход в Claude Code под пользователем edgelab. Это обслуживает Jarvis и Richard (они оба работают под edgelab, делят один OAuth-токен в /home/edgelab/.claude/). Команда открывает интерактивный чат, поэтому запустите её в отдельном терминале Cursor – не через root-Claude:

sudo -u edgelab -i bash -lc 'claude login'

Пройдите OAuth так же, как в блоке 3 (меню → URL → код → security notes → /exit). Та же Max-подписка, но отдельный токен для пользователя edgelab.

После выхода из чата – перезапустите оба сервиса, чтобы они подхватили токен:

systemctl restart claude-gateway claude-richard
systemctl status claude-gateway claude-richard --no-pager

Шаг 5. Проверка: оба бота пишут «я на связи»

Откройте в Telegram бот Jarvis, отправьте любое сообщение, например «Привет». Он должен ответить. Затем откройте бот Richard, отправьте «/start» или «проверка связи» – он тоже должен ответить.

Если кто-то молчит – вернитесь в Cursor и попросите root-Claude:

Jarvis [или Richard] не отвечает в Telegram. Покажи journalctl -u claude-gateway -n 50 [или -u claude-richard], найди ошибку, почини и перезапусти. Проверь токен через api.telegram.org/getMe.

Тест: оба агента онлайн

Спросите root-Claude:

Финальная проверка обоих агентов. Формат – таблица [Компонент | Статус | Детали]:

1. Сервис Jarvis активен – systemctl is-active claude-gateway
2. Сервис Richard активен – systemctl is-active claude-richard
3. Токен Jarvis работает – curl getMe username
4. Токен Richard работает – curl getMe username
5. OAuth под edgelab – sudo -u edgelab test -f /home/edgelab/.claude/.credentials.json
6. Passwordless sudo для edgelab – sudo -u edgelab sudo -n systemctl is-active claude-gateway (должно работать без пароля)
7. Права файла Jarvis config – stat -c '%U:%G %a' /home/edgelab/claude-gateway/config.json (edgelab:edgelab, 600)
8. Права файла Richard .env – stat -c '%U:%G %a' /opt/richard/.env (edgelab:edgelab, 600)

В конце – вердикт: ГОТОВ / НЕ ГОТОВ.

Ожидаемо: все 8 пунктов OK. Оба бота отвечают в Telegram.

6. Первый диалог с Jarvis – 15 мин

С этого момента Cursor и root-Claude вам не нужны. Общайтесь с Jarvis через его Telegram-бот – голосом или текстом. Cursor оставьте открытым на всякий случай.

Шаг 1. Представьтесь

Откройте бот Jarvis в Telegram и отправьте голосовое сообщение:

Скопируй и отправь Jarvis

Привет, меня зовут [ваше имя], я [кем работаете / чем занимаетесь]. Хочу, чтобы ты помогал мне с [чем именно]. Запусти онбординг.

Что произойдёт

  • Jarvis запустит скилл onboarding – задаст уточняющие вопросы
  • Вы отвечаете голосом, скилл self-compiler работает фоново и обновляет USER.md и CLAUDE.md
  • Jarvis запомнит ваше имя, стиль общения, цели

Поговорите с ним 5–10 минут. Расскажите, чем занимаетесь, какие задачи решаете, как хотите чтобы он общался (на ты / на вы, коротко / развёрнуто, с эмодзи / без).

Шаг 2. Попросите показать, что он уже умеет

Отправьте (текстом или голосом):

Перечисли, какие скиллы у тебя есть из коробки. Для каждого – одна строка: что делает и когда сработает.

Jarvis прочитает свои SKILL.md и покажет список. Из коробки установлены:

Скилл Что делает Когда сработает
onboardingПошаговый мастер знакомстваПервый разговор
self-compilerУчится на разговорах, обновляет CLAUDE.mdФоново, всегда
groq-voiceРасшифровка голосовыхПри войсе
presentКрасивые HTML-документыПо команде «сделай презентацию»
markdown-newИзвлечение web-страниц в MarkdownПри ссылке на статью
quick-remindersНапоминания до 48 часов«Напомни через 2 часа»
perplexity-researchВеб-ресёрч в реальном времени«Загугли», «найди»
datawrapperГрафики и таблицыВизуализация данных
excalidrawДиаграммы и схемыРисование схем
youtube-transcriptТранскрипция видеоСсылка на YouTube

Плюс автоматически работает плагин Superpowers – 15 навыков над этими скиллами (task-tracking, TDD, subagents, brainstorming). Включается сам, ничего делать не надо.

Шаг 3. Напоминание – быстрый тест скилла

Напомни через 1 минуту проверить Jarvis

Через минуту придёт сообщение «проверить Jarvis». Это работает через cron – без расхода токенов.

Шаг 4. Внешний скилл – skill-finder

Попросите Jarvis установить публичный скилл – это базовый навык, понадобится всю неделю:

Установи скилл skill-finder из https://github.com/qwwiwi/skill-finder в мою директорию скиллов. Потом найди мне скилл для Google Docs.

skills.sh – сайт-каталог на 100 000+ скиллов, которым skill-finder пользуется как источником. На Дне 2 будете ставить скиллы под свои задачи.

Тест: Jarvis знает вас и что умеет

Отправьте Jarvis:

Короткий отчёт по итогам онбординга:

1. Покажи мой профиль из USER.md (имя, чем занимаюсь, цели)
2. Какой стиль общения я попросил – на ты/на вы, коротко/развёрнуто, эмодзи да/нет
3. Перечисли скиллы, которые у тебя установлены (сколько штук)
4. Назови, какой плагин работает поверх них

Если USER.md пустой, стиль не зафиксирован или скиллов меньше 10 – скажи, что конкретно нужно доделать.

Ожидаемый результат: USER.md заполнен, стиль определён, 10 базовых скиллов + Superpowers.

7. Когда звать Richard + итоги – 5 мин

Richard – ваша страховка

В обычный день вы не пишете Richard'у. Он живёт, ест токены только когда вы ему пишете. Пишете вы ему в двух случаях:

  1. Jarvis молчит / не отвечает в Telegram. Это значит, что упал gateway Jarvis (или OAuth протух, или токен Telegram отозвали). Jarvis физически не может ответить «почини себя» – сам бот мёртв. Тогда вы пишете Richard'у.
  2. Jarvis отвечает ерунду после апдейта или правки конфига. Richard – тот же Claude Code, тот же доступ, но в отдельном процессе. Он может диагностировать Jarvis, не будучи им.

Типичные запросы Richard'у

Jarvis молчит. Покажи последние 50 строк journalctl -u claude-gateway. Если видишь явную ошибку – почини и перезапусти сервис.
Проверь /home/edgelab/.claude/.credentials.json – жив ли OAuth-токен. Если срок истёк – подскажи мне, как перелогинить Jarvis.
У Jarvis кончилось место на диске. Покажи df -h, du -sh в ~/.cache и ~/.claude-lab/jarvis/logs/, предложи, что почистить.

Richard может делать всё, что может Jarvis: читать файлы, править конфиги, запускать systemctl, journalctl, apt через passwordless sudo из /etc/sudoers.d/edgelab-agents. Права у них одинаковые – отличается только процесс и Telegram-бот.

Чеклист Дня 1

  • Cursor подключается к VPS как root через Remote-SSH
  • root-Claude установлен и авторизован (OAuth №1)
  • Инсталлер EdgeLab отработал – создан пользователь edgelab, поставлены оба агента
  • Jarvis gateway активен, Jarvis Telegram-бот отвечает
  • Richard bridge активен, Richard Telegram-бот отвечает
  • Claude под edgelab авторизован (OAuth №2)
  • Passwordless sudo настроен для обоих агентов
  • Jarvis знает, кто вы (USER.md заполнен через /onboarding)
  • 10 базовых скиллов + Superpowers на месте
  • skill-finder установлен

Финальная самодиагностика

Попросите Jarvis (основного агента, в его Telegram-боте):

Скопируй и отправь Jarvis

Полная самодиагностика Дня 1. Формат – таблица [Компонент | Статус | Детали]:

1. Я (Jarvis) запущен от edgelab – whoami должно быть edgelab
2. Richard жив – systemctl is-active claude-richard
3. Я (gateway) жив – systemctl is-active claude-gateway
4. OAuth edgelab – ls /home/edgelab/.claude/.credentials.json
5. CLAUDE.md и USER.md в ~/.claude-lab/jarvis/.claude/
6. 10 базовых скиллов + 1 skill-finder = 11 в skills/
7. Superpowers – ls ~/.claude/plugins/superpowers/skills/ | wc -l – около 15
8. Passwordless sudo работает – sudo -n systemctl is-active claude-gateway без пароля
9. Cron ротации памяти – crontab -u edgelab -l
10. Telegram API доступен – curl -s api.telegram.org | head -c 50
11. Проверка CLAUDE.md – скачай эталоны из https://github.com/qwwiwi/edgelab-claude-md (templates/global-claude.md и templates/workspace-claude.md), сравни со своим ~/.claude/CLAUDE.md и ~/.claude-lab/jarvis/.claude/CLAUDE.md. Покажи расхождения.
12. Проверка архитектуры – скачай эталон из https://github.com/qwwiwi/public-architecture-claude-code, сравни структуру папок ~/.claude-lab/jarvis/ с эталонной. Покажи, каких файлов/папок не хватает.
13. Проверка Jarvis gateway – скачай https://github.com/qwwiwi/jarvis-telegram-gateway, сравни с ~/claude-gateway/. Проверь: config.json заполнен (bot_token, user_id не пустые), gateway.py актуален, systemd unit claude-gateway активен. Покажи расхождения.

В конце – общий вердикт: ГОТОВ К ДНЮ 2 / НЕ ГОТОВ. Если не готов – список того, что починить.

Скопируй и отправь Richard

Скопируй промпт ниже и отправь его Richard'у в его Telegram-бот. Richard работает под пользователем edgelab и имеет passwordless sudo для системных команд – он починит. Альтернатива – отправить этот же промпт в Claude Code в терминале Cursor.

Richard, у меня в самодиагностике нашлись ошибки. Нужна твоя помощь.

Результат диагностики:
[сюда вставь таблицу, которую прислал агент]

Источники истины (скачай и сравни с тем, что у меня на VPS):

- CLAUDE.md (глобальный + агента): https://github.com/qwwiwi/edgelab-claude-md
- Архитектура (папки, хуки, settings.json): https://github.com/qwwiwi/public-architecture-claude-code
- Gateway (Jarvis Telegram-бот): https://github.com/qwwiwi/jarvis-telegram-gateway

Задача:

1) Установи скилл skill-finder, чтобы я мог искать готовые решения на skills.sh:
   mkdir -p ~/.claude/skills/skill-finder
   curl -fsSL https://raw.githubusercontent.com/qwwiwi/skill-finder/main/SKILL.md \
     -o ~/.claude/skills/skill-finder/SKILL.md

2) Скачай все три репозитория выше и сравни с тем, что у меня на VPS:

   CLAUDE.md:
   - Сравни ~/.claude/CLAUDE.md с шаблоном GLOBAL.md из edgelab-claude-md
   - Сравни ~/.claude-lab/<имя-агента>/.claude/CLAUDE.md с шаблоном WORKSPACE.md

   Архитектура:
   - Сравни settings.json, хуки (PreToolUse, PostToolUse, SessionStart)
   - Сравни скиллы в ~/.claude-lab/<имя-агента>/.claude/skills/
   - Проверь FILES-REFERENCE.md и HOOKS.md из public-architecture-claude-code

   Gateway:
   - Сравни ~/claude-gateway/ с jarvis-telegram-gateway
   - Проверь config.json, systemd-юнит, gateway.py

3) Расхождения, из-за которых возникли ошибки из моей диагностики – почини.
   Не трогай то, что работает корректно.

4) После починки прогони самодиагностику заново и пришли мне результат.

Объясняй по ходу, что и почему исправляешь. Если что-то не можешь починить – опиши проблему и предложи, что мне сделать вручную.

Домашка

  1. Поговорить с Jarvis 15 минут – попросить сделать что-то полезное для вашей работы (найти информацию, составить список, построить график).
  2. Через skill-finder найти и установить 2–3 скилла под свои задачи.
  3. Открыть CLAUDE.md (Jarvis покажет) и поправить вручную, если стиль ответа не совсем ваш.
  4. Один раз намеренно остановить Jarvissudo systemctl stop claude-gateway – и попросить Richard'а его поднять. Это тренировка сценария «Jarvis упал».

К вечеру: два AI-агента на VPS, Jarvis знает вас и готов к работе, Richard – страховка на соседнем процессе. Cursor остаётся окном к серверу.

Анонс Дня 2: авторский метод настройки Jarvis – роль, правила, контекст. Заполняем CLAUDE.md и USER.md под свои задачи, добавляем семантическую память.