|
|
covonaut 是一个 Go 语言生产级 Agent 开发框架,基于 Go 1.25 构建,MIT 开源。框架覆盖 Agent 循环、工具注册与生命周期钩子、MCP 协议桥接、A2A 多智能体协作、图引擎(DAG 与 Pregel)、会话管理、工作流编排等功能,并自带一套完整的终端图形界面库。
v1.1.3 变更
本次发布聚焦终端界面交互。
输入刻度条(Input Rail)
聊天区右缘新增竖向 tick 序列,每个刻度对应一次用户输入。分布策略为少量时聚拢在视口中央,对话增多后向两侧展开,超出视口高度时等距压缩合并。支持三种交互:
• 点击刻度:跳转到对应输入的起始行
• 滚动同步:滚动到某条输入时对应 tick 变长并缓动过渡
• 悬停预览:弹出浮层展示原始输入内容与助手回复预览
刻度数据完全由 ChatHistory 自身提供,宿主只需调用 SetRailEnabled(true) 即可启用。
顶层绘制机制(TopLayer)
新增整帧最高层渲染接口,允许组件在所有弹出层合成完成后于最上层绘制内容,确保输入刻度条等装饰不被任何 overlay 遮挡。
流式尾窗节流
Loader 新增 SetTicker 方法,支持跟随流式产出的思考内容按 160ms 固定间隔滚动推进,使视觉滚动速度与 token 到达速率解耦,并采用独立锁避免渲染期写锁竞争。
Markdown 纯文本解析
新增 md_plain 组件,将 markdown 源码解析为保留语义的纯文本——段落软换行折叠、代码块保留原文、列表和引用加标记前缀、表格按行拼接单元格、链接保留 URL,适用于复制导出场景。
主题细节
• 新增 FaintHairline 辅助函数,按文字亮度向背景混色生成碎裂感分隔线,使独立水平线(---)呈现似有非有的效果;标题下划线保持原有亮度
• 新增 Style.IsZero() 判定
• 调整聊天界面水平边距
项目链接
• 源码仓库:https://github.com/covoyage/covonaut
• 下载地址:https://github.com/covoyage/covonaut/releases/tag/v1.1.3
原文链接 |
|