返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

Coze Studio开发本地微信消息发送插件全流程实战

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 14:11 |阅读模式 打印 上一主题 下一主题

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);border-radius: 6px;background: color-mix(in srgb, rgb(15, 76, 129) 8%, transparent);">前言

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">字节跳动全面开源其AI应用开发平台Coze的核心组件Coze Studio。Coze Studio提供可视化设计与编排工具,开发者可以通过零代码或低代码的方式,快速打造和调试智能体、应用和工作流,实现强大的 AI 应用开发和更多定制化业务逻辑。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Coze Studio在ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">v0.2.1版本移除插件URL https限制,大大方便本地插件的开发和部署。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">本文介绍如下内容:

    ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;color: rgb(63, 63, 63);" class="list-paddingleft-1">
  • ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);">
    ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">Docker部署Coze Studio
  • ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);">
    ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">如何开发本地插件:以开发微信消息发送插件为例
  • 如何使用官方内置插件:以高德地图插件为例
  • 开发智能体实现查询公共交通路线并通过微信发送给好友
  • 基于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

2. 配置模型
复制模板配置文件到backend/conf/model/ark_doubao-seed-1.6.yaml

# 复制模型配置模版
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模型服务的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

3. 启动服务
要注意的是,虽然v0.2.1的release文档说对应的镜像版本是opencoze/opencoze:0.3.7,但经实测,此版本仍然有插件URL https限制的问题。切换到opencoze/opencoze:0.3.8才解决。如果之前已经下载过opencoze/opencoze:latest,需要重新pull镜像。

执行命令启动服务:

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

4. 访问服务
启动服务后,通过浏览器打开http://localhost:8888,即可访问Coze Studio

开发微信消息发送插件

插件是一个工具集,一个插件内可以包含一个或多个工具(API)。Coze Studio支持http协议插件,你需要实现一个http服务,完成插件的相关接口功能,然后在Coze Studio配置插件的http接口参数。

下面介绍如何开发微信消息发送插件,开发环境为windows。

1. 设置开发环境

安装uv。uv是一个用Rust编写的极其快速的Python包和项目管理器。

powershell-ExecutionPolicyByPass-c"irmhttps://astral.sh/uv/install.ps1|iex"

创建python虚拟环境(假设项目目录为coze-plugin-wechat)

# Create a new directory for our project
uv init coze-plugin-wechat
cdcoze-plugin-wechat

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install dependencies
uv add wxauto fastapi uvicorn

如果在执行.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的代码如下:

fromfastapiimportFastAPI
frompydanticimportBaseModel
fromwxautoimportWeChat
importuvicorn

app = FastAPI()
wx = WeChat()


classSendWechatMsgRequest(BaseModel):
who:str
msg:str


@app.post("/send_wechat_msg")
asyncdefsend_wechat_msg(req: SendWechatMsgRequest):
wx.ChatWith(req.who)
resp = wx.SendMsg(req.msg, req.who)
returnresp


if__name__ =="__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)

通过uv run main.py启动http服务。

3. 在Coze Studio配置插件

点击工作空间资源库页面右上角的添加资源按钮,选择添加插件
在新建插件页面,点击【</>】
可以看到创建插件界面

左侧的插件描述如下:

{
"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"
}
]
}
}

右侧的openapi包含如下信息:

  • • 接口URL
  • • 请求参数定义
  • • 响应定义

详细内容如下:

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: 发送微信消息
operationId: send_wechat_msg
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/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代码

gitclonehttps://github.com/copilot-coder/coze-chat-app.git

2. 修改src/App.jsx

  • • appId: 改为你的BotId
  • • token: 改为你的个人访问令牌

3. 安装依赖

cd coze-chat-app
npm install

4. 运行

npmrundev

5. 访问前端页面

通过浏览器访问http://localhost:3000即可看到前端交互页面,效果如下图:


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ