InfiniGPT-Bitchat is an asynchronous, multi-channel AI chatbot for BitChat, ported from infinigpt-irc. It supports OpenAI, xAI, Google, Mistral, HuggingFace, Anthropic, and Ollama models. Each user has their own chat history and personality setting, and the bot can roleplay as almost anything you can imagine.
- Multi-channel and private messaging support
- Per-user chat history and personality
- Supports multiple LLM providers: OpenAI, xAI, Google, Mistral, HuggingFace, Anthropic, Ollama
- Customizable system prompts and personalities
- Admin commands for model and personality management
- Extensible tool system (add your own tools in
tools.pyandschema.json)
- Install dependencies:
pip install -r requirements.txt
- Get API keys for the services you want to use (OpenAI, xAI, Google, Mistral, HuggingFace, Anthropic). Add them to
config.json. - Edit
config.jsonto set your BitChat nickname, channels, admins, and available models. - (Optional) Install and configure Ollama for local LLMs.
- (Optional) Add your own tools in
tools.pyand register them inschema.json.
Run the bot:
python infinigpt_bitchat.py.ai <message>or<botname>: <message>: Talk to the bot.x <user> <message>: Talk to another user's chat history.persona <personality>: Change your personality (character, type, object, idea).custom <prompt>: Set a custom system prompt.reset: Reset to default personality.stock: Remove personality and reset to standard settings.model: List available models (admin only).model <modelname>: Change model (admin only).join <channel>: Join a channel (admin only).part <channel>: Leave a channel (admin only).gpersona <personality>: Set a new global default personality (admin only).help: Display the help menu
You can also privately message the bot to chat without using commands.
- Add new tools in
tools.py - Register tool schemas in
schema.json
This project is licensed under the GNU AGPL v3. See LICENSE.