Skip to content

dsh-arckep

Verified

dsh-arckep · v0.1.2 · MIT · Web UI

Balance and spending of an arckep.ru account inside the DeepSeek Harness (DSH) web UI. Unofficial community plugin.

Install

dsh plugin add dsh-arckep

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

dsh-arckep

English | Русский

Показывает баланс и расход вашего аккаунта arckep.ru прямо в веб-окне DeepSeek Harness (DSH): небольшой значок с балансом в шапке сессии и в нижней части боковой панели, панель с подробностями и страница настроек для ключа API.

Неофициальный плагин. Его сделало сообщество. Он не создан DeepSeek, не одобрен ими и никак с ними не связан. arckep.ru — сторонний сервис, к которому подключается плагин; нужен ваш собственный аккаунт и ключ API на arckep.ru.

Что вы получите

  • Значок в шапке открытой сессии: баланс в виде 1 234,50 ₽. Он становится «предупреждающим», когда баланс ниже вашего порога (по умолчанию 100 ₽) или по прогнозу денег хватит меньше чем на 3 дня. Клик открывает панель.
  • Значок в боковой панели: тот же баланс (иконка и сумма) внизу боковой панели, над «Settings», поэтому он виден и на пустом стартовом экране; правила предупреждения те же. Клик открывает ту же панель. Его можно отключить в Настройки → Arckep.
  • Панель: баланс (с пометкой для корпоративного кошелька), расход за сегодня / 7 дней / 30 дней, пять самых дорогих моделей, «хватит примерно на N дн.», «обновлено N мин назад» и кнопка «Обновить».
  • Настройки → Arckep: поле для ключа (после сохранения очищается и лишь показывает, что ключ задан), «Сохранить» / «Удалить ключ», переключатель «считать расход только по этому ключу», интервал опроса (по умолчанию 300 с, минимум 60 с), порог предупреждения, «показывать баланс в боковой панели» и язык интерфейса.
  • Интерфейс на русском и английском по языку DSH (русский, если язык определить нельзя; английский для других языков DSH). Сам DSH поставляется с английским и китайским, поэтому русскоязычный пользователь может переключить плагин на русский в Настройки → Arckep. Цвета берутся из темы DSH, поэтому светлая и тёмная темы работают.
  • Если arckep.ru недоступен, на экране остаются последние удачные цифры с пометкой «данные устарели».

Значок в шапке есть, только пока открыта сессия. Значок в боковой панели от сессии не зависит. Когда боковая панель свёрнута в узкую рейку, он показывает только иконку рубля (сумма — при наведении или фокусе), поэтому ничего не переносится и не обрезается. Оба значка делят одно состояние и одну панель: одновременно открыта только одна панель, обновление в одном месте сразу видно в другом, а второй значок не делает лишних запросов.

Требования

  • DSH 0.2.0-rc.2 или новее с веб-интерфейсом (dsh web). DSH — это превью для разработчиков, его интерфейсы плагинов ещё меняются, см. Совместимость. Сам DSH требует Node.js 22.19+ (или 24+); у плагина других требований нет.
  • Профиль DSH с веб-приложением (поставляемый профиль web подходит).
  • Ключ API arckep.ru с доступом balance:read.

Установка

dsh plugin --profile web add dsh-arckep
dsh web

(web — имя профиля; если у вас свой профиль, подставьте его.) Сборки и скриптов установки нет, поэтому ничего дополнительно разрешать или собирать не нужно. В npm пакет есть начиная с версии 0.1.2. pnpm 11, которым DSH ставит плагины, не берёт пакеты, опубликованные меньше 24 часов назад, поэтому свежий выпуск из npm может встать только через сутки (см. «Если что-то не так»).

Чтобы поставить прямо из GitHub или зафиксировать коммит или тег:

dsh plugin --profile web add github:gmen1057/dsh-arckep
dsh plugin --profile web add github:gmen1057/dsh-arckep#<коммит-или-тег>

Проверить, что слой подключён: dsh --profile web --dump-config (ищите блок # == dsh-arckep). Удалить плагин: dsh plugin --profile web remove dsh-arckep.

Настольное приложение

У DSH Desktop свой профиль desktop. По документации DSH: запустите приложение один раз, полностью закройте его, выполните dsh plugin --profile desktop add dsh-arckep (командой dsh, которая идёт вместе с приложением) и снова откройте приложение. Для профиля desktop команда dsh --profile desktop --dump-config отказывает («managed exclusively by the Electron application»), поэтому единственная проверка — значок внизу боковой панели (или в шапке открытой сессии). Автор плагина в настольном приложении не проверял.

Как задать ключ

  1. На arckep.ru откройте Настройки → API и создайте ключ. Нужен доступ к балансу (balance:read). У новых ключей он есть по умолчанию; безопаснее всего завести отдельный ключ только с этим доступом.
  2. В DSH откройте Настройки → Arckep, вставьте ключ и нажмите Сохранить. Поле очистится, а страница напишет «Ключ задан».

Можно вместо этого экспортировать ARCKEP_API_KEY перед запуском DSH. Действует правило DSH: переменная окружения важнее сохранённого ключа, и страница настроек показывает такой ключ как доступный только для чтения.

Настройки

Настройка По умолчанию Где хранится
Ключ API нет хранилище ключей DSH (ARCKEP_API_KEY), см. «Приватность»
Показывать баланс в боковой панели вкл. этот браузер
Считать расход только по этому ключу выкл. этот браузер
Интервал опроса 300 с (минимум 60 с) этот браузер
Предупреждать, когда баланс ниже 100 ₽ этот браузер
Язык интерфейса как в DSH этот браузер

Три настройки отображения выше языка можно задать и «по умолчанию» для всей установки: переопределите строку arckep в cordis.patch.yml своего профиля ($DSH_HOME/profiles/<профиль>/cordis.patch.yml):

- id: arckep
  config:
    refreshSeconds: 600
    warnBelowRub: 300
    keyOnly: false

То, что пользователь изменил в Настройки → Arckep, перекрывает эти значения в его браузере.

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

  • К arckep.ru обращается сервер DSH, а не браузер. Браузер разговаривает только с DSH.
  • Запросы делаются, только пока открыта и видна страница DSH, и только если сохранённый ответ старше интервала опроса. Фоновых таймеров на сервере нет.
  • Один запрос за раз, таймаут 10 с, перенаправления не выполняются. После ошибок следующая автоматическая попытка откладывается на 30 с, 60 с, 120 с … до 30 минут (и на Retry-After при HTTP 429).
  • 401 (неверный ключ) и 403 (нет доступа) автоматически не повторяются; после исправления ключа нажмите «Обновить».
  • Расход берётся из GET /api/v1/usage. Если на сервере arckep.ru такого адреса ещё нет (HTTP 404), плагин продолжает показывать баланс и без всяких ошибок скрывает блок расхода. Время от времени он пробует снова.

Приватность и безопасность

  • Плагин обращается только к https://arckep.ru: GET /api/v1/balance и GET /api/v1/usage?days=30&key_only=.... Хост и схема https проверяются в коде; перенаправление (любой ответ 3xx) считается ошибкой и не выполняется.
  • Никакой телеметрии, аналитики и сторонних запросов. Плагин не пишет собственных файлов; единственное, что сохраняет DSH, — ключ в своём хранилище. Настройки отображения лежат в localStorage вашего браузера.
  • Ключ уходит в заголовке Authorization: Bearer на arckep.ru и больше никуда. Он никогда не попадает в cordis.patch.yml, в адрес запроса, в журналы, в тексты ошибок и в то, что отправляется браузеру; браузер узнаёт лишь, задан ли ключ и откуда он.
  • Четыре маршрута плагина живут на собственном защищённом канале /api самого DSH, поэтому их защищают проверки Host/Origin и cookie браузерной сессии DSH. Запросы, меняющие состояние, дополнительно требуют JSON-тип содержимого и запрос с того же источника.
  • Помните, где лежит ключ. Локальное хранилище ключей DSH — файл в $DSH_HOME (~/.dsh/.credentials.yaml, права 600). Инструменты, которые запускает агент DSH, работают под тем же пользователем ОС и могут его прочитать. Это свойство DSH, а не плагина. Ограничьте ущерб: заведите ключ только с balance:read и отзовите его на arckep.ru, если подозреваете утечку.
  • Стандартные переменные прокси, которые учитывает DSH (см. руководство DSH по сетевому прокси), действуют и здесь, потому что плагин использует обычный fetch хоста. Работу через прокси я не проверял.

О найденных уязвимостях сообщайте приватно, см. SECURITY.md.

Если что-то не так

Что вы видите Что это значит
«arckep.ru не принял ключ (401)» ключ неверный или отозван; вставьте новый
«У ключа нет нужного доступа (balance:read)» создайте ключ с доступом «баланс»
«Нет связи с arckep.ru» / «не ответил за 10 секунд» проблема сети; последние цифры остаются с пометкой «устарели»
«Расход пока недоступен на стороне arckep.ru» на сервере нет адреса /usage (пока); баланс при этом работает
значка нет совсем посмотрите внизу боковой панели, над «Settings» (значок в шапке есть только при открытой сессии). Если в Настройках есть страница Arckep, проверьте, что включено «Показывать баланс в боковой панели»; если такой страницы нет, плагин не загружен: ищите блок # == dsh-arckep в dsh --profile web --dump-config
«Ключ задан переменной окружения» уберите ARCKEP_API_KEY, чтобы управлять ключом в Настройках
установка не удалась, DSH пишет «git-hosted plugins build on install via their prepare script…» эта подсказка выводится при любой неудачной установке с адресом github:. У dsh-arckep нет скриптов установки, allowBuilds не нужен; читайте настоящую ошибку pnpm выше подсказки
установка не удалась из-за minimumReleaseAge pnpm 11 по умолчанию не берёт пакеты, опубликованные меньше 24 часов назад, и проверяет все пакеты из lockfile профиля, а не только новый. Если в сообщении названы другие плагины, виноваты они; если назван сам dsh-arckep, выпуску нет и суток. Повторите позже или поставьте ту же версию из GitHub (github:gmen1057/dsh-arckep#v0.1.2)

Совместимость

DSH — превью для разработчиков: его интерфейсы плагинов могут меняться между выпусками, а этот плагин опирается на слоты веб-клиента (conversation.session.header.utilities, sidebar.footer.action, settings.section) и на ctx.connection.fetch и ctx.credentials хоста.

Версия DSH Статус
0.2.0-rc.2 (latest) проверено: ставится (из локальной папки, tarball и git-адреса), загружается, значки в шапке и в боковой панели, панель, настройки, хранение ключа, отключение/включение на лету
0.2.1-alpha.2 (alpha) проверено: ставится из tarball, загружается, значки в шапке и в боковой панели, панель, настройки, хранение ключа

Проверялся только веб-интерфейс (dsh web). У TUI нет веб-клиента, он не поддерживается; настольное приложение автор не проверял (порядок установки для него описан выше).

Разработка

npm ci
npm run check      # проверка синтаксиса и манифеста
npm test           # node --test, без сети
node scripts/mock-arckep.mjs 39100                      # локальная заглушка API
DSH_ARCKEP_TEST_ORIGIN=http://127.0.0.1:39100 dsh web   # направить DSH на заглушку

DSH_ARCKEP_TEST_ORIGIN нужна только для разработки. Она принимается лишь тогда, когда указывает на loopback-адрес по обычному http с портом от 1024 (например, http://127.0.0.1:39100); любое другое значение игнорируется и попадает в журнал. Через настройки плагина её задать нельзя, так что файл профиля не может перенаправить ключ. В обычной работе её не задавайте.

Клиентская часть (lib/client.js) — один рукописный файл в формате «ленивого CommonJS», которым DSH загружает клиентские модули, поэтому для установки из GitHub сборка не нужна.

Благодарности

Публичные плагины dsh-cost-meter и dsh-web-billing помогли разобраться, как устроен веб-плагин DSH (слоты, хранилище ключей, формат клиентских модулей). Код оттуда не копировался.

Лицензия

MIT © 2026 gmen1057