Tokentap CLI
Локальный прокси с панелью в терминале: показывает, сколько токенов уходит с каждым запросом Claude Code и Codex, и сохраняет промпты в файлы
- 811 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Прокси принимает все запросы агента к модели, включая заголовки с ключом API, и пересылает их провайдеру
- Полный текст каждого запроса, с кодом и файлами из контекста, сохраняется на диск в Markdown и JSON
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/tokentapОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Прокси принимает все запросы агента к модели, включая заголовки с ключом API, и пересылает их провайдеру
- Полный текст каждого запроса, с кодом и файлами из контекста, сохраняется на диск в Markdown и JSON
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Tokentap ставится пакетом из PyPI и показывает расход токенов консольных ИИ-агентов в живой панели терминала. Команда `tokentap start` поднимает локальный прокси на порту 8080 и спрашивает, в какую папку сохранять перехваченные промпты (Enter оставляет папку по умолчанию). Во втором терминале `tokentap claude`, `tokentap codex` или `tokentap gemini` запускает агента с подмененным адресом API: для Claude Code это переменная `ANTHROPIC_BASE_URL`, для Codex `OPENAI_BASE_URL`. Для любой другой программы есть `tokentap run --provider <имя> <команда>`, провайдеры anthropic, openai, gemini и minimax. Прокси пересылает каждый запрос на настоящий адрес провайдера, а тело запроса разбирает: берет модель и сообщения, считает токены кодировкой `cl100k_base` библиотеки tiktoken и добавляет строку в таблицу с временем, провайдером, моделью и числом токенов. Шкала заполнения сравнивает накопленную сумму с лимитом (по умолчанию 200 000, меняется ключом `--limit`): зеленая до половины, желтая от 50 до 80 процентов, красная выше. Под таблицей виден последний промпт. Каждый запрос ложится в выбранную папку двумя файлами: Markdown с метаданными и сырой JSON тела запроса. При выходе Tokentap печатает итог сессии: сумму токенов и число запросов.
Для кого. Разработчикам, которые работают с Claude Code, Codex или другим консольным агентом и хотят видеть, куда уходят токены и что агент отправляет модели.
Подходит, если
- Сессия Claude Code быстро упирается в окно контекста, и нужно увидеть, какой запрос добавил больше всего токенов
- Надо разобрать, какие системные инструкции и сообщения агент на самом деле отправил модели
- Нужен архив промптов сессии в Markdown и JSON для разбора по следам
- Вы пишете программу на OpenAI-совместимом API, например с MiniMax, и хотите видеть объем каждого запроса
Не подходит, если
- Нужны отчеты за прошлые дни и месяцы: Tokentap видит только запросы, которые прошли через прокси во время его работы, а по локальным логам отчеты строит ccusage
- Программа не читает переменные с адресом API: прокси получит трафик только от процессов, которым подменили `ANTHROPIC_BASE_URL`, `OPENAI_BASE_URL` или аналог
- Нужна Windows: в значках проекта указаны только macOS и Linux
- Нужен провайдер вне списка: прокси знает адреса Anthropic, OpenAI, Google Gemini и MiniMax, на другие запросы он отвечает ошибкой 400
Пример запроса к агенту
Поставь tokentap и подскажи, как запустить Claude Code, чтобы я видел расход токенов по каждому запросуОграничения
Версия 0.1.1, в метаданных пакета статус Beta. Лицензия MIT.
Число токенов проект считает по телу запроса кодировкой `cl100k_base`, поэтому это оценка, а не данные счета провайдера. Ответы модели в подсчет не входят: в коде разбирается только запрос.
Gemini CLI при входе через OAuth игнорирует чужой адрес API, и поддержка Gemini заработает после исправления на стороне Google, о чем сказано в разделе известных проблем.
Прокси пересылает запросы без изменений. API OpenAI и Anthropic из России недоступны. Слушает он 127.0.0.1, порт задается ключом `--port`.
Как отключить. Остановите `tokentap start` и запускайте агента обычной командой без префикса `tokentap`. Пакет удаляет `pip uninstall tokentap`. Сохраненные промпты остаются в выбранной вами папке, их нужно удалить вручную.
Частые вопросы
Как узнать, сколько токенов съедает каждый запрос Claude Code?
Запустите `tokentap start` в одном терминале и `tokentap claude` в другом. Таблица в первом терминале добавляет строку на каждый запрос: время, провайдер, модель и число токенов. Шкала сверху сравнивает накопленную сумму с лимитом в 200 000, который меняется ключом `--limit`.
Как посмотреть, что агент отправляет модели?
Каждый перехваченный запрос сохраняется в папку, выбранную при старте, двумя файлами: Markdown с метаданными для чтения и JSON с телом запроса как есть. Последний промпт виден и под таблицей панели.
Как подключить программу, которая не Claude Code и не Codex?
Команда `tokentap run --provider minimax python my_app.py` задает `OPENAI_BASE_URL=http://localhost:8080/minimax/v1`. Запросы приходят на путь `/minimax/v1/chat/completions`, прокси отрезает префикс и пересылает их на адрес MiniMax.
Что делать, если порт 8080 занят?
Передайте другой номер ключом `--port` и командам `tokentap start`, и `tokentap claude`. Оба ключа должны совпадать, иначе агент будет стучаться в прежний порт.
Что показывает итог в конце сессии?
При выходе Tokentap печатает одну строку: сколько токенов набралось за сессию и сколько запросов прошло через прокси. Подробности по каждому запросу остаются в сохраненных файлах.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыToken Savior индексирует код по символам, хранит память между сессиями и переписывает шумные команды Bash, чтобы агент тратил меньше токенов
Локальная панель учета работы ИИ-агентов: токены, оценка стоимости, шаги, измененные файлы и проверки по задачам Claude Code, Codex, OpenCode
Magpie
magpie
Magpie — приложение и локальный шлюз, которые подключают к Claude Code, Codex, Gemini CLI и OpenCode любые модели и переключают их из меню
Локальная панель для сессий Claude Code: таймлайны, расходы токенов, инструменты, агенты, скиллы и живые сессии
Прокси от ai-forever, который отдает GigaChat через API OpenAI, Anthropic и Gemini, чтобы запускать на нем Claude Code, Codex и Gemini CLI
Доска задач на Rust для терминала: каждая задача идет в своем git worktree и окне tmux, а Claude Code, Codex, Gemini CLI и другие агенты работают вместе
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Tokentap (эта запись) | нет | 811 | |
| ccusage | нет | 19 138 | строит отчеты по токенам и стоимости из локальных логов агентов, без прокси |
| claude-tap | нет | 3 305 | тоже локальный прокси, но с просмотрщиком трафика: системные промпты, вызовы инструментов и расход |
Коротко о README
В репозитории есть описание на английском с установкой, быстрым стартом и таблицей команд, схема работы прокси, список провайдеров со статусом поддержки и раздел известных проблем. Код разложен по модулям прокси, разбора запросов, панели и конфигурации, рядом лежит каталог тестов.