State · :7777
Состояние между вызовами
Плагины stateless по умолчанию — каждый вызов начинается заново. State Broker хранит состояние с TTL: in-memory, daemon или Redis. API не меняется.
Когда что использовать
Три режима. Один API.
Разработка
In-Memory
~1ms latency
Быстрый in-process кэш. Инфраструктура не нужна. Данные сбрасываются при перезапуске.
Продакшн
Redis
~5ms latency
Общее состояние между инстансами с персистентностью. Тот же API — меняется конфигом.
Edge
Кастомный адаптер
любой latency
Реализуйте ICache и подключите в kb.config.json. Любой бэкенд на ваш выбор.
HTTP API
Четыре маршрута. Ничего лишнего.
GET · PUT · DELETE /state/:key плюс POST /state/clear. Ключи namespaced: tenant:default:namespace:key. TTL в миллисекундах, по умолчанию 5 минут.
Документацияbash
# Store state with TTL (milliseconds, default 300 000 = 5 min)
PUT /state/tenant:default:mind:conv-abc
Content-Type: application/json
{ "value": { "lastReply": "Hello!", "turn": 3 }, "ttl": 300000 }
# 204 No Content
# Read back
GET /state/tenant:default:mind:conv-abc
# → { "lastReply": "Hello!", "turn": 3 }
# Clear an entire namespace
POST /state/clear?pattern=tenant:default:mind:*
# 204 No ContentПопробуйте прямо сейчас
Запускается вместе с платформой.
kb-dev start поднимает State Daemon автоматически. Меняешь backend в конфиге — сервисы не трогаешь.