Kurs
Nanobot, OpenClaw’a alternatif, hafif bir kişisel yapay zeka asistanıdır. OpenClaw’a göre %98 daha küçüktür ve aynı temel aracı işlevlerini sunar. OpenClaw gibi, makinenizde çalışabilir, favori uygulamalarınıza bağlanabilir ve küçük boyutu sayesinde kodu kolayca inceleyebilirsiniz.
Nanobot, yerel bir kodlama aracısını çalıştırmak için favori kapalı ve açık kaynak modellerinizi birbirine bağlar. Telegram, WhatsApp veya terminal üzerinden mesaj gönderdiğinizde, aracı makinenizde komutlar çalıştırarak yanıt verir; örneğin günlükleri okur, betikleri yürütür ve dosyaları arar.
Bu eğitimde, Nanobot’u sıfırdan nasıl kuracağınıza ve birkaç dakika içinde tam özellikli bir yapay zeka aracısı nasıl oluşturacağınıza değineceğim. Ayrıca bu teknolojiyi kullanırken dikkat etmeniz gereken bazı püf noktalarını da ele alacağım.
Nanobot Nedir?
Nanobot, yayımlandığı tarihte hızla popülerleşerek 21.000’in üzerinde GitHub yıldızı toplayan bir OpenClaw alternatifidir. OpenClaw gibi Discord, Slack ve Telegram gibi popüler mesajlaşma platformlarını destekler.
Tıpkı OpenClaw aracısı gibi, Nanobot aracınız da Moltbook’a Başlangıç öğreticimizde gösterdiğimiz gibi Moltbook’taki sosyal medya partisine katılabilir.
Nanobot’un temel yetenekleri
Küçük olmasına rağmen, Nanobot güçlü bir araçtan beklediğiniz üç ana konuyu karşılar:
- Durumlu Bellek: Nanobot geçmişinizin yerel bir grafiğini oluşturur. Yani bugün bir Python veri analizi projesi üzerinde çalışıyorsanız, bir hafta sonra bile bunu hatırlayacaktır.
- Modelden Bağımsız: Belirli bir model sağlayıcısına bağlı değilsiniz. OpenAI, Anthropic veya kendi donanımınızda çalışan yerel modelleri kullanabilirsiniz.
- Anında Arayüz: Nanobot’u favori mesajlaşma uygulamalarınızda kullanabilirsiniz; yani alışık olduğunuz arayüzleri kullanmaya devam edersiniz.

Nanobot’u Çalıştırmak İçin Önkoşullar
Bu eğitimi takip etmek için birkaç temel gereksinim vardır:
- Python 3.11 veya üzeri işletim sisteminizde (Mac, Windows veya Linux) kurulu olmalı.
- Bir API Anahtarı (OpenRouter, OpenAI veya Anthropic gibi bir sağlayıcıdan) ya da Ollama üzerinden yerel bir model kurulumu.
- Bir Telegram Hesabı (arayüz olarak Telegram’ı kullanacağım çünkü kurulumu en kolay olanı).
Nanobot Adım Adım Eğitim: Bir "Araştırma Aracısı" Oluşturma
Telegram’ınızda yaşayan, web’de arama yapabilen ve ilgi alanlarınızı hatırlayan bir aracı oluşturalım.

Adım 1: Nanobot’u kurun
Günümüzde Python araçlarını kurmanın en temiz yolu, sistem Python’ınızdan izole tutan pip veya uv kullanmaktır. Bunlar yoksa, standart pip da iş görür.
Terminalinizi açın ve şunu çalıştırın:
# run inside your env
pip install nanobot-ai
# OR if you prefer uv
uv tool install nanobot-ai
Kurulum tamamlandığında aşağıdakine benzer bir mesaj göreceksiniz:
Successfully installed nanobot-0.4.1
Adım 2: Arayüz Jetonunuzu alın
Arayüzü kurmak için:
- Telegram’ı açın ve @BotFather’ı arayın
/newbotyazın ve yönlendirmeleri izleyin- BotFather’dan alacağınız jetonu kopyalayın
- Ardından, botun yalnızca sizden komut kabul ettiğinden emin olmak için kullanıcı kimliğinizi edinin. Telegram’da @userinfobot’u arayın ve başlata tıklayın. Kullanıcı kimliğini kopyalayın.
Adım 3: Başlatma
nanobot onboard komutunu çalıştırarak botunuzu başlatın. Aşağıdakine benzer bir mesaj görmelisiniz:
✓ Created config at /Users/derrickmwiti/.nanobot/config.json
✓ Created workspace at /Users/derrickmwiti/.nanobot/workspace
Created AGENTS.md
Created SOUL.md
Created USER.md
Created memory/MEMORY.md
Created memory/HISTORY.md
🐈 nanobot is ready!
Next steps:
1. Add your API key to ~/.nanobot/config.json
Get one at: https://openrouter.ai/keys
2. Chat: nanobot agent -m "Hello!"
Want Telegram/WhatsApp? See: https://github.com/HKUDS/nanobot#-chat-apps
Adım 4: Yapılandırma
Aşağıdaki komutu çalıştırın ve kullanmak istediğiniz model sağlayıcısı için API anahtarını providers bölümüne ekleyin:
nano ~/.nanobot/config.json
Dosyayı düzenleyip seçtiğiniz sağlayıcıya API anahtarını ekleyin:
{
"workspace": "./workspace",
"providers": {
// Option 1: OpenAI
"openai": {
"apiKey": "sk-YOUR-OPENAI-KEY-HERE",
"model": "gpt-4o"
},
// Option 2: Anthropic (Claude)
"anthropic": {
"apiKey": "sk-ant-YOUR-CLAUDE-KEY-HERE",
"model": "claude-3-5-sonnet-20240620"
},
// Option 3: Google Gemini
"google": {
"apiKey": "AIza-YOUR-GOOGLE-KEY-HERE",
"model": "gemini-1.5-pro"
},
// Option 4: OpenRouter (Best for flexibility)
"openrouter": {
"apiKey": "sk-or-YOUR-OPENROUTER-KEY-HERE",
"model": "nousresearch/hermes-3-llama-3.1-405b"
},
// Option 5: Local (Ollama or vLLM)
"local": {
"apiBase": "http://localhost:11434/v1",
"apiKey": "ollama",
"model": "llama3"
}
},
"channels": {
"telegram": {
"enabled": true,
"token": "YOUR_TELEGRAM_BOT_TOKEN",
"allowFrom": ["YOUR_NUMERIC_USER_ID"]
}
}
}
Telegram bölümünü düzenleyip daha önce aldığınız jetonu ve kullanıcı kimliğini ekleyin. Bunu, aracınıza yalnızca sizin talimat gönderebilmeniz için yapmanız gerekir.
"telegram": {
"enabled": true,
"token": "",
"allowFrom": [""],
"proxy": null
}
Seçtiğiniz sağlayıcıyı yansıtacak şekilde agents bölümünü değiştirin:
"agents": {
"defaults": {
"workspace": "~/.nanobot/workspace",
"model": "openai/gpt-5",
"maxTokens": 8192,
"temperature": 0.7,
"maxToolIterations": 20,
"memoryWindow": 50
}
}
Aracınızı terminalde test edin:
nanobot agent -m "Hello"
🐈 nanobot
Hi there! How can I help you today?
Adım 5: Ağ Geçidini kurun
Telegram entegrasyonunu tamamlamak için terminalde aşağıdaki komutu çalıştırın:
nanobot gateway
Artık Telegram’ın etkin olduğunu görmelisiniz; aşağıdaki iletilerimde olduğu gibi:
🐈 Starting nanobot gateway on port 18790...
2026-02-13 09:59:35.405 | INFO | nanobot.channels.manager:_init_channels:46 - Telegram channel enabled
✓ Channels enabled: telegram
✓ Heartbeat: every 30m
2026-02-13 09:59:35.406 | INFO | nanobot.cron.service:start:154 - Cron service started with 0 jobs
2026-02-13 09:59:35.406 | INFO | nanobot.heartbeat.service:start:81 - Heartbeat started (every 1800s)
2026-02-13 09:59:35.406 | INFO | nanobot.agent.loop:run:116 - Agent loop started
2026-02-13 09:59:35.406 | INFO | nanobot.channels.manager:start_all:159 - Starting telegram channel...
2026-02-13 09:59:35.406 | INFO | nanobot.channels.manager:_dispatch_outbound:187 - Outbound dispatcher started
2026-02-13 09:59:35.411 | INFO | nanobot.channels.telegram:start:140 - Starting Telegram bot (polling mode)...
2026-02-13 09:59:39.245 | INFO | nanobot.channels.telegram:start:148 - Telegram bot @mwitibananabot connected
2026-02-13 09:59:39.417 | DEBUG | nanobot.channels.telegram:start:152 - Telegram bot commands registered
Telegram’a gidip test edin:

Supabase Python kütüphanesini kullanarak pratik bir örnek üzerinden yazılım geliştirme iş akışlarını iyileştirmek için Anthropic’in Claude Code’unu nasıl kullanacağınızı Claude Code öğreticimizden öğrenebilirsiniz.
Nanobot’u Bir Üst Seviyeye Taşıma: "Çok Araçlı" Aracı
Kurulum tamamlandığına göre, aracınızı daha işlevsel hale getirme zamanı. Çoğu model, eğitim verilerinin kesme tarihine kadar olan bilgilere sahiptir. İnternete bağlayarak daha işlevsel hale getirebiliriz.
Nanobot, aracınıza web araması veya veritabanı sorguları gibi yetenekler ekleyen Model Context Protocol (MCP)’ü destekler. Aracımızın internete erişmesini sağlayacak Brave Arama Sunucusu’nu ekleyelim:
- Brave’den bir API anahtarı alın
- Yapılandırmayı anahtarla güncelleyin
"tools": {
"web": {
"search": {
"apiKey": "",
"maxResults": 5
}
},
"exec": {
"timeout": 60
},
"restrictToWorkspace": false
}
Ağ geçidinizi yeniden başlatın.
Şimdi Telegram’da “Apple Hissesi’nin güncel fiyatı nedir?” gibi bir soru sorun. Terminalde, gerçekten web’de arama yaptığını görebilirsiniz:
2026-02-13 10:14:48.753 | INFO | nanobot.agent.loop:_process_message:164 - Processing message from telegram:7045522516: What is the current price of the Apple Stock
2026-02-13 10:14:59.726 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_search({"query": "AAPL stock price Yahoo Finance", "count": 5})
2026-02-13 10:15:22.066 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://finance.yahoo.com/quote/AAPL/", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:26.886 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://www.google.com/finance/quote/AAPL:NASDAQ", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:51.361 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://query1.finance.yahoo.com/v7/finance/quote?symbols=AAPL", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:15:52.018 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://query2.finance.yahoo.com/v10/finance/quoteSummary/AAPL?modules=price", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:07.071 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://www.marketwatch.com/investing/stock/aapl", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:07.406 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://finviz.com/quote.ashx?t=AAPL", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:35.897 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://financialmodelingprep.com/api/v3/quote/AAPL?apikey=demo", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:16:36.919 | INFO | nanobot.agent.loop:_process_message:246 - Tool call: web_fetch({"url": "https://stooq.com/q/l/?s=aapl.us&i=5", "extractMode": "text", "maxChars": 20000})
2026-02-13 10:17:14.870 | INFO | nanobot.agent.loop:_process_message:266 - Response to telegram:7045522516: Reflection:
- JS-heavy sites (Yahoo/Google) hid the live quote; Yahoo's JSON APIs blocked (401).
- Finviz returned a pr...

Yerel ve Özel: Nanobot’u Çevrimdışı Çalıştırma
OpenClaw gibi, Nanobot’un en büyük artılarından biri gizliliktir. Herhangi bir bulut sağlayıcısına veri göndermeden kullanabilirsiniz. Nanobot vllm ve OpenAI uyumlu uç noktaları desteklediğinden, Ollama gibi yerel bir model çalıştırıcısına yönlendirebilirsiniz.
- Ollama’yı kurun ve
ollamaçalıştırın - config.json sağlayıcı bölümünüzü güncelleyin (yukarıdaki Adım 4’teki "local" örneğine bakın).
Verilerinizi buluta göndermeden çok adımlı iş akışlarını yöneten, veri kümelerini analiz eden ve görsel raporlar üreten tamamen yerel bir yapay zeka veri analisti oluşturmayı öğrenmek için Ollama ile OpenClaw kullanma öğreticimize göz atın.
Nanobot’ta Yaygın Hatalar ve Sorun Giderme
Nanobot gibi basit bir araçta bile işler ters gidebilir. Karşılaşmanız muhtemel bazı sorunlar ve çözümleri aşağıdadır.
Bağlantı reddedildi hataları
Nanobot’u bir sunucuda çalıştırırken yerel modellere erişmeye çalışırsanız bağlantı reddedildi hatası alırsınız. Bunun nedeni çevrimiçi sunucunun yerel bilgisayarınıza erişememesidir.
Bunu azaltmak için, açık kaynak modellerin de aynı sunucuda çalıştığından emin olmanız ya da bağlantıyı köprülemek için ngrok gibi bir şey kullanmanız gerekir.
Bağlam penceresi sınırları
Yerel modeller genellikle daha küçük bellek sınırlarına (bağlam pencerelerine) sahiptir. Bulut tabanlı modellerin bile sınırlı bir bağlam penceresi vardır. Nanobot belleğini basit dosyalar olarak tuttuğundan, “beynini” sıfırlamanın en iyi yolu ./workspace klasörünüzün içindeki bellek dosyalarını elle silmektir.
Alternatif olarak, gemini-1.5-pro veya Claude Opus 4.6 gibi daha büyük bir bağlam penceresine sahip bir modele geçebilirsiniz.
Sonuç
Nanobot, güçlü yazılımların büyük olmak zorunda olmadığını kanıtlıyor. OpenClaw ile aynı temel özellikleri sunarken çok daha küçüktür. Ancak güvenlik açısından aynı sorunları hâlâ taşır; bu nedenle, tüm sabit diskinizin silinmesi gibi felaket senaryolarını önlemek için onu bir kum havuzu ortamında kurmanızı öneririm.
Yapay zeka araçlarıyla çalışmayı daha fazla öğrenmek için en iyi ücretsiz yapay zeka araçlarına ilişkin rehberimizi incelemenizi öneririm. Daha kapsamlı yapay zeka kodlama becerileri için, geliştirme iş akışınızda yapay zeka asistanlarını daha güvenilir ortaklar haline getirecek becerileri edinmek üzere Geliştiriciler için Yapay Zeka Destekli Kodlama kursumuzu deneyin.
Ayrıca LangChain’de LLM’ler, istemler, zincirler ve aracılar kullanarak yapay zeka destekli uygulamaların nasıl geliştirileceğini LangChain ile LLM Uygulamaları Geliştirme kursumuzdan keşfedebilirsiniz.
Nanobot SSS
Nanobot, OpenClaw’dan nasıl farklı?
Temel işlevsellik aynıdır. Nanobot daha küçük bir alternatiftir; bu da kodu okumanızı ve güncellemenizi kolaylaştırır.
Nanobot aracım çevrimiçi ancak mesajlarımı yok sayıyor. Neden?
Neredeyse her zaman allowFrom ayarıdır. Bu listeye herhangi bir değer eklediyseniz (yer tutucu bile olsa), Nanobot "Beyaz Liste Modu"nu etkinleştirir ve bu listede olmayan tüm kullanıcı kimliklerini kesin olarak yok sayar.
Nanobot’un bir web arayüzü var mı?
Hayır, Nanobot’lar favori mesajlaşma uygulamalarınızın arayüzlerini veya terminali kullanır.
