Files
cyclop/README.md
T

76 lines
2.5 KiB
Markdown
Raw Normal View History

# Telegram Inference Bot with Daemon and Apprentice System
This project implements a Telegram bot system with two instances: a daemon bot and an apprentice bot. The daemon bot handles the main workload, while the apprentice bot can be updated and take over when needed.
## Features
- Daemon bot for handling main workload
- Apprentice bot for updates and handovers
- Automatic updates for the apprentice bot when new pull requests are merged
- Inter-bot communication
- Support for both OpenAI and Anthropic AI models
- Tool integration for extended functionality
## Setup
1. Clone the repository:
```
git clone https://github.com/your_username/your_repo_name.git
cd your_repo_name
```
2. Install the required dependencies:
```
pip install -r requirements.txt
```
3. Copy the `.env.example` file to `.env` and fill in your actual values:
```
cp .env.example .env
```
4. Edit the `.env` file with your specific tokens and settings.
5. Run the bot:
```
python telegram_inference_bot.py
```
## Environment Variables
Make sure to set the following environment variables in your `.env` file:
- `TELEGRAM_BOT_TOKEN`: Token for the daemon bot
- `TELEGRAM_APPRENTICE_BOT_TOKEN`: Token for the apprentice bot
- `OPENAI_API_KEY`: Your OpenAI API key
- `ANTHROPIC_API_KEY`: Your Anthropic API key
- `GITHUB_REPO_OWNER`: Your GitHub username or organization
- `GITHUB_REPO_NAME`: Your repository name
- `GITHUB_ACCESS_TOKEN`: Your GitHub personal access token
- `DAEMON_CHAT_ID`: Chat ID for the daemon bot
- `APPRENTICE_CHAT_ID`: Chat ID for the apprentice bot
## Usage
- Start the bot by running `python telegram_inference_bot.py`
- Use `/start` to begin interacting with either bot
- Use `/handover` in the daemon bot to initiate a handover to the apprentice bot
- The apprentice bot will automatically check for updates every 15 minutes
## Commands
- `/start`: Start interacting with the bot
- `/clear`: Clear conversation history
- `/switch`: Switch between GPT models (GPT-4 and GPT-4 Mini)
- `/toggle`: Toggle between OpenAI and Anthropic providers
- `/status`: Check the current model and provider
- `/handover`: (Daemon bot only) Initiate handover to apprentice bot
- `/update`: (Apprentice bot only) Manually trigger an update
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.