算力资讯
算力资讯企业公告

全能Go Agent框架Covonaut v1.1.2发布:终端对话加入旁问与三档输出

Covonaut是面向生产环境的Go Agent框架,纯Go实现,以MIT协议开源。覆盖Agent开发的完整链路:Agent Loop(含上下文自动压缩、指数退避重试)、工具系统、多Agent交接、图引擎(DAG与Pregel两种执行模型)、会话树、可观测性,以及A2A(Agent-to-Agent)、ACP(Agent Client Protocol)、AG-UI(Agent-User Interaction Protocol)、A2UI(Agent-to-UI)四套协议。

配套的终端UI采用Elm架构与差分渲染,不依赖任何第三方TUI框架;其中的聊天层通过自有的消息类型与订阅接口与Agent核心解耦,并不直接依赖具体实现。

本次版本重心在终端对话层与steering队列。

主任务运行期间,用户往往想顺带问一个不打断主流程的问题。这类「旁问」在v1.1.2中获得了完整的终端侧支持。

聊天渲染层为标记为side的消息单独开辟分支:用户侧渲染为「side ▌」前缀,助手侧渲染为「side」前缀,错误侧沿用错误样式并加上side标记。助手侧的旁问同样经过Markdown渲染,并支持流式输出(生成中以暗色纯文本呈现)以及回复完成后的耗时摘要。

中断层面新增CanInterrupt配置项(返回布尔值),配合内部谓词判断当前是否处于可中断状态:主Agent空闲、但仍有旁问在运行时,Esc与Ctrl+C依然会触发中断回调,从而关掉旁问而不影响主任务。

需要说明的是,这一版提供的是渲染与中断两条原语,旁问的创建与调度由上层终端应用组合实现。

此前全局verbose是一个布尔开关,只有「展开」与「不展开」两种状态。本次将其换成三档策略:

配套接口相应调整:原有的ToggleVerbose保留为高频的快捷键路径,在on与full之间切换,off只能通过SetVerboseLevel设置;Verbose查询现在报告当前是否为full;另新增只读的VerboseLevel查询。

在off档下,工具正文默认不可见,搜索命中项可能落在折叠区域之内。新增RevealThroughMessage,可按消息序号临时展开包含该消息的折叠工具组,传入-1即还原,用于在折叠视图里定位与跳转到命中内容。

思考内容渲染器新增Stream选项:当该选项为false时,处于流式生成阶段的消息不显示思考内容,避免推理过程占满屏幕,消息完成后再按既定策略显示。

Mode的语义也做了收敛:

truncated由此从「等同非full」变为真正的截断显示。另外,渲染器为空时直接返回,避免空指针。

新增ClearSteering与SteeringPending两个接口,以及steering队列的Clear方法。Run、Continue、Resume三条执行入口在运行上下文被取消时都会调用ClearSteering,使一次被打断的运行不会把尚未注入的steering消息带进下一轮对话。

需要Go 1.25+,执行以下命令即可升级到本版本:

核心运行时位于agentcore子包,终端相关能力位于tui子包。项目同时提供可运行示例,涵盖最小对话、TUI演示与多协议(A2A、ACP)示例。

转载说明引用来源:开源中国引用网址:https://www.oschina.net/news/502428