One prompt to rule them all? Not anymore.

Every conversation is different. When you're reviewing code, you want precision and technical depth. When you're summarizing research, you want clarity and brevity. When you're drafting a customer email, you want warmth and professionalism.

A generic AI assistant tries to be everything at once. Agents let you build exactly the AI you need — with a structured persona, clear objectives, hard constraints, and the right tools for the job.

What is an agent

An agent in Daneel is a reusable AI configuration built from four semantic building blocks:

  • Persona — who the agent is. Domain expertise, professional role, knowledge base. "You are a senior backend engineer with deep experience in distributed systems and PostgreSQL."
  • Task — what the agent should focus on. Goals, priorities, the shape of a good answer. "Analyze code for performance bottlenecks, suggest concrete fixes with benchmarks."
  • Constraints — what the agent must avoid. Boundaries, rules, things that are off-limits. "Never suggest rewriting in a different language. Stay within the existing tech stack."
  • Style — how the agent should communicate. Tone, verbosity, formality, language level. "Concise and direct. Use code blocks. Skip pleasantries."

These four fields are assembled into a structured system prompt with clear section headers, so the LLM can parse each dimension independently. You don't need to be a prompt engineer — just fill in the fields that matter and leave the rest blank.

Building your first agent

Open Settings, navigate to the Agents tab, and click "New Agent."

Give your agent a name — something descriptive like "Code Reviewer" or "Research Analyst." Add a short purpose that will appear in picker dropdowns, so you can tell agents apart at a glance.

Then fill in the prompt fields. You don't need all four — a persona and a task are often enough to get a dramatically different experience from the default assistant. Constraints and style are there when you need finer control.

Hit "Create Agent" and it's ready to use everywhere in Daneel.

Tool-equipped agents

Here's where agents get powerful. Each agent can have MCP servers attached, giving it access to specific external tools.

The agent editor includes an MCP picker that shows all your registered servers. Attach the ones that make sense for this agent's role:

  • A DevOps agent gets Vercel and Cloudflare — it can check deployments, inspect Workers, and query DNS
  • A Sales agent gets Stripe and Salesforce — it can pull customer data and payment history
  • A Research agent gets Exa and Apify — it can search the web and scrape structured data

Attached servers appear as pills with tool counts, so you always know what capabilities an agent has. Detach a server with one click if the scope changes.

The agent doesn't just know about these tools — it can call them autonomously during a conversation, chaining multiple tool calls across turns to answer complex questions.

Agents in conversations

In any chat — whether you're on a web page, a YouTube video, or a site search — you can attach an agent from the picker in the toolbar.

When an agent is active, three things change:

  1. The agent's structured system prompt shapes every response
  2. Conversation history accumulates across turns, giving the agent context about what you've discussed
  3. Any MCP tools bound to the agent become available for the LLM to call

A status indicator confirms you're in conversation mode with full context accumulation. Switch agents mid-conversation or detach entirely to return to the default assistant — agent selection is saved per tab, so each page remembers which agent you were using.

Agents in vaults

Vaults — your personal document collections — can also have agents attached. This creates focused, domain-specific AI environments where document knowledge and external tools combine.

Attach a finance agent to your invoices vault, and it can answer questions that draw from both your local documents and live Stripe data. Attach a legal agent to your contracts vault, and it brings the right constraints and tone to every answer.

One important rule: vaults enforce mutual exclusion between agents and standalone MCP servers. A vault uses either an agent's bundled servers or its own direct server list — never both. This keeps tool access predictable and prevents conflicting configurations.

Manage and share

Every agent can be toggled on or off without deleting it. Disabled agents disappear from pickers but stay in storage, ready to re-enable when you need them.

Need to share an agent with a colleague or back it up? The export button downloads the full agent definition as a JSON file — name, purpose, prompt fields, and MCP server bindings included. Import it on another machine and the agent is ready to go, provided the same MCP servers are registered.

The agents list shows all your agents organized by status, with tool counts and quick actions for editing, exporting, or removing.

How it all fits together

Under the hood, agents are lightweight. An agent definition is a JSON object stored in Chrome's local storage — a name, four prompt strings, and a list of MCP server URLs. At runtime, Daneel resolves the agent's prompt and tools, injects them into the LLM request, and manages the multi-turn conversation loop.

The architecture is provider-agnostic: agents work with Claude, Ollama, WebGPU, and Gemini Nano. The same agent definition produces the same behavior regardless of which AI backend is active — though tool calling reliability varies by model capability.

Everything stays local. Agent definitions, conversation history, and tool bindings live in your browser's storage. Nothing is uploaded unless you explicitly export.

What's next

We're building toward prebuilt agent templates — curated agents for common workflows like code review, travel planning, and research synthesis, pre-configured with the right MCP servers. For now, the canvas is yours.

Create your first agent, give it a persona and a purpose, attach the tools it needs, and see how a focused AI outperforms a generic one.