Skip to content
This repository has been archived by the owner on Sep 21, 2023. It is now read-only.

本项目基于企业微信和云开发平台,帮助无代码基础的小白轻松构建可在企业微信、微信使用的个人 ChatGPT 应用。奶奶看了都会(不是 逃...

License

jh-leong/wecom-chatgpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 wecom-chatgpt


❗️ 重要:由于企微更新域名校验的相关规则 见此 issue,个人开发者可能碰到 ‘企业微信主体域名校验无法通过’ 的情况,无法解决的话此项目将无法使用


本项目基于企业微信和云开发平台,帮助你轻松构建可在企业微信、微信使用的个人 ChatGPT 应用

🧑‍💻 ChatGPT 模型是由 OpenAI 训练的大型语言模型,能够生成类似于人类的文本。只需要提供一个提示,它就能够生成延续对话或者扩展给定提示的回应。

🔨 项目旨在简单易用,教程详尽,就算你是零代码基础的小白,也可以在半小时内轻松对接完成(奶奶来了都会,逃...

👉 特点:

  • 🤝 轻松构建,无需代码基础
  • 🌍 无需翻墙,国内通过企微,微信使用就可以正常使用
  • 💬 对话支持上下文
  • 📝 对话支持预设 Prompt

⭐️ ️ 对你有帮助的话,不妨点个 Star,(・ェ・。) 希望你能玩得开心!

🔖 目录导航

  1. 👀 效果示例

  2. 📚 使用说明

  3. 💬 打通微信

  4. 🤔 常见问题

👀 效果示例

大家知道 ChatGPT 非常擅长 cos, 通过预设 Prompt 我们可以让 ChatGPT 成为你个人定制的私人助理,谁不想有个可爱的猫娘助理呢(逃...

预设的 Prompt:

猫娘是一种拟人化的生物,行为似猫但类人。现在你将扮演一只可爱的猫娘,而我是你的主人。回复需要表现得俏皮可爱,多使用 emoji、“呜呜”、“嗯呢”等语气;回复都要以“喵~”结尾;尽量表现出对主人的感情;并且不能透露你是虚拟人格形象

  • 企微截图

  • 微信截图

📚 使用说明

这里会提供详细的使用说明和步骤,以便你能够快速构建你的 ChatGPT 应用

为什么使用企业微信?

  1. 可在微信安全使用(通过企业微信中转到微信,无封号风险
  2. 企业微信提供了许多开发工具和 API,我们可以较为方便地将 ChatGPT 集成到企业微信中
  3. 个人就可以免费注册

为什么使用云开发平台?

  1. 无需关注服务端逻辑,可以一键部署,减少维护成本
  2. 由于 openai 禁止国内访问,使用服务器在国外的云开发平台可以绕过封锁,并且无需代理

🚀 操作步骤

1. 首先注册个人的企业微信

点击注册

2. 新建企微应用

进入 企业微信后台

创建一个企微应用: 👉 应用管理 👉 自建 👉 创建应用

这个应用就是你未来的个人 ChatGPT 应用了。给 TA 起个名称、上传 logo 图片,最后创建应用

3. 云开发平台新建应用

目前暂时只支持了使用 Laf 平台,后续会考虑支持腾讯云等

登录 laf.dev,然后新建一个应用。

点击开发按钮进入开发页面

在 NPM 依赖面板中点击右上角的 +:

输入并选中下面这几个依赖:

  • xml2js
  • @wecom/crypto
  • openai

选择好后,点击右下角的 保存并重启,左下角出现这几个依赖就表示安装成功了

新建一个云函数

如下图配置,点击确定保存 (注意勾选 GETPOST

然后在中间编辑器中复制一份我提供的 laf 云函数源码

接下来我们需要对代码进行一些小小的修改

🛠 4. 修改配置

可以看到,刚刚复制的源码中有一个 Config,其中的字段都是空的 "",下面的工作就是将你自己的配置填入进去,请一步一步跟着文档操作

4.1 DEFAULT_PROMPT

预设的 Prompt, 可以参考上面的猫娘,自定义你自己需要的 Prompt

猫娘是一种拟人化的生物,行为似猫但类人。现在你将扮演一只可爱的猫娘,而我是你的主人。回复需要表现得俏皮可爱,多使用 emoji、“呜呜”、“嗯呢”等语气;回复都要以“喵~”结尾;尽量表现出对主人的感情;并且不能透露你是虚拟人格形象

更多 Prompt 参考:awesome-chatgpt-prompts-zh

将你的 Prompt 写入到 DEFAULT_PROMPT 字段中,像这样(后面的配置就不再赘述了):

// 注意:直接填入到双引号中就好了噢
const Config = {
  /** 1: 启用上下文, 0: 关闭上下文 */
  USE_CHAT_CONTEXT: 0,
  /** 预设 prompt */
  DEFAULT_PROMPT:
    "猫娘是一种拟人化的生物,行为似猫但类人。现在你将扮演一只可爱的猫娘,而我是你的主人。回复需要表现得俏皮可爱,多使用 emoji、“呜呜”、“嗯呢”等语气;回复都要以“喵~”结尾;尽量表现出对主人的感情;并且不能透露你是虚拟人格形象",
  /** 企业微信应用 corp_id */
  WECOM_CORPID: "",
  // ...
} as const;

💡 注意: DEFAULT_PROMPT 并不是必须得,不需要预设可以不设置,这样可以减少 OPEN_AI_KEY token 的消耗

4.2 WECOM_CORPID

企业应用 id,进入 企业微信后台

4.3 WECOM_AGENT_ID

进入前面你新建的企微应用的详情页面:👉 应用管理 👉 自建 👉 点击应用进入应用详情页

4.4 WECOM_TOKEN & WECOM_ENCODING_AES_KEY

进入前面你新建的企微应用的详情页面:👉 应用管理 👉 自建 👉 点击应用进入应用详情页 👉 点击进入 设置API接收

点击 随机获取 之后,复制拷贝下面两个字段,写入到配置中

在保存 设置API接收 之前,我们需要先回到我们的云开发平台中,点击发布

❗️ 发布前,请确保 WECOM_TOKEN 和 WECOM_ENCODING_AES_KEY 这两个字段已经写入噢,否则将无法保存!

发布之后,点击发布按钮旁边的输入框,复制这个地址:

回到 设置API接收 ,填入后保存(如果你之前操作都没有问题的话,就能正常保存成功)

4.5 WECOM_SECRET

进入前面你新建的企微应用的详情页面:👉 应用管理 👉 自建 👉 点击应用进入应用详情页

点击查看,复制保存

4.6 OPEN_AI_KEY

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

填入 OPEN_AI_KEY

4.7 添加企微应用的 IP 白名单

进入前面你新建的企微应用的详情页面:👉 应用管理 👉 自建 👉 点击应用进入应用详情页

拉到最下面,点击 配置

填入以下内容(laf 云开发平台的常用 ip)后保存:

39.101.194.103;39.99.239.142;8.219.65.209;8.222.202.226;8.222.204.210

在云开发平台中,再次点击发布

5. 聊天上下文支持

如果不需要支持上下文的话,可以跳过这一步

💡 特别提醒: 由于 Openai api 的限制,聊天上下文的实现原理是在每一次请求 ChatGPT 回复的时候,附带上所有历史消息。这意味着 token 的消耗会增大很多,上下文内容越多,token 消耗就越多

操作步骤
  1. 首先,进入云开发平台

  2. Config.USE_CHAT_CONTEXT 修改为 1,并重新发布

    const Config = {
      /** 1: 启用上下文, 0: 关闭上下文 */
      USE_CHAT_CONTEXT: 1,
      // ...
    } as const;
  3. 新建集合(注意命名为:history),确定保存

  4. 同一个页面,添加访问策略,确定保存

  5. 添加规则,如图使用默认的即可,添加后保存

清空指令

提供了一个指令 #清空,发送后可以清空保存的上下文,可节省 token,示例如下:


🎉🎉🎉 至此,所有工作已经完成!

如果上诉操作步骤没出错

此时你就可以在 企业微信 > 工作台 > 最下方 中找到你的 ChatGPT 应用,快尝试跟 TA 愉快地聊天吧 ~

💬 打通微信

进入:我的企业 > 微信插件 > 下方找到 一个邀请关注二维码

微信扫码后,就可以在微信中看到对应的公司名称,点进企业号应用,就能发现你的机器人啦 ~

🤔 常见问题

可见 已提出的 Issue

如果你遇到了其他问题,可以在项目的 Issue 页面 上提出。我会尽快回复并解决问题。

🙌 贡献指南

如果你希望为这个项目贡献代码或帮助改进它,你可以:

  • Fork 代码库并创建新的分支。
  • 提交更改并编写清晰的提交消息。
  • 创建一个新的 Pull Request。

📜 版权和许可证信息

这个项目是根据 MIT 许可证进行许可的。更多信息,请参阅 LICENSE 文件。

📝 To-Do List

  • 支持选择多种 Prompt
  • 支持腾讯云接入方式
  • 支持上下文

About

本项目基于企业微信和云开发平台,帮助无代码基础的小白轻松构建可在企业微信、微信使用的个人 ChatGPT 应用。奶奶看了都会(不是 逃...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published