Об этом проекте
cost-xray — это инструмент локального перехвата и атрибуции затрат для ИИ-агентов программирования. Вместо чтения локальных транскриптов постфактум он перехватывает фактические API-запросы, которые отправляют Claude Code и Codex, а затем разбивает каждый запрос на составляющие источники и оценивает их стоимость.
Зачем он нужен: инструменты использования на основе логов показывают общую стоимость вызова или сессии, но контекст на момент запроса — системные промпты, внедрённые схемы инструментов, блоки MCP, результаты инструментов, чтение/запись кэша, предыдущие блоки размышлений — собирается во время запроса и никогда не записывается в транскрипт. Этот невидимый префикс может составлять значительную долю контекста. cost-xray читает необработанный сетевой запрос, чтобы отнести токены и доллары к схемам, серверам MCP, инструментам и корзинам сообщений вплоть до отдельных вызовов инструментов.
Как это работает: mitmproxy запускается как локальный узел перехвата. Claude Code перехватывается в режиме обратного прокси с переопределением базового URL (без сертификата); Codex использует прямой прокси плюс ограниченный локальный CA, которому доверяет только команда codex. Прокси привязывается к 127.0.0.1, не отправляет телеметрию и редактирует заголовки Authorization, API-ключи, cookies и поля тела, похожие на секреты, перед записью на диск в ~/.cost-xray/. Анализ выполняется вне пути запроса в отдельном материализаторе, поэтому токенизация и оценка стоимости не добавляют задержки к живому ретранслированию. Перехваченный трафик дедуплицируется по уникальному блоку с дельтами по каждому ходу, что сохраняет небольшой объём диска даже для сессий на миллион токенов.
Возможности, описанные в README: атрибуция затрат по источникам с разделением на свежие, чтение кэша, запись кэша и выходные токены, с ценой вплоть до отдельного вызова; занятость контекстного окна, разбитая на строки уровня источников; обнаружение настроенных серверов MCP и инструментов, которые внедряются в каждый запрос, но никогда не вызываются; подход к токенизации для Claude, использующий оценку tiktoken плюс пропорциональную калибровку по собственным итогам использования провайдера (итоги точны, разбивка по источникам приблизительна); самовосстанавливающиеся обёртки, которые перезапускают прокси или переключаются на прямое выполнение агента; и живой TUI.
Установка — это установочный скрипт, передаваемый через curl, который запрашивает, каких агентов перехватывать, или принимает COST_XRAY_AGENTS=claude|codex|all. Перехват работает только вперёд и требует нового терминала. CLI cx открывает TUI и управляет сервисами (status, stop, start, restart, install, uninstall). Требования — macOS или Linux, поддерживаемый агент и отсутствие необходимости в API-ключах или аккаунте. Лицензия MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.