用过n8n或Zapier的都知道,拖拖拽拽看起来简单,真要调试起来就头疼了。JSON配置文件看不懂,出了问题只能瞎猜,想加点自定义逻辑?对不起,框架不支持。
但问题是,这些节点本质上都是JSON配置,一旦出错就很难排查。想要自定义功能?只能在他们预设的框架里折腾。大部分的开发者肯定都有想法把它变成可调试的程序就好了。
今天介绍一个名叫Bubble Lab的工具,它的实现是标准的TypeScript代码。可以直接把生成的代码拷到自己项目里,想怎么改就怎么改。
比如这个Reddit抓取的例子,就是普通的TypeScript类:
export class RedditNewsFlow extends BubbleFlow<'webhook/http'> {
async handle(payload: RedditNewsPayload) {
const subreddit = payload.subreddit || 'worldnews';
// 抓取Reddit帖子
const scrapeResult = await new RedditScrapeTool({
subreddit: subreddit,
sort: 'hot',
limit: 10,
}).action();
// AI分析并总结
const summaryResult = await new AIAgentBubble({
message: `分析这些帖子...`,
model: { model: 'google/gemini-2.5-flash' },
}).action();
return {
subreddit,
postsScraped: scrapeResult.data.posts.length,
summary: summaryResult.data?.response,
status: 'success',
};
}
}
执行时会显示详细信息:耗时13.8秒,用了1524个token,内存峰值139.8MB。这种透明度是n8n给不了的。
它也支持自然语言生成工作流,不过这个功能现在还比较基础,复杂逻辑还是得手写。
最大的亮点在于,它支持将n8n这样的工作流文件导入进而再开发调试。
技术细节
项目是纯用TypeScript写的,monorepo架构,核心组件:
- 工作流引擎(bubble-core)
- 运行时环境(bubble-runtime)
- 可视化编辑器(React + Vite)
- 后端API(Bun + Hono)
开发模式下用SQLite,不需要认证,pnpm install && pnpm run dev两条命令就能跑起来。
相比之下,简单工作流用n8n可能更省事,但如果需要更的复杂逻辑,或者团队本来就用TypeScript,这个工具就有了优势。
项目地址:https://github.com/bubblelabai/BubbleLab
关注公众号回复“进群”入群讨论。
