◆ AI & Agents

AI Agents for Your Agency, Powered by Claude Code.

Zyan AI is a real agent runtime, not a chat box bolted onto a dashboard. Claude Code runs in a sandboxed terminal inside your workspace, connected to your client data, and everything it ships waits at the same review gate as your team.

◆ Per-session sandboxes◆ Typed MCP tools◆ Approval-gated output
The sandbox

Every Session Gets Its Own Jailed Machine.

The agent can build — but only inside the walls. Each terminal session gets a fresh machine with bubblewrap isolation: your repo mounted, your scopes enforced, torn down when you're done.

1 : 1
One sandbox per session — a fresh jailed machine every time, never shared.
bubblewrap-jailed
Fly.io
The terminal service runs on real machines — a real shell, not a toy.
terminal-service
2 CLIs
Claude Code and Codex, ready at the prompt — pick per session.
claude · codex
voice
Talk to the terminal — voice input streams straight into the agent.
hands-free prompts
per-session sandboxfly.io terminal servicebubblewrap isolationclaude codecodexvoice input to agents
MCP wiring

Typed Tools, Wired to Your Data.

The terminal doesn't guess — it calls. Tenant-scoped MCP servers expose your SEO context and the DataForSEO index as typed tools, so every claim in a session traces back to a real call with a real schema.

Tenant-scoped by construction

Servers mount per workspace. The terminal for one client can read that client — and nothing else. No global keys, no shared context.

The same typed-tool discipline powers the ads workbenches — propose, approve, apply. See it in Growth →

Headless agents

A Queue That Ships Reviewable Work.

Long jobs go headless — claude -p, an isolated clone, a context pack attached. What comes back is a draft at a gate, not a surprise in production. And headless publish is fenced to Claude only: the budget model can’t ship unsupervised.

◆ Click to annotate

Point at the Page. Say What You Want.

Drop a pin on the live draft and type the note. The agent turns it into a bounded JSON edit — scoped to the element you touched, diffable, and gated like everything else.

  • Pins anchor to the exact element — never “somewhere on the homepage”
  • Edits arrive as bounded JSON ops, not free-form rewrites
  • The same review gate before anything ships

Inside Zyan Build →

Model policy

Opinionated About Who Ships What.

Claude by default. Codex at the terminal. Kimi K3 where budget wins. Hard fences wherever money or publishing moves.

Claudeby Anthropic

The default on every agent surface — and the only model trusted to ship headless work.

default · ships gated
Codexby OpenAI

The second CLI in the sandbox — pick it at the prompt, session by session.

in the terminal
Kimi K3by Moonshot AI

The budget lane — swap it in per workspace where cost beats polish.

budget lane · fenced
fenced
Direct publish is Claude-only. The budget model can't ship unsupervised.
headless publish
gated
Approval gates sit wherever money or publishing moves — a human clicks Ship.
money · publishing