{"id":13615791,"url":"https://github.com/houko/wechatgpt","last_synced_at":"2025-10-10T10:21:35.821Z","repository":{"id":64654709,"uuid":"575234714","full_name":"houko/wechatgpt","owner":"houko","description":"wechatgpt golang版 chatgpt机器人(可docker部署)，目前支持wechat，telegram","archived":false,"fork":false,"pushed_at":"2024-04-05T04:38:34.000Z","size":14915,"stargazers_count":865,"open_issues_count":5,"forks_count":188,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-16T12:05:07.638Z","etag":null,"topics":["chatgpt","golang","slack","wechat"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/houko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-07T03:37:33.000Z","updated_at":"2025-04-16T05:23:58.000Z","dependencies_parsed_at":"2024-04-07T21:00:20.785Z","dependency_job_id":null,"html_url":"https://github.com/houko/wechatgpt","commit_stats":{"total_commits":138,"total_committers":7,"mean_commits":"19.714285714285715","dds":"0.16666666666666663","last_synced_commit":"b1fc304e1462e9587eb16fd49c3a7fdf81898a9b"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/houko/wechatgpt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houko%2Fwechatgpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houko%2Fwechatgpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houko%2Fwechatgpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houko%2Fwechatgpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/houko","download_url":"https://codeload.github.com/houko/wechatgpt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/houko%2Fwechatgpt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003506,"owners_count":26083594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt","golang","slack","wechat"],"created_at":"2024-08-01T20:01:17.961Z","updated_at":"2025-10-10T10:21:35.796Z","avatar_url":"https://github.com/houko.png","language":"Go","funding_links":[],"categories":["Go","WeChat","Integrations","Others"],"sub_categories":["WeChat"],"readme":"## 欢迎使用`wechatgpt`智能机器人，Let's Chat with ChatGPT\n\n如果觉得不错，请麻烦点个`Star`，非常感谢。（最新己经添加了docker部署的方式）\n\n\u003cp\u003e\n\u003cimg alt=\"Version\" src=\"https://img.shields.io/badge/version-3.0.1-blue.svg?cacheSeconds=86400\" /\u003e\n  \u003ca href=\"#\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-green.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## 介绍\n\n基于 OpenAI 官方 API 开发的微信智能机器人。\n\n功能：\n- 多模态对话\n  - gpt4-vision-preview 识别图片并回复\n  - DALL·E 生成图片（“生成图片” 关键字）\n\n感谢 https://github.com/houko/wechatgpt 提供的基础代码\n\n在 `wechatgpt` 的基础上，我增加了多模态对话的功能，以及修复一些问题。\n\n## 运行命令\n\n```bash\ngit clone https://github.com/t3ls/wechatgpt.git\ncd wechatgpt \u0026\u0026 docker compose up -d\n```\n\n## 修改你的token\n\n打开 [openai](https://beta.openai.com/account/api-keys) 并注册一个账号,\n生成一个api_key并把api_key放到`local/config.yaml`\n的token下，请看如下示例(说了是示例别试了,内容乱写的，也感谢@那些担心泄漏key的)：\n\n```\nchatgpt:\n  wechat: 小莫\n  token: sk-pKHZD1fLYqXDjjsdsdsdUvIODTT3ssjdfadsJC2gTuqqhTum\n  telegram: your telegram token\n```\n\n大陆用户注册`openai`请参考 [注册ChatGPT详细指南](https://sms-activate.org/cn/info/ChatGPT)\n\n## 运行App\n\n### 环境变量\n\n| 变量名            | 值                 | 作用               |\n|----------------|-------------------|------------------|\n| api_key        | \"chatgpt的api_key\" | 必填项              |\n｜openai_text_model| \"gpt-3.5-turbo\" | 可选项，不填默认为gpt-3.5-turbo |\n| openai_vision_model| \"gpt4-vision-preview\" | 可选项，不填默认为gpt4-vision-preview |\n| openai_image_model| \"dall-e-2\" | 可选项，不填默认为dall-e-2 |\n| wechat         | \"true\" 或缺省        | 如果为true就会启动微信机器人 |\n| wechat_keyword | \"关键字\"或缺省          | 如果缺省则发任何消息机器都会回复 |\n| telegram       | telegram的token或缺省 | 如果要启动tg机器人需要填写   |\n| tg_keyword     | telegram触发关键字或缺省  | 如果需要关键字触发就填写     |\n| tg_whitelist   | telegram的触发白名单    | 白名单以外的用户名发消息不会触发 |\n\n```\ngo run main.go\n```\n\n或者修改 docker-compose.yml 文件中的环境变量后运行\n\n\n## 运行`telegram`智能机器人（暂不对 telegram 相关原始代码进行维护）\n\n运行`telegram`智能机器人的话运行下面这段代码\n\n```\ndocker run -d \\\n--name wechatgpt \\\n-e api_key=\"你的chatgpt api_key\" \\\n-e telegram=\"你的telegram token\" \\\nxiaomoinfo/wechatgpt:latest\n\n```\n\n如果运行`telegram`智能机器人时只希望指定的人使用，白名单以外的人发消息机器人不会回复\n\n```\ndocker run -d \\\n--name wechatgpt \\\n-e api_key=\"你的chatgpt api_key\" \\\n-e telegram=\"你的telegram token\" \\\n-e tg_whitelist=\"username1,username2\" \\\nxiaomoinfo/wechatgpt:latest\n\n```\n\n如果运行`telegram`智能机器人时希望在群里回复别人消息，可以指定一个关键字触发\n\n```\ndocker run -d \\\n--name wechatgpt \\\n-e api_key=\"你的chatgpt api_key\" \\\n-e telegram=\"你的telegram token\" \\\n-e tg_keyword=\"小莫\" \\\nxiaomoinfo/wechatgpt:latest\n\n```\n\n\u003cimg src=\"screenshots/docker部署.png\" alt=\"drawing\" style=\"width:450px;\"/\u003e\n\n### 微信\n\n```\nain.go #gosetup\ngo: downloading github.com/eatmoreapple/openwechat v1.2.1\ngo: downloading github.com/sirupsen/logrus v1.6.0\ngo: downloading github.com/spf13/afero v1.9.2\ngo: downloading github.com/pelletier/go-toml/v2 v2.0.5\ngo: downloading golang.org/x/sys v0.0.0-20220908164124-27713097b956\n/private/var/folders/8t/0nvj_2kn4dl517vhbc4rmb9h0000gn/T/GoLand/___go_build_main_go\n访问下面网址扫描二维码登录\nhttps://login.weixin.qq.com/qrcode/QedkOe1I4w==\n```\n\n会自动打开默认浏览器，如果没有打开也可以手动点击上面的链接打开二维码扫微信\n\n```\n2022/12/09 15:15:00 登录成功\n2022/12/09 15:15:01 RetCode:0  Selector:2\n2022/12/09 15:15:04 RetCode:0  Selector:2\nINFO[0099] 0 \u003cFriend:hxh,晓华\u003e                            \nINFO[0099] 1 \u003cFriend:刘葵\u003e                                \nINFO[0099] 2 \u003cFriend:吕\u003e                                 \nINFO[0099] 3 \u003cFriend:wloscar\u003e               \n```\n\n登陆成功后会拉取微信的好友和群组\n\n### 如何使用\n\n默认为`chatgpt`，如果想设置其他的触发方式可以修改`local/config.yaml`的wechat。此时，如果别人给你发消息带有关键字`chatgpt`\n，你的微信就会调用`chatGPT`AI自动回复你的好友。\n当然，在群里也是可以的。\n\n## Q\u0026A\n\n### 1. 返回错误`invalid_api_key`\n\n这是因为`openai`的`API`\n需要付费，价格非常便宜具体可以官网查看。按照如下参考绑定一下信息卡就可以正常使用了，如果还是有错就把`API Key`删掉重新建一个。\n![img.png](screenshots/billing.png)\n\n### 2. Cannot load io/fs: malformed module path \"io/fs\": missing dot in first path element\n\ngolang版本太低，需要`1.16`以上，查看方式为`go version`\n\n```\n$ go version\ngo version go1.17.3 linux/amd64\n```\n\n### 3. 扫码登陆时出现错误 FATA【0023】write token.json: bad file descriptor\n\n删除项目根目录下的`token.json`后重新扫码登陆即可\n\n### 4. go mod tidy时connect: connection refused\n\n```\ngo: github.com/eatmoreapple/openwechat@v1.2.1: Get https://proxy.golang.org/github.com/eatmoreapple/openwechat/@v/v1.2.1.mod: dial tcp 142.251.43.17:443:\n```\n\n自身网络环境问题，请排查网络设置\n\n## 协议\n\n[MIT LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhouko%2Fwechatgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhouko%2Fwechatgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhouko%2Fwechatgpt/lists"}