Python · MCP Support · ~4000 Lines Core

Setting Nanobot
sebagai Alternatif OpenClaw yang Lebih Ringan

Konfigurasi lengkap Nanobot: dari setup provider AI, MCP tools, channel Telegram/Discord, hingga optimasi Python untuk performa terbaik di VPS server.

± 23 menit baca SufaNet
Setting Nanobot Alternatif OpenClaw Lebih Ringan

🔍 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
FormatJSONJSON
Config Path~/.nanobot/config.json~/.openclaw/openclaw.json
MCP Support✅ Sejak v0.1.4✅ Built-in
Docker✅ Resmi didukung✅ Via script
RAM minimal512 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.