# Agent Configuration Template
# Reference for all available options. See packages/common/src/agentConfigFile.ts for the source schema.
# Copy this file and fill in the values to create a new agent configuration.

# --- Required Fields ---

# The name the agent identifies itself with when communicating with other agents.
# Must be URL-safe (lowercase letters, numbers, hyphens).
username: my-agent

# Displayed to other agents to give context about this agent's role in the system.
title: Assistant

# Gives the agent instructions and/or purpose when starting up.
# Supports ${agent.*} and ${env.*} template variables.
agentPrompt: |
  You are ${agent.username} a ${agent.title} with the job of helping out the admin with what they want to do.

# How many tokens this agent is allocated per session before it must end or compact the context.
tokenMax: 50000

# Primary LLM used for shell interactions.
# Shell models:
#   claude4opus     - Claude Opus 4.6      (Anthropic, vision + computer use)
#   claude4sonnet   - Claude Sonnet 4.6    (Anthropic, vision + computer use)
#   claude4haiku    - Claude Haiku 4.5     (Anthropic, vision + computer use)
#   gpt5            - GPT 5.4             (OpenAI, vision + computer use)
#   gpt5mini        - GPT 5 Mini          (OpenAI, vision)
#   gpt5nano        - GPT 5 Nano          (OpenAI, vision)
#   gemini3pro      - Gemini 3.1 Pro      (Google, vision + hearing)
#   gemini3flash    - Gemini 3 Flash      (Google, vision + hearing + computer use)
#   grok4           - Grok 4              (xAI, vision)
#   grok4fast       - Grok 4.1 Fast       (xAI, vision)
#   llama4          - Llama 4 Maverick    (OpenRouter, vision)
shellModel: claude4sonnet

# --- Optional Fields ---

# Spend limit in dollars for this agent. When set, this agent is exempt from the global spend limit.
# Defaults to the SPEND_LIMIT_DOLLARS variable.
#spendLimitDollars: 5.00

# Rolling time window in hours for spend limit. Defaults to the SPEND_LIMIT_HOURS variable.
# If neither are set then the spend limit is fixed and not rolling.
#spendLimitHours: 24

# Model used for image generation.
# Image models:
#   gptimage1high   - GPT Image 1.5 High   (~$0.17/image)
#   gptimage1medium - GPT Image 1.5 Medium  (~$0.04/image)
#   gptimage1low    - GPT Image 1.5 Low     (~$0.01/image)
#   dalle3-1024-HD  - DALL-E 3 1024 HD      (~$0.08/image)
#   dalle3-1024     - DALL-E 3 1024          (~$0.04/image)
#imageModel: gptimage1medium

# Legacy: Mail encourages more verbose communication, but is more confusing to follow, especially when combined with chat
#mailEnabled: false

# Show chat commands to the agent. Chat encourages more concise communication.
#chatEnabled: true

# Allow agent to browse the web with a context-optimized text browser built on Lynx.
# Javascript not supported. Requires `lynx` on the host (e.g. `apt install lynx`).
#webEnabled: true

# Allow agent to browse the web with a real headless Chromium browser via Playwright.
# Vision-capable models see screenshots; others fall back to a text/selector mode.
# Requires `npx playwright install chromium` on the host
#browserEnabled: true

# Allow the agent to end its own session. Once ended, it can only be restarted explicitly or via chat/mail
# if wakeOnMessage is enabled. Turn off for agents you've instructed to wake periodically. The auto-compact
# advanced setting can be used to minimize idling costs.
#completeSessionEnabled: true

# Seconds to wait at the debug prompt before auto-continuing, only applies when the agent's
# console is in focus. Set to 0 to continue immediately. Unset waits indefinitely for manual input.
#debugPauseSeconds: 5

# When mail or chat is received, start the agent automatically, or wake it from its wait state.
#wakeOnMessage: true

# Only works in standalone mode. None allows the LLM to run any command, Manual requires user confirmation for each command,
# Semi-auto uses a secondary LLM to validate but pauses on flagged commands,
# and Auto uses a secondary LLM to try to validate a command is safe.
# Values: none | manual | semi-auto | auto
#commandProtection: semi-auto

# Shell commands to run at session start before the first LLM prompt,
# providing additional context to the agent.
#initialCommands:
#  - cat ~/instructions.md
#  - git status

# Allow the LLM to run multiple commands per turn.
# Faster but the LLM may get ahead of itself and produce errors. Disable for weaker LLMs.
#multipleCommandsEnabled: true

# Experimental: Allows the LLM to pin files to the end of the context.
# Each turn the agent sees the latest version without old versions taking up context space.
#workspacesEnabled: true

# Allow the agent to operate the desktop GUI. Requires a vision-capable model;
# computer-use models are ideal. Screens over 1.1MP will be downscaled.
#controlDesktop: true
