不再重复复制粘贴、不再手动执行一串命令——可视化编排,一次搭好无限复用。
FocusAny 是一款融合全局搜索、AI 大模型、MCP 协议和插件生态的开源效率工具。v2.0 带来的可视化工作流引擎,让你像搭积木一样搭建自动化流程,从简单的定时任务到复杂的 AI 判断链路,全部在画布上完成。

🧩 可视化编排:6 种节点,想怎么连就怎么连
用户视角:打开工作流页面,从左侧选节点拖到画布上,连上线,保存,点击运行——整个流程就自动走完了。不需要写一行编排代码。
技术视角:基于 LogicFlow 画布引擎,注册了 6 种自定义节点(触发/命令/JS/条件/LLM/插件),每类节点带独立的配置面板。条件节点有两条输出连线(是和否),运行时引擎通过 BFS 遍历有向无环图,逐节点执行并传递变量。
[手动触发] → [执行命令] → [JS 脚本] → [条件判断] → [调用 LLM] → [MCP 插件工具]
↓ 否
[结束]

⏰ 三种触发方式:手动、定时、事件,覆盖所有场景
用户视角:想每天早 9 点自动跑一次日报生成?选定时触发,填 Cron 表达式。想某个插件事件发生时自动响应?选事件触发,填事件名称。想随时手动跑?选手动触发,一键执行。
技术视角:定时器每秒轮询所有启用工作流,匹配 5 段式 Cron 表达式(支持 */N 步长),同一分钟不重复执行。事件触发通过 emit() 广播,匹配 triggerType='event' 的工作流即时响应。定时器在工作流增删改后自动重建,无需重启。
🔗 变量传递:节点之间自动传参,${variable} 搞定一切
用户视角:JS 节点的输出结果,可以直接作为 LLM 节点的提示词输入;条件节点的判断结果可以决定走哪条分支。选择变量就像在下拉菜单里选词一样简单。
技术视角:引擎执行时维护 context.nodeOutputs 上下文,通过 BFS 遍历上游节点收集所有输出字段。变量格式为 ${节点标题.字段名},支持嵌套对象和数组的递归解析——纯变量引用直接保留原始类型,模板字符串自动替换。
🤖 MCP + LLM 节点:让 AI 调用你所有的插件工具
用户视角:在工作流里加入一个"大模型节点",选好模型、写好提示词,就能让 AI 自动分析文本。加入一个"插件节点",能调用任意已安装插件的 MCP 工具——查数据库、操作文件、发消息,全在流程里。
技术视角:MCP 节点通过 JSON-RPC 2.0 over HTTP 调用内置 MCP 服务器(127.0.0.1:61000),参数表单根据 inputSchema 动态渲染,支持枚举、布尔、数字、数组、对象等类型。LLM 节点支持 40+ 模型提供商,通过统一的 OpenAI 兼容 API 调用。

🎨 内置屏幕取色器:设计稿上的颜色,一键拾取
用户视角:按快捷键唤出取色器,鼠标移到任意像素上就能看到放大网格和 HEX 值,Ctrl+Shift+C 一键复制颜色代码。设计师和前端同学的日常又省了一步。
技术视角:基于 @nut-tree-fork/nut-js 截取全屏,uIOhook 全局监听鼠标移动,在无边框窗口中绘制 20×20 像素网格(每像素放大 5px),实时计算中心像素的 HEX 值。放大镜窗口根据鼠标位置自动左右定位,避免遮挡。
🧪 全面测试覆盖,质量有保障
v2.0 为工作流编写了 800+ 行 UI 测试用例,覆盖从创建、编排、配置、保存、连线、复制到全链路执行的每一个环节,包括手动/定时/事件三种触发方式、节点失败后自动跳过下游、运行历史可视化回放等场景。每次构建自动验证,放心升级。
其他更新 - FastPanel 窗口 UI 测试覆盖,交互更稳定 - 内置命令执行时自动隐藏主窗口,减少干扰 - toast 弹窗圆角优化,视觉更柔和 - 修复 code 执行时不隐藏主窗口、搜索提示不显示、剪切板历史异常等问题
立即更新体验,把重复的工作交给 FocusAny,你只负责创造。