CC-Canary: Обнаружение регрессий в Claude Code с помощью локального анализа JSONL

CC-Canary — это инструмент обнаружения дрейфа для Claude Code, поставляемый в виде двух устанавливаемых Agent Skills. Он сканирует журналы сессий в формате JSONL, которые Claude Code уже записывает в ~/.claude/projects/, определяет, не дрейфовала ли модель на вашей работе, и создает доступный для распространения судебно-медицинский отчет. Без сети, без аккаунта, без телеметрии, без фонового демона — работает на данных, уже находящихся на вашем диске. Статус: 0.x / пре-альфа.
Установка
Установка через npx skills:
npx skills add delta-hq/cc-canary
Или установка отдельных навыков:
npx skills add delta-hq/cc-canary --skill cc-canary npx skills add delta-hq/cc-canary --skill cc-canary-html
Требования: Python 3.8+ в PATH. macOS/Linux/WSL для автоматического открытия HTML-отчета (в противном случае выводится путь).
Использование
Из сессии Claude Code:
/cc-canary 60d /cc-canary-html 30d
Окно по умолчанию — 60 дней; поддерживаются 7d, 14d, 30d, 60d, 90d, 180d.
Что вы получите
- Вердикт — HOLDING / SUSPECTED REGRESSION / CONFIRMED REGRESSION / INCONCLUSIVE
- Таблица ключевых метрик — сравнение до и после с цветовыми индикаторами зеленый/желтый/красный
- Недельные тренды — стоимость (USD, сверено с ccusage), соотношение чтения/редактирования, циклы рассуждений, токенов/шаг
- Сравнение версий — один и тот же пользователь, разные версии модели, с контролем распределения задач
- Автоматически определенная дата перегиба — разрыв в составном показателе здоровья
- Выводы с классификацией: со стороны модели / со стороны пользователя / неоднозначные
- Приложения — глубина мышления по часам, сдвиг частотности слов, переход видимости мышления за три периода, показатели поведения на шаг
Отслеживаемые метрики
- Соотношение чтения/редактирования — количество чтений файлов на одно редактирование; показатель тщательности исследования
- Доля записи в мутациях — Write / (Edit + Write); высокая доля означает перезапись вместо точечных правок
- Циклы рассуждений на 1K вызовов инструментов — фразы типа "let me try again", "oh wait", "actually"
- Уровень фрустрации — частота слов фрустрации в ваших запросах
- Уровень редактирования мышления — доля скрытых блоков мышления относительно видимых
- Средняя длина мышления — показатель глубины рассуждений
- Шаги API на шаг пользователя — количество вызовов API на одно сообщение пользователя
- Токены на шаг пользователя — общий объем токенов на одно сообщение пользователя
Плюс приложения для преждевременных остановок, само-признанных ошибок, сокращений-заменителей, прерываний пользователем и т.д.
Как это работает
- Сканирование — скрипт на Python (только стандартная библиотека) обходит
~/.claude/projects/**/*.jsonl, фильтрует по окну, исключает сессии под-агентов. - Дедупликация — Сообщения ассистента дедуплицируются по (message.id, requestId), потому что Claude Code записывает одно и то же сообщение в несколько JSONL при возобновлении или ветвлении сессий.
- Агрегация — Метрики по сессиям: состав инструментов, соотношение чтения/редактирования, фразы циклов рассуждений, само-признанные ошибки, преждевременные остановки, прерывания, использование токенов, стоимость (текущие тарифы Claude 4.x), глубина мышления по часам.
- Обнаружение перегиба — Составной показатель здоровья по дням; argmax от |до − после| по кандидатам с порогом 0.75σ. Если разрыв не обнаружен, используется медианное разделение по временным меткам.
- Предварительная визуализация отчета — Скрипт формирует каркас Markdown/HTML с заполненными таблицами и столбчатыми диаграммами. Оставляет ~20 нарративных слотов для заполнения Claude.
- Заполнение и сохранение — Claude читает каркас, пишет нарратив, сохраняет итоговый файл. Общее время выполнения: ~2.5 с на скрипт + 10–20 с на нарратив Claude.
📖 Читать полный исходный код: HN AI Agents
👀 Смотрите также

Подчинённый агент Claude Code, настроенный скептически к планам, выявляет уязвимости безопасности в сгенерированных планах.
Разработчик обнаружил скептически настроенный суб-агент Claude Code, который выявляет пробелы и проблемы в планах разработки, сгенерированных ИИ, особенно находя проблемы безопасности, которые изначально не были очевидны. Этот агент работает вместе с ранее известным суб-агентом security-sheriff для повышения качества планов.

Интеграция локальных агентов LLM с ComfyUI для пакетной генерации изображений на естественном языке
Разработчик делится опытом подключения своего локального агента OpenClaw к ComfyUI, что позволяет использовать естественный язык для команд в рабочих процессах пакетной генерации изображений. Интеграция использует пользовательский навык агента, который преобразует английские запросы в JSON рабочего процесса ComfyUI и обрабатывает API-коммуникацию.

Использование вложений Harrier для локального семантического поиска в памяти агентов OpenClaw
Запустите локальный сервер эмбеддингов с моделью Harrier от Microsoft, откройте API, совместимое с Ollama, и настройте memorySearch в OpenClaw для локального поиска семантической памяти без внешних сервисов.

Обратно спроектированный SDK для Claude Code выпущен на четырех языках
Разработчик реверс-инженерил Claude Code и создал однодокументные SDK для Node.js, Python, Go и Rust без зависимостей. Инструменты предоставляют полный цикл агента с потоковой передачей и использованием инструментов, работая с существующими подписками Claude Pro/Max.