Open source · Active development

Build agents that keep working.

Tailored AI is a self-hosted runtime for personal agents. Give them tools, memory, schedules, and safe places to work—then run them on the model and infrastructure you choose.

$npm install -g @tailored-ai/cli
tai / morning-brief running
07:30
Schedule firedweekday · America/Los_Angeles
07:30
A
briefing agentcontext restored · sandbox: docker
active
  • calendar
  • tasks
  • memory
07:31
Brief deliveredvia configured outbound channel
done
Why TAI

A runtime for work that outlasts a chat.

TAI runs the work around a conversation: scheduled checks, tasks that span several sessions, workflows that wait on events, and agents that need a real filesystem.

Start with the CLI, bundled UI, SQLite, and an OpenAI-compatible endpoint. Keep that stack or replace the provider, storage, tools, channels, and UI one part at a time.

How it fits together

One loop. Replaceable edges.

TAI holds the durable state and coordinates the work. Channels, models, tools, and storage meet the runtime through explicit interfaces.

01Ways in
  • CLI
  • Web UI
  • Discord
  • Slack
  • Webhooks
02TAI runtime
  • Named agents
  • Context + memory
  • Tasks + workflows
  • Cron + schedules
  • Rooms
03Your stack
  • Local models
  • Provider plugins
  • MCP servers
  • Custom tools
  • Git repositories
Durable core

SQLite persistence · validated config · typed event bus · HTTP + SSE API

What ships today

The runtime around the model.

Long-running agents need more than a prompt and a tool schema. They need durable state, scheduling, recovery paths, and clear operating boundaries.

01

Work that starts without a prompt

Run fixed cron jobs, respond to workflow triggers, or let an agent book its own future wake. TAI keeps the clock and restores the right context when work resumes.

02

State that survives the turn

Sessions, tasks, project context, and tiered memory persist in SQLite. Named agents can pick up work without rebuilding the world from one enormous prompt.

03

A stack you can actually change

Swap providers, tools, channels, task backends, sandboxes, memory, and even the web UI through registries and plugins. Keep the defaults only while they fit.

04

Boundaries for real work

Limit shell commands, choose host, Docker, or Podman isolation per agent, and place approval gates in front of browser actions that should never run unattended.

05

One runtime, several surfaces

Use the terminal and bundled web UI, connect Discord, or install the Slack channel. The HTTP API and webhooks are there when your own service is the front door.

06

Evidence, not model folklore

TAI's benchmark sends the real assembled invocation to live models, scores behavior, records cost and provenance, and publishes comparable runs on this site.

Own the operating model

Start with one config file.

Run a local model on a workstation, call a hosted provider, or mix providers by agent. Connect only the tools and channels each role needs. TAI keeps those decisions visible in configuration and code.

Explore the configuration
config.yaml~/.tailored-ai
# local by default; hosted providers plug in too
providers:
 openai_compatible:
 baseUrl: http://localhost:11434/v1
 defaultModel: qwen3

agents:
 researcher:
 tools: [web_search, recall, write]
 sandbox: docker

cron:
 enabled: true
Autonomy needs boundaries

Control is part of the architecture.

TAI binds to loopback by default. Tool allowlists narrow what an agent can call. Host, Docker, and Podman sandboxes define where commands run. The trusted-actions package adds human approval for browser operations that should not be automatic.

Read the architecture
Get started

Run your first agent.

Install the CLI, run the setup wizard, and point TAI at a local or hosted model. The quick start gets from an empty directory to an agent that can use real tools.

TAI is pre-1.0 and under active development. It works end to end today; APIs may change as the project matures.