wechat-chatgpt README

The project's README from github.com/fuergaosi233/wechat-chatgpt. As one markdown file: README.md.

!!!! Project Archived 📦 !!!!

This project has been archived. Thank you to everyone who contributed! 🙌😔

Welcome to wechat-chatgpt 👋

Version License: ISC Twitter: fuergaosi join discord community of github profile readme generator

Use ChatGPT On Wechat via wechaty
English | 中文文档

Deploy on Railway

🌟 Features

🚀 Usage

Use with Railway

Railway offers $5 or 500 hours of runtime per month

  1. Click the Railway button to go to the Railway deployment page
  2. Click the Deploy Now button to enter the Railway deployment page
  3. Fill in the repository name and OPENAI_API_KEY (need to link GitHub account)
  4. Click the Deploy button
  5. 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)

  1. Install flyctl
     # macOS
     brew install flyctl
     # Windows
     scoop install flyctl
     # Linux
     curl https://fly.io/install.sh | sh
    
  2. Clone the project and enter the project directory
    git clone https://github.com/fuergaosi233/wechat-chatgpt.git && cd wechat-chatgpt
    
  3. 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
    
  4. Configure the environment variables
    flyctl secrets set OPENAI_API_KEY="<YOUR OPENAI API KEY>" MODEL="<CHATGPT-MODEL>"
    
  5. 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 run dev

Please make sure your WeChat account can log in WeChat on web

📝 Environment Variables

name description
API API endpoint of ChatGPT
OPENAI_API_KEY create new secret key
MODEL ID of the model to use. Currently, only gpt-3.5-turbo and gpt-3.5-turbo-0301 are supported.
TEMPERATURE 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 Prohibited to use ChatGPT in group chat.
CHAT_PRIVATE_TRIGGER_KEYWORD Keyword to trigger ChatGPT reply in WeChat private chat
BLOCK_WORDS Chat blocker words, (works for both private and group chats, Use, Split)
CHATGPT_BLOCK_WORDS The blocked words returned by ChatGPT(works for both private and group chats, Use, Split)

📝 Using Custom ChatGPT API

https://github.com/fuergaosi233/openai-proxy

# 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!

wechat-chatgpt (fuergaosi233/wechat-chatgpt)

Searching Database…

What is this?A bot that plugs ChatGPT into WeChat: you self-host it, and your WeChat account can then chat with GPT-3.5 in private and group chats. It is built on the wechaty library and talks to the official OpenAI API.
Is this a plugin I install into the WeChat app, or something I run separately?Something you run separately: it is a Node.js bot that logs into WeChat as your own account through wechaty, so that account has to be one that can use WeChat on the web.
How do I get it running?Five options, all in the README: one-click Railway, Fly.io, docker, docker compose, or plain Node.js 18+. Railway is recommended - click Deploy, link GitHub, fill in your OPENAI_API_KEY and wait for the logs.
What do I need to have before deploying it?An OpenAI API key (the OPENAI_API_KEY variable), a WeChat account that can log in to web WeChat, and Node.js 18 or newer if you skip Docker. Fly.io deployments should get 512MB of memory.
Is the project still actively maintained?No - it has been archived, so expect no updates. On top of that it only supports the old gpt-3.5-turbo models and requires a web-WeChat-capable account, so it may stop working at any time.
Is there a free way to host it?Yes - Railway offers $5 or 500 runtime hours per month and Fly.io has free allowances up to $5, and the README marks both as recommended free options; Docker self-hosting is free too.
Can I stop it from saying certain things?Yes. BLOCK_WORDS filters what users may ask and CHATGPT_BLOCK_WORDS filters the replies ChatGPT returns; both work in private and group chats as comma-separated lists.
Can I control when it answers in private chats?Yes - CHAT_PRIVATE_TRIGGER_KEYWORD sets a keyword that triggers a reply in a private chat, and CHAT_TRIGGER_RULE defines the private chat triggering rules.
Size
1.3 MB
Stars
13.2K
Age
3y
Commits · 90 Days