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       # 工作流错误码

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐