dsh-routerai-usage
Баланс RouterAI и стоимость запросов в веб-интерфейсе DeepSeek Harness.
Показывает баланс личного кабинета и сколько потратила текущая сессия — вместе с субагентами — под полем ввода. По клику раскрывается, на что именно ушло: по провайдерам и по моделям.
505,14 ₽ ◎ 147,04 ₽
◈ routerai 505,14 ₽
всего 147,04 ₽ · 848 запросов
в т.ч. субагенты: 33,35 ₽ · 222 запроса
По провайдеру
byteplus 822 запроса · 141,27 ₽
Кроме чата
Изображения 1 запрос · 3,40 ₽
Заголовки сессий стоимость не сообщена · 2
По модели
deepseek-v4.1-flash 848 запросов · 147,04 ₽
Панель открывается по клику и закрывается повторным кликом, кликом мимо или клавишей Escape.
Установка
Откройте в Harness раздел плагинов, нажмите «Добавить плагин» и вставьте ссылку на репозиторий:
https://github.com/stopperino/dsh-routerai-usage
После установки включите плагин в списке — и всё.
Ему нужен веб-интерфейс Harness. В профилях без него (например, headless или acp) плагин
установится, но работать не будет.
Если на компьютере нет Git, вместо ссылки на репозиторий дайте ссылку на архив:
https://codeload.github.com/stopperino/dsh-routerai-usage/tar.gz/refs/tags/v1.3.2
Пиковые часы
Некоторые провайдеры берут в часы нагрузки вдвое больше — у DeepSeek так. В это время цифра баланса краснеет, а в панели появляется предупреждение:
Пиковые часы: цена 2× · до 15:00 (местное)
Время местное, по вашему часовому поясу. В обычные часы виджет выглядит как раньше.
Расписание плагин берёт у RouterAI, а не хранит у себя, поэтому модели, у которых провайдер объявит такие окна, попадают в предупреждение сами. Сейчас они есть у моделей DeepSeek; у GLM, Kimi, Qwen, GPT, Claude, Gemini, Grok и MiniMax цена в течение дня одна и та же.
Если предупреждение не нужно, выключите его в настройках: peak: false.
Как считается стоимость
RouterAI сам решает, на каком провайдере выполнить запрос. Цены у провайдеров разные: один держит модель в квантовании полегче и берёт дешевле, другой отдаёт полную версию и стоит дороже. Поэтому посчитать по прайс-листу не получится — ошибка может быть в разы.
Плагин ничего не считает сам: он спрашивает у RouterAI, сколько запрос стоил на самом деле, и показывает эту сумму.
Изображения, видео и речь
Расход на них идёт мимо диалога с моделью: агент делает запрос сам, обычно через терминал
(curl … /api/v1/images). Поэтому такие генерации считаются отдельно — по ответу, который агент
получил, а не по прайс-листу.
Что важно знать про их устройство:
- у изображений вообще нет идентификатора генерации — стоимость приходит только в теле ответа
(
usage.cost). Никакого «спросить у RouterAI позже» для них не существует, поэтому генерация вне чата, ответ на которую не попал в журнал, посчитана быть не может; - у видео идентификатор есть, но это
generation_id, а не идентификатор задачи; - у речи и расшифровки идентификатор приходит в заголовке
X-Generation-Id; - перечня трат у RouterAI нет: в API нет ни выписки, ни истории генераций, так что «достать задним числом» нечего.
В панели такие траты показаны в разделе Кроме чата — по видам, и только если они были. Если сумма неизвестна, плагин так и пишет: «стоимость не сообщена», а не рисует ноль.
Туда же попадают служебные вызовы модели, которые Harness делает сам и которые тоже списываются с баланса: заголовок сессии и сжатие истории. Идентификатор генерации у них не сохраняется, поэтому они видны как расход, но без суммы.
Настройка
- id: routerai-usage
name: dsh-routerai-usage
config:
pollSeconds: 30 # как часто обновлять баланс, пока виджет на экране
idlePollSeconds: 300 # как часто обновлять, пока никто не смотрит
baseURL: https://routerai.ru/api/v1 # адрес API
peak: true # предупреждать о пиковом тарифе
peakRefreshSeconds: 1800 # как часто перечитывать расписание тарифов
Оба интервала не быстрее 10 секунд, и idlePollSeconds не может быть меньше pollSeconds.
Ключ доступа
Ключ берётся из учётных данных Harness по имени ROUTERAI_API_KEY — тому же, что использует
провайдер модели routerai. Плагин его не сохраняет, не пишет в журналы и не отдаёт в браузер.
Без ключа виджет покажет «нет ключа», остальной Harness будет работать как обычно.
Что уходит с вашей машины
Только запросы к RouterAI: баланс, стоимость уже выполненного запроса и расписание пиковых тарифов (последнее — без ключа). Ничего не отправляется автору плагина или кому-то ещё, телеметрии нет.
Стоимость каждого запроса запоминается по его идентификатору, поэтому повторное открытие той же сессии не делает ни одного обращения к серверу. В памяти остаются только пары «идентификатор → сумма»: ни токенов, ни промптов, ни содержимого сессий.
Баланс обновляется, только пока виджет на экране. Когда вкладка скрыта или окно закрыто, плагин почти не обращается к серверу — около 288 запросов в сутки вместо 2 880.
Совместимость
DeepSeek Harness 0.1.7-rc.1 или новее; проверено на 0.2.1-rc.3.
Лицензия
MIT — см. LICENSE.
No comments yet. Be the first to write one.