Getting Started
Run DuckAgent locally:
duckThat starts the TUI: local chat, streaming output, approvals, model/profile switching, slash commands, and hands-on workspace work. If the active profile has no usable model, DuckAgent opens setup first. Setup collects the provider, auth, model, optional context window, and web provider choices. After setup, DuckAgent enters the terminal UI.
DuckAgent ships with built-in web search. The default search route uses Exa MCP so you can try search immediately; add an Exa key later if you want your own quota.
TUI or service?
Section titled “TUI or service?”Most users should start with the TUI:
duckUse Gateway service when you want external apps or API clients to reach DuckAgent:
duck gateway service startThe TUI is a foreground terminal experience. Gateway service is the background service surface for Telegram, Slack, Discord, Matrix, Signal, email, SMS, WhatsApp, Home Assistant, API Server, voice bridges, webhooks, automations, and other channels.
First useful commands
Section titled “First useful commands”duckduck modelduck profilesduck gateway channelsduck gateway service startduck sandbox check workspaceUse --profile to run one process with a specific profile:
duck --profile workUse --sandbox to temporarily select a sandbox preset for one process:
duck --sandbox readonlyWhat setup writes
Section titled “What setup writes”Sensitive values go to profile auth.json. Normal runtime choices go to profile config.json. Each profile also owns its sessions, memories, skills, Gateway config, SOUL.md, USER.md, optional AGENTS.md, and avatar files. The root config only stores global state such as the active profile and sandbox preset.