AgentOS Configuration
Customize your AgentOS instance with custom configuration
AgentOS configuration allows you to customize your instance for different environments and deployment scenarios.
You can control which AI models are available globally and per-domain (for Evals), set custom display names for UI pages, define "quick prompts" for the chat interface, and configure per-database settings. This is particularly useful when managing multiple databases, deploying across different environments (development, staging, production), or building multi-tenant systems where each client needs distinct configurations.
Configuring "Quick Prompts" can be particularly useful for improving the chat experience for users of your AgentOS.
It changes the available options when your user creates a new session on the Chat Page.
Setting your configuration
You can provide your AgentOS configuration in two different ways: with a configuration YAML file, or using the AgentOSConfig class.
See the full reference for the AgentOSConfig class here.
Configuration YAML File
- Create a YAML file with your configuration. For example:
1# Configure quick prompts for the Chat interface (per agent)2chat:3 quick_prompts:4 marketing-agent:5 - "What can you do?"6 - "How is our latest post working?"7 - "Tell me about our active marketing campaigns"89# Configure Memory page with custom display names10memory:11 display_name: "User Memory Store"12 dbs:13 - db_id: db-000114 tables: ["custom_memory_table"] # Optional: specify custom table names15 domain_config:16 display_name: Main app user memories17 - db_id: db-000218 domain_config:19 display_name: Support flow user memories2021# Configure Knowledge page22knowledge:23 display_name: "Knowledge Base"24 dbs:25 - db_id: db-000126 domain_config:27 display_name: Product documentation2829# Configure Session tracking30session:31 display_name: "User Sessions"32 dbs:33 - db_id: db-000134 domain_config:35 display_name: Production sessions3637# Configure Evals page38evals:39 display_name: "Evaluations"40 dbs:41 - db_id: db-000142 domain_config:43 display_name: Production evals- Pass the configuration to your AgentOS using the
configparameter:
1from kern.os import AgentOS23agent_os = AgentOS(4 name="My AgentOS",5 ...,6 config="path/to/configuration.yaml"7)AgentOSConfig Class
You can also provide your configuration using the AgentOSConfig class:
1from kern.os import AgentOS2from kern.os.config import (3 AgentOSConfig,4 ChatConfig,5 DatabaseConfig,6 EvalsConfig,7 EvalsDomainConfig,8 KnowledgeConfig,9 KnowledgeDomainConfig,10 MemoryConfig,11 MemoryDomainConfig,12 SessionConfig,13 SessionDomainConfig,14)1516agent_os = AgentOS(17 ...,18 config=AgentOSConfig(19 chat=ChatConfig(20 quick_prompts={21 "marketing-agent": [22 "What can you do?",23 "How is our latest post working?",24 "Tell me about our active marketing campaigns",25 ]26 }27 ),28 memory=MemoryConfig(29 display_name="User Memory Store",30 dbs=[31 DatabaseConfig(32 db_id=marketing_db.id,33 domain_config=MemoryDomainConfig(34 display_name="Main app user memories",35 ),36 ),37 DatabaseConfig(38 db_id=support_db.id,39 domain_config=MemoryDomainConfig(40 display_name="Support flow user memories",41 ),42 )43 ],44 ),45 ),46)The /config endpoint
The /config endpoint returns your complete AgentOS configuration as JSON. You could use this to inspect your AgentOS configuration that is served to the AgentOS Control Plane.
The response includes:
- OS ID: The ID of your AgentOS (automatically generated if not set)
- Description: The description of your AgentOS
- Databases: The list of IDs of the databases present in your AgentOS
- Agents: The list of Agents available in your AgentOS
- Teams: The list of Teams available in your AgentOS
- Workflows: The list of Workflows available in your AgentOS
- Interfaces: The list of Interfaces available in your AgentOS. E.g. WhatsApp, Slack, etc.
- Chat: The configuration for the Chat page, which includes the list of quick prompts for each Agent, Team and Workflow in your AgentOS
- Session: The configuration for the Session page of your AgentOS
- Metrics: The configuration for the Metrics page of your AgentOS
- Memory: The configuration for the Memory page of your AgentOS
- Knowledge: The configuration for the Knowledge page of your AgentOS
- Evals: The configuration for the Evals page of your AgentOS
You will receive a JSON response with your configuration. Using the previous examples, you will receive:
1{2 "os_id": "0001",3 "name": "My AgentOS",4 "description": "Your AgentOS",5 "available_models": [6 "openai:gpt-4",7 ],8 "databases": [9 "db-0001",10 "db-0002"11 ],12 "agents": [],13 "chat": {14 "quick_prompts": {15 "marketing-agent": [16 "What can you do?",17 "How is our latest post working?",18 "Tell me about our active marketing campaigns"19 ]20 }21 },22 "memory": {23 "dbs": [24 {25 "db_id": "db-0001",26 "domain_config": {27 "display_name": "Main app user memories"28 }29 },30 {31 "db_id": "db-0002",32 "domain_config": {33 "display_name": "Support flow user memories"34 }35 }36 ]37 },38 ...39}See the full schema for the /config endpoint here.