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
Rust基础2 十五. 迭代器与闭包 1. 闭包:能够捕获环境的匿名函数 Rust 中的闭包是一种匿名函数,它可以被存入变量或作为参数传递给其他函数。你可以在一个地方创建闭包,然后在不同的上下文中调用它来执行运算。与普通函数不同,闭包的关键特性在于它能够从其被定义的作用域中捕获并使用外部环境的值。后续将展示如何利用