pub mod adapter; pub mod adapters; pub mod context; pub mod handler; pub mod handlers; pub mod response; use serde::{Deserialize, Serialize}; /// 统一命令枚举 - 与渠道无关 #[derive(Debug, Clone, Serialize, Deserialize)] #[serde(tag = "type", rename_all = "snake_case")] pub enum Command { /// 创建新话题(在同一个 Session 内) CreateSession { title: Option }, /// 保存当前话题内容到 Markdown 文件 SaveTopic { filepath: Option, include_subagents: bool, }, /// 保存会话内容到 Markdown 文件 SaveSession { filepath: Option, include_all: bool, include_subagents: bool, }, /// 列出当前 Session 的所有话题 ListSessions { include_archived: bool }, /// 加载指定话题 LoadTopic { topic_id: String }, /// 切换到指定话题(清理当前历史并加载新话题) SwitchTopic { topic_id: String }, /// 获取当前话题信息 GetCurrentSession, /// 显示所有支持的命令 Help, /// 列出所有可用通道 ListChannels, /// 列出指定通道的所有会话 ListSessionsByChannel { channel_name: String, include_archived: bool, }, /// 列出 Session 的所有 Topics ListTopics { session_id: String }, /// 加载子智能体任务的消息历史 LoadTaskMessages { task_id: String }, /// 列出所有定时任务 ListSchedulerJobs, /// 加载指定 channel + chat_id 的对话消息 LoadChatMessages { channel: String, chat_id: String, }, /// 删除指定话题 DeleteTopic { topic_id: String }, /// 停止当前正在执行的 Agent StopExecution, /// 列出所有记忆 ListMemories, /// 创建新记忆 CreateMemory { namespace: String, key: String, content: String, }, /// 更新已有记忆 UpdateMemory { id: String, content: String, }, /// 删除记忆 DeleteMemory { id: String }, /// 列出所有技能 ListSkills, /// 列出当前 Todo 列表 ListTodos, } impl Command { /// 获取命令名称(用于日志和调试) pub fn name(&self) -> &'static str { match self { Command::CreateSession { .. } => "create_session", Command::SaveTopic { .. } => "save_topic", Command::SaveSession { .. } => "save_session", Command::ListSessions { .. } => "list_sessions", Command::LoadTopic { .. } => "load_topic", Command::SwitchTopic { .. } => "switch_topic", Command::GetCurrentSession => "get_current_session", Command::Help => "help", Command::ListChannels => "list_channels", Command::ListSessionsByChannel { .. } => "list_sessions_by_channel", Command::ListTopics { .. } => "list_topics", Command::LoadTaskMessages { .. } => "load_task_messages", Command::ListSchedulerJobs => "list_scheduler_jobs", Command::LoadChatMessages { .. } => "load_chat_messages", Command::DeleteTopic { .. } => "delete_topic", Command::StopExecution => "stop_execution", Command::ListMemories => "list_memories", Command::CreateMemory { .. } => "create_memory", Command::UpdateMemory { .. } => "update_memory", Command::DeleteMemory { .. } => "delete_memory", Command::ListSkills => "list_skills", Command::ListTodos => "list_todos", } } }