223 lines
7.1 KiB
YAML
223 lines
7.1 KiB
YAML
# agents.yaml — AIPA Agent Configuration
|
||
# Defines named providers and assigns agents to them.
|
||
#
|
||
# API keys are NOT stored here.
|
||
# Use api_key_env to name the environment variable holding the key (.env).
|
||
# Use api_key only for local servers that don't require authentication.
|
||
#
|
||
# To add an agent: add an entry under `agents`.
|
||
# To add a provider: add an entry under `providers`, then reference it by name.
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# System Roles
|
||
# Maps logical roles to the agent names defined under `agents` below.
|
||
# The orchestration code references roles only — never agent names directly.
|
||
# Change the name on the right to reassign a role to a different agent.
|
||
#
|
||
# orchestrator — primary interface to the Principal; routes all work
|
||
# auditor — independent quality reviewer; reports only to Principal
|
||
# recruiter — agent generator; creates, maintains, and optimises agents
|
||
# ---------------------------------------------------------------------------
|
||
|
||
roles:
|
||
orchestrator: miranda
|
||
auditor: vera
|
||
recruiter: evelyn
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Default Provider
|
||
# Used for any agent that does not specify a provider.
|
||
# Set to a name defined in the providers section, or "none".
|
||
# ---------------------------------------------------------------------------
|
||
|
||
default_provider: vastblueai
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Providers
|
||
# Named provider definitions. Agents reference these by name.
|
||
#
|
||
# Fields:
|
||
# type: anthropic | openai | openai_compatible | ollama
|
||
# api_key_env: environment variable name holding the API key
|
||
# api_key: literal key (local servers only — do not put real keys here)
|
||
# base_url: required for openai_compatible and ollama; omit for cloud
|
||
# ---------------------------------------------------------------------------
|
||
|
||
providers:
|
||
|
||
# --- Cloud ---
|
||
|
||
anthropic:
|
||
type: anthropic
|
||
api_key_env: ANTHROPIC_API_KEY
|
||
default_model: claude-opus-4-6
|
||
|
||
openai:
|
||
type: openai
|
||
api_key_env: OPENAI_API_KEY
|
||
default_model: gpt-4o
|
||
|
||
# --- OpenAI-compatible cloud APIs ---
|
||
|
||
groq:
|
||
type: openai_compatible
|
||
base_url: https://api.groq.com/openai/v1
|
||
api_key_env: GROQ_API_KEY
|
||
default_model: llama-3.3-70b-versatile
|
||
|
||
together:
|
||
type: openai_compatible
|
||
base_url: https://api.together.xyz/v1
|
||
api_key_env: TOGETHER_API_KEY
|
||
default_model: meta-llama/Llama-3.3-70B-Instruct-Turbo
|
||
|
||
mistral:
|
||
type: openai_compatible
|
||
base_url: https://api.mistral.ai/v1
|
||
api_key_env: MISTRAL_API_KEY
|
||
default_model: mistral-large-latest
|
||
|
||
anyscale:
|
||
type: openai_compatible
|
||
base_url: https://api.endpoints.anyscale.com/v1
|
||
api_key_env: ANYSCALE_API_KEY
|
||
default_model: ""
|
||
|
||
# --- Local servers ---
|
||
#
|
||
# Two variants of the same endpoint: one with Qwen3 thinking mode on, one off.
|
||
# Qwen3 recommended temperatures: 0.6 (thinking), 0.7 (non-thinking).
|
||
# Assign reasoning-heavy agents to vastblueai_thinking; procedural/creative
|
||
# agents to vastblueai.
|
||
#
|
||
vastblueai:
|
||
type: openai_compatible
|
||
base_url: http://10.250.50.54:9292/v1
|
||
api_key: local
|
||
default_model: "qwen3.5-35-a3b"
|
||
extra_body:
|
||
enable_thinking: false # Non-thinking mode — recommended temp 0.7
|
||
|
||
vastblueai_thinking:
|
||
type: openai_compatible
|
||
base_url: http://10.250.50.54:9292/v1
|
||
api_key: local
|
||
default_model: "qwen3.5-35-a3b"
|
||
extra_body:
|
||
enable_thinking: true # Qwen3 thinking mode — recommended temp 0.6
|
||
|
||
lmstudio:
|
||
type: openai_compatible
|
||
base_url: http://localhost:1234/v1
|
||
api_key: local
|
||
default_model: ""
|
||
|
||
llamacpp:
|
||
type: openai_compatible
|
||
base_url: http://localhost:8080/v1
|
||
api_key: local
|
||
default_model: ""
|
||
|
||
ollama:
|
||
type: openai_compatible # Ollama's OpenAI-compatible endpoint
|
||
base_url: http://localhost:11434/v1
|
||
api_key: local
|
||
default_model: ""
|
||
|
||
ollama_native:
|
||
type: ollama # Ollama's native API (no extra SDK required)
|
||
base_url: http://localhost:11434
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Agents
|
||
# Each agent entry defines a named agent in the hierarchy.
|
||
#
|
||
# Fields:
|
||
# prompt_file: filename in agents/prompts/
|
||
# provider: named provider from the providers section (or "none")
|
||
# model: model name exactly as the provider expects it
|
||
# temperature: 0.0–1.0 (see hierarchy spec for per-role guidance)
|
||
# max_tokens: maximum response length
|
||
# stateful: true = maintain conversation history; false = fresh each call
|
||
# ---------------------------------------------------------------------------
|
||
|
||
agents:
|
||
|
||
miranda:
|
||
title: Chief of Staff
|
||
color: cyan
|
||
prompt_file: miranda_chief_of_staff.md
|
||
provider: vastblueai_thinking # Routing and synthesis benefit from deep reasoning
|
||
model: ""
|
||
temperature: 0.6 # Qwen3 thinking-mode recommendation
|
||
max_tokens: 32768 # Synthesizes the longest outputs; needs headroom
|
||
stateful: true
|
||
|
||
vera:
|
||
title: Auditor
|
||
color: yellow
|
||
prompt_file: vera_auditor.md
|
||
provider: vastblueai_thinking # Careful auditing benefits from thinking
|
||
model: ""
|
||
temperature: 0.6 # Qwen3 thinking-mode recommendation
|
||
max_tokens: 16384
|
||
stateful: false
|
||
|
||
evelyn:
|
||
title: Director of Personnel & Systems
|
||
color: white
|
||
prompt_file: evelyn_director_of_personnel.md
|
||
provider: vastblueai # Procedural tasks; thinking overhead not warranted
|
||
model: ""
|
||
temperature: 0.7 # Qwen3 non-thinking recommendation
|
||
max_tokens: 16384
|
||
stateful: true
|
||
tools:
|
||
- list_tools
|
||
- list_agents
|
||
- read_agent_config
|
||
- upsert_agent_definition
|
||
- read_agent_prompt
|
||
- write_agent_prompt
|
||
- list_providers
|
||
|
||
atlas:
|
||
title: Director of Research
|
||
color: green
|
||
prompt_file: atlas_research_lead.md
|
||
provider: vastblueai_thinking # Research synthesis benefits from extended reasoning
|
||
model: ""
|
||
temperature: 0.6 # Qwen3 thinking-mode recommendation
|
||
max_tokens: 16384
|
||
stateful: true
|
||
|
||
cole:
|
||
title: Director of Operations
|
||
color: blue
|
||
prompt_file: cole_operations_lead.md
|
||
provider: vastblueai # Operational tasks are structured and procedural
|
||
model: ""
|
||
temperature: 0.7 # Qwen3 non-thinking recommendation
|
||
max_tokens: 16384
|
||
stateful: true
|
||
|
||
clio:
|
||
title: Director of Analysis
|
||
color: magenta
|
||
prompt_file: clio_analysis_lead.md
|
||
provider: vastblueai_thinking # Structured analysis benefits from thinking
|
||
model: ""
|
||
temperature: 0.6 # Qwen3 thinking-mode recommendation
|
||
max_tokens: 16384
|
||
stateful: true
|
||
|
||
iris:
|
||
title: Director of Interface & Experience
|
||
color: bright_cyan
|
||
prompt_file: iris_interface_director.md
|
||
provider: vastblueai # Creative/interface work; non-thinking is sufficient
|
||
model: ""
|
||
temperature: 0.7 # Qwen3 non-thinking recommendation
|
||
max_tokens: 16384
|
||
stateful: true
|