Profile Schema Reference
Complete reference for DAEMI agent and team YAML profiles. Files are stored in ~/.daemi/profiles/.
Top-Level Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
agent_id | string | ✓ | — | Unique identifier. Lowercase alphanumeric + underscores. Used for memory keys. |
name | string | ✓ | — | Display name shown in Console. |
role | string | ✓ | — | One-line role description. Injected into system prompt. |
type | enum | agent | "agent" or "team" | |
personality | object | Personality configuration. See below. | ||
memory | object | Memory configuration. See below. | ||
llm | object | LLM provider override. See below. | ||
tools | object | Tool access control. See below. |
personality
| Field | Type | Default | Description |
|---|---|---|---|
tone | string | "neutral" | Comma-separated tone descriptors (e.g. "focused, pragmatic") |
traits | string[] | [] | List of personality trait strings |
emotional_model | enum | "stable" | "stable" | "expressive" | "reserved" |
personality:
tone: focused, pragmatic, terse
traits:
- high conscientiousness
- detail-oriented
emotional_model: stable
memory
| Field | Type | Default | Description |
|---|---|---|---|
transfer_policy | enum | "carry_all" | How STM is distilled to LTM at session end |
ltm_max_results | integer | 10 | Max LTM records injected at session start |
stm_window | integer | 50 | Max messages in active STM context |
transfer_policy Values
| Value | Behavior |
|---|---|
carry_all | All significant exchanges distilled to LTM |
facts_only | Only explicit facts and decisions |
explicit_only | Only items explicitly told to remember |
none | Nothing written to LTM (ephemeral session) |
memory:
transfer_policy: carry_all
ltm_max_results: 10
stm_window: 50
llm
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | false = use system default. true = use this block. |
provider | enum | — | "openai-codex" | "anthropic" |
model | string | Provider default | Model name override |
temperature | float | Provider default | 0.0–1.0 |
max_tokens | integer | Provider default | Max response tokens |
llm:
enabled: true
provider: anthropic
model: claude-opus-4
temperature: 0.7
max_tokens: 4096
tools
| Field | Type | Default | Description |
|---|---|---|---|
allow_all | boolean | true | Allow access to all tool graph nodes |
restrict_to | string[] | — | If set, agent can only use these tools |
deny | string[] | [] | Explicitly deny access to these tools |
tools:
allow_all: false
restrict_to:
- web_search
- web_fetch
- read_file
- agent_call
Team-Specific Fields
When type: team, the following additional fields apply:
| Field | Type | Required | Description |
|---|---|---|---|
members | object[] | ✓ | List of team member definitions |
orchestration | object | Orchestration behavior |
members item
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✓ (if no agent_id) | Member display name |
role | string | ✓ (if no agent_id) | Member role |
agent_id | string | Reference to an existing agent profile |
orchestration
| Field | Type | Default | Description |
|---|---|---|---|
strategy | enum | "role_match" | "role_match" | "round_robin" | "consensus" |
show_attribution | boolean | true | Show [MemberName]: prefix in output |
max_handoffs | integer | 4 | Max member-to-member handoffs per request |
Complete Example: Agent
agent_id: koda
name: Koda
role: Coding Agent
type: agent
personality:
tone: focused, pragmatic, terse
traits:
- high conscientiousness
- detail-oriented
- prefers code over explanation
emotional_model: stable
memory:
transfer_policy: carry_all
ltm_max_results: 8
stm_window: 40
llm:
enabled: true
provider: openai-codex
model: gpt-5.3-codex
temperature: 0.1
tools:
allow_all: true
deny:
- run_shell
Complete Example: Team
agent_id: tema
name: Tema
role: Software Team
type: team
memory:
transfer_policy: facts_only
ltm_max_results: 20
orchestration:
strategy: role_match
show_attribution: true
max_handoffs: 6
members:
- role: PM
name: Roja
- role: Designer
name: Desa
- role: Architect
name: Teka
- role: Frontend
name: Rona
- role: Backend
name: Baca
- role: QA
name: Quya