5.8 KiB
WiseClaw
🦉 WiseClaw, macOS üzerinde çalışan yerel-öncelikli bir kişisel asistan altyapısıdır. FastAPI backend, Telegram botu, React admin paneli, çoklu LLM sağlayıcı desteği, tarayıcı otomasyonu, araç çağırma, otomasyonlar ve AnythingLLM tabanlı "ikinci beyin" entegrasyonunu aynı projede bir araya getirir.
✨ Neler Yapabiliyor?
- 🤖 Telegram üzerinden konuşma, komut ve araç kullanımı
- 🧠
/tanisalimile kalıcı kullanıcı profili ve iletişim tercihleri - 🗂️ AnythingLLM tabanlı ikinci beyin sorguları
- 📝
/notlarima_ekleile second brain notu ekleme ve otomatik senkron - ⚙️
/otomasyon_ekleile zamanlanmış görev oluşturma - 🌐 Brave Search ile web ve görsel arama
- 🧭
browser_useile gerçek tarayıcıda gezinme - 🍎 Apple Notes üzerinde not oluşturma
- 📁 Dosya okuma/yazma
- 🖥️ Politika tabanlı terminal komut çalıştırma
- 🔀 Global model sağlayıcı seçimi:
Local (LM Studio)Z.AI
- 📊 Admin panelden ayarlar, loglar, memory, profiller ve otomasyonları yönetme
🏗️ Mimari
backend/FastAPI uygulaması, orchestrator, tool'lar, Telegram botu ve schedulerfrontend/React tabanlı admin paneldocs/Mimari notlar ve brainstorm kayıtları
🧩 LLM Sağlayıcıları
WiseClaw tek bir global sağlayıcı ile çalışır:
- 🏠
Local (LM Studio)Yerel OpenAI-uyumlu endpoint üzerinden çalışır - ☁️
Z.AIAnthropic-uyumlu API üzerindenglm-4.7veglm-5modellerini kullanır
Admin panelden aktif sağlayıcı değiştirildiğinde yeni istekler seçili sağlayıcıya gider.
🛠️ Başlıca Tool'lar
brave_searchWeb ve image searchweb_fetchTekil URL çekme ve içerik okumabrowser_useGerçek browser otomasyonuapple_notesApple Notes not oluşturmafilesDosya/dizin erişimiterminalGüvenlik politikasıyla komut çalıştırmasecond_brainAnythingLLM workspace context sorgulama
🧠 İkinci Beyin Akışı
WiseClaw, AnythingLLM'yi ikinci beyin olarak kullanabilir.
Sorgulama
Telegram'da örnek:
Notlara bak, serkan ile ne zaman ve nerde buluştum?
WiseClaw bu isteği second_brain tool'una yönlendirir, AnythingLLM workspace'inden bağlam çeker ve kısa cevap üretir.
Not Ekleme
Telegram akışı:
/notlarima_ekle
Ardından gönderilen not:
- SQLite veritabanına
second_brainkaydı olarak yazılır - backend/second_brain.md dosyası yeniden üretilir
- Eski
second_brain.mdAnythingLLM workspace'inden kaldırılır - Yeni dosya tekrar upload edilip workspace'e bağlanır
Bu yaklaşım belge tabanlı RAG akışına daha uygun olduğu için doğrudan DB -> AnythingLLM yazmaktan daha sağlamdır.
💬 Telegram Komutları
/start/tanisalim/profilim/tercihlerim/tanisalim_sifirla/otomasyon_ekle/otomasyonlar/otomasyon_durdur <id>/otomasyon_baslat <id>/otomasyon_sil <id>/notlarima_ekle
⏱️ Otomasyonlar
WiseClaw backend içinde çalışan scheduler ile zamanlanmış görevleri destekler.
Desteklenen ilk sürüm sıklıkları:
- günlük
- hafta içi
- haftalık
- saatlik
Otomasyon sonuçları:
- Telegram'a gönderilir
- audit log'a yazılır
🧪 Admin Panel
Admin panelde şunları yönetebilirsin:
- Runtime settings
- Model provider
- Search provider
- Brave / Z.AI / AnythingLLM secret'ları
- Telegram whitelist
- User Profiles
- Automations
- Memory
- Recent Logs
Önemli endpointler:
/admin/dashboard/admin/settings/admin/users/admin/profiles/admin/automations/admin/memory/admin/integrations/llm/admin/integrations/telegram
🚀 Kurulum
Backend
cd backend
python3.12 -m venv .venv312
source .venv312/bin/activate
pip install .
uvicorn app.main:app --reload
Frontend
cd frontend
npm install
npm run dev
🔐 Ortam Değişkenleri
.env.example dosyasını .env olarak kopyalayabilirsin.
Öne çıkan alanlar:
WISECLAW_MODEL_PROVIDERWISECLAW_LOCAL_BASE_URLWISECLAW_LOCAL_MODELWISECLAW_ZAI_BASE_URLWISECLAW_ZAI_MODELWISECLAW_ANYTHINGLLM_BASE_URLWISECLAW_ANYTHINGLLM_WORKSPACE_SLUGWISECLAW_TELEGRAM_BOT_TOKENWISECLAW_BRAVE_API_KEYWISECLAW_ZAI_API_KEYWISECLAW_ANYTHINGLLM_API_KEY
Not: secret'lar admin panelden daha sonra da kaydedilebilir.
✅ Hızlı Kontrol
Backend ayağa kalktıktan sonra:
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/bootstrap
curl http://127.0.0.1:8000/admin/integrations/llm
curl http://127.0.0.1:8000/admin/integrations/telegram
🔁 Restart
Projede tek komutluk restart script'i var:
cd /Users/wisecolt-macmini/Project/wiseclaw
zsh ./restart.sh
Bu script:
- eski backend sürecini kapatır
- yeni
uvicornsürecini başlatır - log'u
.wiseclaw/logs/backend.logiçine yazar - health check ile ayağa kalktığını doğrular
📌 Notlar
LM Studio status: Reachablegörünüpmodel is not installeduyarısı alıyorsan, endpoint açık ama seçili model adı yüklü modellerle birebir eşleşmiyor demektir.- AnythingLLM tarafında görünen workspace adı ile gerçek
slugfarklı olabilir. - Brave image search sonuçları Telegram'da medya grubu olarak gönderilebilir.
- Bazı browser görevleri captcha/anti-bot nedeniyle manuel müdahale isteyebilir.
🧭 Geliştirme Notu
Bu repo hızlı iterasyonla büyüdüğü için bazı alanlarda bilinçli teknik borçlar bulunur. Ana yön şu anda şudur:
- daha sağlam tool routing
- daha iyi approval akışları
- second brain retrieval kalitesini artırma
- admin panel kullanılabilirliğini geliştirme