Skip to content

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 17 Jun 06:23
· 83 commits to master since this release

Changelog

v0.2.2 (2026-06-16)

新增 goal evaluation 闭环机制——独立 LLM 评估 agent 任务完成度并自动注入反馈驱动重试;内嵌 katana 爬虫引擎支持 headless 浏览器;新增多 provider 容错降级链;重构 TUI/REPL 为统一 pkg/tui 模块;大幅整理包结构,aiscan 专用包从 pkg/ 移入 core/。

New Features

goal evaluation — 独立评估 + 反馈重试闭环(核心)

  • 新增 -e / --eval 指定目标评估标准,--eval-model 可选独立评估模型,--eval-retries 控制最大评估轮数(默认 3)
  • 评估机制:agent 完成一轮执行后,独立 evaluator LLM 接收压缩后的 execution trace(tool call 序列 + assistant 摘要 + final output),通过强制 tool call(verdict tool)返回结构化判定(pass/reason/feedback)
  • 闭环重试:verdict.pass=false 时,evaluator 的 feedback 作为新 prompt 注入 agent 继续执行,直到 pass=true 或达到最大评估轮数
  • evaluator 调用失败时降级为通用反馈("请检查你的工作并继续"),不中断主流程
  • trace 压缩策略:仅保留 tool call 序列和 assistant 摘要,不传完整 tool result,最大 16KB 防止 context 膨胀
  • 全程通过 eventbus 发射 GoalEvalStart / GoalEvalEnd / GoalEvalError 事件,TUI 实时展示评估进度和结果

katana — 进程内爬虫 + headless 引擎

  • 将 katana 从外部二进制调用重构为进程内 SDK 集成,通过 goflags 解析参数保持完整 CLI 兼容性,OnResult 回调收集结果
  • 新增 headless/hybrid 引擎支持,根据 -hl/-hh/-cwu 标志自动选择引擎

multi-provider — 容错降级链

  • 当主 provider 重试耗尽后,agent loop 自动切换到降级链中的下一个 provider 并重放当前 turn
  • 配置文件 llm.providers 数组定义降级链,启动时并行初始化(失败跳过)
  • 新增 REPL /provider 命令展示 provider 链的 active/standby 状态

agent — finish tool / thinking block / web search

  • 新增 finish tool:通过 ToolResult.Terminate 显式终止 agent loop
  • 非流式响应支持解析 Anthropic thinking block 为 ReasoningContent
  • 新增 WebSearchProvider 接口,Anthropic 走 web_search_20250305 server tool,OpenAI 走 Responses API;provider 原生搜索失败时回退 Tavily/DDG

heartbeat + tmux 增量监控

  • --heartbeat 接入 LoopScheduler 作为通用周期唤醒
  • tmux 后台命令自动推送增量输出到 agent inbox(每 10s per-session goroutine)
  • capture-pane 新增 -n(末尾 N 行)和 -c(末尾 N 字节)参数

信号处理 — 两阶段 Ctrl+C

  • 第一次 Ctrl+C 停止当前任务,第二次退出 REPL,第三次强制退出

Bug Fixes

  • scanner CLI: aiscan scan / aiscan gogo 等直接命令模式因引擎异步加载导致 "unknown subcommand" 失败。新增 WaitEngines(ctx) 同步等待引擎就绪

Refactoring

  • pkg/app 合并进 core/runner,删除 pkg/app
  • eventbuspidlockresourcesoutputharnesspkg/ 移入 core/
  • TUI/REPL 提取到 pkg/tui,合并 pkg/repl
  • evaluator 使用 tool call 结构化输出替代 JSON text fallback
  • cyberhub 基于 SDK association index 重建,新增结构化查询 flag
  • provider 层简化:移除中间结构体,提取共享 HTTP 工具

Dependencies

  • SDK v0.2.4v0.3.2
  • 新增 SDK panic recovery
  • 42 个 e2e 测试