pub struct AgentProfile {
pub profile_id: String,
pub name: Option<String>,
pub description: Option<String>,
pub system_prompt: Option<String>,
pub thinking_level: Option<ThinkingLevel>,
pub temperature: Option<f32>,
pub max_tokens: Option<u32>,
pub config_id: Option<String>,
pub skills: Vec<String>,
pub workspace: Option<PathBuf>,
}Expand description
A reusable agent blueprint that defines default configuration for agents.
Multiple agents can share the same profile, inheriting its settings as defaults.
Agent-level settings (e.g. system_prompt on BasicAgent) override the profile’s
values when both are set.
§Resolution order
For fields like thinking_level and temperature, the resolution order is:
- Session override (if set)
- Profile value (if set)
- Crate default (
ThinkingLevel::Off,None)
Fields§
§profile_id: StringUnique identifier for this profile. Auto-generated UUID when using Default.
name: Option<String>Human-readable name for agents using this profile.
description: Option<String>Description of the profile’s purpose or capabilities.
system_prompt: Option<String>Default system prompt for agents using this profile. Can be overridden at the agent level.
thinking_level: Option<ThinkingLevel>Default thinking level for agents using this profile.
temperature: Option<f32>Default temperature for agents using this profile.
max_tokens: Option<u32>Default max tokens for agents using this profile.
config_id: Option<String>Stable config identity. When set, used as the middle segment of loop_id:
loop_id = "{session_id}.{config_id}.{N}"
skills: Vec<String>Skill names loaded via SkillSet from SKILL.md files.
These are NOT tools — they are skill definitions per the AgentSkills standard.
workspace: Option<PathBuf>Agent workspace directory. File paths in system prompt blocks resolve relative to this directory.
Trait Implementations§
Source§impl Clone for AgentProfile
impl Clone for AgentProfile
Source§fn clone(&self) -> AgentProfile
fn clone(&self) -> AgentProfile
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more