feat(kernel): agent_get 返回值扩展 UserProfile 字段

- AgentInfo 增加 user_profile: Option<Value> (serde default)
- SqliteStorage 增加 pool() getter
- agent_get 命令查询 UserProfileStore 填充 user_profile
- 前端 AgentInfo 类型同步更新
复用已有 UserProfileStore,不新增 Tauri 命令。
This commit is contained in:
iven
2026-04-11 12:51:27 +08:00
parent d974af3042
commit d50d1ab882
5 changed files with 25 additions and 2 deletions

View File

@@ -41,6 +41,11 @@ pub(crate) struct MemoryRow {
}
impl SqliteStorage {
/// Get a reference to the underlying connection pool
pub fn pool(&self) -> &SqlitePool {
&self.pool
}
/// Create a new SQLite storage at the given path
pub async fn new(path: impl Into<PathBuf>) -> Result<Self> {
let path = path.into();

View File

@@ -85,6 +85,7 @@ impl AgentRegistry {
system_prompt: config.system_prompt.clone(),
temperature: config.temperature,
max_tokens: config.max_tokens,
user_profile: None,
})
}

View File

@@ -171,6 +171,9 @@ pub struct AgentInfo {
pub system_prompt: Option<String>,
pub temperature: Option<f32>,
pub max_tokens: Option<u32>,
/// UserProfile from zclaw-memory UserProfileStore (populated on-demand by agent_get)
#[serde(default)]
pub user_profile: Option<serde_json::Value>,
}
impl From<AgentConfig> for AgentInfo {
@@ -189,6 +192,7 @@ impl From<AgentConfig> for AgentInfo {
system_prompt: config.system_prompt,
temperature: config.temperature,
max_tokens: config.max_tokens,
user_profile: None, // Populated on-demand by agent_get command
}
}
}