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

День 2 – Авторский метод настройки агента

Как Даши заполняет папки Claude Code, какие файлы создаёт и как работает его агент

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

Таймкоды

0:00 Почему N8N устарел – агент заменяет автоматизацию
4:26 Кельтас получает аналитику ChatPlace голосовым
8:52 Агент настраивает ЗапретГрам-ответы и кодовые слова
13:18 Кельтас парсит и транскрибирует чужие Reels
17:44 Контент-ферма из SEO, Reels и ЗапретТюб через агентов
22:10 Агент заменяет сценариста – 100 идей за 15 минут
26:36 Кельтас анализирует Reels и готовит ТЗ монтажеру
31:02 Воронка продаж: агент анализирует диалоги в чатах
35:28 Сильвана обновляет урок на воркшопе по команде
39:54 Оркестрация: CLAUDE.md как главный контекст агента
44:20 CLAUDE.md – принципы и лимит 200 строк
48:46 Skill Creator: скилл для создания скиллов
53:12 Rules и Learnings – слои памяти и самообучение
57:38 Как агент учится через обратную связь в Learnings
1:02:04 Скиллы как активы – TOV и перенос между LLM
1:06:30 GWS-скилл: агент ведет Google-почту и календарь
1:10:56 Hot, Warm, Cold память – как агент экономит токены
1:15:22 OpenViking – семантический Layer 4 за пару долларов
1:19:48 Сильвана анализирует месяц Edge Lab через Cognee
1:24:14 Тралл рисует агентскую систему через Excalidraw
1:28:40 Edge Hub – агенты сообщества консультируют друг друга
1:33:06 Сильвана готовит урок про OpenViking – дает добро
1:37:32 Один агент под Edge Lab: скиллы вместо интерфейсов
1:41:58 IDE vs терминал: как подключать Claude Code к серверу
1:46:24 Arthas как Second Brain – inbox, Wiki и сортировка идей
1:50:50 Домашнее задание: OpenAI API и эмбеддинги для памяти
1:55:16 Obsidian – хайп, Cognee vs OpenViking для новичков
1:59:42 Дизайн через Claude.ai – скилл EdgeLab Design
2:04:08 Агент как менеджер – квалификация лидов и продажи
2:08:34 Агент анализирует созвоны и помогает собрать оффер
2:13:00 Сильвана рисует блок-схему агентов через Excalidraw
2:17:26 Агенты меняют тип управления – не автоматизация
2:21:52 Финал эфира – агент загрузит запись сам
Скачать транскрипт эфира (MD) Открыть майндкарту воркшопа Оставить обратную связь
Обязательно к настройке

CLAUDE.md – фундамент твоего агента

Без этих файлов агент не знает кто ты, на каком языке отвечать и по каким правилам работать. Это первое, что он читает при старте КАЖДОЙ сессии. Правильно заполненный CLAUDE.md = агент работает так, как тебе нужно, с первой секунды.

Каскад загрузки при старте сессии
Уровень 1 – глобальный
~/.claude/CLAUDE.md
Личность, язык общения, правила безопасности, git, стиль. Загружается для ВСЕХ проектов агента.
+
Уровень 2 – проектный
<workspace>/CLAUDE.md
Роль конкретного агента: Jarvis – личный чат-агент с памятью и привычками. У Richard-а отдельно свой тоже может быть.
Почему это критично
  • Память живёт в файлах, не в чате. Чат стирается при /compact или новой сессии – CLAUDE.md остаётся и загружается автоматически.
  • Глобальный – фундамент, проектный – специализация. Два уровня разделяют общие правила и роль конкретного агента. У тебя на VPS два агента (Jarvis чат + Richard server-doctor) и глобальный CLAUDE.md работает на оба.
  • Без CLAUDE.md агент – чистый лист. Не знает имя владельца, язык, таймзону, ограничения. Каждую сессию начинает с нуля.
Тест: агент сам себя продиагностирует

Скопируй промпт целиком, отправь Jarvis-у в ДуровГрам. Агент выполнит все проверки, сравнит твою настройку с эталонным шаблоном из инсталлера и выдаст отчёт PASS/FAIL по каждому пункту. Никаких ручных bash-команд – всё делает сам.

Промпт для Jarvis скопируй целиком →
Проведи самодиагностику архитектуры памяти CLAUDE.md. Выполни все 5 проверок, приложи источники, выдай итоговую таблицу PASS/FAIL.

Источники истины (скачай и сравни с тем, что у меня на 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. Глобальный CLAUDE.md
   Выполни: ls -la ~/.claude/CLAUDE.md
   Если файл есть – прочитай его через Read. Извлеки: имя владельца, язык, таймзону, количество строк.
   Скачай эталон: https://raw.githubusercontent.com/qwwiwi/edgelab-claude-md/main/GLOBAL.md
   Сравни по разделам: Identity, Owner, Core principles, Security, Language policy.
   Плейсхолдеры в эталоне должны быть заполнены в моём файле.
   Если файла нет – зафиксируй FAIL.

2. Проектный CLAUDE.md (Jarvis)
   Выполни: ls -la ~/.claude-lab/jarvis/.claude/CLAUDE.md
   Если файл есть – прочитай, перескажи роль агента одним предложением.
   Скачай эталон: https://raw.githubusercontent.com/qwwiwi/edgelab-claude-md/main/WORKSPACE.md
   Сравни структуру и ключевые секции.

3. Каскад загрузки
   Перечисли ВСЕ CLAUDE.md-файлы, которые ты сейчас видишь в контексте этой сессии, с полными путями.
   Должно быть минимум 2: глобальный + проектный.
   Если видишь только один – каскад сломан.

4. Архитектура памяти
   Скачай: https://github.com/qwwiwi/public-architecture-claude-code
   Сравни у меня на VPS:
   - ~/.claude-lab/jarvis/.claude/settings.json – хуки, пермишены
   - Скиллы в ~/.claude-lab/jarvis/.claude/skills/
   - Структуру папок по FILES-REFERENCE.md и HOOKS.md из репо

5. Jarvis gateway
   Скачай: https://github.com/qwwiwi/jarvis-telegram-gateway
   Сравни с ~/claude-gateway/:
   - config.json – формат, обязательные поля
   - gateway.py – версия
   - systemd: systemctl status claude-gateway

В конце выдай:
   а) таблицу: | Проверка | Статус | Что нашёл |
   б) если где-то FAIL – предложи конкретный фикс (одной командой или правкой)
   в) список источников, откуда ты брал эталон и правила архитектуры.

Источники для справки:
- qwwiwi/edgelab-claude-md – эталонные шаблоны CLAUDE.md (GLOBAL.md + WORKSPACE.md)
- qwwiwi/public-architecture-claude-code – референс архитектуры памяти, хуков, скиллов
- qwwiwi/jarvis-telegram-gateway – эталон gateway (config.json, gateway.py, systemd)
- docs.claude.com/en/docs/claude-code/memory – официальные доки Anthropic
Источники (где всё это описано)

Теория – как работает память AI-агента

Полный разбор: 4 слоя памяти, хуки, оптимизация токенов, самообучение. То, что отличает болванку Claude от агента с памятью.

Содержание
  1. 01Зачем нужна система памяти
  2. 02Структура папок
  3. 034 слоя памяти
  4. 04Что грузится при старте сессии
  5. 05HOT-память: журнал разговоров
  6. 06Крон-скрипты: автоматическая ротация
  7. 07Хуки: автоматизация без участия агента
  8. 08Оптимизация токенов
  9. 09Стратегия моделей
  10. 10Семантический поиск (L4)
  11. 11Learnings v2: самообучение
  12. 12Три сценария загрузки
  13. 13Репозитории и тесты
  14. 14Промпт для самоаудита
01Зачем нужна система памяти

Базовое контекстное окно Claude Code – 1 000 000 токенов (1М). Но есть проблема:

  • Качество агента деградирует после ~50% заполнения
  • На 800K+ агент начинает игнорировать инструкции
  • Без управления памятью HOT-файл растёт до 80KB+ за день
Решение: рабочее окно 400К

Мы устанавливаем CLAUDE_CODE_AUTO_COMPACT_WINDOW=400000 – единственная настройка, которую нужно менять. Автокомпакция срабатывает на 400К вместо дефолтных 800К. Рекомендация Бориса Черни (руководитель Claude Code в Anthropic). Все расчёты ниже – относительно 400К рабочего окна, не 1М.

Аналогия

Без системы памяти ваш агент – goldfish с амнезией. Каждая новая сессия – как первый день на работе.

02Структура папок

Каждая папка в .claude/ отвечает за свой слой:

.claude/
├── CLAUDE.md              # SOUL – личность, роль, стиль, границы
├── settings.json          # Настройки: env, хуки, permissions
├── core/
│   ├── USER.md            # Профиль владельца
│   ├── rules.md           # Операционные правила и границы
│   ├── AGENTS.md          # Справочник агентов (on-demand)
│   ├── MEMORY.md          # Холодная память, индекс уроков
│   ├── LEARNINGS.md       # Архив уроков из ошибок
│   ├── warm/
│   │   └── decisions.md   # Ключевые решения (14 дней)
│   └── hot/
│       ├── handoff.md     # Последние 10 записей (в контексте)
│       ├── recent.md      # Полный журнал (НЕ грузится в сессию)
│       └── archive/       # Старые журналы по датам
├── tools/
│   └── TOOLS.md           # Справочник инструментов (on-demand)
├── skills/                # Скиллы – переиспользуемые навыки
├── hooks/                 # Shell-скрипты для автоматизации
└── scripts/               # Крон-скрипты для ротации памяти
Принцип разделения

В контекст при старте попадают только 4 файла через @include: USER.md, rules.md, decisions.md, handoff.md. Всё остальное (AGENTS.md, TOOLS.md, MEMORY.md, скиллы) – агент читает по запросу через Read tool. Это экономит ~18K токенов на каждой сессии.

034 слоя памяти
IDENTITY – CLAUDE.md + USER.md + rules.md
всегда в контексте
WARM – decisions.md (ключевые решения)
14 дней, в контексте
HOT – handoff.md (последние 10 записей из журнала)
при старте, в контексте
COLD – MEMORY.md, LEARNINGS.md
по запросу (Read tool)
L4 SEMANTIC – OpenViking
по запросу (curl)

Каждый слой загружается по-разному:

  • IDENTITY + WARM + HOT – автоматически при старте через @include
  • COLD – агент читает через Read tool, когда нужен старый контекст
  • L4 – агент ищет через curl, когда нужна информация старше 24 часов
04Что грузится при старте сессии
ФайлОтвечает заТокены
~/.claude/CLAUDE.mdГлобальные правила для всех проектов~3 200
~/.claude/rules/*.mdПравила по языкам (python, typescript, bash)~430
CLAUDE.md (SOUL)Личность агента, стиль, роль, границы~3 500
core/USER.mdПрофиль владельца: каналы, продукт, стиль~765
core/rules.mdОперационные правила: безопасность, границы~1 935
core/warm/decisions.mdКлючевые решения за последние 14 дней~1 400
core/hot/handoff.mdПоследние 10 записей из журнала450–1 800
ИТОГО~11–13K
Ключевой момент

11–13K токенов из 400К рабочего окна – это ~3% контекста. Остальные 97% – для работы. Полный журнал (recent.md) в сессию НЕ загружается – только handoff.md (последние 10 записей). AGENTS.md и TOOLS.md тоже НЕ грузятся при старте – агент читает их через Read tool по запросу. Экономия ~18K токенов.

05HOT-память: журнал разговоров

Gateway автоматически записывает каждое взаимодействие в recent.md:

### 2026-04-14 15:03 [own_voice]
Принц: (транскрипция голосового, 200 символов)
Агент: (сжатый ответ, 200 символов)

Теги источников:

ТегИсточник
own_textТекстовое сообщение
own_voiceГолосовое (транскрибация через Groq Whisper)
forwardedПересланное сообщение
external_mediaВнешние медиа
recent.md НЕ грузится в сессию

recent.md – это полный журнал. Он растёт до 80KB+ за день без сжатия. В контекст сессии попадает только handoff.md – последние 10 записей (~1–4 KB). Stop-хук извлекает их из recent.md при завершении сессии. Следующая сессия получает только сжатый handoff, не весь журнал.

06Крон-скрипты: автоматическая ротация
ВремяСкриптЧто делает
04:30rotate-warm.shWARM старше 14 дней → COLD
05:00trim-hot.shHOT старше 24ч → Sonnet сжимает → WARM
06:00compress-warm.shWARM больше 10KB → Sonnet пересжимает
06:30ov-session-sync.shHOT + WARM → OpenViking (семантика)
21:00memory-rotate.shCOLD больше 5KB → archive/YYYY-MM.md
Порядок важен

Сначала ротация WARM, потом сжатие HOT, потом пересжатие WARM, потом синхронизация в OpenViking. Sonnet используется для сжатия (не Opus) – экономия в 4 раза при том же качестве суммаризации.

07Хуки: автоматизация без участия агента

Хуки – это shell-команды на события жизненного цикла Claude Code. CLAUDE.md – рекомендация (~80% compliance). Хуки – принуждение (100%).

Базовые хуки (для любого агента):

  • block-dangerous.sh (PreToolUse → Bash) – блокирует rm -rf, git push --force, DROP TABLE, curl | bash. Exit 2 = операция отменена.
  • protect-files.sh (PreToolUse → Edit|Write) – защищает .env, .pem, .key, secrets/*, package-lock.json от случайного изменения.
  • log-commands.sh (PostToolUse → Bash) – логирует каждую команду в command-log.txt. Аудит.

Продвинутые хуки (мультиагентная система):

  • session-bootstrap.sh (SessionStart) – загружает топ-5 уроков из episodes.jsonl, проверяет inbox, ставит heartbeat online.
  • auto-recall.mjs (UserPromptSubmit) – отправляет промпт в OpenViking, возвращает релевантные воспоминания.
  • correction-detector.sh (UserPromptSubmit) – ловит фразы типа «не надо», «неправильно» – и триггерит запись урока.
  • review-reminder.sh (PostToolUse) – после 10+ правок напоминает запустить code review перед коммитом.
  • flush-to-openviking.sh (PreCompact) – перед компакцией сохраняет HOT+WARM в OpenViking. Ничего не теряется.
  • write-handoff.sh (Stop) – генерирует handoff.md. Следующая сессия начинается там, где закончилась предыдущая.

Конфигурация в settings.json:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": ".claude/hooks/block-dangerous.sh"
      }]
    }]
  }
}
08Оптимизация токенов

В settings.json нужна только одна env-переменная:

{
  "env": {
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "400000"
  }
}

Никаких других env-переменных менять не нужно. Не ставьте MAX_THINKING_TOKENS, SUBAGENT_MODEL, AUTOCOMPACT_PCT – оставьте дефолты. Модели управляются через стратегию, а не через env.

Terse Mode: экономия на выводе. Output-токены стоят в 5 раз дороже input (Opus: $15 vs $75 за 1М токенов). При рабочем окне 400К каждый лишний токен на счету. Добавьте в rules.md:

## Output style
Drop: articles (a/an/the), filler, pleasantries, hedging.
Fragments OK. Short synonyms.
Pattern: [thing] [action] [reason]. [next step].

До: «Sure! I'd be happy to help you with that. The issue is likely caused by a problem in the auth middleware.»

После: «Bug in auth middleware. Token expiry check uses < not <=. Fix:»

Экономия: ~75%. Агент пишет полный код и точные ошибки – сжимается только проза.

09Стратегия моделей
Принцип

Opus для кода и решений, Sonnet для субагентов. Без полумер – качество кода требует лучшую модель. Субагенты берут объём.

МодельРольДля чего
Opus 4.7PrimaryКод, ревью, планирование, координация
Sonnet 4.6SubagentsРесерч, поиск, анализ, сжатие памяти
Codex GPT-5.5OptionalDouble review (второе мнение рядом с Opus)
SonarOptionalВеб-ресерч, проверка фактов
МодельInputOutputОтносительно
Sonnet 4.6$3/M$15/M1x (базовая)
Opus 4.7$15/M$75/M~5x (окупается качеством)

На подписке Max ($100–200/мес) все модели включены. Стоимость = расход rate limit, не деньги. Sonnet для субагентов = быстрее ответ + меньше контекста.

Важно

Opus через OpenRouter – НИКОГДА. Только нативный Anthropic API или Anthropic Max подписка.

10Семантический поиск (L4)

L4 – это локальная семантическая база для долгосрочной памяти. Агент ищет по смыслу, не по ключевым словам.

Как работает:

  1. Stop hook или cron (06:30 UTC) загружает HOT + WARM в OpenViking
  2. OpenViking создаёт эмбеддинги автоматически
  3. При следующей сессии auto-recall.mjs ищет релевантную информацию
# Поиск
curl -X POST "http://localhost:1933/api/v1/search/find" \
  -H "X-API-Key: $KEY" \
  -d '{"query": "что решили по API", "limit": 10}'

Каждый агент пишет в свой namespace, но ищет по всем. Кросс-агентный поиск «из коробки».

11Learnings v2: самообучение

Агент записывает уроки из ошибок. Не просто «запомнить», а системно менять себя, чтобы ошибка не повторилась.

Как работает detection. Хук correction-detector.sh (UserPromptSubmit) сканирует каждое сообщение пользователя на триггерные слова:

КатегорияСлова
Прямые коррекции«не надо», «неправильно», «не так», «перестань»
Обвинительные вопросы«почему ты», «зачем ты», «ты забыла», «ты опять»
Сломанное состояние«сломал», «сломано», «не работает»
Повторные инструкции«я же говорил», «сколько раз»

При совпадении хук инжектирует напоминание: «КОРРЕКЦИЯ ОБНАРУЖЕНА. Запиши learning через learnings-engine.mjs capture».

Pipeline: от ошибки к системному изменению:

Коррекция от пользователя
  → correction-detector.sh (ловит триггер)
  → learnings-engine.mjs capture (записывает в episodes.jsonl)
  → learnings-engine.mjs score (вычисляет рейтинг)
  → learnings-engine.mjs lint (находит HOT/STALE/PROMOTE)
  → learnings-engine.mjs promote (меняет систему)

Формат записи (episodes.jsonl):

{
  "id": "EP-20260414-001",
  "ts": "2026-04-14T15:03:00Z",
  "type": "correction",
  "source": "prince",
  "context": "что произошло",
  "error": "что было не так",
  "rule": "правило на будущее",
  "impact": "high",
  "tags": ["workflow", "git"],
  "freq": 1,
  "status": "active"
}

Скоринг. Каждый эпизод получает композитный score (0–1):

ФакторВесКак считается
Recency (свежесть)40%Линейное затухание за 30 дней
Frequency (частота)30%Сколько раз повторилось (cap: 3)
Impact (критичность)30%critical=1.0, high=0.7, medium=0.4, low=0.1
Автоматические триггеры
  • Score > 0.8 или freq ≥ 3 → PROMOTE (изменение системы)
  • Score < 0.15 → STALE (архивировать, урок неактуален)
  • freq ≥ 3 → HOT (правило не работает, нужно менять систему)

Пирамида надёжности:

1. Память сессии
теряется при compact/reset
2. episodes.jsonl
топ-5 при старте, затухает через 30 дней
3. LEARNINGS.md
НЕ в контексте, из него создаются скиллы
4. TOOLS.md / SKILL.md
ищется grep'ом по запросу
5. CLAUDE.md / rules.md
всегда в контексте
6. Scripts / Hooks
выполняется автоматически
Принцип

Чем критичнее ошибка – тем выше по пирамиде она промоутится. Продакшн-баг → сразу в хук/скрипт.

Куда промоутится по тегам:

Теги эпизодаЦелевой файлOK владельца?
stack, models, toolsTOOLS.mdнет
workflow, communicationCLAUDE.md / SKILL.mdнет
security, gitrules.mdда
config, scprules.mdда

Зелёная зона (TOOLS.md, SKILL.md) – агент меняет автономно. Красная зона (rules.md, CLAUDE.md) – только с разрешения владельца.

12Три сценария загрузки
СценарийТокены% от 400К
После крона~27K~7%
Конец дня (до крона)~60K~15%
Крон сломан неделю~114K~29%

При рабочем окне 400К: после крона память занимает 7%, без крона – 15%. Если крон сломан неделю – 29%, что уже ощутимо. Сжатие существует для чистоты контекста и сохранения качества агента.

13Репозитории и тесты

1. public-architecture-claude-code – архитектура, шаблоны, скрипты, install.sh. github.com/qwwiwi/public-architecture-claude-code

2. jarvis-telegram-gateway – Gateway: Telegram → Claude Code. github.com/qwwiwi/jarvis-telegram-gateway

3. architecture-brain-tests – 800 тестов, проверяющих всё вышеописанное. github.com/qwwiwi/architecture-brain-tests

Категории тестов:

  • T20: безопасность (нет секретов в шаблонах, .gitignore)
  • T26: модели (правильные ID, запреты, double review)
  • T27: COMPACT_WINDOW (400K, 1М контекст)
  • T28: Learnings v2 (движок, скоринг, пирамида)
  • И ещё 25+ категорий
14Промпт для самоаудита

Скопируйте и отправьте своему агенту. Он проверит себя по всем правилам:

Memory:

  1. Есть ли CLAUDE.md? Сколько строк? (цель: до 200)
  2. Есть ли @include для USER.md, rules.md, decisions.md?
  3. Есть ли core/hot/recent.md? Какой размер?
  4. Есть ли core/warm/decisions.md?
  5. Настроены ли крон-скрипты для ротации памяти?

Settings:

  1. CLAUDE_CODE_AUTO_COMPACT_WINDOW установлен? (цель: 400000)

Models:

  1. Opus используется для кода и ревью?
  2. Sonnet используется для субагентов?
  3. Double review настроен (Opus + Codex GPT-5.5)?

Hooks:

  1. Есть ли PreToolUse хук для блокировки опасных команд?
  2. Есть ли PostToolUse хук для логирования?
  3. Есть ли Stop хук для записи handoff?

Security:

  1. .env, .key, .pem файлы в .gitignore?
  2. Секреты хранятся в secrets/ или shared/secrets/?
  3. Нет ли хардкоженных токенов/ключей в файлах?

Token optimization:

  1. CLAUDE.md меньше 200 строк?
  2. AGENTS.md и TOOLS.md грузятся on-demand, а не @include?
  3. Используется /compact между задачами?

Формат результата: Пройдено: X/18, Не пройдено: [список с рекомендациями].

Итого

Архитектура открыта. install.sh ставит всё за 2 минуты. 800 тестов проверяют, что ничего не сломано. Берите, адаптируйте, улучшайте. Базовое окно 1М, рабочее – 400К (CLAUDE_CODE_AUTO_COMPACT_WINDOW=400000). Остальное – архитектура памяти, хуки и дисциплина.

К вечеру: агент настроен по авторскому методу – знает контекст и задачи участника.

Домашнее задание

Подключи семантическую память – OpenViking + OpenAI

CLAUDE.md даёт агенту идентичность – имя, роль, правила. Но факты из разговоров (что ты решил, кого упомянул, какую цифру назвал) в CLAUDE.md руками записывать не будешь. Нужна долгосрочная семантическая память: агент сам складывает факты в хранилище и достаёт их по смыслу, а не по ключевым словам.

OpenViking – open-source «context database for AI agents» от volcengine (22K ★ на GitHub, Apache 2.0). На нём сейчас работает моя собственная долгосрочная память. Есть официальный Claude Code plugin: tools memory_recall, memory_store, memory_forget, memory_health плюс hooks (auto-recall на каждый запрос, auto-capture при остановке сессии).

OpenViking бесплатный и open-source, но для извлечения смысла обращается к моделям OpenAI (можно Ollama локально, но для учебного воркшопа OpenAI проще и быстрее). Нужен OpenAI API key и $5 на балансе – хватит на месяцы при нашей нагрузке.

Простыми словами: API key, embeddings, VLM
  • API key – твой личный пароль к OpenAI. Создаётся в кабинете за 1 клик, начинается с sk-.... Оплата по факту: копейки за embeddings, рубли за LLM. $5 на балансе – буфер на месяцы.
  • Embeddings – модель превращает текст в вектор (набор 1536 чисел). «Владелец – Даши» становится точкой в 1536-мерном пространстве. Через месяц ты спросишь «кто мой хозяин?» – OpenViking считает вектор запроса и ищет ближайшие точки. Так работает поиск по смыслу, а не по ключам. Модель: text-embedding-3-small – $0.02 за 1M токенов, почти бесплатно.
  • VLM / LLM – читает большие тексты (100 KB статья, час диалога) и сжимает в два уровня: L0 (~100 токенов – абстракт одной строкой), L1 (~2000 токенов – подробный пересказ). Агент в 95% случаев читает L1/L0, не оригинал – экономит контекст. Модель: gpt-4o-mini – в ~10 раз дешевле дефолтного gpt-5.5 из docs, для воркшопа более чем достаточно.
Шаг 0 – подготовь OpenAI API ключ (2 минуты)
  1. Открой platform.openai.com/api-keys, залогинься или зарегистрируйся.
  2. Нажми «Create new secret key» → имя «openviking-edgelab» → «Create» → скопируй ключ (начинается с sk-..., показывают ОДИН раз – не закрывай окно пока не сохранил).
  3. Открой billing → «Add payment method» → пополни баланс на $5.
  4. Агент попросит ключ в диалоге – ты просто вставишь sk-... следующим сообщением. Сам ключ он запишет в файл ~/.openviking/ov.conf на твоём VPS с правами 600 (никто кроме тебя не прочитает).
Шаблон ov.conf – для справки

Агент сам создаст этот файл и подставит ключ. Блок приведён чтобы ты видел что именно записывается. Кнопка «Копировать» справа вверху – если хочешь сделать конфиг руками.

ov.conf (JSON) Копировать
{
  "embedding": {
    "dense": {
      "api_base": "https://api.openai.com/v1",
      "api_key": "sk-ВСТАВЬ_СВОЙ_КЛЮЧ",
      "provider": "openai",
      "dimension": 1536,
      "model": "text-embedding-3-small"
    }
  },
  "vlm": {
    "api_base": "https://api.openai.com/v1",
    "api_key": "sk-ВСТАВЬ_СВОЙ_КЛЮЧ",
    "provider": "openai",
    "model": "gpt-4o-mini"
  }
}
Шаг 1 – скопируй промпт и отправь агенту

Агент выполнит все команды сам: поставит Docker, создаст ov.conf, поднимет OpenViking, подключит к Claude Code через официальный plugin, сделает smoke-проверку. Ты только подставишь свой sk-... ключ когда агент попросит. Кнопка «Копировать» – в правом верхнем углу блока.

Промпт для агента Копировать
Установи OpenViking как мою долгосрочную семантическую память с провайдером OpenAI. Действуй строго по шагам, на каждом покажи вывод команды.

0. СПРОСИ У МЕНЯ OpenAI API key (начинается с sk-...). Я вставлю его следующим сообщением. Напомни что нужен баланс минимум $5 на platform.openai.com/settings/organization/billing.
   БЕЗОПАСНОСТЬ: мой ключ – секрет. Никогда не показывай его в ответах, логах, коммитах. После того как я его дал – не цитируй. Проверь что ~/.openviking/ не попадёт в Git.

1. Проверь Docker. Выполни: docker --version && docker compose version
   Если Docker не установлен – поставь: sudo apt-get update && sudo apt-get install -y docker.io docker-compose-plugin
   Затем: sudo systemctl enable --now docker
   Если упало – STOP, покажи полную ошибку.

2. Создай рабочую директорию и скачай официальный docker-compose.yml:
   mkdir -p ~/.openviking/data && cd ~/.openviking
   curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/docker-compose.yml -o docker-compose.yml

3. Создай файл ~/.openviking/ov.conf со следующим JSON (подставь мой API key в ОБА поля api_key):
   {
     "embedding": {
       "dense": {
         "api_base": "https://api.openai.com/v1",
         "api_key": "МОЙ_КЛЮЧ",
         "provider": "openai",
         "dimension": 1536,
         "model": "text-embedding-3-small"
       }
     },
     "vlm": {
       "api_base": "https://api.openai.com/v1",
       "api_key": "МОЙ_КЛЮЧ",
       "provider": "openai",
       "model": "gpt-4o-mini"
     }
   }
   Модели выбраны бюджетно: text-embedding-3-small ($0.02 за 1M токенов) + gpt-4o-mini (в ~10 раз дешевле дефолтного gpt-5.5 из docs). Для учебного воркшопа $5 хватит надолго.
   После создания обязательно: chmod 600 ~/.openviking/ov.conf (ключ – секрет, файл только для владельца).

4. Подними сервер в фоне: cd ~/.openviking && docker compose up -d
   Дождись пока контейнер станет healthy: docker compose ps (колонка STATUS должна быть Up / healthy).

5. Проверь что API живой: curl -sS http://localhost:1933/health
   Ожидаю {"status":"ok"}. Если нет – docker compose logs, разбери ошибку, предложи фикс. Если OpenAI ключ невалиден – health упадёт с явной ошибкой авторизации, тогда попроси меня выдать новый ключ.

6. Когда /health отвечает ok – выведи мне РОВНО такой блок (я скопирую в Claude Code, это slash-команды, ты сам их выполнить не можешь):

   /plugin marketplace add Castor6/openviking-plugins
   /plugin install claude-code-memory-plugin@openviking-plugin

   Одной строкой поясни: это официальный Claude Code plugin от OpenViking, добавит tools memory_recall / memory_store / memory_forget / memory_health плюс hooks для auto-recall и auto-capture.

7. Когда я скажу что plugin установлен – сделай три проверки:
   а) вызови tool memory_health – если ok, память подключена;
   б) сохрани первую запись через memory_store: «Владелец {{моё_имя}}, таймзона {{моя_таймзона}}, воркшоп EdgeLab day-2 закрыт {{сегодняшняя_дата}}»;
   в) сделай memory_recall по запросу «владелец» – должен вернуть то что только что сохранил.

8. В конце выдай отчёт:
   – Docker: версия, статус сервиса
   – OpenViking: порт, health, uptime контейнера
   – ov.conf: существует, chmod 600, модели embedding и vlm
   – OpenAI ключ: присутствует в конфиге (НЕ показывай сам ключ, только факт наличия)
   – Plugin: установлен / не установлен, список доступных tools
   – Первая запись: сохранена, найдена через recall

Если любой шаг упадёт – STOP, полный вывод ошибки, не угадывай, не переходи к следующему шагу.
Источники

Как вам День 2?

Анонимная анкета, займёт 30 секунд

Оставить отзыв