Skip to content

V1.4 — 深度搜索 + Agent 基座重构

Choose a tag to compare

@int2t05 int2t05 released this 04 Sep 11:31
· 449 commits to main since this release

V1.4 — 深度搜索 + Agent 基座重构

Agent 基座重构(自建 Loop)

彻底重构 Agent 基座,完全吸收 Claude Code 架构:

  • 自建 ReAct Loop(替代 Eino react.Agent)—— 真异步恢复(fire-and-forget + completion-notification)
  • 统一工具接口(SyncTool/AsyncTool)—— 消除 StreamableTool 中间态,Loop 用 type assertion 派发
  • SubAgent 真异步派发(dispatch_subagent AsyncTool)—— 主 Agent 给任务描述 → 子 Agent 后台跑 → 事件透传 → 完成恢复注入结果
  • EventSink 替代 PipelineEmitter 跨层 ctx 注入 hack
  • TaskID 事件隔离 —— 子 Agent 事件归入 dispatch_subagent 卡片,不混入主 Agent 文本

深度搜索工具链

  • web_search —— Exa→Tavily→DuckDuckGo 搜索降级链
  • web_fetch —— Firecrawl→本地 http.Get 提取降级链(含 SSRF 防护)
  • generate_article —— 结构化 Markdown + frontmatter 写入知识库 Draft
  • deep_research SubAgent —— 提示词驱动(8 条研究原则),替代代码 pipeline

流式渲染优化

  • 背压消除事件丢弃(runner 阻塞发送 + buffer 1024)
  • 结构事件即时 flush + 文本 rAF 单帧平滑
  • 卡片默认折叠(reasoning/tool_call),纯净执行
  • 流式滚动跟随(100ms ticker)

SQLite 增量写入

  • 每次事件增量写入 parts(status=generating),中断可恢复
  • 所有退出路径落库:generating/completed/cancelled/failed

删除(纯净重构)

  • Eino agent 层依赖(react/adk/compose/tool)
  • research/ 代码 pipeline(deep_research 改提示词驱动)
  • task/ 死代码 TaskManager + 4 个死端点
  • async_bash + ToolFactory + PipelineEmitter hack

内置 SubAgent

SubAgent 工具集
research read_file / glob / grep / list_dir(只读)
coder bash / read_file / write_file / edit_file / mkdir(读写)
deep_research web_search / web_fetch / generate_article(网络调研)

完整变更: see commits on v1.4 branch.