openaibot
⚡️ Build Your Own chatgpt Bot|🧀 Discord/Slack/Kook/Telegram |⛓ ToolCall|🔖 Plugin Support | 🌻 out-of-box | gpt-4o
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.0%) to scientific vocabulary
Keywords
Repository
⚡️ Build Your Own chatgpt Bot|🧀 Discord/Slack/Kook/Telegram |⛓ ToolCall|🔖 Plugin Support | 🌻 out-of-box | gpt-4o
Basic Info
- Host: GitHub
- Owner: LlmKira
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://llmkira.github.io/Docs
- Size: 17.9 MB
Statistics
- Stars: 1,983
- Watchers: 20
- Forks: 231
- Open Issues: 5
- Releases: 86
Topics
Metadata Files
README.md

🍩 Deploy Docs & 🧀 Dev Docs & 🤝 Contribute
Python>=3.9
This project is not abandoned, just no new features are planned.
This project was developed as an experimental project for MQ event-driven LLM.
If you encounter a problem, please raise an Issue
If you are looking for similar projects, check out: https://github.com/AstrBotDevs/AstrBot
It integrates a message queuing and snapshot system, offering plugin mechanisms and authentication prior to plugin execution.
The bot adheres to the Openai Format Schema. Please adapt using gateway or one-api independently.
| Demo | Vision With Voice | Code Interpreter |
|-------------------------------------------------------------------------------|--------------------------------------------------------------------------|---------------------------------------------------------------------------------------|
|
|
|
|
🔨 Roadmap
The program has iterated to its fourth generation.
- [x] Removal of legacy code
- [x] Deletion of metric system
- [x] Deletion of model selection system, unified to OpenAI Schema
- [x] Implementation of a more robust plugin system
- [x] Project structure simplification
- [x] Elimination of the Provider system
- [x] Hook support
- [x] Access to TTS
- [x] Add standalone support for gpt-4-turbo and vision
- [ ] Add LLM reference support to the plugin environment. (extract && search in text)
📦 Features
- 🍪 A comprehensive plugin development ecosystem, adopting a classic design, and seamless integration with plugins
through
pipinstallation - 📝 Message system with no time or sender constraints, offering fully decoupled logics
- 📬 Offers Login via a URL mechanism, providing a flexible and expandable authentication development solution
- 🍰 Empowers users to authorize plugin execution. Users can configure plugin environment variables at their discretion
- 📦 Support for plugins to access files
- 🍟 Multi-platform support – extend new platforms by inheriting the base class
- 🍔 Plugins can determine their appearance in new sessions dynamically, preventing performance degradation despite large amounts of plugins
🍔 Login Modes
Login via url: Use/login <a token>$<something like https://provider.com/login>to Login. The program posts the token to the interface to retrieve configuration information, how to develop this.Login: Use/login https://<api endpoint>/v1$<api key>$<the model>$<tool model such as gpt-3.5-turbo>to login
🧀 Plugin Can Do More
| Sticker Converter | Timer Function(built-in) |
|-------------------------------------|---------------------------------|
|
|
|
🎬 Platform Support
| Platform | Support | File System | Remarks |
|----------|---------|-------------|----------------------------------------|
| Telegram | ✅ | ✅ | |
| Discord | ✅ | ✅ | |
| Kook | ✅ | ✅ | Does not support triggering by reply |
| Slack | ✅ | ✅ | Does not support triggering by reply |
| Line | ❌ | | |
| QQ | ❌ | | |
| Wechat | ❌ | | |
| Twitter | ❌ | | |
| Matrix | ❌ | | |
| IRC | ❌ | | |
| ... | | | Create Issue/PR |
📦 Quick Start
Refer to the 🧀 Deployment Document for more information.
📦 One-click Deployment
If you are using a brand-new server, you can use the following shell to automatically install this project.
shell
curl -sSL https://raw.githubusercontent.com/LLMKira/Openaibot/main/deploy.sh | bash
📦 Manual Installation
```shell
Install Voice dependencies
apt install ffmpeg
Install RabbitMQ
docker pull rabbitmq:3.10-management docker run -d -p 5672:5672 -p 15672:15672 \ -e RABBITMQDEFAULTUSER=admin \ -e RABBITMQDEFAULTPASS=8a8a8a \ --hostname myRabbit \ --name rabbitmq \ rabbitmq:3.10-management docker ps -l
Install Project
git clone https://github.com/LlmKira/Openaibot/ cd Openaibot pip install pdm pdm install -G bot cp .env.exp .env && nano .env
Test
pdm run python3 startsender.py pdm run python3 startreceiver.py
Host
apt install npm npm install pm2 -g pm2 start pm2.json ```
Be sure to change the default password for the command, or disable open ports to prevent the database from being scanned and attacked.
🥣 Docker
Build Hub: sudoskys/llmbot
Note that if you run this project using Docker, you will start Redis, MongoDB, and RabbitMQ. But if you're running locally, just RabbitMQ
Manual Docker-compose Installation
shell
git clone https://github.com/LlmKira/Openaibot.git
cd Openaibot
cp .env.exp .env&&nano .env
docker-compose -f docker-compose.yml up -d
The Docker configuration file docker-compose.yml contains all databases. In fact, Redis and MongoDB are not required.
You can remove these databases yourself and use the local file system.
Update image using docker-compose pull.
Use docker exec -it llmbot /bin/bash to view Shell in Docker, enter exit to exit.
🍪 Slash Commands
shell
clear - Deletes chat records
login - Login to the bot
help - Displays documentation
chat - Conversation
task - Use a function to converse
ask - Disable function-based conversations
tool - Lists all functions
auth - Authorize a function
env - Environment variables of the function
learn - Learn your instructions, /learn reset to clear
💻 How to Develop Plugins?
Refer to the example plugins in the plugins directory and
the 🧀 Plugin Development Document for plugin development documentation.
Hooks
Hooks control the EventMessage in sender and receiver. For example, we have voice_hook in built-in hooks.
you can enable it by setting VOICE_REPLY_ME=true in .env.
```shell /env VOICEREPLYME=yes
must
/env REECHOVOICEKEY=
not must
```
use /env VOICE_REPLY_ME=NONE to disable this env.
check the source code in llmkira/extra/voice_hook.py, learn to write your own hooks.
🧀 Sponsor
📜 Notice
This project, named OpenAiBot, signifying "Open Artificial Intelligence Robot", is not officially affiliated with OpenAI.
Owner
- Name: LLM Kira
- Login: LlmKira
- Kind: organization
- Email: me@dianas.cyou
- Location: Singapore
- Website: https://llmkira.github.io/Docs
- Repositories: 23
- Profile: https://github.com/LlmKira
Cat Friendly Promotion Association Lab
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "sudoskys" title: "Openaibot" version: 2.0.4 url: "https://github.com/LlmKira/Openaibot"
GitHub Events
Total
- Watch event: 72
- Issue comment event: 4
- Push event: 15
- Pull request event: 10
- Fork event: 15
- Create event: 2
Last Year
- Watch event: 72
- Issue comment event: 4
- Push event: 15
- Pull request event: 10
- Fork event: 15
- Create event: 2
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 33
- Total pull requests: 74
- Average time to close issues: 3 months
- Average time to close pull requests: 4 days
- Total issue authors: 5
- Total pull request authors: 2
- Average comments per issue: 0.48
- Average comments per pull request: 0.89
- Merged pull requests: 71
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 9
- Average time to close issues: N/A
- Average time to close pull requests: 1 minute
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.89
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- sudoskys (25)
- liuran001 (1)
- thinker007 (1)
- sunrisewestern (1)
- FrostleafChan (1)
Pull Request Authors
- sudoskys (116)
- FrostleafChan (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
- Total downloads: unknown
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 92
proxy.golang.org: github.com/llmkira/openaibot
- Documentation: https://pkg.go.dev/github.com/llmkira/openaibot#section-documentation
- License: apache-2.0
-
Latest release: v1.6.9-beta
published almost 3 years ago
Rankings
proxy.golang.org: github.com/LlmKira/Openaibot
- Documentation: https://pkg.go.dev/github.com/LlmKira/Openaibot#section-documentation
- License: apache-2.0
-
Latest release: v1.6.9-beta
published almost 3 years ago
Rankings
Dependencies
- actions/checkout v3 composite
- docker/build-push-action v3.2.0 composite
- docker/login-action v2.1.0 composite
- docker/metadata-action v4.1.1 composite
- python 3.10-slim build
- redis latest
- sudoskys/openaibot main
- SpeechRecognition *
- pyaudio *
- Pillow *
- aiohttp *
- apscheduler *
- beautifulsoup4 *
- elara *
- fastapi *
- fasttext >=0.9.1
- graia-ariadne *
- graia-broadcast *
- graiax-silkcoder *
- httpx *
- jieba *
- loguru *
- nltk *
- numpy *
- openai *
- openai-kira >=0.2.2
- pathlib *
- pyTelegramBotAPI *
- pycorrector *
- pydantic *
- redis *
- requests >=2.22.0
- rich *
- rtoml *
- scikit-learn *
- transformers *
- uvicorn *
- wget *
