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 会随版本更新,可直接复制使用。
- 画布操作:左键拖空白处框选节点,中键或右键拖拽平移画布。
- 模型自由搭配:每个 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_input、no_output、require_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 会进入项目作用域。
- Agent 节点:选中一个或多个节点
Ctrl+C/Ctrl+V,内部连接关系会被保留,ID 自动重映射,指向外部的连接被丢弃。 - 整条 Flow:工作流列表的复制按钮把 Flow 序列化成 JSON,直接在画布空白处
Ctrl+V即可导入(支持单个对象或数组批量导入)。 - 直接粘贴文件:在聊天输入框通过
Ctrl+V粘贴图片 / 文本 / 任意文件,都会作为内联附件附加到消息;图片以缩略图展示,外部长文本以独立面板预览。
- 实时流式显示: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 对代码库的修改。
- 工作流操作分级:对话面板顶部提供停止与清空(彻底重置)操作;停止后可从节点重新启动并保留历史继续运行。
插件自带三条内置 Flow(不可删除,位于列表顶部):
- 工作流生成器:
需求分析 → 工作流设计 → 工作流校验。描述一下你的需求,它会自动拆步骤、生成可用的工作流 JSON,再校验一遍——粘贴到画布即可得到一条可运行的新 Flow。 - 常用 Agent 可直接复制:
模型理解能力测试、飞书通知、修改代码(无限循环)等示例 Agent,可复制粘贴到你自己的 Flow 里当零件用。 - AI 对话:最小可用的单 Agent 对话工作流,内置 qwen / sonnet / opus / gpt 四种模型可选。
在 VSCode 编辑器中按 Ctrl+Shift+L(macOS:Cmd+Shift+L):
- 有选中文字:将选区作为带行号的代码引用追加到当前活跃的聊天输入框。
- 无选中文字:将当前文件的全部内容作为代码引用追加,不附带行号。
- 点击代码片段 Tag / 文件引用:带行号时打开文件并选中对应行,支持
filename:startLine-endLine及filename#L639/filename#L639-L644GitHub 锚点格式以高亮整段代码;整个文件片段则仅打开文件。AI 消息中符合文件路径格式的行内 code 也会按当前cwd解析并跳转。
| 快捷键 | 行为 |
|---|---|
Ctrl+Shift+L / Cmd+Shift+L |
有选中文字:将选区作为带行号的代码引用发送到活跃输入框;无选中:发送整个文件 |
| 快捷键 | 行为 |
|---|---|
Ctrl+C |
复制选中的一个或多个 Agent 节点 |
Ctrl+V |
画布内粘贴 Agent,画布空白处粘贴 Flow JSON 导入 |
Delete |
删除选中的节点或连线 |
Ctrl / Cmd + 点击 |
多选节点 |
| 左键拖空白 | 框选节点 |
| 中键 / 右键拖拽 | 平移画布 |
| 快捷键 | 行为 |
|---|---|
Enter |
发送消息 / 提交 AI 提问的回答 |
Ctrl / Shift / Alt / 系统键 + Enter |
换行 |
| 粘贴文件 | 作为附件附加到消息 |


