Welcome to wechat-chatgpt 👋
Use ChatGPT On Wechat via wechaty
English | 中文文档
🌟 Feature
- Use ChatGPT on WeChat with wechaty and Official API
- Add conversation Support
- Add Dockerfile, you can use it with docker
- Publish to Docker.hub
- Deploy using docker compose
- Add Railway deploy
- Add Fly.io deploy
-
Supports custom ChatGPT API - Set prompt
- Continuous conversation
- Support command setting
- Support proxy
🚀 Usage
- 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)
Use with Railway
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
Use with Fly.io
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
Use with docker
# 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
Use with docker compose
# 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
Use with nodejs
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 npm dev
Please make sure your WeChat account can log in WeChat on web
📝 Environment Variables
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 | |||
DISABLE_GROUP_MESSAGE | true | ||
CHAT_PRIVATE_TRIGGER_KEYWORD | Keyword to trigger ChatGPT reply in WeChat private chat | ||
BLOCK_WORDS | "WORD1,WORD2,WORD3" | Chat blocker words, (works for both private and group chats, Use, Split) | |
CHATGPT_BLOCK_WORDS | "WORD1,WORD2,WORD3" | The blocked words returned by ChatGPT(works for both private and group chats, Use, Split) |
📝 Using Custom ChatGPT API
# 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 },
]
⌨️ Commands
Enter in the WeChat chat box
/cmd help # Show help
/cmd prompt <PROMPT> # Set prompt
/cmd clear # Clear all sessions since last boot
✨ Contributor
🤝 Contributing
Contributions, issues and feature requests are welcome!
Feel free to
check issues page.
Show your support
Give a ⭐️ if this project helped you!