Счётчик токенов 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 токена.
Это оценка, а не точный счётчик конкретного токенизатора, но на практике она довольно хорошо совпадает по порядку величины и даёт удобное представление о том, сколько контекста уже занято.
Установка
- Установите любимое расширение для управления скриптами.
- Откройте страницу скрипта на GreasyFork и нажмите кнопку «Установить этот скрипт».
- Убедитесь, что скрипт включён в панели Tampermonkey.
- Откройте или обновите страницу DeepSeek:
Использование
Индикация под чатом
После загрузки чата под областью диалога вместо надписи "AI-generated, for reference only" появится строка с текущим количеством токенов.
Строка выглядит примерно так:
Токены: ~12 345 (Символы: 67 890, 38%)
Цвет/префикс строки:
- обычный режим — без значка, фоновый цвет по умолчанию;
- при > 90 % лимита — префикс
⚠️ (предупреждение);
- при превышении лимита — префикс
‼️ и соответствующая запись в консоль.
Автообновление
По умолчанию скрипт:
- делает первое обновление примерно через 1 секунду после инициализации;
- затем пересчитывает токены раз в 10 секунд.
Автообновление можно включать и выключать через меню Tampermonkey (см. ниже).
Ручное обновление по клику
- Нажмите на строку с токенами под чатом — скрипт сразу пересчитает длину текущего диалога.
- Это удобно, если автообновление выключено или нужно мгновенно увидеть изменение.
Настройки через меню Tampermonkey
- Нажмите на иконку Tampermonkey в панели браузера.
- В списке скриптов выберите «Счётчик токенов DeepSeek».
- В появившемся меню будут пункты, например:
✅ Автообновление индикатора / ❌ Автообновление индикатора
Нажатие по этому пункту:
- переключает режим (включено/выключено),
- сразу запускает или останавливает таймер обновления,
- меняет текст пункта, чтобы было видно текущее состояние.
❓ Справка
Показывает окно alert с кратким описанием функций скрипта и подсказками по использованию.
Консольная проверка (checkTokens())
Для подробной диагностики:
- Откройте консоль разработчика (F12 → вкладка Console).
- Введите и выполните:
checkTokens()
- В консоль будет выведен отчёт:
- общее количество символов (
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.