Skip to main content

walrus_daemon/config/
agent.rs

1//! Agent configuration.
2
3use compact_str::CompactString;
4use serde::{Deserialize, Serialize};
5
6/// Agent configuration.
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct AgentConfig {
9    /// Model used for the general text process
10    pub text: CompactString,
11
12    /// Model used for vision tasks
13    pub vision: Option<CompactString>,
14
15    /// Model used for embedding tasks
16    pub embedding: Option<CompactString>,
17}
18
19#[cfg(not(feature = "local"))]
20impl Default for AgentConfig {
21    fn default() -> Self {
22        Self {
23            text: "deepseek-chat".into(),
24            vision: None,
25            embedding: None,
26        }
27    }
28}
29
30#[cfg(feature = "local")]
31impl Default for AgentConfig {
32    fn default() -> Self {
33        Self {
34            text: "Qwen/Qwen3-4B".into(),
35            vision: None,
36            embedding: None,
37        }
38    }
39}