Aisyah AI adalah bot telegram yang kuat yang dibangun dengan pekerja cloudflare yang menggabungkan beberapa kemampuan AI. Ini dapat menelusuri web, mengatur pengingat, berbicara, memprediksi cuaca, menganalisis gambar, dan memahami pesan suara. Bot mempertahankan konteks dalam percakapan melalui Redis, membuatnya sempurna untuk obrolan pribadi dan interaksi kelompok.
? Kemampuan AI tingkat lanjut
Alat Cerdas
☁️ Arsitektur modern
? Integrasi API
Kami telah memilih untuk secara eksklusif mendukung model OpenAI (terutama GPT-3.5-Turbo dan GPT-4O-Mini) karena beberapa alasan:
Catatan: Kami memahami minat pada model dan penyedia alternatif (seperti OpenRouter, Anthropic, dll.). Namun, untuk mempertahankan kesederhanaan kode dan memastikan perilaku bot yang konsisten, kami telah memutuskan untuk fokus pada penawaran Openai. Jika Anda perlu menggunakan model yang berbeda, Anda harus membayar proyek dan memodifikasi konfigurasi model yang sesuai.
/start
- Mulailah interaksi dengan bot/settings
- Konfigurasikan Pengaturan Bot (Model LLM, Persona, Suara, dll.)/help
- Dapatkan bantuan tentang perintah yang tersediaCatatan : Ini adalah proyek pribadi yang dirancang untuk tujuan pembelajaran dan eksperimen.
Proyek ini diatur dalam beberapa layanan mikro:
aisyah-ai-telegraph
: Orchestrator Utama yang Menangani Interaksi Telegramaisyah-ai-agent
: agen inti AI yang memproses permintaanaisyah-ai-explorer
: Kemampuan Penelusuran Webaisyah-ai-reminder
: Manajemen Pengingataisyah-ai-sonata
: layanan teks-ke-bicaraaisyah-ai-storm
: prediksi cuacaaisyah-ai-vision
: Analisis Gambaraisyah-ai-whisper
: layanan pidato-ke-teks Klon Repositori:
git clone https://github.com/husniadil/aisyah-ai.git
cd aisyah-ai
Instal dependensi:
yarn install
Siapkan CloudFlare: Pertama, dapatkan token API CloudFlare Anda:
export CLOUDFLARE_API_TOKEN=your_api_token_here
echo ' export CLOUDFLARE_API_TOKEN=your_api_token_here ' >> ~ /.zshrc
Catatan: Jangan gunakan wrangler login
karena bertentangan dengan metode otentikasi token API.
Konfigurasikan File Lingkungan:
# 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
Konfigurasikan pengaturan khusus paket:
Buat KV Namespaces yang diperlukan dan buat catatan ID mereka:
# 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
Perbarui wrangler.toml
setiap paket dengan KV Namespace ID yang sesuai dari langkah sebelumnya:
# 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 " }
]
Menyebarkan pekerja:
yarn deploy
Siapkan Bot Telegram Anda:
yarn w
: Jalankan perintah khusus ruang kerjayarn deploy
: Menyebarkan semua pekerjayarn types
: menghasilkan tipe naskahyarn format
: Kode Format Menggunakan Biomepackages
wrangler.toml
aisyah-ai-agent
Siapkan instance Redis:
Konfigurasikan Redis di lingkungan Anda:
# Add to packages/aisyah-ai-telegraph/.dev.vars
UPSTASH_REDIS_REST_URL=your_redis_rest_url
UPSTASH_REDIS_REST_TOKEN=your_redis_rest_token
Pastikan untuk mendapatkan dan mengonfigurasi kunci API ini:
Tambahkan mereka ke file .dev.vars
masing -masing di setiap paket.
Penyebaran pekerja gagal
wrangler.toml
unikBot tidak menanggapi
Fitur tidak berfungsi
Aktifkan mode debug dengan pengaturan:
# Add to .dev.vars
DEBUG_MODE=true
Ini akan memberikan log yang lebih rinci di konsol pekerja.
Jika Anda menemukan masalah:
Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.