Сервер с LLM-интерфейсом — это не просто сервер, а полноценная платформа для запуска интеллектуальных агентов. Среди прочего, они отлично справляются с задачами мониторинга, которые мы традиционно решали с помощью скриптов, демонов и специализированных программ.
Например, на VPS можно запустить агента с круглосуточным мониторингом цен на маркетплейсах: на Хабре недавно была статья об этом. Понятно, что он запускается на любом компьютере, но конкретно для целей мониторинга сайтов в интернете требуется онлайн 24/7.

Другие функции ИИ-агентов на VPS:
Отслеживание изменений на сайте.
Информационные трекеры: курсы валют, погода, пробки, биржевые котировки.
Оркестрация задач: через
cron
, Airflow или по расписанию — запуск пайплайнов, ETL, бэкапов.Анализ логов и событий с помощью
grep
,awk
и др.ИИ-девопс: LLM может интерпретировать данные, принимать решения и отправлять уведомления (например, в Telegram). Его можно использовать как сисадмина для мониторинга проблем, а также CI/CD-агента для генерации тестов и др.
Обработка входящих данных: письма, формы, сообщения. Например, если на VPS установлен почтовый сервер, то агент может классифицировать письма, фильтровать спам, выделять важные сообщения.
Всё это запускается на сервере в круглосуточном режиме, может присылать алерты и регулярные отчёты по электронной почте или в Телеграм.
На GitHub можно найти много хороших LLM-интерфейсов для установки на VPS и управления агентами, вот некоторые из них:
DocsGPT — приватная платформа для агентов, ассистентов и корпоративного поиска. Встроены конструктор агентов, Deep Research, анализ документов (PDF, DOCX, CSV, XLSX, EPUB, MD, RST, HTML, MDX, JSON, PPTX, изображения), мультимодальная поддержка, API для агентов.

agenticSeek — полностью автономная локальная бесплатная альтернатива облачной платформе Manus AI: автоматический выбор лучших агентов, сёрфинг по вебу, планирование сложных задач, голосовой интерфейс, генерация и исполнение кода.
n8n — популярная платформа для автоматизации с использованием агентов.

Depthnet с бесконечным циклом самообучения и выполнения (24/7), статья на Хабре, можно использовать как «ИИ-сотрудника» в своём коллективе для какого-нибудь мониторинга.

airi — Grok Companion в контейнере на самохостинге, умеет играть в Minecraft и Factorio, чатится через Telegram и Discord, имеет память DuckDB WASM, распознаёт речь, поддерживает анимацию тела VRM и Live2D.

Вообще, в мире сейчас настоящий бум так называемых «no-code» решений для создания ИИ-агентов: от простых фреймворков (Zapier, make.com) до весьма продвинутых, которые часто упоминаются на Хабре (n8n, pipedream). Можно сказать, что старый добрый «no-code» вышел на новый виток своего развития, теперь это называется «вайбкодинг».
Многие LLM-платформы оптимизированы для локального использования на самохостинге, когда отправка персональных данных в облако строго запрещена.
Для установки на VPS см. также список лучших LLM-приложений на Github, там коллективы из множества ИИ-агентов, голосовые агенты, MCP-агенты, RAG, приложения с памятью, чат-боты, учебные материалы и др.
Claude Code
Claude Code от Anthropic — платный инструмент, но это одна из лучших ИИ-платформ на сегодняшний день, с армией поклонников, которые делятся своим опытом и советами. В статье автор объясняет отличия от Cursor и других конкурентов:
Один главный цикл: Claude Code использует один основной поток сообщений, максимум с одной веткой. Это упрощает отладку и делает поведение агента более понятным и предсказуемым.

Минимум слоёв абстракции, без сложной оркестрации множества агентов и запутанных графов — здесь всё в одном файле.
Отказ от RAG: вместо него Claude Code использует LLM-поиск с
ripgrep
иjq
, что кажется более интуитивным, «человеческим» подходом.Набор инструментов включает Bash, Grep, Glob, WebFetch, TodoWrite и IDE-интеграции. Для понимания, вот фрагмент системного промпта для
grep
:
Tool name: Grep
Tool description: A powerful search tool built on ripgrep
Usage:
- ALWAYS use Grep for search tasks. NEVER invoke `grep` or `rg` as a Bash command. The Grep tool has been optimized for correct permissions and access.
- Supports full regex syntax (e.g., "log.*Error", "function\s+\w+")
- Filter files with glob parameter (e.g., "*.js", "**/*.tsx") or type parameter (e.g., "js", "py", "rust")
- Output modes: "content" shows matching lines, "files_with_matches" shows only file paths (default), "count" shows match counts
- Use Task tool for open-ended searches requiring multiple rounds
- Pattern syntax: Uses ripgrep (not grep) - literal braces need escaping (use `interface\{\}` to find `interface{}` in Go code)
- Multiline matching: By default patterns match within single lines only. For cross-line patterns like `struct \{[\s\S]*?field`, use `multiline: true`
Input schema: {'type': 'object', 'properties': {'pattern': {'type': 'string', 'description': 'The regular expression pattern to search for in file contents'}, 'path': {'type': 'string', 'description': 'File or directory to search in (rg PATH). Defaults to current working directory.'}, 'glob': {'type': 'string', 'description': 'Glob pattern to filter files (e.g. "*.js", "*.{ts,tsx}") - maps to rg --glob'}, 'output_mode': {'type': 'string', 'enum': ['content', 'files_with_matches', 'count'], 'description': 'Output mode: "content" shows matching lines (supports -A/-B/-C context, -n line numbers, head_limit), "files_with_matches" shows file paths (supports head_limit), "count" shows match counts (supports head_limit). Defaults to "files_with_matches".'}, '-B': {'type': 'number', 'description': 'Number of lines to show before each match (rg -B). Requires output_mode: "content", ignored otherwise.'}, '-A': {'type': 'number', 'description': 'Number of lines to show after each match (rg -A). Requires output_mode: "content", ignored otherwise.'}, '-C': {'type': 'number', 'description': 'Number of lines to show before and after each match (rg -C). Requires output_mode: "content", ignored otherwise.'}, '-n': {'type': 'boolean', 'description': 'Show line numbers in output (rg -n). Requires output_mode: "content", ignored otherwise.'}, '-i': {'type': 'boolean', 'description': 'Case insensitive search (rg -i)'}, 'type': {'type': 'string', 'description': 'File type to search (rg --type). Common types: js, py, rust, go, java, etc. More efficient than include for standard file types.'}, 'head_limit': {'type': 'number', 'description': 'Limit output to first N lines/entries, equivalent to "| head -N". Works across all output modes: content (limits output lines), files_with_matches (limits file paths), count (limits count entries). When unspecified, shows all results from ripgrep.'}, 'multiline': {'type': 'boolean', 'description': 'Enable multiline mode where . matches newlines and patterns can span lines (rg -U --multiline-dotall). Default: false.'}}, 'required': ['pattern'], 'additionalProperties': False, '$schema': 'http://json-schema.org/draft-07/schema#'}
Последовательность использования инструментов в одном из агентов:

Claude Code на VPS в «опасном режиме»
Чтобы безопасно изолировать агентов и они ничего не натворили, есть смысл изолировать Claude Code в контейнере, можно вместе с VS Code. Тогда можно запускать его в «опасном» режиме со всеми разрешениями: переписывать файлы и т. д.
Для работы Claude Code в таком варианте нужно:
Действующая лицензия Claude Code.
Токен аутентификации OAuth.
Docker на сервере.
Выбираем подходящий VPS в маркетплейсе RUVDS. Проще всего взять сервер DOCKER CE – UBUNTU 18.04, потому что там Docker CE изначально уже установлен. Конфигурация по умолчанию включает два ядра CPU на 2,2 ГГц, 2 ГБ RAM и SSD на 20 ГБ:

При желании конфигурацию можно скорректировать.
Сразу после оплаты серверу выделяется статический IP-адрес и начинается автоматическая установка Ubuntu 18.04:

После запуска сервера клонируем репозиторий и собираем код (ниже указаны два варианта контейнеров: claude-standalone
и claude-with-mcp-example
, первый без сконфигурированного MCP-сервера, то есть минималистичная установка):
# Клонируем репозиторий
git clone <repository-url>
cd claude-code-container
# Минималистичная версия
cd claude-standalone
./build.sh
CLAUDE_CODE_OAUTH_TOKEN=sk-... ./run_claude.sh
# Версия с примером MCP-сервера
cd claude-with-mcp-example
./build.sh
CLAUDE_CODE_OAUTH_TOKEN=sk-... ./run_claude.sh
# Указываем токен Claude для аутентификации
CLAUDE_CODE_OAUTH_TOKEN=sk-... ./run_claude.sh --debug --mcp-debug
Потом в конфигурацию можно добавлять другие MCP-серверы:
"mcpServers": {
"your-mcp": {
"type": "stdio",
"command": "node",
"args": ["/workspace/mcp-servers/your-mcp/build/index.js", "stdio"],
"env": {},
"trusted": true,
"autoStart": true
}
}
Как вариант, можно использовать официальный контейнер Anthropic с параметром запуска кода без ограничений: claude --dangerously-skip-permissions
.
Локальный ИИ для Apple CPU
Большинство современных LLM выпускаются с открытым исходным кодом и открытыми весами (настройками). Это позволяет теоретически запустить их локально на своей машине. Но кроме локального запуска нужно обеспечить ещё полностью изолированное окружение для выполнения кода.
В такой схеме LLM работает локально, а выполнение кода происходит в изолированном контейнере:

Вот вариант технического стека под Apple для такой установки:
LLM'ки: Ollama для локальных моделей.
Фронтенд UI: assistant-ui.
VM в песочнице: container от Apple.
Оркестрация: coderunner (утилита с открытым исходным кодом специально для запуска ИИ-кода в контейнере).
Автоматизация браузера: Playwright.
Особенно стоит отметить локальный веб-UI assistant-ui для работы с ChatGPT и другими нейронками. После определённой настройки с помощью ai-sdk
появляется доступ к множеству LLM, список можно ограничить только локальными моделями:

Для выполнения кода в контейнерах ребята выбрали container от Apple вместо привычного Docker. Но если запускать VM на своём VPS, то Docker кажется более подходящим вариантом, тем более мы рассмотрели его установку в предыдущем разделе из готового образа в маркетплейсе.
Внутри виртуальной машины в контейнере устанавливается сервер Jupyter, доступный по протоколу MCP (Model Context Protocol) для взаимодействия программных агентов по стандартному адресу типа http://coderunner.local:8222/mcp
.
Claude Desktop и Gemini CLI запускают сгенерированный код на исполнение в этом контейнере после добавления нескольких строчек в конфигурацию:
"mcpServers": {
"coderunner": {
"httpUrl": "http://coderunner.local:8222/mcp"
}
}
В такой системе Claude сам догадается найти в интернете инструмент execute_python_code
и использовать его для запуска сгенерированного кода:

Комбинация UI+LLM+браузер+CodeRuuner в контейнере (для запуска кода) работает полностью локально и справляется с выполнением многих задач:
Тематические исследования.
Генерация графиков из CSV.
Редактирование видео (с помощью
ffmpeg
).Редактирование изображений — изменение размера, обрезка, преобразование форматов.
Установка инструментов из Github в контейнер.
Скачивание страниц, выжимка сути. … и т. д.
Например, редактирование видео (вырезать фрагменты видеоролика и склеить их в итоговый файл):

Хотя, зная команды ffmpeg
, это легко делается вручную из командной строки, но для тестирования сервера вполне годный пример.
В будущем можно рассмотреть загрузку в локальную LLM всего архива персональных данных, собранного за годы жизни — письма, переписка в мессенджерах, заметки, ежедневники, фотографии, документы и т. д. Cжатая векторная база займёт много гигабайт, но станет фундаментом персональной RAG в локальном ИИ-агенте. Примерно такого «личного цифрового ассистента», который знает все детали жизни человека, предсказывал Билл Гейтс в книге «Дорога в будущее» (1996), а до него — многие фантасты.
Свой ИИ-сервер
В качестве альтернативы VPS можно собрать свой ИИ-сервер из относительно дешёвых компонентов.

В самом бюджетном варианте такой сервер обойдётся примерно в $1300, если покупать б/у-компоненты: видеокарту вроде Nvidia RTX 4070 (самая дешёвая карта с 12 ГБ памяти и тензорными ядрами), её можно найти за $600 на барахолках.

Для корпоративного использования обычно устанавливают более дорогие серверы с серверными ИИ-ускорителями Nvidia типа H100, H200, A100 или ИИ-ускорители потребительского уровня вроде RTX 6000 (б/у можно найти дешевле $9000). Это позволяет не только сэкономить на облачных подписках, но и соблюсти запрет на передачу корпоративных данных в облако за границу.
В будущем можно представить, что даже маленькие локальные хостеры начнут устанавливать ИИ-серверы в ЦОДах и предлагать клиентам дешёвые «локальные» альтернативы облачным LLM.
© 2025 ООО «МТ ФИНАНС»