Aisyah AI ist ein leistungsstarker Telegramm -Bot mit Cloudflare -Mitarbeitern, das mehrere KI -Funktionen kombiniert. Es kann das Web durchsuchen, Erinnerungen festlegen, sprechen, Wetter vorhersagen, Bilder analysieren und Sprachnachrichten verstehen. Der Bot behält den Kontext in Gesprächen durch Redis bei und macht es sowohl für private Chats als auch für Gruppeninteraktionen perfekt.
? Fortgeschrittene KI -Funktionen
Smart Tools
☁️ Moderne Architektur
? API -Integrationen
Wir haben aus mehreren Gründen aus mehreren Gründen beschlossen, OpenAI-Modelle (insbesondere GPT-3,5-Turbo und GPT-4O-Mini) zu unterstützen:
Hinweis: Wir verstehen das Interesse an alternativen Modellen und Anbietern (wie OpenRouter, anthropisch usw.). Um jedoch die Einfachheit der Code zu erhalten und ein konsistentes Bot -Verhalten zu gewährleisten, haben wir uns entschlossen, uns auf OpenAIs Angebote zu konzentrieren. Wenn Sie unterschiedliche Modelle verwenden müssen, müssen Sie das Projekt aufgeben und die Modellkonfigurationen entsprechend ändern.
/start
- Beginnen Sie mit dem Bot mit der Interaktion/settings
- BOT -Einstellungen konfigurieren (LLM -Modell, Persona, Stimme usw.)/help
- Holen Sie sich Hilfe zu verfügbaren BefehlenHinweis : Dies ist ein persönliches Projekt für Lern- und Experimentierzwecke.
Das Projekt ist in mehrere Microservices organisiert:
aisyah-ai-telegraph
: Hauptorchestrator, der mit Telegramminteraktionen umgehtaisyah-ai-agent
: Kern-AI-Agent, der Anfragen verarbeitetaisyah-ai-explorer
: Web-Browsing-Fähigkeitaisyah-ai-reminder
: Erinnerungsverwaltungaisyah-ai-sonata
: Text-to-Speech-Serviceaisyah-ai-storm
: Wettervorhersageaisyah-ai-vision
: Bildanalyseaisyah-ai-whisper
: Speech-to-Text-Dienst Klonen Sie das Repository:
git clone https://github.com/husniadil/aisyah-ai.git
cd aisyah-ai
Abhängigkeiten installieren:
yarn install
Richten Sie CloudFlare ein: Erstens erhalten Sie Ihr Cloudflare -API -Token:
export CLOUDFLARE_API_TOKEN=your_api_token_here
echo ' export CLOUDFLARE_API_TOKEN=your_api_token_here ' >> ~ /.zshrc
Hinweis: Verwenden Sie keine wrangler login
, da sie mit der API -Token -Authentifizierungsmethode in Konflikt steht.
Umgebungsdateien konfigurieren:
# Copy Cloudflare configuration files
cp packages/aisyah-ai-agent/wrangler.toml.example packages/aisyah-ai-agent/wrangler.toml
cp packages/aisyah-ai-explorer/wrangler.toml.example packages/aisyah-ai-explorer/wrangler.toml
cp packages/aisyah-ai-reminder/wrangler.toml.example packages/aisyah-ai-reminder/wrangler.toml
cp packages/aisyah-ai-sonata/wrangler.toml.example packages/aisyah-ai-sonata/wrangler.toml
cp packages/aisyah-ai-storm/wrangler.toml.example packages/aisyah-ai-storm/wrangler.toml
cp packages/aisyah-ai-telegraph/wrangler.toml.example packages/aisyah-ai-telegraph/wrangler.toml
cp packages/aisyah-ai-vision/wrangler.toml.example packages/aisyah-ai-vision/wrangler.toml
cp packages/aisyah-ai-whisper/wrangler.toml.example packages/aisyah-ai-whisper/wrangler.toml
# Copy environment variables
cp packages/aisyah-ai-agent/.dev.vars.example packages/aisyah-ai-agent/.dev.vars
cp packages/aisyah-ai-explorer/.dev.vars.example packages/aisyah-ai-explorer/.dev.vars
cp packages/aisyah-ai-reminder/.dev.vars.example packages/aisyah-ai-reminder/.dev.vars
cp packages/aisyah-ai-sonata/.dev.vars.example packages/aisyah-ai-sonata/.dev.vars
cp packages/aisyah-ai-storm/.dev.vars.example packages/aisyah-ai-storm/.dev.vars
cp packages/aisyah-ai-telegraph/.dev.vars.example packages/aisyah-ai-telegraph/.dev.vars
cp packages/aisyah-ai-vision/.dev.vars.example packages/aisyah-ai-vision/.dev.vars
cp packages/aisyah-ai-whisper/.dev.vars.example packages/aisyah-ai-whisper/.dev.vars
Paketspezifische Einstellungen konfigurieren:
Erstellen Sie die erforderlichen KV -Namespaces und notieren Sie sich ihre IDs:
# For settings storage
yarn w aisyah-ai-agent wrangler kv:namespace create SETTINGS
# For chat history
yarn w aisyah-ai-telegraph wrangler kv:namespace create CHAT_HISTORY
# For reminders
yarn w aisyah-ai-reminder wrangler kv:namespace create REMINDERS
# In packages/aisyah-ai-telegraph/.dev.vars
CLOUDFLARE_SUBDOMAIN=your_subdomain
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
UPSTASH_REDIS_REST_URL=your_redis_rest_url
UPSTASH_REDIS_REST_TOKEN=your_redis_rest_token
# In packages/aisyah-ai-agent/.dev.vars
OPENAI_API_KEY=your_openai_api_key
LANGCHAIN_API_KEY=your_langchain_api_key
CLOUDFLARE_SUBDOMAIN=your_subdomain
AGENT_PERSONA_AISYAH_DEFAULT=your_system_prompt_for_persona_default
AGENT_PERSONA_AISYAH_JAWIR=your_system_prompt_for_persona_jawir
AGENT_PERSONA_PERSONAL_ASSISTANT=your_system_prompt_for_persona_personal_assistant
# In packages/aisyah-ai-vision/.dev.vars
OPENAI_API_KEY=your_openai_api_key
# In packages/aisyah-ai-whisper/.dev.vars
OPENAI_API_KEY=your_openai_api_key
# In packages/aisyah-ai-sonata/.dev.vars
OPENAI_API_KEY=your_openai_api_key
# Get from https://supabase.io
SUPABASE_URL=your_supabase_project_url
SUPABASE_KEY=your_supabase_storage_key
# Get from https://elevenlabs.io
ELEVENLABS_API_KEY=your_elevenlabs_api_key
# In packages/aisyah-ai-storm/.dev.vars
OPEN_WEATHER_MAP_API_KEY=your_openweathermap_api_key
# In packages/aisyah-ai-explorer/.dev.vars
# Get from https://programmablesearchengine.google.com/
GOOGLE_SEARCH_API_KEY=your_google_api_key
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id
# In packages/aisyah-ai-reminder/.dev.vars
REMINDERS_APP_ID=your_reminders_app_id
REMINDERS_API_KEY=your_reminders_api_key
Aktualisieren Sie die wrangler.toml
jedes Pakets mit den entsprechenden KV -Namespace -IDs aus dem vorherigen Schritt:
# In packages/aisyah-ai-telegraph/wrangler.toml
kv_namespaces = [
{ binding = " CHAT_HISTORY " , id = " your_chat_history_namespace_id " }
]
# In packages/aisyah-ai-agent/wrangler.toml
kv_namespaces = [
{ binding = " SETTINGS " , id = " your_settings_namespace_id " }
]
# In packages/aisyah-ai-reminder/wrangler.toml
kv_namespaces = [
{ binding = " REMINDERS " , id = " your_reminders_namespace_id " }
]
Die Arbeiter einsetzen:
yarn deploy
Richten Sie Ihren Telegrammbot ein:
yarn w
: Arbeitsbereichsspezifische Befehle ausführenyarn deploy
: Bereitstellung aller Mitarbeiteryarn types
: Typenkriptypen generierenyarn format
: Formatcode mit Biomepackages
wrangler.toml
hinzuaisyah-ai-agent
Richten Sie eine Redis -Instanz ein:
Konfigurieren Sie Redis in Ihrer Umgebung:
# Add to packages/aisyah-ai-telegraph/.dev.vars
UPSTASH_REDIS_REST_URL=your_redis_rest_url
UPSTASH_REDIS_REST_TOKEN=your_redis_rest_token
Stellen Sie sicher, dass Sie diese API -Schlüssel erhalten und konfigurieren:
Fügen Sie sie in die jeweiligen .dev.vars
-Dateien in jedem Paket hinzu.
Der Einsatz der Arbeiter schlägt fehl
wrangler.toml
eindeutig sindBot nicht antworten
Funktionen nicht funktionieren
Aktivieren Sie den Debug -Modus, indem Sie festlegen:
# Add to .dev.vars
DEBUG_MODE=true
Dies liefert detailliertere Protokolle in der Arbeiterkonsole.
Wenn Sie auf Probleme stoßen:
Dieses Projekt ist unter der MIT -Lizenz lizenziert - Einzelheiten finden Sie in der Lizenzdatei.