Coze Studio開發(fā)本地微信消息發(fā)送插件全流程實戰(zhàn)

前言
字節(jié)跳動全面開源其AI應(yīng)用開發(fā)平臺Coze的核心組件Coze Studio。Coze Studio提供可視化設(shè)計與編排工具,開發(fā)者可以通過零代碼或低代碼的方式,快速打造和調(diào)試智能體、應(yīng)用和工作流,實現(xiàn)強大的 AI 應(yīng)用開發(fā)和更多定制化業(yè)務(wù)邏輯。
Coze Studio在v0.2.1版本移除插件URL https限制,大大方便本地插件的開發(fā)和部署。
本文介紹如下內(nèi)容:
- Docker部署Coze Studio
- 如何開發(fā)本地插件:以開發(fā)微信消息發(fā)送插件為例
- 如何使用官方內(nèi)置插件:以高德地圖插件為例
- 開發(fā)智能體實現(xiàn)查詢公共交通路線并通過微信發(fā)送給好友
- 基于Coze Chat SDK接入Coze Studio智能體
Docker部署Coze Studio
前提:已安裝好Docker。部署步驟:
1. 克隆代碼
git clone https://github.com/coze-dev/coze-studio.git
cd coze-studio
git checkout v0.2.1- 配置模型
復(fù)制模板配置文件到backend/conf/model/ark_doubao-seed-1.6.yaml
# 復(fù)制模型配置模版
cp backend/conf/model/template/model_template_ark_doubao-seed-1.6.yaml 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模型服務(wù)的API Key。獲取API Key的步驟:
https://www.volcengine.com/docs/82379/1541594 - meta.conn_config.model:填入doubao-seed-1.6模型服務(wù)的Endpoint ID。獲取Endpoint ID的步驟:
https://www.volcengine.com/docs/82379/1099522
- 啟動服務(wù)
要注意的是,雖然v0.2.1的release文檔說對應(yīng)的鏡像版本是opencoze/opencoze:0.3.7,但經(jīng)實測,此版本仍然有插件URL https限制的問題。切換到opencoze/opencoze:0.3.8才解決。如果之前已經(jīng)下載過opencoze/opencoze:latest,需要重新pull鏡像。
執(zhí)行命令啟動服務(wù):
cd docker
cp .env.example .env
docker compose up -d如果你無法下載docker鏡像,參考徹底解決Docker鏡像無法下載
需要下載的鏡像列表:
bitnami/elasticsearch:8.18.0
bitnami/etcd:3.5
bitnami/redis:8.0
milvusdb/milvus:v2.5.10
minio/minio:RELEASE.2025-06-13T11-33-47Z-cpuv1
mysql:8.4.5
nsqio/nsq:v1.2.1
opencoze/opencoze:latest- 訪問服務(wù)
啟動服務(wù)后,通過瀏覽器打開http://localhost:8888,即可訪問Coze Studio。
開發(fā)微信消息發(fā)送插件
插件是一個工具集,一個插件內(nèi)可以包含一個或多個工具(API)。Coze Studio支持http協(xié)議插件,你需要實現(xiàn)一個http服務(wù),完成插件的相關(guān)接口功能,然后在Coze Studio配置插件的http接口參數(shù)。
下面介紹如何開發(fā)微信消息發(fā)送插件,開發(fā)環(huán)境為windows。
1. 設(shè)置開發(fā)環(huán)境
安裝uv。uv是一個用Rust編寫的極其快速的Python包和項目管理器。
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"創(chuàng)建python虛擬環(huán)境(假設(shè)項目目錄為coze-plugin-wechat)。
# Create a new directory for our project
uv init coze-plugin-wechat
cd coze-plugin-wechat
# Create virtual environment and activate it
uv venv
.venv\Scripts\activate
# Install dependencies
uv add wxauto fastapi uvicorn如果在執(zhí)行.venv\Scripts\activate時報錯“無法加載.venv\Scripts\activate.ps1,因為在此系統(tǒng)上禁止運行腳本”,需要以管理員權(quán)限在終端執(zhí)行
Set-ExecutionPolicy RemoteSigned更改執(zhí)行策略后再重新執(zhí)行。
2. 實現(xiàn)http接口
通過uvicorn + FastAPI實現(xiàn)http服務(wù),通過wxauto實現(xiàn)微信操作。
wxauto是一個基于UIAutomation的開源Python微信自動化庫。你需要在本機安裝微信PC版本并完成掃碼登錄(注意wxauto只兼容3.9.x的微信PC版本)。
main.py的代碼如下:
from fastapi import FastAPI
from pydantic import BaseModel
from wxauto import WeChat
import uvicorn
app = FastAPI()
wx = WeChat()
class SendWechatMsgRequest(BaseModel):
who: str
msg: str
@app.post("/send_wechat_msg")
async def send_wechat_msg(req: SendWechatMsgRequest):
wx.ChatWith(req.who)
resp = wx.SendMsg(req.msg, req.who)
return resp
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)通過uv run main.py啟動http服務(wù)。
3. 在Coze Studio配置插件
點擊工作空間資源庫頁面右上角的添加資源按鈕,選擇添加插件。

在新建插件頁面,點擊【</>】。

可以看到創(chuàng)建插件界面。

左側(cè)的插件描述如下:
{
"schema_version": "v1",
"name_for_model": "微信",
"name_for_human": "微信",
"description_for_model": "微信",
"description_for_human": "微信",
"auth": {
"type": "none",
"sub_type": "",
"payload": ""
},
"logo_url": "default_icon/plugin_default_icon.png",
"api": {
"type": "openapi"
},
"common_params": {
"body": [],
"path": [],
"query": [],
"header": [
{
"name": "User-Agent",
"value": "Coze/1.0"
}
]
}
}右側(cè)的openapi包含如下信息:
- 接口URL
- 請求參數(shù)定義
- 響應(yīng)定義
詳細內(nèi)容如下:
openapi: 3.0.1
components:
examples:
send_wechat_msg:
value:
ReqExample:
body:
msg: 測試
who: 文件傳輸助手
header:
Content-Type: application/json
User-Agent: Coze/1.0
path: /send_wechat_msg
query: {}
RespExample:
message: success
status: 成功
info:
title: 微信
description: 微信
version: v1
paths:
/send_wechat_msg:
post:
summary: 發(fā)送微信消息
operationId: send_wechat_msg
requestBody:
content:
application/json:
schema:
type: object
required:
- who
- msg
properties:
msg:
type: string
description: 消息內(nèi)容
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: 結(jié)果
servers:
- url: http://host.docker.internal:8000點擊【確定】保存后,看到已經(jīng)配置的工具列表。但此時無法發(fā)布,需要先完成調(diào)試才能發(fā)布。點擊【調(diào)試】。

在工具頁面中,點擊右上角的【試運行】

填上相應(yīng)參數(shù),點【運行】,即可看到自動調(diào)起微信發(fā)送消息。測試通過后點擊【完成】。

工具調(diào)試狀態(tài)變成【通過】,此時再點右上角的【發(fā)布】完成插件的發(fā)布。

使用官方內(nèi)置高德地圖插件
修改backend/conf/plugin/pluginproduct/plugin_meta.yaml,找到高德地圖部分的定義,修改service_token為高德地圖的API Key,然后執(zhí)行docker compose restart coze-server重啟服務(wù)。

開發(fā)智能體實現(xiàn)查詢公共交通路線并通過微信發(fā)送給好友
1. 創(chuàng)建智能體
點擊左側(cè)欄的創(chuàng)建按鈕。

選擇【創(chuàng)建智能體】。

填上【智能體名稱】后,點擊【確認】。
2. 添加插件
在編排頁面,點擊【添加插件】。

把高德地圖的工具添加為插件。

把【資源庫工具】里的【微信】工具添加為插件。

3. 人設(shè)和回復(fù)邏輯
設(shè)置為如下內(nèi)容:
# 角色
你是一個助手,可以通過使用工具解決用戶的問題 。
如果用戶提供的信息不足,提示用戶提供相關(guān)信息。4. 預(yù)覽與調(diào)試
輸入“把廣州南站到廣州塔的公共交通路線發(fā)送給張三”,驗證流程是否正常。
5. 發(fā)布智能體
調(diào)試通過后,在編排頁面,點擊右上角的【發(fā)布】,點擊API項的【配置】。

點擊【添加新令牌】。

選擇【過期時間】,點擊【確定】,保存生成的令牌。然后點擊【發(fā)布】完成智能體發(fā)布。

基于Coze Chat SDK接入Coze Studio智能體
目前Coze Studio發(fā)布應(yīng)用后,不具備Dify直接生成可以訪問頁面地址的功能。需要自己通過Coze Chat SDK接入智能體。我已把前端的demo項目上傳到https://github.com/copilot-coder/coze-chat-app.git 。
注意:此倉庫僅用于展示如何用coze chat-sdk接入coze studio,里面很多信息是hard code的,并非一個完備的應(yīng)用。
前提:已安裝nodejs環(huán)境。步驟如下:
1. checkout代碼
git clone https://github.com/copilot-coder/coze-chat-app.git2. 修改src/App.jsx
- appId: 改為你的BotId
- token: 改為你的個人訪問令牌

3. 安裝依賴
cd coze-chat-app
npm install4. 運行
npm run dev5. 訪問前端頁面
通過瀏覽器訪問http://localhost:3000即可看到前端交互頁面,效果如下圖:

總結(jié)
本文以開發(fā)微信消息發(fā)送插件為例,介紹了完整的Coze Studio插件開發(fā)流程和智能體開發(fā)流程。



























