前言
字节跳动全面开源其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。部署步骤:
1. 克隆代码
复制- 配置模型
复制模板配置文件到backend/conf/model/ark_doubao-seed-1.6.yaml
复制修改backend/conf/model/ark_doubao-seed-1.6.yaml
- meta.conn_config.api_key:填入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镜像。
执行命令启动服务:
复制如果你无法下载docker镜像,参考彻底解决Docker镜像无法下载
需要下载的镜像列表:
复制- 访问服务
启动服务后,通过浏览器打开http://localhost:8888,即可访问Coze Studio。
开发微信消息发送插件
插件是一个工具集,一个插件内可以包含一个或多个工具(API)。Coze Studio支持http协议插件,你需要实现一个http服务,完成插件的相关接口功能,然后在Coze Studio配置插件的http接口参数。
下面介绍如何开发微信消息发送插件,开发环境为windows。
1. 设置开发环境
安装uv。uv是一个用Rust编写的极其快速的Python包和项目管理器。
复制创建python虚拟环境(假设项目目录为coze-plugin-wechat)。
复制如果在执行.venv\Scripts\activate时报错“无法加载.venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本”,需要以管理员权限在终端执行Set-ExecutionPolicy RemoteSigned更改执行策略后再重新执行。
2. 实现http接口
通过uvicorn + FastAPI实现http服务,通过wxauto实现微信操作。
wxauto是一个基于UIAutomation的开源Python微信自动化库。你需要在本机安装微信PC版本并完成扫码登录(注意wxauto只兼容3.9.x的微信PC版本)。
main.py的代码如下:
复制通过uv run main.py启动http服务。
3. 在Coze Studio配置插件
点击工作空间资源库页面右上角的添加资源按钮,选择添加插件。
在新建插件页面,点击【</>】。
可以看到创建插件界面。
左侧的插件描述如下:
复制右侧的openapi包含如下信息:
- 接口URL
- 请求参数定义
- 响应定义
详细内容如下:
复制点击【确定】保存后,看到已经配置的工具列表。但此时无法发布,需要先完成调试才能发布。点击【调试】。
在工具页面中,点击右上角的【试运行】
填上相应参数,点【运行】,即可看到自动调起微信发送消息。测试通过后点击【完成】。
工具调试状态变成【通过】,此时再点右上角的【发布】完成插件的发布。
使用官方内置高德地图插件
修改backend/conf/plugin/pluginproduct/plugin_meta.yaml,找到高德地图部分的定义,修改service_token为高德地图的API Key,然后执行docker compose restart coze-server重启服务。
开发智能体实现查询公共交通路线并通过微信发送给好友
1. 创建智能体
点击左侧栏的创建按钮。
选择【创建智能体】。
填上【智能体名称】后,点击【确认】。
2. 添加插件
在编排页面,点击【添加插件】。
把高德地图的工具添加为插件。
把【资源库工具】里的【微信】工具添加为插件。
3. 人设和回复逻辑
设置为如下内容:
复制4. 预览与调试
输入“把广州南站到广州塔的公共交通路线发送给张三”,验证流程是否正常。
5. 发布智能体
调试通过后,在编排页面,点击右上角的【发布】,点击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环境。步骤如下:
1. checkout代码
复制2. 修改src/App.jsx
- appId: 改为你的BotId
- token: 改为你的个人访问令牌
3. 安装依赖
复制4. 运行
复制5. 访问前端页面
通过浏览器访问http://localhost:3000即可看到前端交互页面,效果如下图:
总结
本文以开发微信消息发送插件为例,介绍了完整的Coze Studio插件开发流程和智能体开发流程。