Langflow 源码学习
用可视化画布构建、运行并部署 LLM 工作流、Agent 和 MCP 工具的平台。这不是 API 速查表,而是一条可以重复走的源码路线:每天用 30 分钟,从一个真实相对路径出发,先用类比建立直觉,再把它接回整条运行链路。
开篇 · 这是个什么项目
Langflow 可以先想成一间给 AI 搭乐高流水线的白板。它的代码不是一堆孤立文件:入口接到需求,核心对象做判断,工具或模型完成工作,状态把结果交给下一个环节。
架构全景(动起来看)
发光扫过的每一层都是一次任务可能经过的站点。不同仓库命名不同,但「接入 → 编排 → 核心能力 → 资源」的责任边界很相似。
怎么使用这份教程
每天 30 分钟
6 讲,每讲先问问题,再给本质和大白话。
真实相对路径
所有路径都从项目根目录算,不把你的机器路径写进源码引用。
先验证再推理
每页都有可复制 bash 命令;文件版本变化时以本地实际内容为准。
可迁移方法
学会从入口、数据结构、循环和扩展点读任何 AI 项目。
Monorepo 与启动入口
pyproject.toml:认识 backend、LFx、SDK、frontend 的工作区关系。
后端 main 生命周期
src/backend/base/langflow/main.py:追踪应用配置、生命周期和服务器启动。
前端 React 入口
src/frontend/src/index.tsx:理解浏览器端如何挂载整个编辑器。
LFx 组件体系导览
src/lfx/src/lfx/components:按模型、工具、向量库等类别认识组件实现。
流程构建器
src/lfx/src/lfx/graph/flow_builder/builder.py:学习 JSON 定义如何变成可执行流程。
节点和端口模型
src/lfx/src/lfx/graph/vertex:理解节点参数、输入输出类型与校验。
边与连线
src/lfx/src/lfx/graph/edge:掌握数据怎样在节点之间传递。
Graph 执行状态
src/lfx/src/lfx/graph/graph:阅读可运行节点管理和图状态模型。
运行时默认值
src/lfx/src/lfx/run:理解运行请求怎样转换为执行配置。
后端流程运行服务
src/backend/base/langflow/services/flow/flow_runner.py:跟踪一次 API 请求如何触发流程执行。
运行接口适配
src/backend/base/langflow/interface/run.py:理解 UI/API 输入与 LFx 运行时之间的转换。
路由注册与版本化 API
src/backend/base/langflow/api/router.py:识别 v1、v2、健康检查等路由装配。
流程 CRUD API
src/backend/base/langflow/api/v1/flows.py:学习流程定义的创建、查询、修改和删除。
服务工厂与依赖管理
src/backend/base/langflow/services/factory.py:理解数据库、缓存、存储等服务如何被初始化。