Персональные AI-агенты
Open WebUI, Cherry Studio, OpenClaw и любой OpenAI-совместимый клиент. Контроль расхода, быстрые переключания между моделями и единая наблюдаемость, простые эксперименты.
Проблема
Современные AI-клиенты — Open WebUI (self-hosted чат для команд), Cherry Studio (десктопный мульти-провайдерный клиент), OpenClaw и аналогичные code-агенты — каждый требует:
- собственного upstream-ключа провайдера (OpenAI, Anthropic, OpenRouter);
- собственной настройки переключения моделей;
- собственного учёта расходов.
В команде из 3–10 человек, использующей такие инструменты, это превращается в хаос: несколько подписок и ключей, отсутствие сводной картины «кто сколько потратил», невозможность дать сотруднику доступ без выдачи ему ключа от провайдера. Для одиночного энтузиаста — то же самое в меньшем масштабе: несколько клиентов, несколько ключей, нет единого учёта.
Кого это касается: CTO небольших компаний и руководители команд, желающие централизовать AI-инструменты сотрудников; владельцы малых предприятий, которым проще оплачивать pay-as-you-go провайдеров через единый аккаунт; энтузиасты, использующие несколько AI-клиентов на нескольких устройствах.
Решение
Meridian становится единым OpenAI-совместимым шлюзом для всех ваших AI-клиентов. Каждый клиент — Open WebUI, Cherry Studio, OpenClaw, любой инструмент, понимающий OpenAI API — настраивается на эндпоинт Meridian и получает собственный Virtual Key вместо мастер-ключей провайдеров.
- Один провайдер на все клиенты команды. Open WebUI у одних, Cherry Studio у других, OpenClaw у третьих — все ходят в один Meridian.
- VK на каждого человека или клиент. Бюджет и rate limit задаются индивидуально; утечка одного VK не вынуждает менять ключи везде.
- Свобода переключения моделей. Клиенты позволяют пользователю выбирать модель (
gpt-5.4,claude-4-6-sonnet, локальные через LM-Studio) — Meridian маршрутизирует на нужного провайдера прозрачно. - Сводный учёт расходов. Дашборд Meridian показывает, кто сколько потратил, на каких моделях, у каких провайдеров — без обращения в провайдерские личные кабинеты.
- Семантический кэш для команды. Одинаковые или близкие промпты от разных сотрудников обслуживаются из кэша; небольшой команды это уже даёт экономию 10–30% на типовых задачах (Семантическое кэширование).
- Замена нескольких платных подписок. Один Meridian + pay-as-you-go провайдеры вместо 5 × ChatGPT Plus и 3 × Cursor Pro — часто дешевле и прозрачнее.
- Не только текст: генерация изображений, TTS и STT. Если ваш клиент (Open WebUI, Cherry Studio) умеет вызывать
/v1/images/generations,/v1/audio/speechи/v1/audio/transcriptions— Meridian маршрутизирует эти запросы на соответствующего провайдера с тем же контролем бюджета и логированием, что и для chat completion. Персональный агент получает синтез изображений, голосовой ввод и озвучку ответов через ту же единую точку входа.
Сценарий
Небольшая команда из 5 человек: трое разработчиков, дизайнер, продакт-менеджер. Текущая модель — у каждого свой ChatGPT Plus, у двоих Cursor Pro, у одного личный аккаунт Anthropic. Расходы непрозрачны, согласования закрывающих документов — отдельная история.
- CTO разворачивает Meridian на одном VPS (Docker, 30 минут). Подключает корпоративный аккаунт OpenAI и Anthropic.
- Создаёт Customer «company» с месячным бюджетом $400; внутри — VK на каждого сотрудника с собственным лимитом ($50–$100/мес в зависимости от роли).
- Каждый сотрудник заменяет свой клиент-локальный ключ провайдера на VK Meridian:
- Дизайнер ставит Open WebUI на свой компьютер (или использует общий инсталл команды) и указывает
https://meridian.company/v1+ свой VK. - Разработчики используют Cherry Studio (десктоп с переключением моделей) с тем же эндпоинтом.
- Один разработчик дополнительно подключает OpenClaw для агентных задач с VK с большим бюджетом ($100/мес).
- Дизайнер ставит Open WebUI на свой компьютер (или использует общий инсталл команды) и указывает
- CTO открывает дашборд Meridian: видит расход по людям, моделям, провайдерам. Замечает, что разработчик C переключается на
claude-3-5-sonnetдля сложных задач — расход в норме. - При увольнении сотрудника одно действие —
is_active: falseна его VK; доступ блокируется немедленно; чужой расход не пострадал. - Через месяц CTO видит: суммарный расход $230 — дешевле, чем 5 × ChatGPT Plus ($100) + 2 × Cursor Pro ($40) = $140, но команда теперь не ограничена лимитами потребительских подписок и имеет полный набор моделей (Claude, GPT-5.4, Sonnet) везде.
Конфигурация
Шаг 1. Подключение провайдеров.
- Providers → Add New Provider → выберите OpenAI, добавьте upstream-ключ корпоративного аккаунта.
- Повторите для Anthropic, OpenRouter и других провайдеров по необходимости.
Шаг 2. Создание Customer и VK для команды.
- Customers → Add Customer: имя
company, бюджет $400/мес. - Virtual Keys → Add Virtual Key: имя
alice, привязать к Customercompany, бюджет $50/мес, разрешённые модели (gpt-5.4-mini,gpt-5.4,claude-4-6-sonnet). - Повторите для каждого члена команды.
Шаг 3. Раздача VK.
Каждый сотрудник получает в безопасном канале (1Password, корпоративный мессенджер с e2e) значение своего VK (sk-bf-...) и URL https://meridian.company/v1.
Создание Customer и трёх VK через API:
# 1. Customer для команды
curl -X POST http://localhost:8080/api/governance/customers \
-H "Content-Type: application/json" \
-d '{
"name": "company",
"budget": { "max_limit": 400.00, "reset_duration": "1M", "calendar_aligned": true }
}'
# 2. VK для разработчика с расширенным бюджетом
curl -X POST http://localhost:8080/api/governance/virtual-keys \
-H "Content-Type: application/json" \
-d '{
"name": "carol-code",
"description": "Carol — OpenClaw + Cherry Studio",
"customer_id": "customer-company",
"provider_configs": [
{ "provider": "openai", "weight": 1.0, "allowed_models": ["gpt-5.4-mini", "gpt-5.4"] },
{ "provider": "anthropic", "weight": 1.0, "allowed_models": ["claude-3-5-sonnet-20241022"] }
],
"budget": { "max_limit": 100.00, "reset_duration": "1M", "calendar_aligned": true },
"rate_limit": { "request_max_limit": 120, "request_reset_duration": "1m" },
"is_active": true
}'
# 3. VK для рядового пользователя
curl -X POST http://localhost:8080/api/governance/virtual-keys \
-H "Content-Type: application/json" \
-d '{
"name": "alice",
"customer_id": "customer-company",
"provider_configs": [
{ "provider": "openai", "weight": 1.0, "allowed_models": ["gpt-5.4-mini", "gpt-5.4"] },
{ "provider": "anthropic", "weight": 1.0, "allowed_models": ["claude-3-5-sonnet-20241022"] }
],
"budget": { "max_limit": 50.00, "reset_duration": "1M", "calendar_aligned": true },
"is_active": true
}'Проверка расхода (для дашборда команды):
curl http://localhost:8080/api/governance/customers/customer-companyЭкстренное отключение VK при увольнении:
curl -X PUT http://localhost:8080/api/governance/virtual-keys/{vk_id} \
-H "Content-Type: application/json" \
-d '{ "is_active": false }'Все три клиента — OpenAI-совместимые. Достаточно указать base_url Meridian и собственный VK как api_key.
Open WebUI (для команды или одного пользователя):
- Settings → Connections → OpenAI API.
- API Base URL:
https://meridian.company/v1 - API Key:
sk-bf-<имя-VK> - Verify Connection → Save.
- Модели появятся автоматически (включая те, что разрешены в
allowed_modelsвашего VK).
Cherry Studio (десктоп):
- Settings → Model Providers → Add Custom Provider.
- Type:
OpenAI-compatible. Name:Meridian. - API Host:
https://meridian.company/v1 - API Key:
sk-bf-<имя-VK> - Добавьте нужные модели вручную:
gpt-5.4-mini,gpt-5.4,claude-4-6-sonnet.
OpenClaw (или другой code-агент с OpenAI-совместимой конфигурацией):
- В конфиге укажите:
provider: base_url: https://meridian.company/v1 api_key: sk-bf-carol-code model: anthropic/claude-3-5-sonnet-20241022 - Большинство code-агентов также поддерживают
fallbacksчерез extra-параметры запроса — добавьте резервный провайдер при необходимости.
Если клиент не находит модель — проверьте allowed_models в VK. Список моделей, передаваемых клиенту, должен явно содержать те, которые клиент будет запрашивать. Используйте ["*"] чтобы разрешить все доступные модели подключенных провайдеров.
Когда это выгоднее, чем потребительские подписки
Pay-as-you-go выгоднее при умеренном или неравномерном использовании; потребительские подписки выгоднее при тяжёлой ежедневной нагрузке от каждого члена команды. Хорошая стратегия — начать с Meridian + pay-as-you-go и смотреть на дашборд: если кто-то систематически упирается в потолок, на этого человека целевой апгрейд (отдельная подписка или больший бюджет в VK).
Когда pay-as-you-go особенно выгоден:
- Нерегулярное использование — AI нужен 2–3 раза в неделю или эпизодически под конкретные задачи; платить $20/мес за подписку, которая месяцами лежит без дела, — переплата. Pay-as-you-go даёт «платите только за фактический трафик».
- Временные сотрудники, подрядчики, стажёры, консультанты. Выпускайте VK с маленьким бюджетом ($10–$20) и сроком жизни, равным продолжительности проекта; после завершения —
is_active: false. Не нужно покупать им потребительскую подписку, оформлять корпоративный аккаунт или передавать ключ от общего. - Сезонные пики и разовые проекты — миграция, миграционный анализ кода, разовая аналитика. Выделяется проектный VK с увеличенным бюджетом на месяц-два, потом отключается.
- Эксперименты с новыми моделями. Хочется попробовать новинку Anthropic или OpenAI на один день — pay-as-you-go даёт это без подписки и обязательств.
Связанные материалы
- Виртуальные ключи — VK как единица доступа на сотрудника или клиент.
- Бюджеты и лимиты — calendar-aligned бюджеты для месячного учёта.
- Семантическое кэширование — экономия на типовых запросах команды.
- Custom-провайдеры — подключение Ollama, vLLM, нишевых провайдеров.
- Использование подписки на нескольких компьютерах и приложениях — близкий сценарий для одного пользователя с фиксированной подпиской.
- Отладка и аудит LLM-приложений — пер-VK расход и логи запросов.
Использование подписки на нескольких компьютерах и приложениях
Одна подписка провайдера (Kimi, Moonshot, Together, DeepSeek), Meridian на домашнем сервере и Virtual Key на каждое устройство и приложение. Полный контроль над тем, кто и сколько съел.
Защита от опустошения бюджета и отказа в обслуживании
Иерархические бюджеты, предварительная оценка стоимости каждого запроса и rate limits на стороне шлюза гарантируют, что баг в коде или внешняя атака не превратятся в катастрофический счёт от провайдера.