纯Go Agent框架covonaut v1.1.4发布
「面向生产环境的纯Go语言Agent框架covonaut发布v1.1.4,采用MIT协议,无需改动接口即可升级。新版本引入滚动工具执行池调度、多模态内容通道与五路自适应读取能力,删除操作统一接入系统回收站,并新增结构化输出校验、区域自适应搜索后端与持久终端工具族,兼顾性能与安全隔离。」
面向生产环境的 Go 语言 Agent 框架 covonaut 发布了 v1.1.4 版本。该框架全程采用纯 Go 实现,使用 MIT 协议开源,能力覆盖 Agent 主循环、工具调用、图编排与多协议互操作。最体贴的一点是,开发者升级到 v1.1.4 无需改动任何接口代码,新特性开箱即用。
调度是本次改动的核心。过去的并行执行更像一个不讲策略的包工头,一次性拉起全部调用,再靠并发上限排队,一个慢工具就能长期占住槽位,堵住后面所有的活。v1.1.4 改成单一滚动池调度:调用严格按模型给出的顺序启动,一旦有空槽立即补位,慢调用不再拖累后续可以并行的任务;遇到不允许并行的调用,会先排空池中在跑的任务再单独内联执行,形成一道串行屏障。模型看到的返回顺序始终与串行执行完全一致,每个调用还独立捕获 panic,单个工具崩溃不会拖垮同批其他调用。
调度宽严由工具自身的并发安全声明和执行模式共同决定:并行模式最宽松,只有明确声明非并发安全的工具才被隔离串行;本次新增的混合模式则保守得多,未声明或声明不明确的任务一律串行,开发者可按工具生态的可信程度二选一。配套而来的是工具结果的多模态内容通道,截图等富内容能和文本一起透传给支持多部分返回的模型,不支持的服务则自动降级为纯文本。
读取工具这次彻底长出了多面手属性。它不再只认文本,而是按扩展名和内容特征自动分流到文本、图片、PDF、Jupyter Notebook、视频五条处理路径,本地路径和网络链接都能直接喂进去。
其中,文本与 Notebook 支持按行或按单元格分页,Notebook 会被渲染成可读文本;图片单次最多提交 8 个目标用于对比,还能附带提问聚焦描述;PDF 支持页码范围、最大页数和仅取元数据三种用法;视频则可指定抽帧数量与时间窗口。富媒体处理逻辑以可插拔回调形式提供,没接入时给出明确提示而非静默失败;文本被截断时,末尾会附带续读位置提示,模型可自行接着读不丢内容;真正的二进制文件也不再被硬塞进上下文,而是老老实实返回格式识别结果。
最让运维放心的,是删除操作被统一关进了系统回收站。删除工具和 shell 里的删除命令不再永久销毁文件,而是按平台移入回收站:macOS 走访达回收站、异常时回退用户废纸篓;Linux 优先使用 freedesktop 回收站接口、回退手工回收目录;Windows 移入系统回收站。同名冲突会自动追加时间戳后缀避免覆盖,内置安全护栏更坚定拒绝文件系统根目录、当前工作目录与用户主目录,并且任何情况下都不会退化成永久删除。命令侧通过解析 shell 语法树,只拦截顶层、单条、路径为字面量的删除命令,复合命令、含变量拼接的路径和带重定向的语句一律放行交给真实 shell;清空、粉碎这类不可恢复命令则被直接阻断并提示改用可恢复方式。
隔离与增强同样到位。shell 子进程与聊天界面彻底分家,不再继承控制终端、抢鼠标焦点和作业控制,在界面里跑 vim、less 这类交互程序也不会打乱渲染。框架新增了按 JSON Schema 校验结构化输出的能力,供模型的 JSON 模式返回与工具出参复用。网络搜索的免密钥后端按运行区域自适应,中文环境优先 Bing、其他环境优先 DuckDuckGo,区域可从环境变量、系统语言或时区推断。此外新增需显式开启的持久终端工具族,基于伪终端让工作目录、导出变量和后台作业跨多次调用保留,区别于每次新建进程的做法,并默认限制并发会话数量、为每个会话维护滚动输出缓冲。
升级只需把模块版本指到 v1.1.4,本次无破坏性接口变更。唯一要留意的是,并行模式的调度语义从全量并发调整为滚动池加宽松准入,若想保持保守调度,请改用新增的混合模式并为工具补齐并发安全声明。
来源:Heooo AI工具导航