{"id":19074648,"url":"https://github.com/xiangsx/wechatgpt","last_synced_at":"2025-04-29T17:21:02.133Z","repository":{"id":158031480,"uuid":"604040917","full_name":"xiangsx/wechatgpt","owner":"xiangsx","description":"实现接入chatgpt的微信聊天机器人，支持私聊和群聊","archived":false,"fork":false,"pushed_at":"2023-04-02T13:16:47.000Z","size":33,"stargazers_count":70,"open_issues_count":8,"forks_count":21,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-18T19:41:20.812Z","etag":null,"topics":["chat","chatgpt","docker","docker-compose","openai","robot","wechat","weixin"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiangsx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-02-20T07:58:09.000Z","updated_at":"2025-02-27T04:05:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"404d0e41-f712-49e4-bbd7-b7c47ad8ea26","html_url":"https://github.com/xiangsx/wechatgpt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiangsx%2Fwechatgpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiangsx%2Fwechatgpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiangsx%2Fwechatgpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiangsx%2Fwechatgpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiangsx","download_url":"https://codeload.github.com/xiangsx/wechatgpt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251546717,"owners_count":21606892,"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","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":["chat","chatgpt","docker","docker-compose","openai","robot","wechat","weixin"],"created_at":"2024-11-09T01:51:52.716Z","updated_at":"2025-04-29T17:21:02.112Z","avatar_url":"https://github.com/xiangsx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 介绍\n\n实现微信聊天机器人的功能，接入chatgpt最新的模型gpt-3.5-turbo，速度提升了10倍\n\n功能：\n1. 登录自己的微信小号，作为机器人，可以回复私聊或者在群里的@消息\n2. 支持自动发送登录二维码到指定邮箱，需要填写发送方的邮箱密钥(loginEmail),，以及接收方的邮箱地址(targetEmail), 我的代码只支持qq邮箱，其他邮箱可以改代码，很简单的，[nodemailer](https://www.npmjs.com/package/nodemailer)这个库啥邮箱都支持，***注意发送到邮箱的二维码，不能本机保存本机扫码，微信会识别失败，得另找个设备显示二维码，然后用手机扫码***\n3. 支持docker部署\n4. 支持代理\n5. 自持自定义用户历史对话数\n\n***注意：微信账号请使用小号，以防意外，微信保持登录需要完善个人信息，微信-\u003e我-\u003e服务-\u003e钱包-\u003e身份信息-\u003e个人信息，如果个人信息后面出现已完善说明就可以了，这是必须的步骤，不然容易掉线！！！***\n\n# 配置文件说明\n配置文件支持动态加载，直接修改保存即可生效\n\n```js\nmodule.exports = {\n    email: { // 发送登录二维码到邮箱的配置，掉线时候自动发送登录的二维码到邮箱，随时随地登录\n        enable: false,// 为true时 loginEmail targetEmail 必填\n        loginEmail: {\n            user: 'xxx@qq.com',// 发送的邮箱\n            pass: 'xxx',// 开启IMAP/SMTP服务，提供的密钥，不是邮箱密码\n        },\n        targetEmail: 'xxx@qq.com', // 接收的邮箱\n    },\n    heart: { // 主要是防止微信掉线的，一段时间没有活动，wechaty会自动掉线的 建议开启\n        enable: false,\n        timeInterval: 3 * 60,// 单位秒\n        contactName: 'xx', // 微信定时发送存活消息给指定用户，预防掉线\n    },\n    proxy: {\n        enable: false, // 如果使用代理请改为true\n        baseURL: 'https://api.openai.com/v1', //这个是固定的不用修改\n        host: '127.0.0.1', // 修改为自己的代理host\n        port: 1080, // 修改为自己的代理端口\n        protocol: 'socks' // 支持http,https,socks\n    },\n    apikey: 'xxxxxxx', // 你在openai申请的key，如果你没有可以点个star联系我\n    limit: {\n        all: {// 所有用户的配置，默认值\n            historyCount: 3, // 不同用户，保留历史对话数\n            max_tokens: 2048,// 最大字数限制\n        },\n        user: {\n            \"contactName\": {// 某个用户的配置，key是用户的微信昵称，不是备注，也不是群昵称，日志里面有打印\n                historyCount: 0, // 针对某些话痨，可以把这个值设置成0，节省api使用字数，设置0即没有历史对话\n                max_tokens: 1024,// 最大字数限制\n            },\n        }\n    },\n}\n```\n\n# 启动步骤\n\n1. 先在`config`目录下新建`config.js`文件，可以直接复制`config.demo`,然后填写配置，这里默认配置修改一下apikey就可以启动了,其他配置看情况选填\n```\ncp config.demo config.js\n```\n然后填写配置\n\n2. 启动\n\n运行docker-compose 启动容器\n```\ndocker-compose up --build -d\n```\n直接在日志中可以查看登录二维码\n```\ndocker-compose logs -f wechatgpt\n```\n\n# 实现效果\n私聊\n\n![image](https://user-images.githubusercontent.com/29322721/223895025-fe22d235-a4e3-43e2-b267-0d9f8e7873a0.png)\n\n群聊@它即可回复哦\n\n![image](https://user-images.githubusercontent.com/29322721/223895137-d5b2b7a4-e15d-4ad0-9900-22c427e5ba1f.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiangsx%2Fwechatgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiangsx%2Fwechatgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiangsx%2Fwechatgpt/lists"}