По принципу cswap: слоты аккаунтов, свап кред-файлов под локами, живой usage-дашборд, авто-переключение до упора в лимит. Ниже — что уже стоит на машине, четыре варианта архитектуры и опции. Выбери вариант (клик по карточке), отметь опции и пришли ссылку из планки внизу.
cswap run) — параллельные аккаунтыlist/status --json, auto --json event-stream~/.claude/.credentials.json под локами Claude Coderegistry.json с usage и кредитами~/.codex/auth.json, бэкапит per-account~/.kimi/credentials/kimi-code.json (OAuth: access + refresh, expires_at) + .lock рядомGET {base}/usages c Bearer — weekly limit + окна limits[]Показ usage по всем аккаунтам codex/claude/kimi разом — и чтобы ни просмотр, ни свитч, ни набор в панели никогда не ждали сеть. Принцип тот же, что внутри cswap, но вынесен на уровень всех трёх провайдеров:
subs list, TUI, статус-строка, панель tm2027) читает только локальный кэш usage-cache.json — ответ мгновенный, у цифр маркер возраста «· 4m ago», как в cswap.cswap и codex-auth не трогаем. Пишем kswap — маленький клон cswap для kimi (add / list / switch / auto), свапающий kimi-code.json и поллящий /usages.
Один CLI/TUI subs с адаптерами: claude → JSON-API cswap, codex → registry + CLI codex-auth, kimi → свой нативный адаптер (его всё равно писать). Одна таблица всех аккаунтов трёх провайдеров, subs switch codex 2, один вотчер, который делегирует свитчи движкам.
Полная замена: один инструмент со слотами для всех трёх провайдеров, свои usage-пуллеры (Anthropic, ChatGPT backend, Kimi), один демон, один конфиг. cswap и codex-auth сносятся.
Вариант B как бэкенд, плюс сразу панель Subscriptions в деке tm2027: карточки аккаунтов с usage-барами, свитч кликом, событList авто-свитча в статусбар. Дека уже умеет WSL-мост — данные берутся вызовом subs --json.
| A · три свитчера | B · единый пульт | C · один движок | D · B + tm2027 | |
|---|---|---|---|---|
| Общий дашборд трёх подписок | нет | да | да | да, в деке |
| Рабочие cswap/codex-auth | не трогаем | переиспользуем | выбрасываем | переиспользуем |
| kimi мультиаккаунт + авто-свитч | да (kswap) | да (адаптер) | да | да |
| Объём работ | ~1 день | 2–3 дня | 1–2 недели | ~неделя |
| Риск сломать работающее | низкий | низкий | высокий | средний |
| Upstream-обновления движков | сохраняются | сохраняются | теряются | сохраняются |
| Путь к панели в tm2027 | нет базы | готовый бэкенд | свой API | сразу в комплекте |
subs-watch вместо трёх демонов: сам дергает cswap auto --once / codex-auth / kimi-чек по расписанию.subs status --line → «C:2 12% · X:1 4% · K:1 37%» — для tmux/herdr/статусбара деки.subs export — все аккаунты всех провайдеров в один файл (для переноса на новую машину).cswap run) — нужен или достаточно глобального свитча?