当前位置: 首页 > news >正文

Coze Studio概览(一)

字节的Coze刚开源,我先给大家来一波简要分析。

Coze Studio 技术栈详情

后端技术栈

核心技术

  • Go版本: 1.24.0
  • Web框架: Cloudwego Hertz (高性能HTTP框架)
  • 架构模式: 微服务架构 + DDD(领域驱动设计)

主要依赖库

  • AI引擎: Cloudwego Eino (AI智能体和工作流运行时)
  • 模型支持:
    • OpenAI、Claude、DeepSeek、Gemini
    • 火山方舟(Ark)、通义千问等
  • 数据库: GORM (MySQL/SQLite驱动)
  • 缓存: Redis (go-redis/v9)
  • 消息队列: Kafka (IBM/sarama)、RocketMQ
  • 搜索引擎: Elasticsearch
  • 向量数据库: Milvus
  • 对象存储: 火山引擎TOS、MinIO
  • 配置管理: Viper、YAML
  • 测试框架: Testify、GoMock

项目结构

backend/
├── api/           # API层 (Handler, Router, Middleware)
├── application/   # 应用层 (Application Services)
├── domain/        # 领域层 (Domain Models, Entities)
├── infra/         # 基础设施层 (Repository实现)
├── crossdomain/   # 跨域服务
├── pkg/           # 通用工具包
├── conf/          # 配置文件
└── types/         # 类型定义

前端技术栈

核心技术

  • 包管理: Rush.js (Microsoft的monorepo管理工具)
  • Node版本: >=16.13.0
  • 包管理器: pnpm 8.15.8
  • 构建工具: Rsbuild (基于Rspack的构建工具)
  • UI框架: React + TypeScript
  • 工作流编辑器: FlowGram (字节跳动开源的流程搭建引擎)

主要依赖

  • UI组件库: Semi Design (@coze-arch/bot-semi)
  • 状态管理: 自研Store系统
  • 国际化: @coze-arch/i18n
  • HTTP客户端: @coze-arch/bot-http
  • 代码编辑器: Monaco Editor
  • 工作流渲染: FlowGram + Fabric.js

项目结构

frontend/
├── apps/          # 应用入口
├── packages/      # 功能包
│   ├── arch/      # 架构层基础包
│   ├── common/    # 通用组件和工具
│   ├── workflow/  # 工作流相关
│   ├── agent-ide/ # 智能体IDE
│   └── studio/    # Studio核心功能
├── config/        # 配置文件
└── infra/         # 基础设施工具

数据存储

主要存储

  • 关系数据库: MySQL 8.4.5
  • 缓存数据库: Redis 8.0
  • 搜索引擎: Elasticsearch
  • 向量数据库: Milvus (用于知识库检索)

对象存储

  • 火山引擎TOS (主要)
  • MinIO (可选)

部署方案

容器化

  • 容器: Docker + Docker Compose
  • 最低配置: 2 Core、4 GB内存
  • 服务编排: 支持多Profile部署
    • middleware: 中间件服务
    • mysql-setup: 数据库初始化
    • web: 完整Web服务

Coze Studio 命令清单

开发环境搭建

前置要求

# 确保系统满足最低要求:2 Core、4 GB内存
# 安装Docker和Docker Compose并启动Docker服务
docker --version
docker-compose --version

快速开始

# 1. 克隆代码
git clone https://github.com/coze-dev/coze-studio.git
cd coze-studio# 2. 配置模型 (必须步骤)
# 复制模型配置模板
cp backend/conf/model/template/model_template_ark_doubao-seed-1.6.yaml backend/conf/model/ark_doubao-seed-1.6.yaml
# 编辑配置文件,设置id、meta.conn_config.api_key、meta.conn_config.model字段# 3. 部署并启动服务
cd docker
cp .env.example .env
docker compose --profile "*" up -d# 4. 访问应用
# 浏览器打开 http://localhost:8888/

开发模式命令

使用Makefile (推荐)

# 启动完整开发环境 (中间件 + Python + 服务器)
make debug# 单独构建前端
make fe# 单独构建并运行服务器
make server# 仅构建服务器(不运行)
make build_server# 启动中间件服务 (MySQL + Redis + Elasticsearch等)
make middleware# 启动完整Web服务
make web# 同步数据库
make sync_db# 导出数据库结构
make dump_db# 停止所有服务
make down# 清理所有数据(危险操作)
make clean# 设置Python环境
make python# 查看帮助
make help

直接使用脚本

# 前端相关
./scripts/setup_fe.sh    # 设置前端环境
./scripts/build_fe.sh    # 构建前端
./scripts/start_fe.sh    # 启动前端开发服务器# 后端相关
./scripts/setup/server.sh        # 构建服务器
./scripts/setup/db_migrate_apply.sh  # 数据库迁移
./scripts/setup/python.sh       # 设置Python环境

前端开发命令

使用Rush.js

cd frontend# 安装依赖
rush install# 构建所有包
rush rebuild# 构建特定应用
rush rebuild -o @coze-studio/app# 运行开发服务器
rush start -p @coze-studio/app# 运行测试
rush test# 代码检查
rush lint# 代码格式化
rush prettier

后端开发命令

Go开发

cd backend# 安装依赖
go mod download# 构建
go build -o bin/coze-server .# 运行
./bin/coze-server# 测试
go test ./...# 代码格式化
go fmt ./...# 代码检查
go vet ./...

Docker命令

开发环境

# 启动所有服务
docker compose --profile "*" up -d# 启动特定Profile
docker compose --profile middleware up -d    # 仅中间件
docker compose --profile mysql-setup up -d  # 仅MySQL设置# 查看服务状态
docker compose ps# 查看日志
docker compose logs -f# 停止服务
docker compose down# 清理数据卷
docker compose down -v

数据库操作

# 数据库迁移
docker compose --profile mysql-setup up -d# 查看MySQL日志
docker logs coze-mysql# 连接MySQL
docker exec -it coze-mysql mysql -ucoze -pcoze123 opencoze

Git工作流

# 标准工作流
git checkout -b feature/your-feature
git add .
git commit -m "feat: your feature description"
git push origin feature/your-feature# 提交前检查
rush lint          # 代码检查
rush test          # 运行测试
go test ./...      # 后端测试
http://www.lryc.cn/news/601887.html

相关文章:

  • 链表算法常用技巧与操作
  • 通过硬编码函数地址并转换为函数指针来调用函数
  • 【Agentic】通过LangGrah实现RAG评分和重写
  • 清华大学具身智能多传感器融合感知综述:背景、方法、挑战与展望
  • Flutter开发实战之CI/CD与发布流程
  • 网易大模型算法岗面经80道
  • JSON格式化与结构对比
  • 移植pbrt中的并行化到ray trace in weeks中
  • LangGraph底层API入门总结
  • OpenLayers 综合案例-地图绘制
  • 十字链表以及实现
  • SpringAI入门及浅实践,实战 Spring‎ AI 调用大模型、提示词工程、对话记忆、Adv‎isor 的使用
  • 第五章 中央处理器(CPU)知识体系与考法总结
  • 【第六节】方法与事件处理器
  • Gradle#Plugin
  • Windows---动态链接库Dynamic Link Library(.dll)
  • 2025.7.27总结—新励成
  • Kubernetes 核心组件解析
  • HCIE学习之路:MSTP实现负载均衡实验
  • 【INT范围提取字符串数字为正数】2022-8-29
  • Leetcode 3628. Maximum Number of Subsequences After One Inserting
  • rust- 定义模块以控制作用域和隐私
  • 握手未来,PostgreSQL认证专家
  • 【I】题目解析
  • Spring AI 学习笔记
  • 小架构step系列27:Hibernate提供的validator
  • 「mysql」Mac osx彻底删除mysql
  • Java面试宝典:MySQL性能优化
  • uart通信
  • JVM类加载机制全流程详解