源码深度学习 · 零基础友好 · 80 天

Coze Studio 源码学习

80 天 · 每天约 30 分钟 · 读懂字节开源的「一站式 AI Agent 开发平台」。 后端 Go(Hertz + Eino + DDD)· 前端 React/TS(Rush 海量包)· 核心在 AgentRun → agentflow → ReActWorkflow Canvas→Compose→Execute真路径走读 + 大白话类比 + CSS/SVG 动图,AI 小白也能跟上。

00

开篇 · 这是个什么平台

Coze Studio(扣子工作室开源版)是一站式 AI Agent 可视化开发平台: 搭智能体、拖工作流、挂知识库与插件、调模型,还能用 OpenAPI / Chat SDK 集成到你的产品。

🎯 一句话:Coze = 后端 backend/(Go/DDD)+ 前端 frontend/(Rush+React)+ 合同 idl/(Thrift)。 用户发一句话,主线是 Handler → Application → AgentRun(Pipe) → agentflow(BuildAgent) → Eino ReAct/LLM → 流式回写; 复杂业务则走 Workflow 画布 → Schema → Compose → 节点执行

🤖

智能体

人设 + 模型 + 插件 + 知识 + 工作流,ReAct 可自主调工具。

🕸️

工作流引擎

几十种节点,Canvas 可视化,底层 Eino compose。

📚

知识库 RAG

切片、Embedding、ES + Milvus 检索。

🔌

插件与模型

OpenAPI 插件 + ModelBuilder 多供应商。

仓库在哪读:业务大脑几乎全在 backend/domain/; 启动看 backend/main.goapplication/application.go; 跨域协作看 backend/crossdomain/;前端从 frontend/apps/coze-studiopackages/agent-idepackages/workflow 入手。
01

架构全景(动起来看)

发光小球 = 「用户的一句话」从进门到吐字的旅程。

L1 · 接入 · frontend + api/
React IDE编排界面
HertzHTTP 服务
Middleware鉴权/日志
HandlerIDL 生成路由
L2 · 编排 · application/ + crossdomain/
Application用例编排
Crossdomain外交窗口
AgentRunPipe 流
Workflow App画布用例
L3 · 领域核心 · domain/
agentflowBuildAgent
workflowCompose执行
knowledgeRAG
plugin工具调用
L4 · 基础设施 · infra/ + docker
MySQL/Redis
ES/Milvus
NSQ/MinIO
Eino/Checkpoint
发消息 AgentRun BuildAgent ReAct/LLM 流式吐字
和 Dify 的差别直觉:Dify 核心偏 Python Flask「应用生成器」; Coze 开源版是 Go DDD + 字节 Eino 编排,智能体与工作流都深度嵌在同一套后端域模型里。
02

怎么用这份教程

⏱️

每天 30 分钟

一页一天:类比 → 动图 → 源码坐标 → 动手命令 → 明日预告。

👶

零基础友好

不假设你会 Go/DDD/Eino;术语第一次出现都有大白话。

📍

真仓库路径

焦点文件来自真实 coze-studio 树,可对照本地 clone。

🎨

取舍与坑

每天讲「为什么这样设计」和「一改就炸」的边界。

建议节奏:第 1–2 周建立地图与启动(S1–S2);第 3–4 周打通对话主线(S3); 第 5–7 周沉浸工作流深水(S4);随后补齐 RAG/插件/前端(S5–S7);最后收官做作品(S8)。
S1

阶段 1 · 开篇与全景

01-08 · 认知扣子、DDD 分层、Docker、启动与中间件
01

Coze Studio 是什么

扣子开源的心智模型

≈30 min · 已就绪 NEW 开始学 →
02

顶层目录地图

backend / frontend / idl / docker

≈30 min · 已就绪 NEW 开始学 →
03

DDD 四层大楼

api · application · domain · infra

≈30 min · 已就绪 NEW 开始学 →
04

Docker 全家桶

MySQL Redis ES Milvus NSQ MinIO

≈30 min · 已就绪 NEW 开始学 →
05

Make 命令与三种启动姿势

Make 命令与三种启动姿势

≈30 min · 已就绪 NEW 开始学 →
06

main.go 启动剧本

env → Init → Spin

≈30 min · 已就绪 NEW 开始学 →
07

application.Init

三级装配 + SetDefaultSVC

≈30 min · 已就绪 NEW 开始学 →
08

中间件链条

顺序绝不能乱

≈30 min · 已就绪 NEW 开始学 →
S2

阶段 2 · API · IDL · Crossdomain

09-16 · 契约、路由、鉴权、防腐层、一次请求进门
09

IDL / Thrift

前后端的合同本

≈30 min · 已就绪 NEW 开始学 →
10

路由注册

GeneratedRegister 与静态页

≈30 min · 已就绪 NEW 开始学 →
11

Handler 一览

薄薄一层转给 application

≈30 min · 已就绪 NEW 开始学 →
12

SessionAuth 与 OpenapiAuth

两种进门方式

≈30 min · 已就绪 NEW 开始学 →
13

Crossdomain 防腐层

为什么 domain 互不直接引用

≈30 min · 已就绪 NEW 开始学 →
14

一次 Chat 请求的完整旅程(总览)

一次 Chat 请求的完整旅程(总览)

≈30 min · 已就绪 NEW 开始学 →
15

SSE / Pipe

流式吐字怎么回来

≈30 min · 已就绪 NEW 开始学 →
16

错误码与 types

errno · consts · ddl

≈30 min · 已就绪 NEW 开始学 →
S3

阶段 3 · Agent 对话主线

17-28 · SingleAgent、Conversation、AgentRun、agentflow、ReAct
17

SingleAgent 实体

智能体到底存了什么

≈30 min · 已就绪 NEW 开始学 →
18

SingleAgent Service

CRUD · 发布 · StreamExecute

≈30 min · 已就绪 NEW 开始学 →
19

Conversation 域

会话生命周期

≈30 min · 已就绪 NEW 开始学 →
20

Message 域

消息怎么落库

≈30 min · 已就绪 NEW 开始学 →
21

AgentRun 接口

Run · Cancel · List

≈30 min · 已就绪 NEW 开始学 →
22

AgentRun 实现

Pipe + safego.Go

≈30 min · 已就绪 NEW 开始学 →
23

AgentRuntime.Run

加载 Agent 再分支

≈30 min · 已就绪 NEW 开始学 →
24

agentflow.BuildAgent

人格→检索→提示→ReAct

≈30 min · 已就绪 NEW 开始学 →
25

Persona 与 Prompt 节点

人设如何注入

≈30 min · 已就绪 NEW 开始学 →
26

Knowledge Retriever 节点

对话前先查资料

≈30 min · 已就绪 NEW 开始学 →
27

Eino ReAct

有工具就变成自主 Agent

≈30 min · 已就绪 NEW 开始学 →
28

工具全家桶

Plugin · Workflow · Database · Variables

≈30 min · 已就绪 NEW 开始学 →
S4

阶段 4 · Workflow 引擎深水

29-48 · Canvas→Schema→Compose→Execute→全部节点类型
29

Workflow 域全景

最大的业务心脏

≈30 min · 已就绪 NEW 开始学 →
30

Canvas 画布

前端拖的是什么 JSON

≈30 min · 已就绪 NEW 开始学 →
31

Schema

Canvas 如何变成可执行图

≈30 min · 已就绪 NEW 开始学 →
32

Compose

用 Eino Workflow 组装节点

≈30 min · 已就绪 NEW 开始学 →
33

Node Runner

一个节点怎么被调度

≈30 min · 已就绪 NEW 开始学 →
34

Execute 事件流

前端怎样实时看执行

≈30 min · 已就绪 NEW 开始学 →
35

Entry / Exit

图的大门与出口

≈30 min · 已就绪 NEW 开始学 →
36

LLM 节点

工作流里调模型

≈30 min · 已就绪 NEW 开始学 →
37

Plugin 节点

在图里调第三方 API

≈30 min · 已就绪 NEW 开始学 →
38

Code 节点

Python 沙箱怎么跑

≈30 min · 已就绪 NEW 开始学 →
39

Knowledge 节点

索引 / 检索 / 删除

≈30 min · 已就绪 NEW 开始学 →
40

HTTP Requester

通用 HTTP 积木

≈30 min · 已就绪 NEW 开始学 →
41

Selector 与 IntentDetector

分支决策

≈30 min · 已就绪 NEW 开始学 →
42

Loop 与 Batch

循环与批处理

≈30 min · 已就绪 NEW 开始学 →
43

SubWorkflow

工作流套娃

≈30 min · 已就绪 NEW 开始学 →
44

变量三件套

Assigner · Aggregator · WithinLoop

≈30 min · 已就绪 NEW 开始学 →
45

TextProcessor 与 JSON 节点

TextProcessor 与 JSON 节点

≈30 min · 已就绪 NEW 开始学 →
46

Conversation 系列节点

会话也能编排

≈30 min · 已就绪 NEW 开始学 →
47

QA · Emitter · Receiver

人机协作节点

≈30 min · 已就绪 NEW 开始学 →
48

Workflow as Tool

工作流变身 Agent 工具

≈30 min · 已就绪 NEW 开始学 →
S5

阶段 5 · 知识库·插件·模型

49-58 · RAG、Embedding、Plugin、ModelBuilder、Memory
49

Knowledge 域总览

文档 · 切片 · 策略

≈30 min · 已就绪 NEW 开始学 →
50

Document Processor

不同文档类型怎么处理

≈30 min · 已就绪 NEW 开始学 →
51

Embedding 基础设施

向量从哪来

≈30 min · 已就绪 NEW 开始学 →
52

检索

ES 关键词 + Milvus 向量

≈30 min · 已就绪 NEW 开始学 →
53

Plugin 域

插件与 Tool 实体

≈30 min · 已就绪 NEW 开始学 →
54

Plugin 执行

exec_tool 与 invocation

≈30 min · 已就绪 NEW 开始学 →
55

ModelBuilder 工厂

统一造 ChatModel

≈30 min · 已就绪 NEW 开始学 →
56

模型供应商全家桶

OpenAI Ark Claude…

≈30 min · 已就绪 NEW 开始学 →
57

Memory

变量与用户数据库

≈30 min · 已就绪 NEW 开始学 →
58

Prompt 资源库

提示词怎么管

≈30 min · 已就绪 NEW 开始学 →
S6

阶段 6 · 横切与基础设施

59-66 · 权限、用户、搜索、事件总线、存储、Checkpoint
59

Permission

资源级授权怎么查

≈30 min · 已就绪 NEW 开始学 →
60

User · Passport · Space

租户与登录

≈30 min · 已就绪 NEW 开始学 →
61

Search + EventBus

ES 索引与 NSQ

≈30 min · 已就绪 NEW 开始学 →
62

Upload · Storage · MinIO

文件去哪

≈30 min · 已就绪 NEW 开始学 →
63

Cache · ORM · IDGen

基础件地图

≈30 min · 已就绪 NEW 开始学 →
64

Checkpoint

中断与恢复的底座

≈30 min · 已就绪 NEW 开始学 →
65

App · Template · Connector

项目与渠道

≈30 min · 已就绪 NEW 开始学 →
66

OpenAuth

个人访问令牌 PAT

≈30 min · 已就绪 NEW 开始学 →
S7

阶段 7 · 前端 Rush 与 IDE

67-75 · Monorepo、agent-ide、workflow 画布、chat-area、adapter
67

Rush Monorepo

level-1~4 依赖金字塔

≈30 min · 已就绪 NEW 开始学 →
68

apps/coze-studio

壳应用怎么起来

≈30 min · 已就绪 NEW 开始学 →
69

agent-ide

智能体编排页地图

≈30 min · 已就绪 NEW 开始学 →
70

chat-area

对话区是怎么拼出来的

≈30 min · 已就绪 NEW 开始学 →
71

workflow playground

可视化画布前端

≈30 min · 已就绪 NEW 开始学 →
72

workflow/nodes

前端节点与后端的对应

≈30 min · 已就绪 NEW 开始学 →
73

Zustand stores

状态放哪

≈30 min · 已就绪 NEW 开始学 →
74

IDL → TypeScript

合同怎样到前端

≈30 min · 已就绪 NEW 开始学 →
75

Adapter 模式

开源版如何换皮

≈30 min · 已就绪 NEW 开始学 →
S8

阶段 8 · 工程收官

76-80 · 安全、二次开发、对比、知识地图、练习项目
76

安全清单

公网部署前必看

≈30 min · 已就绪 NEW 开始学 →
77

二次开发实战

加一个新 API 的路径

≈30 min · 已就绪 NEW 开始学 →
78

横向对比

Coze vs Dify vs LangGraph

≈30 min · 已就绪 NEW 开始学 →
79

80 天知识地图串讲

80 天知识地图串讲

≈30 min · 已就绪 NEW 开始学 →
80

练习项目与求职建议

练习项目与求职建议

≈30 min · 已就绪 NEW 开始学 →