11# 腾讯元器 JavaScript 模板
22
3- 基于腾讯元器的 JavaScript Agent 函数型模板。本模板提供了将腾讯元器智能体快速部署为 HTTP 云函数的完整解决方案,支持流式响应、用户认证、对话历史持久化、自定义参数等功能 。
3+ 基于腾讯元器的 JavaScript Agent 函数型模板。本模板提供了将腾讯元器智能体快速部署为 HTTP 云函数的完整解决方案,支持流式响应、用户认证、对话历史持久化、自定义参数、微信消息接入等功能 。
44
55## 📋 项目概述
66
7- 本模板使用 ` @cloudbase/agent-adapter-yuanqi ` 适配器,将腾讯元器智能体封装为符合 AG-UI 协议的 Agent 服务,并通过 ` @cloudbase/agent-server ` 提供标准的 HTTP API 接口。
7+ 本模板使用 ` @cloudbase/agent-adapter-yuanqi ` 适配器,将腾讯元器智能体封装为符合 AG-UI 协议的 Agent 服务,并通过 ` @cloudbase/agent-server ` 提供标准的 HTTP API 接口。同时支持通过 ` @cloudbase/agent-adapter-wx ` 适配器接入微信消息。
88
99### 核心特性
1010
1111- ✅ ** 腾讯元器集成** - 快速接入腾讯元器智能体平台
1212- ✅ ** 对话历史持久化** - 通过云开发数据库自动保存和加载对话历史
1313- ✅ ** 自定义参数支持** - 支持传递自定义变量到工作流和知识库
1414- ✅ ** 思考/推理支持** - 支持元器模型的推理内容展示
15+ - ✅ ** 微信消息接入** - 支持通过微信适配器接收和处理微信消息
1516
1617### 调用链路
1718
1819```
1920客户端 → HTTP 云函数 → Yuanqi Agent → 腾讯元器服务 → 流式响应返回
2021 ↓
2122 云开发数据库(对话历史)
23+
24+ 微信 → /wx-send-message → WeChatAgent → Yuanqi Agent → 腾讯元器服务
2225```
2326
2427## 使用方法
@@ -47,11 +50,15 @@ class MyAgent extends YuanqiAgent {
4750 }
4851
4952 // 重写父类方法,自定义获取历史对话的逻辑
50- async getChatHistory (subscriber , latestUserMessage ) {
53+ async getChatHistory (subscriber , input , latestUserMessage ) {
5154 // 调用父类方法获取历史对话(从云开发数据库读取)
52- const history = await super .getChatHistory (subscriber, latestUserMessage);
55+ const history = await super .getChatHistory (
56+ subscriber,
57+ input,
58+ latestUserMessage,
59+ );
5360 // 也可以忽略父类方法,自行处理历史对话的获取逻辑
54- // const history = await myMethodToGetChatHistory(subscriber, latestUserMessage);
61+ // const history = await myMethodToGetChatHistory(subscriber, input, latestUserMessage);
5562 return history;
5663 }
5764
@@ -93,7 +100,7 @@ function createAgent({ request }) {
93100
94101` @cloudbase/ agent- adapter- yuanqi` 适配器会通过云开发数据库自动管理对话历史的保存与加载。开发者只需要传递当前用户的最新消息,适配器会自动:
95102
96- 1. 从云开发数据库加载历史对话(默认 10 轮 ,可通过 ` historyCount` 配置)
103+ 1. 从云开发数据库加载历史对话(默认 10 条 ,可通过 ` historyCount` 配置)
971042. 将历史对话与当前消息合并后发送给元器
981053. 自动保存用户消息和 AI 回复到数据库
99106
@@ -102,7 +109,7 @@ function createAgent({ request }) {
102109如果需要自定义历史对话的获取逻辑,可以重写 ` getChatHistory` 方法:
103110
104111` ` ` javascript
105- async getChatHistory (subscriber , latestUserMessage ) {
112+ async getChatHistory (subscriber , input , latestUserMessage ) {
106113 // 自定义获取历史对话的逻辑
107114 const history = await myCustomHistoryService .getHistory ();
108115 return history;
@@ -174,6 +181,60 @@ createExpressRoutes({
174181- ` POST / chat/ completions` - OpenAI 兼容的聊天接口
175182- ` GET / healthz` - 健康检查接口
176183
184+ ### 微信消息路由
185+
186+ 本模板还提供了微信消息处理路由,支持通过 ` @cloudbase/ agent- adapter- wx` 接入微信消息:
187+
188+ ` ` ` javascript
189+ import {
190+ WeChatAgent ,
191+ createWxMessageHandler ,
192+ WeChatHistoryManager ,
193+ } from " @cloudbase/agent-adapter-wx" ;
194+
195+ // 创建微信 Agent 适配器
196+ function createWxAgent ({ request, options }) {
197+ const { agent: baseAgent } = createAgent ({ request });
198+ const envId = process .env .TCB_ENV || process .env .ENV_ID ;
199+
200+ return {
201+ agent: new WeChatAgent ({
202+ agentId: options? .agentId || " agent-wx" ,
203+ agent: baseAgent,
204+ wechatConfig: {
205+ sendMode: " aitools" ,
206+ context: {
207+ extendedContext: {
208+ envId,
209+ accessToken: request .headers .authorization ,
210+ },
211+ },
212+ },
213+ historyManager: new WeChatHistoryManager ({
214+ envId,
215+ }),
216+ }),
217+ };
218+ }
219+
220+ // 注册微信消息路由
221+ app .post (
222+ " /wx-send-message" ,
223+ express .json (),
224+ createWxMessageHandler (createWxAgent),
225+ );
226+ app .post (
227+ " /v1/aibot/bots/:agentId/wx-send-message" ,
228+ express .json (),
229+ createWxMessageHandler (createWxAgent),
230+ );
231+ ` ` `
232+
233+ 微信消息路由:
234+
235+ - ` POST / wx- send- message` - 微信消息处理接口
236+ - ` POST / v1/ aibot/ bots/ : agentId/ wx- send- message` - 带 agentId 参数的微信消息处理接口
237+
177238## 🚀 快速开始
178239
179240### 环境要求
@@ -386,6 +447,7 @@ docker run -p 9000:9000 \
386447### SDK 和工具
387448
388449- [@cloudbase/ agent- adapter- yuanqi](https: // www.npmjs.com/package/@cloudbase/agent-adapter-yuanqi) - 元器适配器
450+ - [@cloudbase/ agent- adapter- wx](https: // www.npmjs.com/package/@cloudbase/agent-adapter-wx) - 微信适配器
389451- [@cloudbase/ agent- server](https: // www.npmjs.com/package/@cloudbase/agent-server) - Agent 服务器
390452
391453-- -
0 commit comments