Полное руководство по Ruslan Agent: установка, настройка, навыки, память, cron, делегирование, архитектура.
Ruslan Agent — это открытая (open-source) платформа AI-агента, созданная компанией Nous Research. Это не просто чат-бот. Это автономный агент, который:
Ключевая фраза с их сайта: «Единственный агент со встроенным циклом обучения — он создаёт навыки из опыта, улучшает их в процессе использования, ищет свои прошлые разговоры и строит углублённую модель того, кто ты есть».
Nous Research — это команда, которая строит открытый AI. Их фокус: архитектура моделей, синтез данных, тонкая настройка (fine-tuning) и рассуждение (reasoning). Они верят, что будущее AI — не в закрытых корпоративных системах, а в открытых инструментах, которые любой может запустить, изучить и улучшить.
Ruslan Agent — их флагманский продукт, но они также разрабатывают:
Ruslan имеет больше встроенных инструментов, чем любой другой AI-агент:
| Категория | Инструменты |
|---|---|
| 🌐 **Веб** | Поиск в интернете, извлечение контента, просмотр страниц |
| 🖥 **Терминал** | Запуск команд, управление процессами, SSH, Docker |
| 📁 **Файлы** | Чтение, запись, поиск, редактирование |
| 🧪 **Код** | Выполнение Python, под-агенты с изолированным окружением |
| 👁 **Зрение** | Анализ изображений и видео |
| 🎨 **Генерация** | Создание изображений, видео, голоса |
| 🧠 **Память** | Межсессионная память, поиск прошлых разговоров |
| ⏰ **Кроны** | Запланированные задачи с доставкой куда угодно |
| 🤖 **Делегирование** | Запуск под-агентов для параллельной работы |
| 🔌 **MCP** | Подключение любых внешних серверов инструментов |
Один агент — на всех платформах сразу:
Терминал (CLI) — полноценный TUI-интерфейс
Telegram — твой канал @канал
Discord — серверы и сообщества
Slack — корпоративные каналы
WhatsApp — мессенджер
Signal — защищённые сообщения
Email — почта (IMAP/SMTP)
Matrix — децентрализованный чат
Home Assistant — умный дом
И ещё 10+ платформ
Всё это работает через Gateway — единый шлюз, который соединяет все платформы с одним агентом.
Главное, что отличает Ruslan от других. Навык — это markdown-файл с инструкциями для агента:
---
name: ai-agent
description: "Посты для канала «AI-агент»"
---
# Процесс публикации
1. Написать пост
2. Получить обложку
3. Опубликовать через sendPhoto
Навыки накапливаются. Агент сам создаёт их после сложных задач, сам улучшает при использовании. Это делает агента умнее с каждым днём.
Ruslan помнит тебя не как новый разговор каждый раз:
Встроенный планировщик, который может запускать агента по расписанию:
06:00 МСК → написать 3 поста и прислать на утверждение
08:00 МСК → проверить погоду и прислать отчёт
Каждый час → проверить сервер
Результаты доставляются в Telegram, на почту, в Discord — куда настроишь.
Ruslan может запускать под-агентов — изолированные сессии, которые работают параллельно. Пока один ищет новости про климат, второй анализирует код, третий пишет пост. Результаты собираются воедино.
Можно переключать модель на лету без остановки работы:
ruslan model ← интерактивный выбор
/model claude-sonnet-4 ← смена модели в сессии
Поддерживаются все крупные провайдеры: OpenRouter (200+ моделей), Anthropic, OpenAI, DeepSeek, Google Gemini, xAI (Grok), Hugging Face, локальные модели.
Еженедельно выходят обновления. Проект активно развивается.
Ruslan представляет собой сдвиг парадигмы:
Чат-бот (2022-2023): Ты спрашиваешь → AI отвечает
AI-ассистент (2024): Ты даёшь задачу → AI делает
AI-агент (2025-2026): AI сам решает, что делать → отчитывается
Ruslan уже на третьем этапе. Он сам проверяет сервер, пишет посты, находит новости, предлагает улучшения.
Будущее — за агентами, которые становятся умнее без переобучения модели. Навыки и память — это внешний интеллект, который накапливается поверх LLM. Каждый исправленный баг, каждый найденный workflow, каждый запомненный факт — это инвестиция в будущую эффективность.
Один агент — хорошо. Сеть агентов — лучше. Ruslan растёт в направлении:
В отличие от закрытых систем (ChatGPT, Claude), Ruslan не привязывает тебя к одному провайдеру. Сегодня DeepSeek дёшев, завтра Anthropic качественнее, послезавтра локальная модель на VPS. Агент один — модель любая.
Точно так же, как в 1980-х персональные компьютеры стали доступны каждому, а в 2010-х смартфоны дали интернет в карман, LLM (большие языковые модели) становятся универсальным процессором для текста, кода, логики и творчества.
Они не идеальны. Они ошибаются. Но скорость улучшения — экспоненциальная.
Модель без инструментов — это просто генератор текста. Модель с инструментами (как Ruslan) — это:
LLM не умеют по-настоящему «думать» (пока). Но они идеально справляются с рутиной:
Ты владелец бизнеса (капитан). LLM — это твой матрос, который не спит, не ест и делает то, что сказано. Ruslan — это старпом, который организует матросов.
┌─────────────────────────────────────────────────┐
│ RUSLAN AGENT │
│ │
│ ┌─────────┐ ┌─────────┐ ┌──────────────────┐ │
│ │ CLI │ │ Gateway │ │ Cron Scheduler │ │
│ │(терминал)│ │(Telegram,│ │(запланированные │ │
│ │ │ │ Discord, │ │ задачи) │ │
│ │ │ │ Email…) │ │ │ │
│ └────┬────┘ └────┬────┘ └────────┬─────────┘ │
│ │ │ │ │
│ └────────────┴────────────────┘ │
│ │ │
│ ┌─────────▼──────────┐ │
│ │ Conversation │ │
│ │ Loop (цикл) │ │
│ │ │ │
│ │ 1. Вызвать LLM │ │
│ │ 2. Получить ответ │ │
│ │ 3. Если tool_call │ │
│ │ → выполнить │ │
│ │ 4. Повторить │ │
│ └─────────┬──────────┘ │
│ │ │
│ ┌─────────────────────┼─────────────────────┐ │
│ │ Инструменты │ │ │
│ │ (40+ tools) │ │ │
│ │ ┌────┐ ┌────┐ ┌───▼───┐ │ │
│ │ │Веб │ │Файлы│ │Терминал│ ... │ │
│ │ └────┘ └────┘ └───────┘ │ │
│ └──────────────────────────────────────────-┘ │
│ │
│ ┌──────────┐ ┌───────────┐ ┌───────────────┐ │
│ │ Память │ │ Навыки │ │ Хранилище │ │
│ │(SQLite) │ │ (Skills) │ │ сессий (FTS5)│ │
│ └──────────┘ └───────────┘ └───────────────┘ │
└───────────────────────────────────────────────────┘
/rollback)Мы уже прошли этот путь. Вот что реально работает — шаг за шагом.
curl -fsSL https://ruslan-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
Что делает установщик:
Пример: Работает на VPS (Ubuntu), на MacBook, на Android через Termux.
ruslan model
Интерактивный выбор:
opencode-go с DeepSeek)Пример: У нас opencode-go + deepseek-v4-flash. Это дёшево и быстро. Для сложных задач можно переключиться на Claude или GPT.
ruslan gateway setup
Что настраиваешь:
ruslan gateway startПример: Бот @бот управляет каналом @канал. Через gateway можно публиковать посты, отвечать на сообщения, запускать задачи.
ruslan profile create homer # контент-менеджер
ruslan profile create hes # root-админ
ruslan profile create lokki # Mac-агент
Профили — это полностью независимые экземпляры Ruslan: своя конфигурация, свои навыки, своя память.
Пример:
Навыки — то, что делает Ruslan незаменимым. Они накапливаются как твоя личная база знаний.
# Создать навык через инструмент skill_manage
skill_manage(action="create", name="ai-agent", content="...")
Пример: Мы создали навыки:
ai-agent — процесс публикации, правила, стильai-agent-visual — визуальный стиль, промпты для обложекcontent-factory — полный процесс создания контентаgithub-pr-workflow — работа с PRЗапланированные задачи работают без тебя:
cronjob(action="create",
schedule="0 3 * * *", # 06:00 МСК
prompt="Напиши три поста для канала...",
deliver="origin",
name="Утренние посты")
Пример:
# Сохранить факты о пользователе
memory(action="add", target="user",
content="Пользователь — капитан, Atlantic Sail")
# Сохранить факты об окружении
memory(action="add", target="memory",
content="Канал @канал, ID: --")
Память автоматически подгружается в каждую сессию. Не надо повторять одно и то же.
# Параллельный поиск новостей
delegate_task(tasks=[
{"goal": "Найди новости AI..."},
{"goal": "Найди новости климата..."}
])
Под-агенты работают изолированно, что экономит контекст основного агента.
Пример: Используем для параллельного сбора новостей для утренних и дневных постов.
ruslan doctor # Проверка здоровья
ruslan status # Статус компонентов
ruslan sessions list # Список сессий
ruslan cron list # Список кронов
ruslan gateway status # Статус шлюза
Регулярно проверяй:
ruslan doctor --fix — исправляет типовые проблемы~/.ruslan/logs/gateway.logruslan update — обновления (выходят часто)# MCP-серверы (подключение внешних инструментов)
ruslan mcp install fetch # загрузка веб-страниц
ruslan mcp install memory # расширенная память
# Плагины
ruslan plugins list # доступные плагины
# Skills Hub
ruslan skills browse # готовые навыки сообщества
ruslan skills install name # установить навык
┌─────────────────────────────────────────────────────┐
│ VPS (root-доступ) │
│ ┌────────────────┐ │
│ │ Агент (root) │ ← системные задачи │
│ │ ~/.ruslan/ │ │
│ └───────┬────────┘ │
│ │ профиль │
│ ┌───────▼────────┐ │
│ │ Агент (мы) │ ← контент для канала │
│ │ ~/.ruslan/ │ │
│ └────────────────┘ │
├─────────────────────────────────────────────────────┤
│ MacBook / Docker │
│ ┌────────────────┐ │
│ │ Агент │ ← локальная работа │
│ │ разработка │ │
│ └────────────────┘ │
├─────────────────────────────────────────────────────┤
│ Telegram │
│ @бот ↔ @канал │
│ Публикация, управление, общение │
└─────────────────────────────────────────────────────┘
| Термин | Что означает |
|---|---|
| **LLM** | Большая языковая модель (Large Language Model) — «мозг» агента. Примеры: DeepSeek, Claude, GPT |
| **Agent** | Самостоятельная программа, которая использует LLM + инструменты для решения задач |
| **Tool/Toolset** | Инструмент (например, «поиск в интернете») или их набор |
| **Skill** | Навык — markdown-инструкция, которой агент следует. Накапливается как опыт |
| **Gateway** | Шлюз для подключения к Telegram, Discord и другим платформам |
| **Cron** | Планировщик задач по расписанию |
| **Delegation** | Запуск под-агентов для параллельной работы |
| **MCP** | Model Context Protocol — протокол для подключения внешних инструментов |
| **ACP** | Agent Communication Protocol — протокол для общения между агентами |
| **Provider** | Поставщик LLM (OpenRouter, Anthropic, DeepSeek, локальные модели) |
| **Profile** | Изолированный профиль Ruslan со своей конфигурацией и памятью |
| **FTS5** | Full-Text Search — механизм полнотекстового поиска в SQLite |
| **Checkpoint** | Снепшот файлов для отката (как точка сохранения в игре) |
| **Context** | Контекст разговора — история сообщений, которые «видит» LLM |
| **Token** | Единица текста для LLM (~1 слово). Чем больше контекст, тем больше токенов |
| **Home channel** | Канал в Telegram (или другой платформе), куда агент отправляет результаты по умолчанию |
Одна из самых сильных сторон Ruslan — умение работать с проектами, не теряя контекст между сессиями. В отличие от обычного чата, где каждый раз приходится объяснять всё заново, Ruslan строит многослойную память проекта.
┌─────────────────────────────────────────────────────┐
│ СЛОЙ 5: Сессии (state.db) │
│ Каждый разговор — отдельная сессия с историей. │
│ Можно искать по всем сессиям через session_search. │
├─────────────────────────────────────────────────────┤
│ СЛОЙ 4: Контекстные файлы в корне проекта │
│ AGENTS.md — правила работы с проектом │
│ CLAUDE.md — проектные конвенции │
│ CONVENTIONS.md / SKILL.md — для повторяющихся задач│
├─────────────────────────────────────────────────────┤
│ СЛОЙ 3: Навыки (skills) │
│ Процедуры, workflow, рецепты — многократного │
│ использования. Сохраняются в ~/.ruslan/skills/ │
├─────────────────────────────────────────────────────┤
│ СЛОЙ 2: Память (memory) │
│ USER.md — профиль пользователя (кто ты) │
│ MEMORY.md — памятка агента (факты об окружении) │
├─────────────────────────────────────────────────────┤
│ СЛОЙ 1: Базовая конфигурация │
│ config.yaml — настройки провайдера, модели │
│ .env — API-ключи и секреты │
│ profiles/ — изолированные профили │
└─────────────────────────────────────────────────────┘
Это ключевая фишка Ruslan, которую многие недооценивают. Ты кладёшь файлы в корень проекта — и агент автоматически их читает при старте сессии в этой директории.
| Файл | Назначение | Пример содержимого |
|---|---|---|
| **AGENTS.md** | Полное описание проекта: архитектура, технологии, процессы, расписание, правила | «Канал. Расписание: 10:00 ИИ, 14:00 климат, 18:00 аналитика. Правила: не публиковать без указания Кэпа» |
| **CLAUDE.md** (или RUSLAN.md) | Короткие конвенции для этого проекта | «Код-стайл: snake_case. Тесты: pytest. CI: GitHub Actions.» |
| **CONVENTIONS.md** | Дополнительные соглашения | «Префиксы веток: feat/fix/docs. Commit: conventional commits.» |
Как это работает:
ruslan --worktree (или ruslan с AGENTS.md в корне)ФАЗА 0: Создание проекта
└→ mkdir my-project && cd my-project
└→ Написать AGENTS.md (правила, стек, цели)
└→ Написать CLAUDE.md (конвенции)
└→ Запустить: ruslan -s нужный-скил
ФАЗА 1: Работа (много сессий)
└→ Сессия 1: «Создай структуру, настрой CI»
└→ Сессия 2: «Добавь аутентификацию, напиши тесты»
└→ Сессия 3: «Пофикси баг в парсере»
└→ Между сессиями: память хранит контекст
└→ Между сессиями: session_search ищет решения
ФАЗА 2: Накопление навыков
└→ После сложной задачи: «Сохрани этот подход как навык»
└→ Навык автоматически подгружается в будущем
└→ Проект становится быстрее с каждым разом
ФАЗА 3: Передача контекста
└→ Пришёл новый разработчик → запустил ruslan
└→ Ruslan читает AGENTS.md
└→ Ruslan подгружает навыки проекта
└→ session_search показывает историю решений
└→ Новичок сразу в контексте
Вот как выглядит наш проект «AI-агент» с точки зрения Ruslan:
/home/user/project/ ← корень проекта
│
├── AGENTS.md ← правила работы (заблокирован из-за
│ prompt injection — требует аудита)
│
├── image_cache/ ← кэш загруженных картинок
│ ├── img_829d18d18871.jpg ← AR-очки (обложка утреннего поста)
│ ├── img_fcd8b469eb4e.jpg ← инфографика землетрясения
│ └── img_a2febf3ced81.jpg ← скриншот LastQuake
│
├── skills/ ← навыки агента
│ ├── ai-agent/ ← SKILL.md: процесс публикации
│ │ ├── references/ ← справочные материалы
│ │ │ ├── enso-climate-factcheck.md
│ │ │ ├── project-ai-agent.md
│ │ │ └── sailor-bar-publishing.md
│ │ ├── scripts/
│ │ │ └── publish.sh ← скрипт публикации в Telegram
│ │ └── templates/ ← шаблоны постов
│ │
│ ├── ai-agent-visual/ ← SKILL.md: визуальный стиль
│ ├── content-factory/ ← SKILL.md: конвейер контента
│ └── autonomous-ai-agents/
│ └── ruslan-agent/ ← SKILL.md: CLI-справочник Ruslan
│
├── project-ai-agent.md ← описание проекта
│
├── ruslan-agent-full-guide-ru.md ← этот гайд
│
├── kie.py ← генератор изображений (KIE.AI)
│
└── cron/ ← результаты cron-задач
└── output/ ← файловые артефакты
Важный урок: Если AGENTS.md содержит динамический контент (промпты, примеры кода), есть риск prompt injection. Мы это испытали на себе — файл пришлось заблокировать. Правило: AGENTS.md должен содержать только правила и границы — не исполняемый контент.
Память — это то, что превращает Ruslan из просто умного чата в личного ассистента, который знает тебя.
┌────────────────────────────────────────────────────┐
│ ПАМЯТЬ RUSLAN │
│ │
│ УРОВЕНЬ 1: Контекст сессии │
│ ┌──────────────────────────────────────────────┐ │
│ │ Длится в пределах одного разговора │ │
│ │ Сбрасывается при /new или /reset │ │
│ │ Содержит: история сообщений, результаты tools │ │
│ └──────────────────────────────────────────────┘ │
│ │
│ УРОВЕНЬ 2: Долговременная память │
│ ┌──────────────────────────────────────────────┐ │
│ │ MEMORY.md — памятка агента (факты) │ │
│ │ USER.md — профиль пользователя (предпочтения) │ │
│ │ Загружается в начале каждой сессии │ │
│ │ Редактируется через tool `memory` │ │
│ └──────────────────────────────────────────────┘ │
│ │
│ УРОВЕНЬ 3: Поиск по сессиям │
│ ┌──────────────────────────────────────────────┐ │
│ │ state.db — SQLite с FTS5-поиском │ │
│ │ session_search — запрос на естественном языке │ │
│ │ Находит сессии по ключевым словам │ │
│ │ Показывает контекст вокруг найденного │ │
│ └──────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────┘
Правило: сохраняй то, что пригодится в следующих сессиях.
Примеры из нашей практики:
# Сохранить факт о пользователе
memory(action="add", target="user",
content="Пользователь — капитан Atlantic Sail, ведёт канал «AI-агент»")
# Сохранить факт об окружении
memory(action="add", target="memory",
content="Канал @канал, ID: --")
memory(action="add", target="memory",
content="Бот @бот — админ канала")
# Сохранить предпочтение
memory(action="add", target="user",
content="Ценит: экономичность, конкретику, прямой разговор. Без хайпа.")
# Сохранить техническую деталь
memory(action="add", target="memory",
content="Публикация: sendPhoto API (фото + caption одним запросом)")
Чего НЕ надо сохранять:
Это как Google по твоим разговорам с агентом:
# Найти, как делали конкретную задачу
session_search(query="публикация sendPhoto caption")
# Найти, где обсуждали конкретную тему
session_search(query="землетрясение филиппины 2026")
# Полистать результаты работы над фичей
session_search(query="настройка cron утренние посты")
FTS5 ищет даже по частичным совпадениям. Показывает:
Навыки — это память о том, как делать, в отличие от памяти о том, что есть.
Декларативная память (MEMORY.md): Канал имеет ID --
Процедурная память (SKILL.md): Чтобы опубликовать пост, нужно:
1. Получить токен из /proc/145/environ
2. Вызвать curl sendPhoto
3. Передать photo=@file + caption
Навыки создаются автоматически (Ruslan предлагает сохранить) или вручную через skill_manage.
# Включить/выключить
ruslan config set memory.memory_enabled true
ruslan config set memory.user_profile_enabled true
# Выбрать провайдера (built-in = SQLite, honcho = внешняя)
ruslan config set memory.provider built-in
# Проверить статус
ruslan memory status
Из свежего выпуска (43 мин, 40K просмотров, июнь 2026) выделены главные концепции:
🧠 Artifacts as a Second Brain (артефакты как второй мозг)
Alex Finn называет артефакты — файлы, навыки, документы, которые Ruslan создаёт и поддерживает — «вторым мозгом». Это не просто результаты работы, а живые документы, которые:
*«Твой AGENTS.md — это не инструкция. Это твой след в проекте. Новый агент читает его и понимает, что ты хотел построить, ещё до того, как написал первую строку кода.»*
🔄 Reverse Prompting (обратный промптинг)
Вместо того чтобы давать агенту задачу, попроси агента самого задать тебе вопросы, чтобы понять контекст. Alex использует это так:
*«Я говорю: „Вот моя идея. Задай мне 10 вопросов, которые я должен себе回答, прежде чем начинать.“ И агент вытягивает из меня то, о чём я бы сам не подумал.»*
Или ещё сильнее: Brain Dump (выгрузка мозга) — дать агенту ссылку на свой Twitter, блог, заметки, и попросить построить USER.md на основе всей этой информации. Агент анализирует твой стиль, интересы, паттерны и создаёт профиль, который потом использует во всех сессиях.
🎭 Model-Based vs Role-Based Profiles
Два подхода к профилям:
Finn утверждает: Role-Based важнее. Модель можно сменить одной командой (/model), а вот контекст роли и её навыки — это то, что делает профиль незаменимым.
Ключевой вопрос, который разбирают в видео:
| Sub-agents (delegate_task) | Profiles | |
|---|---|---|
| **Длительность** | Минуты (внутри одной сессии) | Постоянно |
| **Изоляция** | Полная (новый контекст, новые инструменты) | Полная (свой config, свои навыки) |
| **Когда** | Нужно быстро распараллелить задачу | Нужен постоянно работающий специалист |
| **Пример** | Собрать новости по 3 темам одновременно | Агент круглосуточно ведёт канал |
Правило Finn: «Sub-agent — для ширины (параллельные задачи). Profile — для глубины (специализация). Если тебе нужен кто-то, кто делает одно и то же каждый день — делай профиль. Если тебе нужно сделать 5 вещей прямо сейчас — делегируй.»
Главный тезис: Не думать о затратах на токены как о расходах. Думать как об инвестициях в скорость.
Конкретные приёмы экономии:
/compress сокращает контекст, экономя токены*«Один запуск агента стоит $0.03–0.10. Сколько стоит твой час? Если агент экономит тебе час в день — он окупает себя в 50–100 раз.»*
Финн делится конкретными кейсами:
📋 Daily Business Opportunity Scan
Каждое утро агент сканирует интернет по твоим критериям и выдаёт 3-5 бизнес-возможностей. Например:
🏗 Быстрый прототип стартапа
«Я могу сесть в пятницу вечером с Ruslan, и к воскресенью у меня есть работающий MVP. Без Ruslan — 2 недели.»
🧪 Агент как «технический сооснователь»
Для нетехнического предпринимателя Ruslan становится CTO:
📊 Контент-фабрика
Наш собственный кейс: Ruslan управляет контент-каналом — пишет посты, подбирает новости, публикует по расписанию.
Аргументы Finn (которые подтверждает и наш опыт):
*Alex Finn: «Сейчас это лучший способ использовать AI-агентов на своём компьютере»*
Из сайдбара того же видео всплыли ещё полезные ресурсы:
| Видео | Автор | Длина | Просмотры | ||||
|---|---|---|---|---|---|---|---|
| **Ruslan Agent: Full Course & Setup Guide For Complete Beginners** | (туториал) | 59 мин | — | ||||
| **Warum ich von OpenClaw auf Ruslan umgestiegen bin** | **Du musst JETZT Ruslan nutzen!!** | **Ruslan Agent — Neue Super-App und DeepSeek v4** | Riley Brown | 24 мин | 30.5K | ||
| **Die größte Lüge über den Ruslan-Agenten** | Craig Hewitt | 14 мин | 26.9K |
Все они доступны на YouTube — показывают рост экосистемы Ruslan.
Один агент не обязан пользоваться одной моделью. Ruslan позволяет гибко назначать разные модели на разные типы задач через единый API-провайдер. Это даёт и экономию, и качество там где нужно.
Наша текущая схема:
┌─────────────────────────────────────────────┐
│ Ruslan Agent │
│ │
│ Текст/код → DeepSeek V4 Flash (основная) │
│ Зрение → GPT-4o-mini (через OpenRouter) │
│ Аудио → Whisper (локально или Groq) │
│ Сложное → Qwen 2.5 / Gemini 2.5 Flash │
│ Музыка → Suno (через KIE.ai) │
│ Видео → Hailuo AI (через KIE.ai) │
└─────────────────────────────────────────────┘
Главная модель (текст/код):
# config.yaml
provider: opencode-go
model: '{"default": "deepseek-ai/deepseek-v4-flash",
"provider": "opencode-go",
"context_length": 131072,
"api_mode": "chat_completions"}'
providers:
opencode-go:
api_key: env:OPENCODE_GO_API_KEY
base_url: https://opencode.ai/zen/go/v1
Vision (анализ изображений) — через OpenRouter:
Если основная модель не поддерживает vision (DeepSeek не видит картинки), Ruslan использует auxiliary fallback:
# config.yaml
auxiliary:
vision:
provider: openrouter
model: google/gemini-2.5-flash-preview-04-17
Или задаёшь переменную окружения:
export API_KEY=...
Аудио (STT — голос → текст):
# config.yaml
stt:
enabled: true
provider: groq # local (faster-whisper) или groq
Музыка и видео:
# Suno через KIE.ai
kie.py gen "промпт для музыки" --mode music
# Hailuo через KIE.ai
kie.py gen "промпт для видео" --mode video
Один агент, один интерфейс (Telegram/CLI), один набор навыков — но разные модели-специалисты под капотом для разных типов контента.
Это как капитан на мостике: он не чинит двигатель сам, а вызывает механика. Ruslan так же — текст на DeepSeek, картинки на Gemini, музыку на Suno.
Помимо встроенной памяти Ruslan (MEMORY.md, USER.md, state.db), существует файловая память — структура папок и файлов в корне проекта, которую поддерживает агент. Это как проектная документация, которая живёт рядом с кодом и контентом.
/home/user/project/
├── AGENTS.md / AGENT.md ← мастер-документ: правила, проекты, приоритеты
│
├── memories/ ← файловая память проектов
│ ├── projects/
│ │ ├── ai-agent/
│ │ │ ├── PROJECT.md ← описание, архитектура, связи
│ │ │ ├── STATUS.md ← текущий статус
│ │ │ ├── CONTEXT.md ← хронология изменений
│ │ │ ├── DECISIONS.md ← логи решений
│ │ │ └── TODO.md ← задачи
│ │ └── ...
│ ├── archived/ ← закрытые проекты
│ └── agents/ ← AGENT.md файлы
│
├── skills/ ← навыки (наш слой)
├── image_cache/ ← кэш картинок
└── cron/ ← результаты cron-задач
Перед задачей — агент читает PROJECT.md + CONTEXT.md проекта, чтобы войти в курс дела.
После задачи — обновляет CONTEXT.md с описанием, что сделано.
Всё в Git — история изменений доступна, можно откатиться.
Закрытые проекты — перемещаются в archived/.
# AI-агент
**Тип:** Telegram-канал
**Статус:** 🟢 Активный
**Ответственный:** Агент (контент-агент)
## Архитектура
- Telegram @канал через @бот
- Публикация: sendPhoto API (фото + caption)
- Расписание: 10:00 / 14:00 / 18:00 МСК
## Связи
- Зависит от: KIE.AI (генерация обложек)
- Владелец: Пользователь (капитан)
| Встроенная память Ruslan | Файловая память (Git) | |
|---|---|---|
| **Где живёт** | ~/.ruslan/state.db + MEMORY.md | В корне проекта |
| **Что хранит** | Факты о пользователе и окружении | Документацию проекта |
| **Доступна кому** | Только этому агенту | Всем агентам и людям |
| **Версионирование** | Нет | Git (полная история) |
| **Когда использовать** | Для предпочтений, технических деталей | Для проектной документации |
Вывод: встроенная память — для агента. Файловая память — для проекта. Они дополняют друг друга.
Ruslan Agent — это не просто программа. Это новый способ работать с информацией.
Вместо того чтобы самому искать новости, писать тексты, помнить детали, проверять сервера — ты объясняешь агенту, что делать. Один раз. А он запоминает и делает это каждый день.
Ты — капитан. Агент — твоя команда.
«Чем лучше работает такой ассистент, тем менее он заметен.
Идеальный агент — тот, чьё присутствие ты ощущаешь
только по внезапно освободившемуся времени.»
Ресурсы: