Was macht AstrBot?
KI-Agent-Assistent & Entwicklungs-Framework, das viele IM-Plattformen, LLMs, Plugins und KI-Funktionen integriert und eine Alternative zu OpenClaw darstellt. ✨
Funktionen
- Multi-Plattform-Unterstützung: Integriert Discord, Telegram, Slack, WeChat und mehr.
- LLM-Integration: Unterstützt GPT-4, Claude, lokale Modelle über Ollama und weitere.
- Plugin-System: Erweiterbar durch Plugins für Kontextspeicher, Aufgabenplanung, Codeausführung und mehr.
- Aufgabenautomatisierung: Plant und führt wiederkehrende Aufgaben aus.
- Kontextverwaltung: Behält Gesprächsverläufe und Kontext über mehrere Kanäle hinweg bei.
- Open Source: Vollständig unter MIT-Lizenz verfügbar und von der Community gepflegt.
Installation
pip install astrbot
Oder klonen Sie das Repository:
git clone https://github.com/AstrBotDevs/AstrBot.git
cd AstrBot
pip install -r requirements.txt
Schnellstart
- Konfiguration erstellen: Kopieren Sie
config.example.yamlinconfig.yamlund passen Sie die Einstellungen an. - Einen Bot starten:
aastrbot run
- Mit dem Bot interagieren: Verbinden Sie sich über den entsprechenden Client auf Ihrer bevorzugten IM-Plattform.
Konfiguration
Die wichtigsten Konfigurationsparameter in config.yaml:
platforms:
- type: discord
token: "DISCORD_TOKEN_HERE"
- type: telegram
token: "TELEGRAM_TOKEN_HERE"
llm:
provider: openai
model: gpt-4
api_key: "OPENAI_API_KEY_HERE"
plugins:
- name: context_manager
enabled: true
- name: task_scheduler
enabled: true
Plugin-System
AstrBot verwendet ein modulares Plugin-System, um die Funktionalität zu erweitern. Jedes Plugin ist ein Python-Modul im Verzeichnis plugins/. Ein einfaches Plugin könnte so aussehen:
from astrbot import Plugin
class HelloPlugin(Plugin):
def on_message(self, message):
if message.text == "!hello":
self.reply(message, "Hallo, Welt!")
LLM-Integration
Standardmäßig unterstützt AstrBot OpenAI, Anthropic Claude und lokale Modelle über Ollama. Um ein lokales Modell zu verwenden:
llm:
provider: ollama
model: llama3
base_url: "http://localhost:11434"
Aufgabenplanung
Mit dem Task-Scheduler-Plugin können Sie wiederkehrende Aufgaben definieren:
plugins:
- name: task_scheduler
enabled: true
config:
tasks:
- name: Tägliche Zusammenfassung
schedule: "0 9 * * *"
action: "Fasse die letzten 24 Stunden zusammen"
channels: ["discord:general", "telegram:chat"]
Community & Beiträge
Wir heißen Beiträge willkommen! Bitte lesen Sie CONTRIBUTING.md für Details.
Besuchen Sie unser GitHub-Repository für weitere Informationen, Issues und Pull Requests.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.