> ## Documentation Index
> Fetch the complete documentation index at: https://comis-fix-skill-import-vetting-gate.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Agents

> What agents are and how they work inside Comis

An agent uses a model and a configured set of tools to handle work. Comis can
run one agent or several, each with its own instructions, tools, state, and
limits.

## What is an agent?

You give an agent instructions, a model, and access to selected tools. It can
answer questions, search the web, work on a schedule, send messages, and store
information when those features are configured.

Each agent has a logical identity and normally uses agent-scoped session keys,
memory and context queries, workspace paths, instructions, budgets, and tool
policy. You can have one agent handling your Discord server and another
managing your Telegram chats, each behaving differently based on its
configuration.

This scoping is not process isolation. Agents share the same trusted daemon and
host, and explicitly authorized cross-agent operations can cross those logical
boundaries. Use separate deployments when agents belong to mutually hostile
security domains.

## What agents can do

<CardGroup cols={2}>
  <Card title="Identity" icon="id-card" href="/agents/identity">
    Give your agent a name, personality, and set of instructions using
    workspace files -- simple Markdown documents that shape who your agent is.
  </Card>

  <Card title="Lifecycle" icon="arrows-spin" href="/agents/lifecycle">
    Understand the journey of a message from arrival to response, including
    memory recall, tool use, and safety checks along the way.
  </Card>

  <Card title="Memory" icon="brain" href="/agents/memory">
    Store and recall selected information with source, trust, and correction
    history when memory and learning are enabled.
  </Card>

  <Card title="Tools" icon="screwdriver-wrench" href="/skills/index">
    Agents can search the web, manage schedules, send cross-platform messages,
    analyze images, and much more through built-in and custom skills.
  </Card>

  <Card title="Safety" icon="shield-halved" href="/agents/safety">
    Use token limits, circuit breakers, step counters, graph budgets, and opt-in
    spend ceilings. Configure and test the controls your workflow needs.
  </Card>

  <Card title="Models" icon="microchip" href="/agents/models">
    Catalog-driven access to the current providers in the pi-ai SDK (see `comis models list`
    for the current count — Anthropic, OpenAI, Google, Mistral, Groq, xAI, Cerebras,
    OpenRouter, DeepSeek, Bedrock, Vercel AI Gateway, and more), plus custom OpenAI-
    compatible endpoints. Switch models per agent, set up automatic
    failover, and rotate API keys.
  </Card>
</CardGroup>

## How it all fits together

When someone sends a message to your agent, here is what happens at a high
level:

1. **The message arrives** from any connected platform (Discord, Telegram,
   Slack, WhatsApp, or the web dashboard)
2. **Comis routes it** to the right agent based on your routing rules
3. **The agent recalls** relevant memories from past conversations
4. **The agent thinks** and optionally uses tools (web search, scheduling, file
   management, and more)
5. **A reply is sent** back to the same chat

Run time depends on the model, tools, provider, and workflow. For the full
walkthrough with a diagram, see the [Agent Lifecycle](/agents/lifecycle) page.

## Slash commands

While chatting, you can control your agent with slash commands -- short
instructions that start with `/`. For example:

* `/think high` -- Tell your agent to think harder about the next response
* `/status` -- See session info, token usage, and model details
* `/model openai/gpt-4o` -- Switch to a different AI model for the session
* `/new` -- Start a fresh conversation

The supported surface includes session, model, budget, export, configuration,
and conditional approval commands. Direct `/skill:name` dispatch is not wired in
the current daemon. See [Slash Commands](/agents/slash-commands).

## Running multiple agents

You do not need routing rules if you only run one agent -- the default agent
handles everything automatically. But if you want different agents for different
situations, Comis supports that out of the box.

For example, you might run:

* A **support agent** on Slack that answers team questions
* A **research agent** on Telegram that finds and summarizes information
* A **scheduler agent** on Discord that manages reminders and recurring tasks

Routing rules decide which agent receives each ordinary inbound message, and
agent/tenant identifiers scope normal storage queries. Misconfiguration or an
explicitly authorized cross-agent operation can still cross those logical
scopes, so routing should not be treated as a process or host security
boundary. See [Routing](/agents/routing) for details.

## Explore agents

<CardGroup cols={2}>
  <Card title="Agent Lifecycle" icon="arrows-spin" href="/agents/lifecycle">
    How your agent processes messages from arrival to response.
  </Card>

  <Card title="Identity" icon="id-card" href="/agents/identity">
    The workspace files that shape your agent's personality.
  </Card>

  <Card title="Models" icon="microchip" href="/agents/models">
    Choosing and configuring AI providers for your agents.
  </Card>

  <Card title="Safety" icon="shield-halved" href="/agents/safety">
    Budget limits, safety fuses, and cost protection.
  </Card>
</CardGroup>
