//! memories — 长期记忆管理(通过主进程 DB 代理) fn main() { let input: serde_json::Value = serde_json::from_reader(std::io::stdin()).unwrap(); let mode = std::env::args().nth(2).unwrap_or_else(|| "list".to_string()); let params = &input["params"]; if input.get("db_response").is_none() { // 发出 DB 请求 match mode.as_str() { "list" => println!("{}", serde_json::json!({"type":"db","operation":"read_memories","desc":"读取记忆"})), "add" => { let c = params["content"].as_str().unwrap_or(""); if c.is_empty() { println!(r#"{{"type":"result","content":"缺少content"}}"#); return; } println!("{}", serde_json::json!({"type":"db","operation":"write_memory","params":{"content":c},"desc":format!("记录: {c}")})); } "get" => { let id = params["memory_id"].as_u64().unwrap_or(0); println!("{}", serde_json::json!({"type":"db","operation":"read_memories","params":{"memory_id":id},"desc":"读取记忆"})); } "delete" => { let id = params["memory_id"].as_u64().unwrap_or(0); println!("{}", serde_json::json!({"type":"db","operation":"delete_memory","params":{"memory_id":id},"desc":format!("删除记忆 {id}")})); } "update" => { let id = params["memory_id"].as_u64().unwrap_or(0); let c = params["content"].as_str().unwrap_or(""); println!("{}", serde_json::json!({"type":"db","operation":"update_memory","params":{"memory_id":id,"content":c},"desc":format!("更新记忆 {id}")})); } _ => println!(r#"{{"type":"result","content":"未知操作"}}"#), } } else { // 处理 DB 响应 let result = input["db_response"]["result"].as_str().unwrap_or(""); println!("{}", serde_json::json!({"type":"result","content":result})); } }