Build agents that do cool things.
Glove is your open-source TypeScript toolkit for multi-agent orchestration systems — agents with tools, memory, a shared mailbox, a mesh to talk over, and a way to ship.
Agents outgrew the chatbox, and need more.
An agent that only calls tools and prints text hits a wall fast. Glove gives it the rest — memory, a mailbox, peers to coordinate with, a schedule to run on, and external services to reach — each an independent piece you can adopt on its own.
Tools push React components onto a stack — product grids, forms, confirmations — rendered inline, mid-conversation. Pause for input with pushAndWait or stream results with pushAndForget.
A complete voice pipeline — STT → agent → TTS — with barge-in, push-to-talk, and narration. Every tool and display slot keeps working, spoken instead of typed.
Four sibling subsystems — an entity graph, an episodic timeline, a resource filesystem, and ambient context — each an independent, bring-your-own-storage adapter with its own tool surface.
Expose capabilities as a relational database. The model discovers, invokes, and composes tools by writing SQL through a single execute_sql tool — with transactions as a real dry-run.
A persistent mailbox for what can't resolve now. The agent posts a request; a webhook, cron, or human resolves it later — and it's injected on the next turn, across restarts.
Agents message each other — direct, broadcast, acknowledge — over a pluggable transport, riding the same inbox primitive. A planner and its workers, or a swarm of specialists.
Supervise agents as subprocesses. Triggered agents wake cold per event and resume a persistent store; concurrent agents stay warm and are notified inline.
Hooks mutate agent state before a turn, skills inject context, and subagents route self-contained work to isolated children — the /command and @mention surface.
Bridge Model Context Protocol servers — Notion, Gmail, Linear — in as first-class tools. A discovery subagent finds and activates them mid-conversation.
Five components. One runtime.
Built on adapters — interfaces that decouple the runtime from specific implementations. Swap models, stores, or UI frameworks without changing application logic.
Swap anything. Change nothing.
Every layer is an interface. The runtime doesn't care what's behind it.
ModelAdapter
The AI provider. Anthropic, OpenAI, local models, or mocks for testing. Anything that takes messages and returns responses.
StoreAdapter
The persistence layer. Messages, tokens, turns, inbox. In-memory, SQLite, Postgres — wherever your state lives.
DisplayManagerAdapter
The UI state layer. Manages the display stack. Framework-agnostic — React, Vue, Svelte, terminal UI. Bind however you want.
SubscriberAdapter
The event bus. Logging, analytics, real-time streaming, debugging. Plug in whatever you need to observe.
