IronClaw-MCP 一. 相关结构 1. MCPSessionManager(管理client和server之间的会话) /// Manages MCP sessions across multiple `(user, server)` pairs. /// /// Server names are typed via
IronClaw-短期记忆 一. 相关结构 1. SessionManager (会话管理session-thread-turn) pub struct SessionManager { sessions: RwLock<HashMap<String, Arc<Mutex<Session>>>>, thread
IronClaw-hook 一. 类别和注册时机 具体来说,向这个 Arc<HookRegistry> 注册 hook 的路径有 4 条,每条的发生时机不同: ┌─────┬────────────────────────────────────┬─────────────────────────────────────
Ironclaw-SafetyLayer 一. 介绍 SafetyLayer 提供六大能力:长度截断、凭据扫描/替换、策略执行(Block/Sanitize)、prompt-injection 清洗、入站凭据预检、工具输出/外部内容的 XML 包裹与解包,并通过四个 getter 暴露底层组件以便做精细控制。 二. 类型 1. Safety
IronClaw-Tool 一. 工具类型 `apply_patch` 工具需要付费权限,我直接给一个完整的分析答复并附上关键代码引用。 --- ## ToolRegistry 工具类型统计 `ToolRegistry` 的核心数据结构是 `tools: RwLock<HashMap<String, Arc<dyn To
IronClaw-LLM调用(装饰器模式) 一. 实现的接口 /// Trait for LLM providers. #[async_trait] pub trait LlmProvider: Send + Sync { /// Get the model name. fn model_name(&self) -> &str
IronClaw-启动流程 一. 文件锁避免重复实例 let _pid_lock = match ironclaw::bootstrap::PidLock::acquire() {//尝试获取 Ok(lock) => Some(lock), Err(ironclaw::bootstrap
IronClaw-CLI初始化 一. 介绍 1. 介绍 //CLI命令主要是通过clap 的 #[derive(Subcommand)]按子命令解析去实现 //首先解析然后去匹配command的枚举 let cli = Cli::parse(); let enable_non_cli = non_cli_chan
IronClaw-变量加载 一. 加载环境变量 一共分为两个阶段,一个是Tokio 启动前(单线程,std::env::set_var 安全),另一个是Tokio 启动后(多线程,不能再碰 set_var)。 1. 阶段一:Tokio 启动前(单线程,std::env::set_var 安全) fn main() -> any