Skip to main content

XAIBO Configuration Reference

Every agent is defined by an agent.yaml file that declares its LLM connections, cognitive modules, and wiring. This page documents the full schema.

Full Schema Example

llms:
main-llm:
model: "kimi-k2.6"
base_url: "https://relay.public.cloud.xpress.ai/v1"
api_key: "${XPRESSAI_API_TOKEN}"
temperature: 0.7
max_tokens: 8192
timeout: 600
memory-llm:
model: "mercury-2"
base_url: "https://relay.public.cloud.xpress.ai/v1"
api_key: "${XPRESSAI_API_TOKEN}"
temperature: 0.3
max_tokens: 4096
timeout: 300
system2-llm:
model: "claude-opus-4-6"
base_url: "https://relay.public.cloud.xpress.ai/v1"
api_key: "${XPRESSAI_API_TOKEN}"
temperature: 0.5
max_tokens: 16384
timeout: 600

modules:
pfc:
class: "modules.pfc.PFCOrchestrator"
llm: main-llm
system_prompt_file: "prompts/system.txt"
max_thoughts: 10
context_token_budget: 150000
hippo:
class: "modules.hippo.MemoryOrchestrator"
llm: memory-llm
memory_size: 10
mid_term_memory_size: 3
consolidation_interval: 300
system2:
class: "modules.system2.System2ThinkingProvider"
llm: system2-llm
thalamus:
class: "modules.thalamus.Thalamus"
meeseeks:
class: "modules.meeseeks.MeeseeksProvider"
llm: system2-llm
meeseeks:
- name: research
description: "Delegate a focused research task."
system_prompt: "You are a research specialist..."
response:
class: "modules.response_tool_provider.ResponseToolProvider"
desktop:
class: "modules.desktop.DesktopProvider"
tool_logger:
class: "modules.tool_logger.ToolLogger"
max_result_chars: 30000

entry_point: pfc

Sections

llms

Declares named LLM connections. Each entry defines a model endpoint that modules can reference by key.

FieldTypeRequiredDescription
modelstringYesModel identifier (e.g., kimi-k2.6, mercury-2, claude-opus-4-6)
base_urlstringYesAPI endpoint URL
api_keystringYesAPI key. Supports ${ENV_VAR} syntax for environment variable substitution
temperaturefloatNoSampling temperature (default varies by model)
max_tokensintNoMaximum tokens per response
timeoutintNoRequest timeout in seconds
tip

Use environment variable substitution (${XPRESSAI_API_TOKEN}) for API keys. Never hardcode secrets in agent.yaml.

modules

Declares the cognitive components that make up the agent. Each module has a class (Python import path) and module-specific configuration.

See Cognitive Architecture for detailed documentation of each module.

PFC (Prefrontal Cortex)

FieldTypeDefaultDescription
classstring--modules.pfc.PFCOrchestrator
llmstring--Key from llms section
system_prompt_filestring--Path to system prompt text file (relative to the agent's directory, e.g., prompts/system.txt)
max_thoughtsint10Maximum reasoning iterations per turn
context_token_budgetint150000Token budget for context window

Hippo (Memory Orchestrator)

FieldTypeDefaultDescription
classstring--modules.hippo.MemoryOrchestrator
llmstring--Key from llms section
memory_sizeint10Number of recent messages in short-term memory
mid_term_memory_sizeint3Number of mid-term memory results to retrieve
consolidation_intervalint300Seconds between memory consolidation cycles

System 2

FieldTypeDefaultDescription
classstring--modules.system2.System2ThinkingProvider
llmstring--Key from llms section (typically a high-capability model)

Thalamus

FieldTypeDefaultDescription
classstring--modules.thalamus.Thalamus

No additional configuration. Acts as a safety validation layer.

Meeseeks

FieldTypeDefaultDescription
classstring--modules.meeseeks.MeeseeksProvider
llmstring--Key from llms section
meeseekslist--List of sub-agent definitions

Each entry in meeseeks:

FieldTypeDescription
namestringTool name exposed to PFC (e.g., research)
descriptionstringTool description shown to the LLM
system_promptstringSystem prompt for the sub-agent

Response Tool Provider

FieldTypeDefaultDescription
classstring--modules.response_tool_provider.ResponseToolProvider

Provides the respond tool that the PFC uses to deliver its final answer.

Desktop Provider

FieldTypeDefaultDescription
classstring--modules.desktop.DesktopProvider

Enables computer-use via Claude Sonnet (screenshot-action loop).

Tool Logger

FieldTypeDefaultDescription
classstring--modules.tool_logger.ToolLogger
max_result_charsint30000Maximum characters per tool result before truncation

entry_point

Specifies which module receives incoming messages. Almost always pfc.

entry_point: pfc

The entry point module's handle_message method is called first. It then orchestrates calls to other modules (memory, tools, system 2) as needed.

Validation Notes

  • entry_point reference: The entry_point value must match a key defined in the modules section. If it references a nonexistent module, the agent will fail to start with a configuration error.
  • llm references in modules: Each module's llm field must match a key defined in the llms section. A missing or misspelled LLM reference will cause a startup error.
  • Required modules: The pfc and response modules are required for a functional agent (PFC needs a way to deliver responses). All other modules are optional -- omit system2 if you don't need deep reasoning, omit desktop if the agent doesn't need computer-use, etc. The thalamus module is strongly recommended for safety validation but technically optional.
  • system_prompt_file: Paths are resolved relative to the agent's directory (e.g., /data/home/agents/{agentName}/). A missing file will cause an error when the module initializes.