Skip to content

Latest commit

 

History

History
181 lines (131 loc) · 7.84 KB

install.md

File metadata and controls

181 lines (131 loc) · 7.84 KB

使用前提条件

  • 需要去注册一个个人企业微信
  • 云服务器 1h2g
    • 如果是自己注册的企业微信,那么其实是不需要域名的,直接ip访问
    • 如果是企业微信已经关联了备案主体,那么需要开一个备案的二级域名解析到服务器,nginx 做下转发就行
  • 相关网络与服务示意图 system02.png

如何使用本项目代码?

1. 创建个人企业微信 并获取到对应的 企业id(corp_id)

访问 管理员页面 , 可在 我的企业 > 企业信息 > 底部 看到 企业ID image3.png

1.1 创建一个企业微信内部应用,并获取到 AgentId 和 Secret

可在 我的企业 > 应用管理 > 自建 看到创建应用,创建一个名为 ChatGPT 的应用,并上传应用头像。创建完成后可以在应用详情页看到到 AgentId 和 Secret image3.png

2. 获取 OpenAI 的 KEY

访问 Account API Keys - OpenAI API ,点击 Create new secret key ,创建一个新的 key ,并保存备用。 image10.png

3. 点击启用消息

  • 会进入验证步骤, (先不验证 url 跳过)
  • 我们可以先拿到 TokenEncodingAESKey
  • 第 4 步 完成后再填写 url 来进行验证

image2.png

4. 在自购服务器上 通过 docker-compose 部署服务,并开启对外的网络端口

(本项目不提供宝塔面板安装咨询,请各位大佬自行摸索)

# git clone 项目 
git clone https://github.com/whyiyhw/chatgpt-wechat.git

# 完成后进入项目
cd ./chatgpt-wechat

# 接下来进入 chat 后端目录
cd ./chat

# 从备份生成 配置文件
cp ./service/chat/api/etc/chat-api.yaml.bak ./service/chat/api/etc/chat-api.yaml
vim ./service/chat/api/etc/chat-api.yaml
  • 修改这几个配置项
WeCom:                                            # 企业微信配置
CorpID: "wwxxxxxxxxxxxxxxxxxxxx"                  # 企业微信 CorpID
Token: "xxxxxxxxxx"                               # 企业微信应用/客服消息 Token
EncodingAESKey: "xxxxxxxxxxxxxxxx"                # 企业微信应用/客服消息 EncodingAESKey
MultipleApplication:                              # 多应用配置
- AgentID: 1000002                                # 企业微信应用ID
  AgentSecret: "55sO-xxxxxxxxxxxxxxxxxxxxxxx"     # 企业微信应用 Secret
  ManageAllKFSession: true                        # manage_all_kf_session 为 true 时,管理所有客服会话
  Model: "gpt-3.5-turbo"                          # openai 模型(可选)默认为 gpt-3.5-turbo 可选[gpt-3.5-turbo-16k, gpt-4,gpt-4-32k]
  BasePrompt: "你是 ChatGPT, 一个由 OpenAI 训练的大型语言模型,你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。" # openai 基础设定(可选)
  Welcome: "您好!我是 ChatGPT,一个由 OpenAI 训练的大型语言模型,我可以回答您的问题和进行交流。请告诉我您需要了解些什么,我会尽力为您提供答案。发送#help 查看更多功能"  # 进入应用时的欢迎语

OpenAi:
Key: "xxxxxxxxxxxxxxxxxxxxx"                      # OpenAi Key 
  • 前四个是企业微信 的配置

    • 访问 企业微信-管理员页面 , 可在 我的企业 > 企业信息 > 底部 看到 CorpID
    • DefaultAgentSecret 就是 步骤一中的 Secret
    • Token 跟 EncodingAESKey 可以在步骤3中拿到
  • 最后一个 是 openAPI 生成 KEY 的值


4.1 重点,(国外服务器-跳过这一步,点击至下一步) 因为 openai 对于大陆地区的封锁,如果你的服务器在国内,这边提供了两个方案

  • (一)自建 代理服务器,然后在 chat-api.yaml 中配置代理服务器的地址,相关的参数在 chat-api.yaml.complete.bak
Proxy:                                         # 代理配置 (可选)
  Enable: false                                # 是否启用代理,默认为 false(可选)
  Socket5: "{host}:{port}"                     # 代理地址 默认为 127.0.0.1:1080(可选)
  Http: "http://{host}:{port}"                 # 代理地址 默认为空(可选)

# host 是代指你实际代理应用的IP
# 因为本项目使用 docker-compose 搭建,所以一般应该填入代理应用所在宿主机的内网IP

如何自建代理,点击查看 自建代理

  • (二)使用 cf 自建反向域名代理,然后用的代理域名替换掉,OpenAi 的 Host 即可
OpenAi:                                             # openai配置
  Key: "xxxxxxxxxxxxxxxxxxxxx"                      # openai key
  Host: "https://api.openai.com"                    # openai host (可选,使用cf进行反向代理时,修改可用)

如何自建反向域名代理,点击查看 自建反向域名代理

4.2 应用编译、启动与配置企业微信应用消息的回调 url

# 确保 你现在的目录 在 chatgpt-wechat/chat 下, 再执行以下命令

# 去 build 项目(第一次需要下载依赖,可能会比较慢)
sudo docker-compose build
# 或者
sudo docker compose build


# 启动集成应用
sudo docker-compose up -d
# 或者
sudo docker compose up -d

# 后续如果进行了版本升级,需要重新 build 再 up ,一般配置文件(chat-api.yaml)改动,只需要 docker-compose restart  web 就好
  • 请确认 ip:8887 端口对外开放,如果是云服务器,需要在云服务器的安全组中,开放 8887 端口
    • 验证方式 curl --location http://{host}:8887 -v ,如果返回 400 响应就说明端口已开放,服务已经启动成功了
> GET / HTTP/1.1
> Host: xxxx.xxxx.xxx.xxx:8887
> User-Agent: curl/7.87.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 400 Bad Request
< Date: Fri, 28 Apr 2023 03:59:37 GMT
< Content-Length: 0
<
* Connection #0 to host xxx.xxx.xxx.xxx left intact
  • 最后在 企业微信的配置中,把 云服务器地址:8887 http://{host}:8887 填入,如下图 image26.png

5. 配置企业可信IP

  • 可以在详情页看到 企业可信IP的配置,把你服务器的 公网IP(不需要加端口) 填入就好,如果没有这个配置项,就说明是老应用,无需处理,这步跳过 image21.png

  • 🎉🎉 你的机器人就配置好了

6. 正式布发布与微信打通

可在 我的企业 > 微信插件 > 下方找到 一个邀请关注二维码, image13.png

微信扫码后,就可以在 微信中看到对应的公司名称,点进企业号应用,我们的机器人,赫然在列。

上述这些都配置完成后,你的机器人就配置好了

如果此项目对您有帮助,也可以扫码我的公众号,感谢关注!

  • 如果需要企业自定义方案,也可以wx我 whyiyhwxy

image99.png

7. 进阶玩法