Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

418 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Flow

Agent Flow 是一个 VSCode 插件,让你以可视化方式搭建、运行多 Agent AI 工作流。画布上每个节点是一个独立的 AI Agent,节点之间用连线定义执行顺序,Agent 完成后自动流转到下一个节点。

每个 Agent 可以独立选择模型和配置,彼此上下文完全隔离,工作流可以从任意节点启动。

插件底层通过 Claude API 运行 AI,需要先安装并配置 @anthropic-ai/claude-code。只要能在命令行里正常进行 AI 对话,插件就可以直接使用。


安装

方式一:直接下载 VSIX

前往 Releases 页面 下载最新的 .vsix 文件。

方式二:从源码构建

git clone https://github.com/FanetheDivine/agent-flow.git
cd agent-flow
pnpm install
pnpm build-extension   # 生成 .vsix 文件

安装到 VSCode

在 VSCode 扩展面板右上角菜单(···)中选择 "从 VSIX 安装",选中下载或构建好的 .vsix 文件即可。


界面速览

预设工作流

首次使用、持久化数据为空或数据损坏时,会自动加载预设工作流。此外,预设 flow json 会随版本更新,可直接复制使用。

主要功能

1. 可视化编辑工作流

  • 画布操作:左键拖空白处框选节点,中键或右键拖拽平移画布。
  • 模型自由搭配:每个 Agent 独立配置模型(opus / sonnet / qwen / gpt 等)、思考强度和描述。
  • 三种工作模式
    • task:以完成任务为目标,Agent 完成后自动流转到下一个节点,极端情况下可中止整条工作流。
    • chat:长期对话模式,没有完成后流转的概念,适合持续交互的场景。
    • silent_task:无人值守模式,AI 的提问自动应答、每轮结束自动续跑,无需人工干预。自动回复受次数上限约束(默认 5 次/轮),超过后自动停止。首次切换时会弹出警告,请谨慎选择模型和提示词。
  • 无输入启动:开启 no_input 的 Agent 节点上直接显示启动按钮,点击即自动运行,无需手动输入。
  • 无输出节点:开启 no_output 的 Agent 节点完成后,后继节点首条消息由 work_mode 决定(task/silent_task 回顾任务目标、chat 回顾对话规则、code 节点使用"执行任务"),不传递当前节点的输出内容。
  • 入口节点:可将节点标记为建议的入口节点(is_entry),画布上显示绿色入口图标,布局自动固定在入口层;无前驱节点自动视同入口;节点上可一键快捷设置。
  • Plan 模式:开启后 Agent 以只读计划模式运行,倾向先给出方案而不直接执行文件修改,适合先让 AI 规划再决定是否落地;节点上可一键快速切换。
  • 隔离模式:开启后不加载项目的 settings 和 CLAUDE.md,适合需要完全独立上下文的 Agent;节点上可一键快速切换。
  • 节点便捷设置:在 AgentNode 上可直接切换 no_inputno_outputrequire_confirm、隔离模式、模型、思考强度(effort)及工作模式,无需进入编辑器,与 plan_mode / is_entry 快捷操作对齐。
  • Flow 分组折叠:工作流列表支持折叠全局 / 项目分组,复杂项目中可减少列表干扰。
  • API 端点分层配置:Flow 和 Agent 层级都可以单独设置 base_url / api_key,Agent 的配置覆盖 Flow 默认值,两端都不填时使用系统环境变量。同一工作流内不同 Agent 可以走不同的模型服务。
  • 完成前确认(按分支独立配置):在某个输出分支上开启后,Agent 选择该分支完成时不会立即推进,而是先弹出确认卡片。你可以同意继续,也可以填写拒绝原因让 Agent 重新修正。不同分支可以单独配置。
  • Code 节点:不走 AI,直接执行你写的 JavaScript 代码——可用于数据转换、调用外部命令、格式化输出等纯逻辑处理,结果驱动后续节点。函数接收 input(上游输出,支持纯文本或富文本内容)、values(共享数据)、runCommand(执行 shell 命令)、cwd(当前工作目录,未设置时为 undefined)、askUserQuestion(向用户提问,返回 string[][])、vscode(VSCode API)六个参数;返回 cwd 可更新后续节点的工作目录,后续 Code 节点的 runCommand 自动在该目录下执行。编辑器支持代码补全(input / values.* / runCommand / cwd / askUserQuestion / vscode)和 Shift+Alt+F 格式化。
  • 共享数据按权限读写:工作流级别可声明一组共享数据(key-value),每个 Agent 分别配置哪些 key 可读、哪些 key 可写。可读的 key 及当前值会注入到 Agent 的上下文中;写入仅在 Agent 完成时一次性提交。
  • 工具权限控制:每个 Agent 可配置哪些工具自动放行、哪些必须用户确认。Bash 命令支持精细到前缀级别的控制——可以只允许特定命令而不是放开整个 Shell。
  • 禁用工具:为每个 Agent 配置 deny_tools 禁止工具清单,被禁止的工具不会出现在 Agent 的工具列表中,适合限制 Agent 能力边界。
  • 连线规则:每个输出分支最多连一条出边,支持连回自身实现循环;已有连线时再连线会静默替换旧连线。
  • 全局 / 项目 Flow:工作流列表区分展示全局 Flow 与项目 Flow,项目 Flow 区域带文件夹分割线;新建项目 Flow、克隆或粘贴导入的 Flow 会进入项目作用域。

2. 自由复制粘贴

  • Agent 节点:选中一个或多个节点 Ctrl+C / Ctrl+V,内部连接关系会被保留,ID 自动重映射,指向外部的连接被丢弃。
  • 整条 Flow:工作流列表的复制按钮把 Flow 序列化成 JSON,直接在画布空白处 Ctrl+V 即可导入(支持单个对象或数组批量导入)。
  • 直接粘贴文件:在聊天输入框通过 Ctrl+V 粘贴图片 / 文本 / 任意文件,都会作为内联附件附加到消息;图片以缩略图展示,外部长文本以独立面板预览。

3. AI 对话体验

  • 实时流式显示:AI 文本和思考过程实时显示,无需等待完整回复。
  • 快捷回复:聊天输入框提供快捷回复选项,一键填入常用回复内容。
  • 长对话不卡顿:历史消息再多也不影响滚动和流式更新速度。
  • 工具调用可视化:对话中能看到 AI 读取了哪些文件、执行了哪些命令,可展开查看详情;Edit 工具以卡片形式展示文件变更,点击可在 VSCode 中查看修改 diff。
  • subAgent 消息分组展示:来自 subAgent 的消息按来源分组、缩进展示,便于区分主流程与子任务的对话上下文。
  • AI 提问富文本:AI 向你提问时内容通过 Markdown 渲染,支持代码、链接、列表等格式;消息中的行内 code 若符合文件路径格式,也可点击跳转到对应文件。
  • 多问题自动排队:AI 在一轮内提出多个问题时逐一显示,回答完一个自动滚动到下一个。
  • Mermaid 图表:聊天消息中支持渲染 Mermaid 流程图 / 时序图。
  • 可拖拽对话面板:支持拖拽调整宽度,Esc 关闭。
  • 当前目录快捷打开:ChatPanel 顶部 cwd 区展示当前工作目录,点击文件夹图标可在新窗口打开该目录。
  • 后台不中断:关闭插件面板后 Agent 继续在后台运行,重新打开时自动恢复历史消息和运行状态。
  • 智能通知:Agent 需要你回复或工作流完成时,若面板不在前台,自动弹出系统通知,点击跳转。
  • 工作流编辑器:Flow 列表中的编辑按钮可打开工作流编辑器,集中管理工作流名称、API 配置、共享数据 key 列表(支持拖拽排序、重复校验、一键清空)以及运行中各 key 的当前值。
  • Agent 完成卡片:Agent 完成时展示本次写入的共享数据,便于追踪数据在工作流中的流转。
  • Token 用量追踪:消息、回合、工作流三个层级展示 token 用量与费用,Agent 完成时显示按模型分组的累计消耗。
  • 上下文占用提示:每轮结束和 Agent 完成时展示本次调用的上下文占用比例,按占用率变色(≥80% 红、≥50% 黄)。
  • 对话 Fork:从任意一条消息或工具调用块的右上角点击 Fork,分叉出一条新工作流,原路径保留。适合对比不同提示词或不同模型的效果。
  • 会话文件变更汇总:可查看单次会话中所有文件变更的汇总,便于追踪 Agent 对代码库的修改。
  • 工作流操作分级:对话面板顶部提供停止与清空(彻底重置)操作;停止后可从节点重新启动并保留历史继续运行。

4. 内置示例工作流

插件自带三条内置 Flow(不可删除,位于列表顶部):

  • 工作流生成器需求分析 → 工作流设计 → 工作流校验。描述一下你的需求,它会自动拆步骤、生成可用的工作流 JSON,再校验一遍——粘贴到画布即可得到一条可运行的新 Flow。
  • 常用 Agent 可直接复制模型理解能力测试飞书通知修改代码(无限循环) 等示例 Agent,可复制粘贴到你自己的 Flow 里当零件用。
  • AI 对话:最小可用的单 Agent 对话工作流,内置 qwen / sonnet / opus / gpt 四种模型可选。

5. 编辑器联动

在 VSCode 编辑器中按 Ctrl+Shift+L(macOS:Cmd+Shift+L):

  • 有选中文字:将选区作为带行号的代码引用追加到当前活跃的聊天输入框。
  • 无选中文字:将当前文件的全部内容作为代码引用追加,不附带行号。
  • 点击代码片段 Tag / 文件引用:带行号时打开文件并选中对应行,支持 filename:startLine-endLinefilename#L639 / filename#L639-L644 GitHub 锚点格式以高亮整段代码;整个文件片段则仅打开文件。AI 消息中符合文件路径格式的行内 code 也会按当前 cwd 解析并跳转。

快捷键

VSCode 编辑器

快捷键 行为
Ctrl+Shift+L / Cmd+Shift+L 有选中文字:将选区作为带行号的代码引用发送到活跃输入框;无选中:发送整个文件

画布

快捷键 行为
Ctrl+C 复制选中的一个或多个 Agent 节点
Ctrl+V 画布内粘贴 Agent,画布空白处粘贴 Flow JSON 导入
Delete 删除选中的节点或连线
Ctrl / Cmd + 点击 多选节点
左键拖空白 框选节点
中键 / 右键拖拽 平移画布

聊天输入框

快捷键 行为
Enter 发送消息 / 提交 AI 提问的回答
Ctrl / Shift / Alt / 系统键 + Enter 换行
粘贴文件 作为附件附加到消息

About

vscode插件,可视化编辑和调用Agent工作流

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages