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.

Note

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.

Tip

See the full reference for the AgentOSConfig class here.

Configuration YAML File

  1. 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"
8
9# Configure Memory page with custom display names
10memory:
11 display_name: "User Memory Store"
12 dbs:
13 - db_id: db-0001
14 tables: ["custom_memory_table"] # Optional: specify custom table names
15 domain_config:
16 display_name: Main app user memories
17 - db_id: db-0002
18 domain_config:
19 display_name: Support flow user memories
20
21# Configure Knowledge page
22knowledge:
23 display_name: "Knowledge Base"
24 dbs:
25 - db_id: db-0001
26 domain_config:
27 display_name: Product documentation
28
29# Configure Session tracking
30session:
31 display_name: "User Sessions"
32 dbs:
33 - db_id: db-0001
34 domain_config:
35 display_name: Production sessions
36
37# Configure Evals page
38evals:
39 display_name: "Evaluations"
40 dbs:
41 - db_id: db-0001
42 domain_config:
43 display_name: Production evals
  1. Pass the configuration to your AgentOS using the config parameter:
1from kern.os import AgentOS
2
3agent_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 AgentOS
2from 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)
15
16agent_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}
Tip

See the full schema for the /config endpoint here.