微信个人 AI 助手搭建教程

零代码搭建微信 AI 助手,实现在 GPT-4 对话,语音识别,保存笔记到 Notion,生成图片和联网搜索等。而且,你还可以在 iWatch 上使用它,随时随地使用!选择在微信上因为每天都频繁打开,使用起来更加方便。

Mar 27, 2024
零代码搭建微信 AI 助手,实现在 GPT-4 对话,语音识别,保存笔记到 Notion,生成图片和联网搜索等。而且,你还可以在iWatch上使用它,随时随地使用!选择在微信上因为每天都频繁打开,使用起来更加方便。
 

前提条件

  1. 【必须】Docker 环境,可以使用本地 Win/Mac/Nas 的 Docker,推荐云端服务器如 AWS、Azure 都有 1 年免费使用,具体安装 Docker 的方法请自行搜索或请 GPT 指导
  1. 【必须】1 个微信号,需要一直登录桌面端微信,所以推荐使用小号避免影响日常使用
  1. 【必须】1 个 LLM 的 API key,如 OpenAI、Claude、Gemini、Kimi 等
  1. 【非必须】1 个域名,方便记网址和开启 https 访问
 

一、安装 n8n

嫌麻烦或使用量不高的话,可以使用 集简云 (每月免费100 次)代替 n8n

1.1 使用 Cli 命令行

我使用 AWS EC2 服务器为例,通过 SSH 链接到服务器,在终端中运行以下命令安装 n8n
// 创建一个 docker 卷用来存档 n8n 数据,即使容器被删除,卷中的数据也不会丢失 docker volume create n8n_data
// 二选一(无域名):将宿主机的5679端口(默认5678我的被占用了)映射到n8n容器内的 5678 端口,将上面创建的卷挂载到/home/node/.n8n docker run -it --name n8n -p 5679:5678 -e GENERIC_TIMEZONE=Asia/Shanghai -e TZ=Asia/Shanghai -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n // 二选一 (有域名):添加域名、日志输出级别环境变量,n8n.domain.com 需要改成你的域名 docker run -it --name n8n -p 5679:5678 -e VUE_APP_URL_BASE_API=https://n8n.domain.com/ -e WEBHOOK_URL=https://n8n.domain.com/ -e GENERIC_TIMEZONE=Asia/Shanghai -e TZ=Asia/Shanghai -e N8N_LOG_LEVEL=verbose -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
环境变量说明:
  • VUE_APP_URL_BASE_APIWEBHOOK_TUNNEL_URL:在前端应用和Webhook中分别指定API的基础URL和Webhook的基本URL。【注】如何没有指定域名的话,连接三方 API 时 OAuth 授权会失败
  • GENERIC_TIMEZONETZ:都用于设置容器的时区。
  • N8N_LOG_LEVEL:用于指定 N8n 日志输出的详细级别。
 

1.2 打开 n8n 服务

浏览器中打开 服务器ip:5679 ,本地 Docker 的地址是 localhost:5679,进入后设置管理员账号和密码
notion image

1.3 (可选)绑定域名

简单说下绑定域名,无域名或本地部署的可跳过,以 宝塔面板 为例
  1. 在域名服务商如 Cloudflare 中添加一条 DNS 记录,【A类型,名称 n8n,内容为服务器IP】
  1. 在 宝塔-website 中点击 【add site】
  1. Domain name 中填写域名【n8n.domain.com】,勾选 SSLHTTPS
  1. 点进去添加 reverse proxy 反向代理,Target URL填写 http://ip:5679/ ,命名后提交
  1. 在浏览器中打开 https://n8n.domain.com 即可打开 n8n 服务
 

1.4 新建 Workflow 获取 webhook url

  1. 打开 n8n,点击 「Add - Workflows
  1. 点击中间的添加,选择「On webhook call」
  1. 在 webhook 节点中选择「HTTP Method = Post」,复制「Production URL」,用来作为后面微信的回调接口,本地部署的是 http://localhost:5679 开头
notion image
notion image
 

二、安装 wechatbot-webhook

项目地址 https://github.com/danni-cool/docker-wechatbot-webhook 将个人微信作为 webhook 机器人,支持docker部署,登录 web 端方式

2.1 使用终端 Cli 命令

 
# 1.拉取 docker 镜像 docker pull dannicool/docker-wechatbot-webhook
# 2.启动容器 docker run -d --name wxBotWebhook -p 3001:3001 -v ~/wxBot_logs:/app/log -e RECVD_MSG_API=webhook_url -e LOGIN_API_TOKEN=abcdefg123 dannicool/docker-wechatbot-webhook
环境变量说明:
  • LOGIN_API_TOKEN 自定义登录 API token,用来后续登录和发消息时的 API 参数
 
# 3.登录 docker logs -f wxBotWebhook
在浏览器中访问下面地址,扫码登录微信,LOGIN_API_TOKEN 为你上面设置的值,登录成功后能看到如下图所示
本地部署:http://localhost:3001/login?token=LOGIN_API_TOKEN
云端部署:https://n8n.domain.com/login?token=LOGIN_API_TOKEN
notion image

2.2 (可选) 在 Postman 中测试发送消息 API

curl --location 'http://localhost:3001/webhook/msg/v2?token=[YOUR_LOGIN_API_TOKEN]' \ --header 'Content-Type: application/json' \ --data '{ "to": "微信昵称", "data": { "content": "Hello World!" }}'
notion image
 

三、在 n8n 上搭建流程

Workfolw 流程如下,可以直接安装我给的 workflow:https://github.com/Arkuus/n8n-workflow/blob/main/n8n_Wechat_AI_workflow_byOSEN.json
notion image
 
创建一个 workflow,点击右上角 Import
notion image