В отличие от существующих веб-ориентированных инструментов, таких как Kafka UI и AKHQ, требующих развёртывания серверного процесса в Docker, kafkalet работает как обычное десктопное приложение — аналогично DBeaver или DataGrip для баз данных. Единственным десктопным Kafka-клиентом до сих пор оставался Offset Explorer (ранее Kafka Tool), написанный на Java и давно не обновлявшийся.
Приложение kafkalet построено на базе фреймворка Wails v2, объединяющего Go-бэкенд с веб-интерфейсом на React 18, TypeScript и shadcn/ui в единый нативный бинарный файл. Для взаимодействия с Kafka используется библиотека franz-go, реализованная на чистом Go без зависимости от librdkafka и CGO.
Основные возможности:
- Система профилей для управления несколькими окружениями (production, staging, dev). Каждый брокер в профиле может иметь несколько именованных учётных записей с возможностью быстрого переключения. Пароли и токены хранятся исключительно в системном хранилище секретов ОС (macOS Keychain, Windows Credential Manager, libsecret на Linux) и не записываются в конфигурационные файлы.
- Режим Observer — чтение сообщений из топика без подключения к consumer group, без коммита смещений и без побочных эффектов на кластере. Отдельный режим Consumer позволяет подключиться к группе и зафиксировать смещения вручную.
- Навигация по времени (seek to timestamp) — переход к сообщениям по указанной дате и времени без необходимости вычислять смещения вручную.
Поддержка методов аутентификации: SASL PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER (статический токен и client credentials flow), TLS с проверкой сертификата сервера, mTLS (взаимная аутентификация по сертификатам). - Потоковый просмотр сообщений с regex-фильтрацией по ключам и значениям в реальном времени. Поддерживается одновременное наблюдение за несколькими топиками в отдельных вкладках. Виртуализация списка позволяет отображать более 50 000 сообщений без снижения производительности.
- Управление топиками: создание, удаление, изменение конфигурационных параметров, просмотр разделов, лидеров и набора синхронизированных реплик (ISR).

- Управление consumer groups: просмотр отставания (lag) по разделам, сброс смещений на earliest, latest или конкретную временную метку, просмотр участников группы (client ID, хост, назначенные топики), удаление групп.
- Отправка сообщений с указанием ключа, значения, заголовков и целевого раздела.

- Организация топиков: закрепление часто используемых топиков, группировка в именованные папки, поиск с поддержкой регулярных выражений и фильтрацией по минимальному числу разделов.
- Экспорт буфера сообщений в формате JSON или CSV.
- Интеграция с Confluent Schema Registry для автоматического декодирования сообщений в формате Avro.
- Система JavaScript-плагинов для пользовательского декодирования сообщений (Protobuf, MessagePack и другие форматы).
- Импорт и экспорт настроек в формате JSON, включая профили, группы топиков и закреплённые топики.
Источник: http://www.opennet.ru/opennews/art.shtml?num=64916
