Coze Studio源码整体概览
整体源码分为两个代码库,Coze Studio和Coze Loop,按官网的讲法,Coze Studio是一站式AI Agent开发工具,而Coze Loop是偏向于开发者的Agent开发与运维平台解决方案。今天主要来看Coze Studio。
·
概览
整体源码分为两个代码库,Coze Studio和Coze Loop,按官网的讲法,Coze Studio是一站式AI Agent开发工具,而Coze Loop是偏向于开发者的Agent开发与运维平台解决方案。今天主要来看Coze Studio
代码结构
backend/
├── 📄 main.go # 程序入口点
├── 📄 go.mod # Go模块依赖管理
├── 📄 go.sum # 依赖校验和
├── 📄 build.sh # 构建脚本
├── 📄 Dockerfile # Docker容器配置
├── 📄 .gitignore # Git忽略文件
├── 📄 .hz # Hertz框架配置
├── 📄 README.md # 项目说明
│
├── 📁 api/ # API层 - HTTP接口处理
│ ├── 📁 handler/ # 请求处理器
│ │ └── 📁 coze/ # Coze相关API处理器
│ ├── 📁 middleware/ # 中间件
│ │ ├── 📄 ctx_cache.go # 上下文缓存中间件
│ │ ├── 📄 host.go # 主机中间件
│ │ ├── 📄 i18n.go # 国际化中间件
│ │ └── 📄 ... # 其他中间件
│ ├── 📁 model/ # API数据模型
│ │ ├── 📁 base/ # 基础模型
│ │ ├── 📁 common/ # 通用模型
│ │ ├── 📁 conversation/ # 对话模型
│ │ ├── 📁 coze/ # Coze相关模型
│ │ ├── 📁 database/ # 数据库模型
│ │ ├── 📁 developer/ # 开发者模型
│ │ ├── 📁 file/ # 文件模型
│ │ ├── 📁 flow/ # 流程模型
│ │ ├── 📁 intelligence/ # 智能模型
│ │ ├── 📁 knowledge/ # 知识库模型
│ │ └── 📁 ... # 其他业务模型
│ ├── 📁 router/ # 路由定义
│ │ ├── 📄 register.go # 路由注册
│ │ └── 📁 coze/ # Coze相关路由
│ └── 📁 internal/ # API内部工具
│ └── 📁 httputil/ # HTTP工具
│
├── 📁 application/ # 应用层 - 业务协调层
│ ├── 📄 application.go # 应用服务协调器
│ ├── 📁 app/ # 应用管理服务
│ ├── 📁 base/ # 基础服务
│ ├── 📁 conversation/ # 对话服务
│ ├── 📁 connector/ # 连接器服务
│ ├── 📁 internal/ # 应用层内部工具
│ ├── 📁 knowledge/ # 知识库服务
│ ├── 📁 memory/ # 记忆服务
│ ├── 📁 modelmgr/ # 模型管理服务
│ ├── 📁 openauth/ # 开放认证服务
│ ├── 📁 plugin/ # 插件服务
│ ├── 📁 prompt/ # 提示词服务
│ ├── 📁 search/ # 搜索服务
│ ├── 📁 shortcutcmd/ # 快捷命令服务
│ ├── 📁 singleagent/ # 单智能体服务
│ ├── 📁 template/ # 模板服务
│ ├── 📁 upload/ # 上传服务
│ ├── 📁 user/ # 用户服务
│ └── 📁 workflow/ # 工作流服务
│
├── 📁 domain/ # 领域层 - 核心业务逻辑
│ ├── 📁 agent/ # 智能体领域
│ ├── 📁 app/ # 应用领域
│ ├── 📁 conversation/ # 对话领域
│ ├── 📁 datacopy/ # 数据复制领域
│ ├── 📁 knowledge/ # 知识库领域
│ ├── 📁 memory/ # 记忆领域
│ ├── 📁 openauth/ # 开放认证领域
│ ├── 📁 permission/ # 权限领域
│ ├── 📁 plugin/ # 插件领域
│ ├── 📁 prompt/ # 提示词领域
│ ├── 📁 search/ # 搜索领域
│ ├── 📁 shortcutcmd/ # 快捷命令领域
│ ├── 📁 template/ # 模板领域
│ ├── 📁 upload/ # 上传领域
│ ├── 📁 user/ # 用户领域
│ └── 📁 workflow/ # 工作流领域
│
├── 📁 crossdomain/ # 跨域层 - 跨边界服务
│ ├── 📁 contract/ # 跨域接口定义
│ │ ├── 📁 crossagent/ # 跨域智能体接口
│ │ ├── 📁 crossagentrun/ # 跨域智能体运行接口
│ │ ├── 📁 crossconnector/ # 跨域连接器接口
│ │ ├── 📁 crossconversation/ # 跨域对话接口
│ │ ├── 📁 crossdatabase/ # 跨域数据库接口
│ │ ├── 📁 crossdatacopy/ # 跨域数据复制接口
│ │ ├── 📁 crossknowledge/ # 跨域知识库接口
│ │ ├── 📁 crossmessage/ # 跨域消息接口
│ │ ├── 📁 crossplugin/ # 跨域插件接口
│ │ ├── 📁 crosssearch/ # 跨域搜索接口
│ │ ├── 📁 crossuser/ # 跨域用户接口
│ │ ├── 📁 crossvariables/ # 跨域变量接口
│ │ └── 📁 crossworkflow/ # 跨域工作流接口
│ ├── 📁 impl/ # 跨域接口实现
│ │ ├── 📁 agentrun/ # 智能体运行实现
│ │ ├── 📁 connector/ # 连接器实现
│ │ ├── 📁 conversation/ # 对话实现
│ │ ├── 📁 crossuser/ # 跨域用户实现
│ │ ├── 📁 database/ # 数据库实现
│ │ ├── 📁 datacopy/ # 数据复制实现
│ │ ├── 📁 knowledge/ # 知识库实现
│ │ ├── 📁 message/ # 消息实现
│ │ ├── 📁 plugin/ # 插件实现
│ │ ├── 📁 search/ # 搜索实现
│ │ ├── 📁 singleagent/ # 单智能体实现
│ │ ├── 📁 variables/ # 变量实现
│ │ └── 📁 workflow/ # 工作流实现
│ └── 📁 workflow/ # 跨域工作流
│
├── 📁 infra/ # 基础设施层 - 技术实现
│ ├── 📁 contract/ # 接口定义
│ │ ├── 📁 cache/ # 缓存接口
│ │ ├── 📁 chatmodel/ # 聊天模型接口
│ │ ├── 📁 coderunner/ # 代码运行器接口
│ │ ├── 📁 document/ # 文档处理接口
│ │ │ ├── 📁 imageunderstand/ # 图像理解
│ │ │ ├── 📁 nl2sql/ # 自然语言转SQL
│ │ │ ├── 📁 ocr/ # OCR识别
│ │ │ ├── 📁 parser/ # 文档解析器
│ │ │ ├── 📁 progressbar/ # 进度条
│ │ │ ├── 📁 rerank/ # 重排序
│ │ │ └── 📁 searchstore/ # 搜索存储
│ │ ├── 📁 dynconf/ # 动态配置接口
│ │ ├── 📁 embedding/ # 向量嵌入接口
│ │ ├── 📁 es/ # Elasticsearch接口
│ │ ├── 📁 eventbus/ # 事件总线接口
│ │ ├── 📁 idgen/ # ID生成器接口
│ │ ├── 📁 imagex/ # 图像处理接口
│ │ ├── 📁 messages2query/ # 消息转查询接口
│ │ ├── 📁 modelmgr/ # 模型管理接口
│ │ ├── 📁 orm/ # ORM接口
│ │ ├── 📁 rdb/ # 关系数据库接口
│ │ ├── 📁 sqlparser/ # SQL解析器接口
│ │ ├── 📁 sse/ # Server-Sent Events接口
│ │ └── 📁 storage/ # 存储接口
│ └── 📁 impl/ # 接口实现
│ ├── 📁 cache/ # 缓存实现
│ │ └── 📁 redis/ # Redis缓存
│ ├── 📁 chatmodel/ # 聊天模型实现
│ ├── 📁 checkpoint/ # 检查点实现
│ ├── 📁 coderunner/ # 代码运行器实现
│ │ ├── 📁 direct/ # 直接运行
│ │ └── 📁 sandbox/ # 沙箱运行
│ ├── 📁 document/ # 文档处理实现
│ │ ├── 📁 nl2sql/ # NL2SQL实现
│ │ ├── 📁 ocr/ # OCR实现
│ │ ├── 📁 parser/ # 解析器实现
│ │ ├── 📁 progressbar/ # 进度条实现
│ │ ├── 📁 rerank/ # 重排序实现
│ │ └── 📁 searchstore/ # 搜索存储实现
│ │ ├── 📁 elasticsearch/ # ES实现
│ │ ├── 📁 milvus/ # Milvus实现
│ │ └── 📁 vikingdb/ # VikingDB实现
│ ├── 📁 dynconf/ # 动态配置实现
│ ├── 📁 embedding/ # 向量嵌入实现
│ ├── 📁 es/ # Elasticsearch实现
│ ├── 📁 eventbus/ # 事件总线实现
│ │ ├── 📁 kafka/ # Kafka实现
│ │ ├── 📁 nsq/ # NSQ实现
│ │ └── 📁 rmq/ # RocketMQ实现
│ ├── 📁 idgen/ # ID生成器实现
│ ├── 📁 imagex/ # 图像处理实现
│ ├── 📁 messages2query/ # 消息转查询实现
│ ├── 📁 modelmgr/ # 模型管理实现
│ ├── 📁 mysql/ # MySQL实现
│ ├── 📁 rdb/ # 关系数据库实现
│ ├── 📁 sqlparser/ # SQL解析器实现
│ ├── 📁 sse/ # SSE实现
│ └── 📁 storage/ # 存储实现
│ ├── 📁 minio/ # MinIO存储
│ ├── 📁 proxy/ # 代理存储
│ ├── 📁 s3/ # S3存储
│ └── 📁 tos/ # TOS存储
│
├── 📁 internal/ # 内部工具
│ ├── 📁 mock/ # Mock测试
│ │ ├── 📁 crossdomain/ # 跨域Mock
│ │ ├── 📁 domain/ # 领域Mock
│ │ └── 📁 infra/ # 基础设施Mock
│ └── 📁 testutil/ # 测试工具
│
├── 📁 pkg/ # 公共包 - 通用工具
│ ├── 📁 ctxcache/ # 上下文缓存
│ ├── 📁 errorx/ # 错误处理
│ │ ├── 📁 code/ # 错误码
│ │ └── 📁 internal/ # 内部错误处理
│ ├── 📁 goutil/ # Go工具函数
│ ├── 📁 hertzutil/ # Hertz框架工具
│ │ └── 📁 domain/ # 域名工具
│ ├── 📁 i18n/ # 国际化
│ ├── 📁 jsoncache/ # JSON缓存
│ ├── 📁 lang/ # 语言工具
│ │ ├── 📁 conv/ # 类型转换
│ │ ├── 📁 crypto/ # 加密工具
│ │ ├── 📁 maps/ # Map工具
│ │ ├── 📁 ptr/ # 指针工具
│ │ ├── 📁 sets/ # 集合工具
│ │ ├── 📁 signal/ # 信号处理
│ │ ├── 📁 slices/ # 切片工具
│ │ ├── 📁 sqlutil/ # SQL工具
│ │ └── 📁 ternary/ # 三元操作符
│ ├── 📁 logs/ # 日志工具
│ ├── 📁 safego/ # 安全Go协程
│ ├── 📁 sonic/ # JSON序列化
│ └── 📁 taskgroup/ # 任务组
│
├── 📁 conf/ # 配置文件
│ ├── 📁 model/ # 模型配置
│ ├── 📁 plugin/ # 插件配置
│ └── 📁 prompt/ # 提示词配置
│
├── 📁 script/ # 脚本文件
│ └── 📄 bootstrap.sh # 启动脚本
│
└── 📁 types/ # 类型定义
├── 📁 consts/ # 常量定义
├── 📁 ddl/ # 数据库DDL
└── 📁 errno/ # 错误码定义
├── 📄 agent.go # 智能体错误码
├── 📄 app.go # 应用错误码
├── 📄 connector.go # 连接器错误码
├── 📄 conversation.go # 对话错误码
├── 📄 knowledge.go # 知识库错误码
├── 📄 memory.go # 记忆错误码
├── 📄 modelmgr.go # 模型管理错误码
├── 📄 permission.go # 权限错误码
├── 📄 plugin.go # 插件错误码
├── 📄 prompt.go # 提示词错误码
├── 📄 search.go # 搜索错误码
├── 📄 shortcutcmd.go # 快捷命令错误码
├── 📄 upload.go # 上传错误码
├── 📄 user.go # 用户错误码
└── 📄 workflow.go # 工作流错误码
更多推荐
所有评论(0)