Pick a provider and enter your API key. This will be saved as the default for all new agents.
bearer, x-api-key, api-key (Azure), etc.
Step 1 of 4
Identity
Who is this agent? The display name is how they appear in chat.
Auto-filled from first word of display name if left blank
Personality
These seed the knowledge graph. Be descriptive — this is who they are.
Setup Mode
Identity and personality are set. Would you like to configure advanced settings or use sensible defaults?
Access & Tokens
Platform tokens and access control. Blank API keys inherit from shared defaults.
From Slack App → OAuth & Permissions
From Slack App → Socket Mode settings
Prefixes: gemini/, local/, openrouter/
Capabilities
Web hosting, ingress, and orchestration.
Agent can occasionally share interesting things it learned during maintenance. Very selective — most cycles produce no message. Configurable cooldown and daily cap.
Viewer auth — optional fallback credentials for the graph viewer when manager SSO is unavailable. Normally your Manager login handles this automatically. Webapp users — if your Anima hosts web applications (via web_serve), they are public by default. You can add webapp users later in Settings to restrict access.
Ingress is managed centrally via Traefik. This agent will be available at /animas/<id>/.
Configure domain and HTTPS in Settings → Ingress.
Permissions
Control what the agent can modify about itself.
Warning: This lets the agent permanently alter its own behavior.
Voice Pipeline
Speech-to-text and text-to-speech for Discord voice channels and Telegram voice notes.
Leave blank to use default. Keys inherited from shared defaults.
All agents are routed through Traefik. Add a domain for public HTTPS access.
Loading...
Your domain (e.g. example.com). Leave blank for local access via localhost.
● Tailscale detected:
Bind to all network interfaces instead of localhost only.
⚠ Your manager and all agents will be accessible to anyone on your network (or the internet if on a VPS). Session auth protects the Manager, but agent web UIs use basic HTTP auth. Consider enabling HTTPS via a domain or using Cloudflare Tunnel below.
This will reconfigure Traefik, the manager, and all agents. Takes a moment.
Cloudflare Quick Tunnel
Instantly expose your setup to the internet with a free *.trycloudflare.com URL. No account, DNS, or domain required. HTTPS included.
Checking...
Public URL:
Ollama (Local Models)
Checking...
To install or start Ollama, run on the host:
curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl enable --now ollama
Installed Models
Loading...
Model will be downloaded in the background
Authentication
Configure Google OAuth2 for single sign-on. Users can sign in with their Google accounts.
From Google Cloud Console > APIs & Services > Credentials
Add this as an authorized redirect URI in your Google Cloud Console project
Any Google Workspace user on this domain can sign in (leave empty to allow all domains)
Explicitly allow individual Google accounts (in addition to the domain allowlist above).
← Back
Simple chat, no tools
Tool use, standard tasks
Complex reasoning, escalation ceiling
Lets this anima drive a Chromium browser and navigate the Anima web surface (manager UI + any anima) as you. Regular users stay scoped to their own animas; super users see everything. Used for self-demos, instruction videos, UI testing. Short-lived 15-minute sessions minted on demand.
▶
Token Usage
Loading token usage…
▶
Advanced settings
Agent
Behavior
Channels
API Keys
Voice
Web / Ingress
System
Plugins
Required for Discord gateway
Required for Claude
Bot User OAuth Token from Slack App
App-Level Token — required for Socket Mode
Custom API Keys
Add any custom keys your anima needs (e.g. REPLICATE_API_TOKEN, FAL_API_KEY). Key names must end in _API_KEY, _API_TOKEN, _SECRET, or _TOKEN, or start with CUSTOM_.
Free tier: 45hrs/month. Get key at console.deepgram.com
"Always" = best knowledge capture, "Flush Only" = cheaper
Local Model (Ollama / LM Studio)
For local/ prefixed models — OAI-compatible endpoint
Usually "local" for Ollama
Lull Behavior
Controls how this agent decides to chime into conversations it wasn't directly addressed in. Each line becomes an instruction. Stored in the knowledge graph (lull_behavior aspect) — the agent reads these at runtime.
Proactive Outreach
When enabled, the agent can occasionally share interesting things it learned during its maintenance cycle. A cheap model decides if something is worth sharing, then the main model writes the message naturally. The agent can still choose silence (NO_REPLY).
Minimum time between proactive messages
Hard daily cap regardless of cooldown
If set, proactive messages can only go to these channel IDs. Empty = any channel with activity.
Ingress is managed centrally via Traefik. Configure domain/HTTPS in Settings → Ingress.
Fallback credentials for the graph viewer when the manager is unreachable. Normally, the graph uses your Manager login (SSO).
Webapp Users
Manage users who can access this anima's public webapp and chat. These are not manager accounts — they only grant access to the webapp, not the graph viewer.
Controls which Discord servers and channels this agent responds in.
One entry per line. Format: guildId to listen to all channels in a guild, or guildId:channelId to pin to specific channels. Use channel names or IDs.
Plugin Manager
Install, configure, and remove plugins. Supports Anima-native and OpenClaw-compatible plugins.