🔍 Nanobot vs OpenClaw: Perspektif Konfigurasi
Nanobot menggunakan format konfigurasi JSON yang mirip dengan OpenClaw, namun dengan beberapa perbedaan penting dalam struktur dan pendekatan. Sebagai proyek Python dengan hanya ~4.000 baris kode inti, Nanobot menganut prinsip "minimal but complete" — konfigurasi yang ringkas namun mencakup semua yang perlu diatur.
| Aspek Config | Nanobot | OpenClaw |
|---|---|---|
| Format | JSON | JSON |
| Config Path | ~/.nanobot/config.json | ~/.openclaw/openclaw.json |
| MCP Support | ✅ Sejak v0.1.4 | ✅ Built-in |
| Docker | ✅ Resmi didukung | ✅ Via script |
| RAM minimal | 512 MB | >1 GB |
📁 Struktur Konfigurasi Nanobot
# Lihat file config
ls -la ~/.nanobot/
# config.json - Konfigurasi utama
# memory/ - Database memori agent (SQLite)
# logs/ - Log files
# tools/ - Custom tools Python
# Backup sebelum edit
cp ~/.nanobot/config.json ~/.nanobot/config.json.bak.$(date +%Y%m%d)
Skeleton config.json lengkap Nanobot:
{
"providers": { ... }, // AI provider credentials
"default_provider": "openrouter",
"default_model": "anthropic/claude-sonnet-4",
"default_temperature": 0.7,
"agents": { ... }, // Agent definitions
"channels": { ... }, // Messaging channels
"gateway": { ... }, // HTTP gateway
"mcp": { ... }, // MCP server config (v0.1.4+)
"security": { ... }, // sandbox + encryption
"logging": { ... } // log config
}
🤖 Konfigurasi AI Provider Nanobot
Nanobot mendukung semua major AI provider. Berikut konfigurasi multi-provider:
{
"providers": {
"openrouter": {
"api_key": "sk-or-...",
"base_url": "https://openrouter.ai/api/v1",
"timeout": 30,
"max_retries": 3
},
"anthropic": {
"api_key": "sk-ant-...",
"timeout": 60,
"max_retries": 2
},
"openai": {
"api_key": "sk-...",
"timeout": 30
},
"ollama": {
"base_url": "http://localhost:11434",
"timeout": 120
},
"groq": {
"api_key": "gsk_...",
"timeout": 15
}
},
"default_provider": "openrouter"
}
🧠 Konfigurasi Model dan Parameters
{
"agents": {
"defaults": {
"provider": "openrouter",
"model": "anthropic/claude-sonnet-4",
"fallback_model": "openai/gpt-4o-mini",
"temperature": 0.7,
"max_tokens": 4096,
"system_prompt": "Kamu adalah asisten AI yang membantu. Jawab dalam Bahasa Indonesia jika user pakai Indonesia.",
"memory": {
"enabled": true,
"backend": "sqlite",
"path": "~/.nanobot/memory/default.db",
"max_memories": 1000
},
"tools": ["web_search", "read_file", "write_file", "run_command"],
"restrict_to_workspace": true,
"workspace": "/home/user/projects"
}
}
}
💬 Konfigurasi Channel Telegram
{
"channels": {
"telegram": {
"enabled": true,
"accounts": {
"main": {
"bot_token": "123456789:AABBCCabcdef",
"allow_from": ["username_kamu", "admin_username"],
"admin_users": ["admin_username"],
"reply_in_private": true,
"typing_indicator": true,
"parse_mode": "MarkdownV2",
"auto_delete_after_seconds": 0,
"max_history": 20,
"rate_limit": {
"messages_per_minute": 15
}
}
}
}
}
}
// Test setelah setting:
// 1. Start nanobot daemon
// 2. Buka Telegram, kirim pesan ke bot-mu
// 3. Cek response
nanobot channel doctor
nanobot status
🎮 Konfigurasi Channel Discord
{
"channels": {
"discord": {
"enabled": true,
"accounts": {
"main": {
"bot_token": "Bot MTExxx...",
"guild_id": "1234567890",
"allowed_channels": ["general", "bot-commands"],
"allowed_channel_ids": ["987654321098765432"],
"allow_from_roles": ["developer", "admin"],
"allow_from_users": ["user_snowflake_id"],
"require_mention": false,
"command_prefix": "!nano",
"max_message_length": 2000
}
}
}
}
}
🔌 Setup MCP (Model Context Protocol)
Sejak versi 0.1.4, Nanobot mendukung MCP (Model Context Protocol) — standar terbuka untuk menambah tool dan konteks ke AI agent. Ini memungkinkan kamu menghubungkan berbagai sumber data ke Nanobot:
{
"mcp": {
"enabled": true,
"servers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"],
"env": {}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"POSTGRES_CONNECTION_STRING": "postgresql://user:pass@localhost/db"
}
}
}
}
}
💡 MCP Membuka Kemampuan Baru:
- • Akses langsung ke repository GitHub melalui agent
- • Query database PostgreSQL/MySQL via natural language
- • Integrasi dengan Notion, Google Drive, Slack
- • Custom MCP server dengan Python atau Node.js
💓 Konfigurasi Heartbeat Nanobot
{
"agents": {
"defaults": {
"heartbeat": {
"enabled": true,
"interval": "30m",
"model": "anthropic/claude-haiku-3-5",
"channel": "telegram.main",
"message": "Apakah ada hal penting yang perlu aku kerjakan?",
"quiet_hours": {
"start": "22:00",
"end": "07:00",
"timezone": "Asia/Jakarta"
}
},
"schedules": [
{
"name": "morning_briefing",
"cron": "0 7 * * 1-5",
"timezone": "Asia/Jakarta",
"message": "Buat briefing singkat untuk hari ini berdasarkan task pending.",
"channel": "telegram.main"
}
]
}
}
}
🔒 Security dan Sandbox Nanobot
{
"security": {
"restrict_to_workspace": true,
"workspace": "/home/user/projects",
"allowed_tools": [
"read_file", "write_file",
"web_search", "run_python"
],
"blocked_tools": [
"delete_file", "format_disk", "shutdown_system"
],
"max_actions_per_session": 50,
"sandbox": {
"enabled": true,
"backend": "auto", // auto | docker | firejail | none
"docker": {
"image": "python:3.12-slim",
"memory_limit": "256m",
"cpu_quota": 0.5,
"network": "bridge",
"timeout": 30
}
},
"secrets": {
"encrypt": true,
"backend": "file"
},
"rate_limiting": {
"api_calls_per_minute": 20,
"tool_calls_per_minute": 10
}
}
}
🐋 Konfigurasi Docker Compose untuk Nanobot
# docker-compose.yml
version: '3.8'
services:
nanobot:
image: ghcr.io/hkuds/nanobot:latest
container_name: nanobot-agent
restart: unless-stopped
volumes:
- ~/.nanobot:/root/.nanobot
- ~/projects:/home/user/projects:ro
environment:
- NANOBOT_LOG_LEVEL=info
- NANOBOT_CONFIG=/root/.nanobot/config.json
ports:
- "127.0.0.1:18790:18790"
healthcheck:
test: ["CMD", "nanobot", "status"]
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
# Deploy
docker compose up -d
# Cek status
docker compose ps
docker compose logs -f nanobot
# Update ke versi terbaru
docker compose pull nanobot
docker compose up -d nanobot
🚀 VPS Terbaik untuk Nanobot
Nanobot berbasis Python membutuhkan setidaknya 512 MB RAM untuk berjalan nyaman. Untuk konfigurasi multi-channel dengan MCP tools aktif, 1 GB RAM adalah pilihan yang baik. VPS Indonesia SufaNet menyediakan pilihan dengan spesifikasi yang tepat di harga yang sangat terjangkau.
🤖 Nanobot + VPS SufaNet = AI Agent Full-Featured
Python, MCP, Docker. Semua fitur OpenClaw dengan RAM jauh lebih sedikit.
❓ FAQ Konfigurasi Nanobot
Bagaimana cara migrasi config dari OpenClaw ke Nanobot?
Nanobot menggunakan format JSON yang mirip OpenClaw. Kamu perlu copy API keys dari ~/.openclaw/openclaw.json ke ~/.nanobot/config.json secara manual. Untuk memory/history, Nanobot belum memiliki tool migrasi otomatis — mulai dari fresh memory adalah pendekatan yang lebih aman.
Apakah Nanobot bisa jalankan beberapa agent sekaligus?
Ya, kamu bisa definisikan beberapa agent di bagian "agents" config, masing-masing dengan provider, model, channel, dan workspace yang berbeda. Satu instance Nanobot bisa melayani beberapa agent meski konsumsi RAM tentu meningkat.
Versi Python mana yang direkomendasikan untuk Nanobot?
Nanobot membutuhkan Python 3.11+. Untuk production, Python 3.12 direkomendasikan karena memiliki peningkatan performa signifikan (hingga 60% lebih cepat untuk beberapa operasi). Install via uv yang otomatis mengelola Python version.
🎯 Kesimpulan
Nanobot adalah pilihan menarik bagi developer yang familiar dengan Python dan menginginkan AI agent yang lebih ringan dari OpenClaw. Dengan dukungan MCP sejak v0.1.4, konfigurasi Docker resmi, dan ~4000 baris kode yang bisa dibaca dan dipahami, Nanobot sangat hackable dan extensible.
Deploy Nanobot di VPS Indonesia SufaNet untuk AI agent 24/7 yang handal dengan harga terjangkau.
🤖 Nanobot: Python AI Agent Production-Ready
MCP, Docker, multi-channel — semua di VPS SufaNet yang andal.