Lewati ke konten utama
Versi: Next

Langkah 3 (Jalur D) — Chat Bridge via Telegram

Ini deep-dive Jalur D dari lima control plane remote — jalur paling kuat sekaligus paling berat setup-nya. Masuk ke sini setelah checkpoint di halaman sebelumnya lolos: kamu punya alasan konkret butuh orkestrasi multi-agent/cron/alert dalam satu inbox. Contoh di bawah memakai Telegram, tapi ketiga jalurnya juga mendukung platform lain (WhatsApp/Slack/Discord — bahkan Feishu/LINE/WeChat Work via cc-connect).

Di sinilah "solo = team" mulai terasa penuh: agent hidup di mesin yang selalu menyala, dan kamu mengarahkannya dari HP — memberi task, menerima laporan, menyetujui langkah berisiko — dari mana saja.

Pilih jalurmu​

JalurCocok untukEffort setupKontrol
A. OpenClawMayoritas orang — gateway chat→agent matang, multi-channel± 30 menitTinggi (self-hosted)
B. Hermes AgentYang mau agent + memory + skills terintegrasi satu paket± 30 menitTinggi (self-hosted, open source)
C. Bridge customYang mau paham cara kerjanya / kebutuhan sangat spesifik± 1–2 jamTotal

Ketiganya butuh mesin yang selalu menyala: laptop/PC di rumah, Mac mini, atau VPS ($5–10/bulan — Hetzner/DigitalOcean/dll). Untuk mulai, laptop yang tidak sleep sudah cukup.

Buat bot Telegram

Semua jalur butuh ini. Di Telegram, chat ke @BotFather:

/newbot
→ beri nama, misal: My Agent Runner
→ beri username, misal: my_agent_runner_bot

BotFather membalas dengan bot token (123456:ABC-DEF...). Lalu dapatkan chat ID-mu: chat ke @userinfobot, catat angka Id.

:::warning Token = akses penuh ke bot Siapa pun yang memegang token bisa membaca dan mengirim pesan sebagai bot-mu. Simpan di environment variable / secret manager, jangan pernah commit ke repo. Kalau bocor: /revoke di BotFather. :::

Checkpoint: kamu punya bot token dan chat ID numerik milikmu sendiri.

Jalur A — OpenClaw (rekomendasi default)

OpenClaw adalah runtime + gateway yang menghubungkan agent ke Telegram/WhatsApp/Discord dan mengeksekusi shell, browser, dan cron di mesinmu. Instalasi manual kini memerlukan Node 24.16+ atau 26.1+; installer resmi menyiapkannya bila diperlukan.

curl -fsSL https://openclaw.ai/install.sh | bash

Wizard onboarding akan menanyakan: provider model + API key (pilih model terkuat yang budget-mu izinkan — ini agent yang memegang shell), workspace, lalu channels → Telegram: tempel bot token dari langkah sebelumnya.

Saat onboarding, pilih opsi pemasangan daemon agar gateway hidup lagi setelah reboot (launchd di macOS, systemd di Linux). Bila melewati opsi itu, jalankan openclaw onboard --install-daemon kemudian.

Setelah jalan, kunci aksesnya — hanya kamu yang boleh memerintah:

~/.openclaw/openclaw.json (bagian penting)
{
"channels": {
"telegram": {
"botToken": "${TELEGRAM_BOT_TOKEN}",
"allowFrom": [<CHAT_ID_KAMU>]
}
}
}

Checkpoint: kirim "halo, kamu jalan di mesin apa?" ke bot-mu dari Telegram — dijawab; kirim pesan dari akun Telegram lain — diabaikan/ditolak.

Jalur B — Hermes Agent

Hermes Agent (Nous Research, MIT) adalah agent self-improving: menulis skill Markdown dari pengalaman dan menyimpannya di memory lintas sesi. Gateway bawaannya mendukung Telegram, Discord, Slack, WhatsApp, Signal, dan email; backend eksekusinya bisa local, Docker, SSH, atau cloud sandbox (Daytona/Modal).

# install (lihat https://hermes-agent.nousresearch.com/docs/ untuk metode terbaru)
pip install hermes-agent
hermes setup # wizard: provider model, backend terminal, messaging
hermes gateway # jalankan gateway, sambungkan Telegram dengan bot token-mu

Pola yang disarankan: jalankan Hermes dengan backend Docker (bukan local) supaya shell-nya terisolasi dari mesinmu, dan arahkan workspace-nya ke clone repomu.

Checkpoint: dari Telegram, minta Hermes menjalankan git log --oneline -5 di repomu dan hasilnya benar.

Jalur C — bridge custom minimal (bot + agent headless)

Untuk memahami cara kerja semua produk di atas: pada intinya mereka hanyalah loop yang meneruskan pesan Telegram ke agent CLI headless dan mengembalikan outputnya. Versi minimal yang bisa langsung kamu pakai:

npm init -y && npm install telegraf
bridge.js
const {Telegraf} = require('telegraf');
const {execFile} = require('node:child_process');

const ALLOWED_CHAT_ID = Number(process.env.ALLOWED_CHAT_ID); // chat ID kamu
const REPO = process.env.REPO_DIR; // path repo target
const bot = new Telegraf(process.env.TELEGRAM_BOT_TOKEN);

bot.use((ctx, next) => {
if (ctx.chat?.id !== ALLOWED_CHAT_ID) return; // tolak semua orang lain
return next();
});

bot.on('text', (ctx) => {
ctx.reply('⏳ dikerjakan...');
// -p = headless: jalankan satu task penuh lalu keluar
execFile('claude', ['-p', ctx.message.text, '--output-format', 'text'],
{cwd: REPO, timeout: 15 * 60 * 1000, maxBuffer: 10 * 1024 * 1024},
(err, stdout, stderr) => {
const out = (stdout || stderr || String(err)).slice(-3500);
ctx.reply(out || '(selesai tanpa output)');
});
});

bot.launch();
TELEGRAM_BOT_TOKEN=<TOKEN> ALLOWED_CHAT_ID=<CHAT_ID> REPO_DIR=$HOME/proyekku \
node bridge.js

claude -p "<task>" menjalankan agentic loop penuh secara headless. Permission mengikuti .claude/settings.json dari Langkah 2; tambahkan --permission-mode acceptEdits bila edit file ingin auto-approve di mode remote.

Jalankan di bawah tmux atau buat service systemd/launchd supaya tetap hidup. Untuk sesi interaktif penuh (bukan satu-tembakan), pola yang umum adalah bot yang menulis ke sesi tmux send-keys — tapi mulai dari versi headless dulu.

Checkpoint: dari HP, kirim "jalankan npm test dan laporkan hasilnya" — balasan berisi hasil test sungguhan dari repomu.

Keraskan keamanannya (wajib, jalur apa pun)

Kamu baru saja menghubungkan internet ke shell di mesinmu. Empat lapis minimum:

  1. Whitelist chat ID — sudah dilakukan di atas. Verifikasi ulang: akun lain harus benar-benar diabaikan.
  2. Secret di environment, bukan di file yang bisa dibaca agent; ingat aturan deny untuk .env dari Langkah 2.
  3. Isolasi eksekusi — jalankan runner sebagai user OS terpisah tanpa akses ke dokumen pribadimu, atau di dalam container/VM. Di VPS khusus, risiko ini otomatis lebih kecil.
  4. Batas blast radius git — agent hanya bisa push branch, tidak bisa merge ke main (branch protection dari Langkah 1 menahan ini).

:::warning Jangan pernah Jangan expose bot tanpa whitelist, jangan beri agent remote kredensial production (DB prod, cloud admin), dan jangan aktifkan mode bypass permission di mesin yang menyimpan data pribadimu. :::

Checkpoint: kamu bisa menuliskan, dalam satu kalimat per item, apa kerusakan maksimal jika (a) bot token bocor, (b) agent menjalankan perintah destruktif — dan kamu nyaman dengan kedua jawaban itu.

Selanjutnya: Langkah 4 — Paralel dengan Git Worktrees