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 в конфиге — сервисы не трогаешь.

State Broker — KB Labs