工作流 Agent


agent-workflow

演示地址workflow-demo.canoeagent.com

Key:(为防止 Key 滥用,请在履历页面或联系站长获取)

提示:刷新重开页面页面均需要输入 Key

建议:PC 或平板电脑等宽屏设备访问效果最佳

操作指南.txt

创建、编辑工作流


技术栈 & 外部 API

Agent Workflow — 一个轻量化的通用工作流编排引擎 + 可视化前端。用户可通过拖拽编辑器自定义工作流(搜索 → AI 分析 → 确认 → 输出),实时查看每一步执行过程,最终生成行业调研报告。

后端技术栈

维度 选择 说明
语言 Go 1.25 单二进制部署,高并发原生支持
HTTP 路由 net/http 标准库 未使用第三方路由,纯 http.ServeMux
HTTP 客户端 go-resty/resty v2.17.2 流式响应需通过 SetDoNotParseResponse(true) + RawBody() 手动读取
配置解析 gopkg.in/yaml.v3 解析 config.yaml
实时推送 SSE (Server-Sent Events) net/http 标准库手写 text/event-stream,Flusher.Flush() 推送
并发控制 sync.WaitGroup + sync.RWMutex 并行组和上下文变量池的线程安全

前端技术栈

维度 选择 说明
布局 Flexbox 左(流程图)右(执行日志)双栏自适应
图表 Mermaid.js v11 工作流 DAG 可视化,动态着色节点状态
编辑 纯 DOM 拖拽 鼠标事件 + SVG 贝塞尔连线 → 无第三方库
存储 localStorage 自定义工作流的持久化(JSON 序列化)
实时 fetch + Response.body.getReader() 非 EventSource,手动解析 SSE 流式数据流

前端核心功能

功能 技术实现
工作流可视化 Mermaid flowchart + 节点实时着色(动态修改 stroke)
拖拽编辑器 mousedown/mousemove/mouseup + 网格吸附 + SVG path 贝塞尔连线
组化步骤 Mermaid subgraph,方向 LR,支持并行/串行标注
流式输出 SSE llm_stream 事件 → 逐 token textContent += 到结果卡片
用户确认 弹窗模态框 → POST /api/confirm → context 中写入 user_feedback
结果导出 Blob + URL.createObjectURL → 下载 .txt 文件
报告格式控制 根据用户确认时的反馈("禁止 Markdown" 等关键词)决定是否 stripMarkdown()

外部 API 调用

服务商 用途
DeepSeek Chat API LLM 核心
博查 AI 搜索 API 联网搜索工具