Счётчик токенов DeepSeek

CATLYS
2025-11-16T02:51:12Z

Считаем токены и длину диалога в chat.deepseek.com, заменяя дисклеймер на индикатор длины диалога

Счётчик токенов DeepSeek

Userscript для Tampermonkey, который показывает примерное количество токенов в текущем чате DeepSeek и заменяет служебную надпись "AI-generated, for reference only" на удобный индикатор длины диалога.

MIT-лицензия: Вы можете свободно изменять, использовать, редактировать текст кода в любых целях, мне всё равно - он создан при помощи нейросети, как и этот текст.

Возможности

Заменяет стандартный дисклеймер под чатом на строку вида:
Токены: ~12 345 (Символы: 67 890, 38%).

Учитывает разные алфавиты:

латиницу (английский, цифры и базовая пунктуация),

кириллицу (русский),

китайские иероглифы.

Работает аккуратно:

не трогает структуру DOM,

не перехватывает fetch/XHR/WebSocket,

не модифицирует #root и другие корневые контейнеры.

Режимы обновления:

автообновление по таймеру (по умолчанию раз в 10 секунд),

ручное обновление по клику по строке индикатора.

Консольная диагностика через checkTokens():

общий размер текста,

примерное число токенов,

разбивка по латинице/кириллице/китайскому,

процент от лимита (по умолчанию 64 000 токенов).

Интеграция с меню Tampermonkey:

пункт для включения/выключения автообновления,

пункт «Справка» с кратким описанием возможностей скрипта.

Как работает подсчёт

Скрипт собирает текст:

всех сообщений пользователя,

всех ответов ИИ (кроме «thinking»/скрытых мыслей).

Дальше выполняется приближённый подсчёт токенов:

латиница: ~0.25 токена за символ,

кириллица: ~0.55 токена,

китайский: ~0.65 токена,

прочие символы: ~0.4 токена.

Это оценка, а не точный счётчик конкретного токенизатора, но на практике она довольно хорошо совпадает по порядку величины и даёт удобное представление о том, сколько контекста уже занято.

Установка

1. Установите любимое расширение для управления скриптами.

2. Откройте страницу скрипта на GreasyFork и нажмите кнопку «Установить этот скрипт».

3. Убедитесь, что скрипт включён в панели Tampermonkey.

4. Откройте или обновите страницу DeepSeek:

https://chat.deepseek.com/...

Использование

Индикация под чатом

После загрузки чата под областью диалога вместо надписи "AI-generated, for reference only" появится строка с текущим количеством токенов.

Строка выглядит примерно так:

Токены: ~12 345 (Символы: 67 890, 38%)

Цвет/префикс строки:

обычный режим — без значка, фоновый цвет по умолчанию;

при > 90 % лимита — префикс ⚠️ (предупреждение);

при превышении лимита — префикс ‼️ и соответствующая запись в консоль.

Автообновление

По умолчанию скрипт:

делает первое обновление примерно через 1 секунду после инициализации;

затем пересчитывает токены раз в 10 секунд.

Автообновление можно включать и выключать через меню Tampermonkey (см. ниже).

Ручное обновление по клику

Нажмите на строку с токенами под чатом — скрипт сразу пересчитает длину текущего диалога.

Это удобно, если автообновление выключено или нужно мгновенно увидеть изменение.

Настройки через меню Tampermonkey

1. Нажмите на иконку Tampermonkey в панели браузера.

2. В списке скриптов выберите «Счётчик токенов DeepSeek».

3. В появившемся меню будут пункты, например:

✅ Автообновление индикатора / ❌ Автообновление индикатора
Нажатие по этому пункту:

переключает режим (включено/выключено),

сразу запускает или останавливает таймер обновления,

меняет текст пункта, чтобы было видно текущее состояние.

❓ Справка
Показывает окно alert с кратким описанием функций скрипта и подсказками по использованию.

Консольная проверка (checkTokens())

Для подробной диагностики:

1. Откройте консоль разработчика (F12 → вкладка Console).

2. Введите и выполните:

   checkTokens()

1. В консоль будет выведен отчёт:

общее количество символов (characters),

примерное количество токенов (tokens),

подробная разбивка (breakdown.latin, breakdown.cyrillic, breakdown.chinese, breakdown.other),

процент от лимита.

Функция также возвращает объект, так что можно сохранить результат:

const info = checkTokens();
console.log(info.tokens);

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

Скрипт аккуратно работает только на https://chat.deepseek.com/*.

Не перехватывает и не модифицирует сетевые запросы (fetch/XHR/WebSocket).

Использует ограниченное число DOM-запросов и один таймер с интервалом 10 секунд (можно отключить автообновление по таймеру).

Все вычисления происходят локально в браузере, никакие данные чата никуда не отправляются.

Известные ограничения

Подсчёт токенов приближённый; для системного, «официального» счёта конкретного токенизатора DeepSeek могут быть небольшие расхождения.

Если DeepSeek изменит текст или структуру блоков с дисклеймером, скрипт может перестать находить нужный элемент и тогда просто не будет вмешиваться (чтобы не ломать страницу).

Лимит в 64 000 токенов выбран с запасом под расширенные режимы; в некоторых режимах реальный лимит может быть ниже/выше, взята половина максимального лимита в 128 000 токенов.

Обратная связь

Если вы заметили:

некорректный подсчёт токенов на длинных диалогах,

несовместимость с обновлённым интерфейсом DeepSeek,

идеи по улучшению (дополнительные режимы, стили, локализация),

оставьте комментарий на странице скрипта на GreasyFork.