面向生产环境的Go语言Agent框架covonaut近日迎来v1.1.4版本更新,此次升级聚焦调度策略优化、多模态数据处理与安全增强三大方向,通过纯Go语言实现与MIT开源协议保障,为开发者提供更可靠、灵活的智能体开发体验。新版本在保持接口兼容性的前提下,重构了核心调度机制,并新增富媒体处理、回收站保护等实用功能,开发者无需修改现有代码即可直接使用。
调度系统重构是本次更新的核心突破。旧版采用的并行执行策略存在明显缺陷:当某个工具处理耗时过长时,会持续占用并发槽位,导致后续可并行任务被迫等待。新版本引入滚动池调度模型,通过动态资源分配解决这一痛点——系统严格按工具声明顺序启动调用,空闲槽位立即补充新任务,确保慢任务不影响整体效率。对于明确声明非并发安全的工具,系统会先清空运行池再串行执行,形成隔离屏障。开发者可根据工具特性选择并行模式(宽松策略,仅隔离明确声明非安全的工具)或混合模式(保守策略,未声明工具默认串行),两种模式均保证模型接收结果的顺序与串行执行完全一致,并独立捕获每个调用的异常,避免单点故障扩散。
多模态数据处理能力实现质的飞跃。新版本突破文本限制,支持按文件扩展名与内容特征自动分流处理文本、图片、PDF、Jupyter Notebook及视频五类数据。文本与Notebook可按行或单元格分页传输,Notebook内容会被渲染为可读文本;图片处理支持最多8个对比目标及聚焦描述提问;PDF可指定页码范围、最大页数或仅提取元数据;视频则能自定义抽帧数量与时间窗口。所有富媒体内容通过可插拔回调机制传输,未接入处理服务时明确提示而非静默失败。针对大文件处理,系统不再强制嵌入上下文,而是返回格式识别结果,文本截断时自动标记续读位置,确保内容完整性。
文件操作安全机制迎来全面升级。所有删除操作现在统一通过系统回收站处理:macOS使用Trash回收站(异常时回退用户废纸篓),Linux优先调用freedesktop接口(失败时使用手工回收目录),Windows则移至系统回收站。为防止数据覆盖,同名文件自动追加时间戳后缀。安全护栏严格限制操作范围,禁止访问文件系统根目录、当前工作目录及用户主目录,且任何情况下不执行永久删除。命令解析层面,系统通过语法树分析拦截顶层单条字面量路径的删除命令,复合命令、变量拼接路径及带重定向的语句则交由真实shell处理,同时阻断清空、粉碎等不可恢复操作并引导使用可恢复方式。
隔离与功能增强同步推进。shell子进程与聊天界面完全分离,不再继承控制终端或抢占输入焦点,交互式程序如vim、less可正常运行而不干扰界面渲染。新增JSON Schema校验功能,支持对工具输出与模型返回进行结构化验证。网络搜索后端实现免密钥自适应,中文环境优先调用Bing,其他环境使用DuckDuckGo,区域判断依据环境变量、系统语言或时区。持久终端工具族通过伪终端技术实现工作目录、环境变量及后台作业的跨调用保留,区别于传统每次新建进程的方式,并默认限制并发会话数,为每个会话维护滚动输出缓冲。
开发者升级至v1.1.4版本仅需调整模块依赖,无需修改接口代码。需注意的是,并行模式调度语义从全量并发调整为滚动池加宽松准入,若需保持原有保守调度策略,应切换至混合模式并补充工具并发安全声明。此次更新未引入任何破坏性变更,确保现有系统平滑过渡。











