前言
字节跳动全面开源其AI应用开发平台Coze的核心组件Coze Studio。Coze Studio提供可视化设计与编排工具,开发者可以通过零代码或低代码的方式,快速打造和调试智能体、应用和工作流,实现强大的 AI 应用开发和更多定制化业务逻辑。
Coze Studio在v0.2.1版本移除插件URL https限制,大大方便本地插件的开发和部署。
本文介绍如下内容:
•Docker部署Coze Studio
•如何开发本地插件:以开发微信消息发送插件为例
•如何使用官方内置插件:以高德地图插件为例
•开发智能体实现查询公共交通路线并通过微信发送给好友
•基于Coze Chat SDK接入Coze Studio智能体
智能体运行效果如下:
文末可获取插件完整代码下载地址。
Docker部署Coze Studio
前提:已安装好Docker。部署步骤:
克隆代码
git clone https://github.com/coze-dev/coze-studio.gitcd coze-studiogit checkout v0.2.1
配置模型
复制模板配置文件到backend/conf/model/ark_doubao-seed-1.6.yaml
复制模型配置模版cp backend/conf/model/template/modeltemplatearkdoubao-seed-1.6.yaml backend/conf/model/arkdoubao-seed-1.6.yaml
修改backend/conf/model/ark_doubao-seed-1.6.yaml
• meta.connconfig.apikey:填入doubao-seed-1.6模型服务的API Key。获取API Key的步骤:https://www.volcengine.com/docs/82379/1541594
• meta.conn_config.model:填入doubao-seed-1.6模型服务的Endpoint ID。获取Endpoint ID的步骤:https://www.volcengine.com/docs/82379/1099522
启动服务
要注意的是,虽然v0.2.1的release文档说对应的镜像版本是opencoze/opencoze:0.3.7,但经实测,此版本仍然有插件URL https限制的问题。切换到opencoze/opencoze:0.3.8才解决。如果之前已经下载过opencoze/opencoze:latest,需要重新pull镜像。
执行命令启动服务:
cd dockercp .env.example .envdocker compose up -d
如果你无法下载docker镜像,参考彻底解决Docker镜像无法下载
需要下载的镜像列表:
bitnami/elasticsearch:8.18.0bitnami/etcd:3.5bitnami/redis:8.0milvusdb/milvus:v2.5.10minio/minio:RELEASE.2025-06-13T11-33-47Z-cpuv1mysql:8.4.5nsqio/nsq:v1.2.1opencoze/opencoze:latest
访问服务
启动服务后,通过浏览器打开http://localhost:8888,即可访问Coze Studio
开发微信消息发送插件
插件是一个工具集,一个插件内可以包含一个或多个工具(API)。Coze Studio支持http协议插件,你需要实现一个http服务,完成插件的相关接口功能,然后在Coze Studio配置插件的http接口参数。
下面介绍如何开发微信消息发送插件,开发环境为windows。
设置开发环境
安装uv。uv是一个用Rust编写的极其快速的Python包和项目管理器。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
创建python虚拟环境(假设项目目录为coze-plugin-wechat)
Create a new directory for our projectuv init coze-plugin-wechatcd coze-plugin-wechat# Create virtual environment and activate ituv venv.venvScriptsactivate# Install dependenciesuv add wxauto fastapi uvicorn
如果在执行.venvScriptsactivate时报错“无法加载.venvScriptsactivate.ps1,因为在此系统上禁止运行脚本”,需要以管理员权限在终端执行Set-ExecutionPolicy RemoteSigned更改执行策略后再重新执行。
实现http接口
通过uvicorn + FastAPI实现http服务,通过wxauto实现微信操作。
wxauto是一个基于UIAutomation的开源Python微信自动化库。你需要在本机安装微信PC版本并完成扫码登录(注意wxauto只兼容3.9.x的微信PC版本)
main.py的代码如下:
from fastapi import FastAPIfrom pydantic import BaseModelfrom wxauto import WeChatimport uvicornapp = FastAPI()wx = WeChat()class SendWechatMsgRequest(BaseModel): who: str msg: str@app.post("/sendwechatmsg")async def sendwechatmsg(req: SendWechatMsgRequest): wx.ChatWith(req.who) resp = wx.SendMsg(req.msg, req.who) return respif _name == "main_": uvicorn.run(app, host="0.0.0.0", port=8000)
通过uv run main.py启动http服务。
在Coze Studio配置插件
点击工作空间资源库页面右上角的添加资源按钮,选择添加插件

在新建插件页面,点击【</>】

可以看到创建插件界面

左侧的插件描述如下:
{ "schemaversion": "v1", "nameformodel": "微信", "nameforhuman": "微信", "descriptionformodel": "微信", "descriptionforhuman": "微信", "auth": { "type": "none", "subtype": "", "payload": "" }, "logourl": "defaulticon/plugindefaulticon.png", "api": { "type": "openapi" }, "common_params": { "body": [], "path": [], "query": [], "header": [ { "name": "User-Agent", "value": "Coze/1.0" } ] }}
右侧的openapi包含如下信息:
• 接口URL
• 请求参数定义
• 响应定义
详细内容如下:
openapi: 3.0.1components: examples: sendwechatmsg: value: ReqExample: body: msg: 测试 who: 文件传输助手 header: Content-Type: application/json User-Agent: Coze/1.0 path: /sendwechatmsg query: {} RespExample: message: success status: 成功info: title: 微信 description: 微信 version: v1paths: /sendwechatmsg: post: summary: 发送微信消息 operationId: sendwechatmsg requestBody: content: application/json: schema: type: object required: – who – msg properties: msg: type: string description: 消息内容 default: "" who: type: string description: 消息接收者 default: "" responses: "200": description: description is required content: application/json: schema: type: object properties: message: type: string description: 提示信息 status: type: string description: 结果servers: – url: http://host.docker.internal:8000点击【确定】保存后,看到已经配置的工具列表。但此时无法发布,需要先完成调试才能发布。点击【调试】

在工具页面中,点击右上角的【试运行】

填上相应参数,点【运行】,即可看到自动调起微信发送消息。测试通过后点击【完成】

工具调试状态变成【通过】,此时再点右上角的【发布】完成插件的发布

使用官方内置高德地图插件
修改backend/conf/plugin/pluginproduct/pluginmeta.yaml,找到高德地图部分的定义,修改servicetoken为高德地图的API Key,然后执行docker compose restart coze-server重启服务

开发智能体实现查询公共交通路线并通过微信发送给好友
创建智能体
点击左侧栏的创建按钮

选择【创建智能体】

填上【智能体名称】后,点击【确认】
添加插件
在编排页面,点击【添加插件】

把高德地图的工具添加为插件

把【资源库工具】里的【微信】工具添加为插件

人设和回复逻辑
设置为如下内容:
角色你是一个助手,可以通过使用工具解决用户的问题 。如果用户提供的信息不足,提示用户提供相关信息。
预览与调试
输入“把广州南站到广州塔的公共交通路线发送给张三”,验证流程是否正常。
发布智能体
调试通过后,在编排页面,点击右上角的【发布】,点击API项的【配置】

点击【添加新令牌】

选择【过期时间】,点击【确定】,保存生成的令牌。然后点击【发布】完成智能体发布

基于Coze Chat SDK接入Coze Studio智能体
目前Coze Studio发布应用后,不具备dify直接生成可以访问页面地址的功能。需要自己通过Coze Chat SDK接入智能体。我已把前端的demo项目上传到https://github.com/copilot-coder/coze-chat-app.git
注意:此仓库仅用于展示如何用coze chat-sdk接入coze studio,里面很多信息是hard code的,并非一个完备的应用。
前提:已安装nodejs环境。步骤如下:
checkout代码
git clone https://github.com/copilot-coder/coze-chat-app.git
修改src/App.jsx
• appId: 改为你的BotId
• token: 改为你的个人访问令牌

安装依赖
cd coze-chat-appnpm install
运行
npm run dev
访问前端页面
通过浏览器访问http://localhost:3000即可看到前端交互页面,效果如下图:

总

