Use ChatGPT On Wechat via wechaty
English | 中文文档
-
Interact with WeChat and ChatGPT:
- Use ChatGPT on WeChat with wechaty and Official API
- Add conversation support
- Support command setting
-
Deployment and configuration options:
- Add Dockerfile, deployable with docker
- Support deployment using docker compose
- Support Railway and Fly.io deployment
-
Other features:
- Use with Railway(PaaS, Free, Stable, ✅Recommended)
- Use with Fly.io(Paas, Free, ✅Recommended)
- Use with docker(Self-hosted, Stable, ✅Recommended)
- Use with docker compose(Self-hosted, Stable, ✅Recommended)
- Use with nodejs(Self-hosted)
Railway offers $5 or 500 hours of runtime per month
- Click the Railway button to go to the Railway deployment page
- Click the
Deploy Now
button to enter the Railway deployment page - Fill in the repository name and
OPENAI_API_KEY
(need to link GitHub account) - Click the
Deploy
button - Click the
View Logs
button and wait for the deployment to complete
Please allocate 512MB memory for the application to meet the application requirements
fly.io offers free bills up to $5(Free Allowances 3 256MB are not included in the bill)
- Install flyctl
# macOS brew install flyctl # Windows scoop install flyctl # Linux curl https://fly.io/install.sh | sh
- Clone the project and enter the project directory
git clone https://github.com/fuergaosi233/wechat-chatgpt.git && cd wechat-chatgpt
- Create a new app
➜ flyctl launch ? Would you like to copy its configuration to the new app? No ? App Name (leave blank to use an auto-generated name): <YOUR APP NAME> ? Select region: <YOUR CHOOSE REGION> ? Would you like to setup a Postgresql database now? No ? Would you like to deploy now? No
- Configure the environment variables
flyctl secrets set OPENAI_API_KEY="<YOUR OPENAI API KEY>" MODEL="<CHATGPT-MODEL>"
- Deploy the app
flyctl deploy
# pull image
docker pull holegots/wechat-chatgpt
# run container
docker run -d --name wechat-chatgpt \
-e OPENAI_API_KEY=<YOUR OPENAI API KEY> \
-e MODEL="gpt-3.5-turbo" \
-e CHAT_PRIVATE_TRIGGER_KEYWORD="" \
-v $(pwd)/data:/app/data/wechat-assistant.memory-card.json \
holegots/wechat-chatgpt:latest
# View the QR code to log in to wechat
docker logs -f wechat-chatgpt
How to get OPENAI API KEY? Click here
# Copy the configuration file according to the template
cp .env.example .env
# Edit the configuration file
vim .env
# Start the container
docker-compose up -d
# View the QR code to log in to wechat
docker logs -f wechat-chatgpt
You need NodeJS 18.0.0 version and above
# Clone the project
git clone https://github.com/fuergaosi233/wechat-chatgpt.git && cd wechat-chatgpt
# Install dependencies
npm install
# Copy the configuration file according to the template
cp .env.example .env
# Edit the configuration file
vim .env
# Start project
npm run dev
Please make sure your WeChat account can log in WeChat on web
name | default | example | description |
---|---|---|---|
https://api.openai.com | |||
OPENAI_API_KEY | 123456789 | sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | create new secret key |
MODEL | gpt-3.5-turbo | ID of the model to use. Currently, only gpt-3.5-turbo and gpt-3.5-turbo-0301 are supported. | |
TEMPERATURE | 0.6 | What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. | |
CHAT_TRIGGER_RULE | Private chat triggering rules. | ||
DISABLE_GROUP_MESSAGE | true | Prohibited to use ChatGPT in group chat. | |
CHAT_PRIVATE_TRIGGER_KEYWORD | Keyword to trigger ChatGPT reply in WeChat private chat | ||
BLOCK_WORDS | "VPN" | "WORD1,WORD2,WORD3" | Chat blocker words, (works for both private and group chats, Use, Split) |
CHATGPT_BLOCK_WORDS | "VPN" | "WORD1,WORD2,WORD3" | The blocked words returned by ChatGPT(works for both private and group chats, Use, Split) |
# Clone the project
git clone https://github.com/fuergaosi233/openai-proxy
# Install dependencies
npm install && npm install -g wrangler && npm run build
# Deploy to CloudFlare Workers
npm run deploy
# Custom domain (optional)
Add `Route` to `wrangler.toml`
routes = [
{ pattern = "Your Custom Domain", custom_domain = true },
]
Enter in the WeChat chat box
/cmd help # Show help
/cmd prompt <PROMPT> # Set prompt
/cmd clear # Clear all sessions since last boot
Contributions, issues and feature requests are welcome!
Feel free to
check issues page.
Give a ⭐️ if this project helped you!