[!WARNING] 发现使用
Node 20
,在服务器启动会报一堆的AssertError
错误,使用Node 18
较为稳定。AssertError
错误后,可能出现 自动重试,导致可能的 重复消息 或 自动退出,原因未知
- 🚀 快速开始: 只需简单三步,即可轻松启动智能对话机器人。
- 💡 关注点分离: 通过抽象 助手、上下文 和 大模型 的概念,更方便地理解和应用,以应对复杂的对话场景。
- 💬 用户对话: 专注于处理用户私聊和群内被提及的消息,避免大模型被大量消息阻塞。
- ⏳ 处理等待: 如果 AI 尚未回应,自动拒绝新消息的处理,确保对话流畅。
- 🪡 自由定制: 考虑到二次开发的需求,可以方便地拓展助手功能,满足个性化需求。
教程
文章
要安装 @zhengxs/wechaty-plugin-assistant
,请运行以下命令:
$ pnpm install @zhengxs/wechaty-plugin-assistant
在这里获取你的 accessToken 值。
import {
ChatERNIEBot,
createAssistant,
} from '@zhengxs/wechaty-plugin-assistant';
import { WechatyBuilder } from 'wechaty';
import { QRCodeTerminal } from 'wechaty-plugin-contrib';
// ============ 第一步:选择大模型 ============
const llm = new ChatERNIEBot({
token: process.env.EB_ACCESS_TOKEN, // 飞桨平台的 token
});
// ============ 第二步:创建 AI 助手 ============
const assistant = createAssistant({
llm,
});
// ============ 第三步:启动 wechaty 服务 ============
const bot = WechatyBuilder.build({
name: 'demo',
puppet: 'wechaty-puppet-wechat4u',
puppetOptions: { uos: true },
});
bot.use(QRCodeTerminal({ small: true }));
// 作为插件使用
bot.use(assistant.callback());
bot.start();
同时接入多个大模型。
import {
ChatERNIEBot,
ChatQWen,
createAssistant,
MultiChatModelSwitch,
} from '@zhengxs/wechaty-plugin-assistant';
const assistant = createAssistant({
llm: new MultiChatModelSwitch([
new ChatERNIEBot(),
new ChatQWen(),
// more...
]),
});
口令 | 描述 |
---|---|
新对话 \ 新聊天 \ 重新开始
|
模拟 Web UI 的 创建新聊天 功能 |
停止 \ 停止回复
|
模拟 Web UI 的 停止生成 按钮 |
查看模型 \ 切换 xxx
|
MultiChatModelSwitch 模块添加的功能,允许配置多个模型,由最终使用者自己切换 |
[!NOTE] 不再内置指令,改为按需手动注册。
名称 | 描述 | 状态 |
---|---|---|
/deepl |
DeepL 翻译,感谢 bob-plugin-akl-deepl-free-translate 提供的代码 以及 deepL 提供服务 | Alpha |
/dict |
汉字解释,感谢 Pear 提供的 API | Alpha |
/hot |
热搜榜,感谢 韩小韩 提供的 API | Alpha |
/kfc |
疯狂星期四文案,感谢 Brick 提供的 API | Alpha |
/moyu |
摸鱼日历,感谢 韩小韩 提供的 API 以及 摸鱼日历 提供的图片 | Alpha |
目前仅支持官方 API 调用,暂不提供 Web API 的代理。
名称 | 公司 | 描述 | 代码 | 状态 |
---|---|---|---|---|
文心一言 | 百度 | 支持 百度千帆 和 AI Studio 的 API 调用 | ChatERNIEBot | Alpha |
通义千问 | 阿里 | 支持阿里云 DashScope 的大部分模型,如qwen 和 qwen-vl 系列的模型 |
ChatQWen | Alpha |
混元助手 | 腾讯 | ChatHunYuan | Alpha | |
星火认知 | 讯飞 | 支持 1.5 | 2 | 3 模型 |
ChatSpark | Alpha |
MM智能助理 | 稀宇科技 | 支持 abab5-chat | abab5.5-chat | abab5.5-chat-pro 模型 |
ChatMinimax | Alpha |
Claude | Anthropic | 基于 Claude Web API,内部已配置 反向代理服务 | ChatClaudeAI | Alpha |
ChatGPT | OpenAI | 推荐 代理 | ChatOpenAI | Alpha |
Bard | - | N/A |
可以使用 GitHub Codespaces 进行在线开发:
或者使用以下命令进行本地开发:
$ git clone https://github.com/zhengxs2018/wechaty-plugin-assistant.git
$ cd wechaty-plugin-assistant
$ pnpm install
$ pnpm dev
- 🤖 @zhengxs/ai - 集成 百度文心一言,阿里通义千问,腾讯混元助手 和 讯飞星火认知 等国内大模型的 API,并且适配 OpenAI 的输入与输出。
- 将钉钉机器人接入 Wechaty - 开发中
我们非常欢迎各种形式的贡献。如果你对贡献代码感兴趣,可以查看我们的 GitHub Issues 大展身手,向我们展示你的奇思妙想。
Copyright © 2023 zhengxs2018.
This project is MIT licensed.