- TypeScript 100%
| components/ui | ||
| dist | ||
| hooks | ||
| lib | ||
| .gitignore | ||
| app.tsx | ||
| components.json | ||
| package-lock.json | ||
| package.json | ||
| PLUGIN_OVERVIEW.md | ||
| README.md | ||
| server.ts | ||
| tsconfig.json | ||
bb-plugin-tps-meter
BB-плагин TPS Meter: показывает скорость генерации модели (tokens/sec) прямо в строке ввода composer — слева от кнопок голоса и отправки.
Внутри prompt box, рядом с mic/send. В compact-раскладке composer скрыт (BB не рендерит plugin-actions в этом режиме).
Что показывает
42.1 tok/s— токены в секунду;≈42 tok/s— цифра с оценкой, пока шаг ещё стримится (провайдер пишет usage только по завершении шага);- во время генерации число обновляется в реальном времени и замирает на tool-выполнениях, а не проваливается к нулю;
- когда агент молчит — среднее за последние 3 завершённых шага;
- ховер по цифре: токены, время генерации, среднее по текущему ходу, модель.
Считается так: сессия треда → ~/.local/share/opencode/opencode.db
(usage из tokens.output + reasoning) → токены / время генерации. Время
генерации — объединение окон видимых частей (time.start/time.end у
reasoning/text), поэтому prefill и tool-выполнения в знаменатель не попадают.
Ограничения
- Только opencode-треды (например, провайдеры через opencode/ACP вроде Xiaomi/mimo). Для тредов Codex, Claude Code и других метрик нет — индикатор ничего не показывает.
- Токены текущего шага до его завершения — оценка (~4 символа на токен).
- Нужен BB 0.47 или новее.
Установка
npm install # собрать зависимости (zod и типы)
bb plugin install . # поставить плагин в BB
bb plugin install спрашивает подтверждение — плагины выполняются с полным
доверием. После установки индикатор появляется в строке ввода; если не
появился — перезагрузите окно BB.
Обновления исходников: bb plugin dev (пересборка и hot-reload) или
bb plugin build && bb plugin reload tps-meter.
Структура
server.ts— бэкенд: резолвит opencode-сессию треда по событиямthread/identity, читает SQLite opencode и отдаёт статистику по RPC;app.tsx— фронтенд: composer action с индикатором (app.composer.customize), поллит RPC (1.5 с в генерации, 5 с в простое);PLUGIN_OVERVIEW.md— текст карточки для магазина плагинов.