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 }, /// 加载指定话题 LoadSession { session_id: String }, /// 切换到指定话题(清理当前历史并加载新话题) SwitchSession { session_id: String }, /// 获取当前话题信息 GetCurrentSession, /// 显示所有支持的命令 Help, } 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::LoadSession { .. } => "load_session", Command::SwitchSession { .. } => "switch_session", Command::GetCurrentSession => "get_current_session", Command::Help => "help", } } }