Commit Graph

19 Commits

Author SHA1 Message Date
76fb86f910 feat: статусная строка обновляется сразу после /switch-account
Посылаем SIGWINCH родительскому процессу claude после переключения -
это заставляет TUI перерисовать UI включая статусную строку.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 21:11:44 +03:00
50c26736f1 fix: хук читает поле prompt (не user_prompt) - реальный Claude Code
Документация врала: реальный UserPromptSubmit шлёт поле prompt, а не user_prompt.
Хук получал пустую строку и выходил с exit 0, пропуская блокировку.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 21:06:10 +03:00
71ef0f76f3 fix: switch-account - скилл-заглушка + exit 2 для блокировки LLM
Без скилла Claude Code выдаёт "Unknown command" до запуска хука.
Скилл нужен как регистрация команды, но тело пустое - хук перехватывает
через exit 2 (stderr) до вызова LLM. Откат изменения в ai-setup.sh
которое скрывало скилл от деплоя.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 21:03:20 +03:00
c6161c3332 feat: переключение аккаунтов через хук без токенов LLM
- UserPromptSubmit хук перехватывает /switch-account до LLM, переключает
  credentials по кругу и возвращает decision:block - нулевой расход токенов
- Статусная строка: effort и имя аккаунта в квадратных скобках [high·work]
- ai-setup.sh деплоит хук switch-account-hook.sh и прописывает его в settings.json
- Скилл switch-account оставлен как fallback-документация для setup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 20:58:06 +03:00
Виталий Никитенко
2079768318 fix: system-prompt через файл, кеш rate_limits при старте, SessionStart хук
- Все лаунчеры (ai-claude, ai-deepseek, ai-kimi, ai-openrouter): промпт
  пишется во временный файл через --system-prompt-file вместо аргумента
  командной строки. Решает E2BIG при промптах > 128KB (MAX_ARG_STRLEN)
  из проектов с большими .md файлами.

- statusline: кешируем rate_limits по model_id (раздельные файлы для
  claude/kimi/openrouter). При старте сессии показываем данные из кеша
  + ctx:0%. Убирает пустую статусную строку до первого запроса.

- settings.json: добавляем SessionStart хук при setup, триггерит
  вызов statusLine при открытии сессии.

- ai-claude: --model sonnet зафиксирован, убрали exec для корректной
  работы trap (cleanup временного файла).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 09:24:03 +03:00
Виталий Никитенко
cf34698116 Revert "fix: статусная строка — DeepSeek per-request стоимость вместо статичного баланса"
This reverts commit 6c7324bfd8.
2026-06-08 07:56:25 +03:00
Виталий Никитенко
6c7324bfd8 fix: статусная строка — DeepSeek per-request стоимость вместо статичного баланса
DeepSeek: накопленная стоимость сессии по DeepSeek-ценам (V4: $0.55/$2.19, V3: $0.27/$1.10)
Anthropic/Kimi/прочие: рейт-лимиты (5h, 7d) без долларов
Все: заполнение контекста (ctx%)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 07:51:52 +03:00
0b0d51b77c feat: обновить цвета статусной строки
- путь и ветка: светло-серый (37), как хинты Claude Code
- модель: приглушённый лососевый (173), фирменный цвет Claude
- лимиты и ctx: единая функция pct_color (зелёный/жёлтый/красный)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 00:28:49 +03:00
c9db0be030 feat: скорректировать пороги цветов ctx
зелёный <40%, жёлтый 40-60%, красный >=60% (совпадает с порогом звука)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 23:58:12 +03:00
a21a77723c fix: оставить только один звуковой сигнал при ctx=60%
timeout возвращает код 124 при обрезке, что запускало fallback-цепочку.
Заменил || на ; true чтобы подавить код выхода timeout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 15:57:37 +03:00
ac64bb1505 feat: раскрасить ctx по уровням и добавить звуковой сигнал при 60%
- зелёный <30%, жёлтый 30-50%, красный 50%+
- однократный звуковой сигнал (alarm-clock-elapsed.oga, 1s) при первом достижении 60%
- сброс флага алерта когда ctx опускается ниже 50%

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 13:13:34 +03:00
bae481172f fix: добавить exit 0 в конец statusline скрипта
Без него [ -n "$ctx_pct" ] && ... возвращал exit 1 когда ctx пустой,
и Claude Code прятал всю строку статуса.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 13:01:33 +03:00
01b69c341b feat: показывать заполнение контекста в статусной строке для всех моделей
ctx:35% отображается серым в конце строки у всех провайдеров.
Для Kimi (нет rate limits) это единственная полезная метрика.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 12:58:57 +03:00
08be1dfc08 feat: показывать оба лимита в статусной строке (5ч и 7д)
Вместо одного показываются оба: "4ч20м:1% 5д3ч:4%".
Для недельного добавлен формат дней: "5д3ч".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 12:48:26 +03:00
6b80364344 fix: показывать реальное время до сброса лимита в статусной строке
Вместо захардкоженного "5h" теперь считается оставшееся время
из resets_at timestamp: "4ч40м:25%", "58м:80%" и т.д.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 12:47:00 +03:00
2f48d038bd fix: убрать имя и хост из статусной строки, сократить путь до ~
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 10:21:18 +03:00
3dfd7ff034 feat: добавить настройку статусной строки Claude Code
Шаг 6.7 - копирует statusline-command.sh и прописывает statusLine
в settings.json. Показывает user@host, путь, git-ветку, модель и usage%.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 10:17:13 +03:00
6120f34199 feat: добавить TZ и документацию для skill'ов el-review
- Установить часовую зону Europe/Helsinki в ai-api-helpers.sh
- Добавить примеры вызова обоих skill'ов
- Документировать обработку ошибок (отсутствие веток, пустой дифф)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-06 08:45:36 +03:00
Виталий Никитенко
81a7b024ee feat: add home-configs with auto-deployed Claude skills
- Move GLOBAL_RULES.md to home-configs/ as single source of truth
- Add el-review and el-review-heavy skills for GitLab-style branch diff review
- Update ai-setup.sh to deploy skills to ~/.claude/skills/
- Update README and tests for new paths
2026-06-04 19:02:37 +07:00