@reminix/runtime (TypeScript) or reminix-runtime (Python), call serve(), and deploy. Reminix automatically discovers your agents and exposes them as API endpoints.
Agent types
Every agent has atype that determines its input/output contract. Choose the type that matches your use case.
| Type | Input | Output | Best For |
|---|---|---|---|
prompt | { prompt: string } | string | Single prompt to response |
chat | { messages: Message[] } | string | Multi-turn conversations |
task | { task: string, ...extra } | { object } | Structured data tasks |
thread | { messages: Message[] } | Message[] | Full message history management |
workflow | { task: string, state?, resume? } | { status, steps, result, pendingAction } | Multi-step pause/resume flows |
Defining agents
Agent metadata
Each agent has the following metadata fields:| Field | Required | Description |
|---|---|---|
name | Yes | Unique identifier used in API paths (/agents/{name}/invoke) |
type | Yes | One of the agent types listed above |
description | No | Human-readable description. Defaults to the function docstring in Python. |
tags | No | Array of strings for filtering and organization |
metadata | No | Arbitrary key-value pairs for custom metadata |
In Python, the agent’s
description defaults to the function docstring if not explicitly provided. In TypeScript, you must pass it as a property.Serving multiple agents
You can serve any number of agents from a single process. Each agent gets its own endpoint atPOST /agents/{name}/invoke.
Streaming
Agents can stream responses by using async generators in their handler. This enables real-time token-by-token output over Server-Sent Events.Next steps
TypeScript: Creating Agents
Define, type, and deploy agents with
@reminix/runtime.Python: Creating Agents
Define, type, and deploy agents with
reminix-runtime.Tools
Expose functions to LLMs and AI clients via MCP.
Tasks, Conversations, Workflows
The three interaction patterns agents support.