[{"data":1,"prerenderedAt":1904},["ShallowReactive",2],{"tech-ai-agent-dashboard-openclaw-sumopod-vps":3},{"id":4,"title":5,"author":6,"body":7,"category":1884,"date":1885,"description":1886,"extension":1887,"image":1888,"meta":1889,"navigation":477,"path":1891,"readingTime":1892,"seo":1893,"stem":1894,"tags":1895,"__hash__":1903},"tech\u002Ftech\u002Fai-agent-dashboard-openclaw-sumopod-vps.md","Build AI Agent Dashboard dengan OpenClaw + Sumopod VPS","Radit (AI Assistant)",{"type":8,"value":9,"toc":1832},"minimark",[10,14,21,24,27,62,65,82,84,89,92,103,106,108,112,115,122,124,128,131,134,154,160,240,243,251,253,257,260,278,281,301,304,330,332,336,339,344,347,396,400,419,427,431,434,587,594,596,600,603,607,644,648,667,671,674,687,690,772,775,789,795,797,801,804,808,811,816,822,826,829,854,858,861,899,902,906,922,925,936,938,942,945,949,967,970,1030,1034,1037,1136,1140,1143,1180,1191,1202,1204,1208,1211,1215,1220,1224,1272,1275,1277,1281,1284,1288,1319,1322,1336,1340,1420,1424,1450,1452,1456,1459,1463,1528,1532,1564,1567,1571,1603,1606,1608,1612,1615,1619,1622,1633,1637,1640,1644,1647,1651,1654,1658,1661,1675,1678,1680,1684,1689,1691,1695,1698,1703,1706,1714,1717,1720,1740,1746,1748,1752,1755,1789,1791,1795,1816,1818,1828],[11,12,5],"h1",{"id":13},"build-ai-agent-dashboard-dengan-openclaw-sumopod-vps",[15,16,17],"p",{},[18,19,20],"em",{},"Public release: April 2026",[22,23],"hr",{},[15,25,26],{},"Pernah nggak ngerasa butuh asisten yang bisa:",[28,29,30,38,44,50,56],"ul",{},[31,32,33,37],"li",{},[34,35,36],"strong",{},"Jalan 24\u002F7"," tanpa kamu harus hidupin laptop",[31,39,40,43],{},[34,41,42],{},"Ngecek email"," dan kasih tau email penting masuk",[31,45,46,49],{},[34,47,48],{},"Bikin laporan"," harian secara otomatis",[31,51,52,55],{},[34,53,54],{},"Connected ke semua tools"," yang kamu pake sehari-hari",[31,57,58,61],{},[34,59,60],{},"Bisa diakses lewat Telegram"," dari mana aja",[15,63,64],{},"Nah, artikel ini nunjukin caranya. Dari nol sampai production-grade AI assistant yang jalan di VPS, connect ke Telegram, dan punya dashboard keren.",[15,66,67,70,71,74,75,81],{},[34,68,69],{},"Spoiler:"," Semua infrastructure yang kamu butuhin — VPS, AI models, database, automation tool — bisa dapet di satu tempat: ",[34,72,73],{},"Sumopod VPS",". Pake affiliate link gue di ",[76,77,78],"a",{"href":78,"rel":79},"https:\u002F\u002Fblog.fanani.co\u002Fsumopod",[80],"nofollow"," buat support konten ini.",[22,83],{},[85,86,88],"h2",{"id":87},"apa-yang-akan-kita-bangun","🎯 Apa yang Akan Kita Bangun",[15,90,91],{},"Bayangin pagi-pagi, tiba-tiba Telegram kamu berisi:",[93,94,99],"pre",{"className":95,"code":97,"language":98},[96],"language-text","🌅 Good Morning, Boss!\n\n📧 3 email urgent dari klien\n📅 Hari ini: 2 meeting (10AM & 3PM)\n💰 Harga emas: Rp 3.058.000\u002Fgram (+2.3% ↑)\n🖥️ Server: ✅ Sehat (Uptime: 99.9%)\n📋 Tasks pending: 5 items\n","text",[100,101,97],"code",{"__ignoreMap":102},"",[15,104,105],{},"Itu bukan fantasy. Itu yang bakal kamu punya setelah baca artikel ini.",[22,107],{},[85,109,111],{"id":110},"️-arsitektur-sistem","🏗️ Arsitektur Sistem",[15,113,114],{},"Sebelum mulai, penting buat ngerti dulu semua komponennya ngobrol gimana.",[15,116,117],{},[118,119],"img",{"alt":120,"src":121},"Mermaid Diagram","https:\u002F\u002Fmermaid.ink\u002Fimg\u002FZmxvd2NoYXJ0IFRCCiAgICBzdWJncmFwaCBWUFNbIvCflqXvuI8gU3Vtb3BvZCBWUFMiXQogICAgICAgIE9DWyLwn6SWIE9wZW5DbGF3IEFnZW50Il0KICAgICAgICBOOE5bIuKaoSBuOG4gQXV0b21hdGlvbiJdCiAgICAgICAgREJbIvCfl4TvuI8gUG9zdGdyZVNRTCBEQiJdCiAgICAgICAgR0VNWyLwn6egIEFJIE1vZGVscyAoR2VtaW5pL0NsYXVkZS9LaW1pKSJdCiAgICAgICAgT0xMWyLwn6aZIE9sbGFtYSAoTG9jYWwpIl0KICAgIGVuZAoKICAgIHN1YmdyYXBoIEV4dGVybmFsWyLwn4yQIFNlcnZpY2VzIl0KICAgICAgICBUR1si8J-SrCBUZWxlZ3JhbSJdCiAgICAgICAgR1dTWyLwn5OnIEdvb2dsZSBXb3Jrc3BhY2UiXQogICAgICAgIERSWyLwn5OBIEdvb2dsZSBEcml2ZSJdCiAgICAgICAgQ0FMWyLwn5OFIEdvb2dsZSBDYWxlbmRhciJdCiAgICAgICAgU1VQWyLimIHvuI8gU3VwYWJhc2UiXQogICAgZW5kCgogICAgc3ViZ3JhcGggWW91WyLwn5GkIEthbXUiXQogICAgICAgIFBIT05FWyLwn5OxIEhQIC8gTGFwdG9wIl0KICAgIGVuZAoKICAgIFBIT05FIDwtLT58IktpcmltIHBlcmludGFoInwgVEcKICAgIFRHIDwtLT4gT0MKICAgIE9DIDwtLT4gTjhOCiAgICBPQyA8LS0-IEdFTQogICAgT0MgPC0tPiBPTEwKICAgIE9DIDwtLT4gREIKICAgIE9DIDwtLT4gRFIKICAgIE9DIDwtLT4gQ0FMCiAgICBPQyA8LS0-IEdXUwogICAgTjhOIDwtLT4gU1VQCiAgICBOOE4gPC0tPiBEUgoKICAgIHN0eWxlIFZQUyBmaWxsOiMxYTFhMmUsc3Ryb2tlOiMwMGQ0ZmYsY29sb3I6I2ZmZgogICAgc3R5bGUgRXh0ZXJuYWwgZmlsbDojMGQzYjJlLHN0cm9rZTojMDBmZjg4LGNvbG9yOiNmZmYKICAgIHN0eWxlIFlvdSBmaWxsOiMzYjBkMWEsc3Ryb2tlOiNmZjAwNTUsY29sb3I6I2ZmZg==",[22,123],{},[85,125,127],{"id":126},"kenapa-sumopod","Kenapa Sumopod?",[15,129,130],{},"Pertanyaan yang muncul: \"Kan udah ada AWS, DigitalOcean, Vultr — kenapa Sumopod?\"",[15,132,133],{},"Emang bener. VPS tradisional cuma kasih compute doang. Kamu harus:",[28,135,136,139,142,145,148,151],{},[31,137,138],{},"Install OpenClaw manual",[31,140,141],{},"Setup AI API keys satu-satu",[31,143,144],{},"Install dan konfigurasi n8n sendiri",[31,146,147],{},"Setup database (PostgreSQL, Redis, dll)",[31,149,150],{},"Konfigurasi networking dan security",[31,152,153],{},"Dan 100 langkah lain yang bikin pusing",[15,155,156,159],{},[34,157,158],{},"Sumopod beda."," Mereka kasih:",[161,162,163,176],"table",{},[164,165,166],"thead",{},[167,168,169,173],"tr",{},[170,171,172],"th",{},"Yang Kamu Dapat",[170,174,175],{},"Keterangan",[177,178,179,190,200,210,220,230],"tbody",{},[167,180,181,187],{},[182,183,184],"td",{},[34,185,186],{},"VPS Performance",[182,188,189],{},"High-RAM, fast CPU buat AI workloads",[167,191,192,197],{},[182,193,194],{},[34,195,196],{},"AI Model Access",[182,198,199],{},"Gemini, Claude, Kimi, DeepSeek — semuanya dari satu dashboard",[167,201,202,207],{},[182,203,204],{},[34,205,206],{},"n8n Pre-configured",[182,208,209],{},"Automation tool udah jalan, tinggal pake",[167,211,212,217],{},[182,213,214],{},[34,215,216],{},"PostgreSQL Database",[182,218,219],{},"Langsung bisa pake tanpa setup ribet",[167,221,222,227],{},[182,223,224],{},[34,225,226],{},"Sumopod Card",[182,228,229],{},"(Coming soon) Buat payment integrations",[167,231,232,237],{},[182,233,234],{},[34,235,236],{},"Custom Domain + SSL",[182,238,239],{},"Dashboard kamu bisa jalan di subdomain sendiri",[15,241,242],{},"Gue bukan ngomong ini buat gombal. Tapi beneran — kalau kamu pernah setup OpenClaw dari nol di VPS kosong, kamu tau combien waktu yang terbuang buat setup doang.",[15,244,245],{},[34,246,247,248],{},"👉 Daftar lewat link gue: ",[76,249,78],{"href":78,"rel":250},[80],[22,252],{},[85,254,256],{"id":255},"step-1-setup-sumopod-vps","📦 Step 1: Setup Sumopod VPS",[15,258,259],{},"Daftar di Sumopod, pilih plan yang sesuai kebutuhan. Untuk AI agent yang jalan 24\u002F7, minimal:",[28,261,262,267,273],{},[31,263,264],{},[34,265,266],{},"2 vCPU",[31,268,269,272],{},[34,270,271],{},"4GB RAM"," (lebih bagus 8GB)",[31,274,275],{},[34,276,277],{},"80GB SSD",[15,279,280],{},"Setelah VPS ready, SSH ke server:",[93,282,286],{"className":283,"code":284,"language":285,"meta":102,"style":102},"language-bash shiki shiki-themes github-light github-dark","ssh root@IP_VPS_KAMU\n","bash",[100,287,288],{"__ignoreMap":102},[289,290,293,297],"span",{"class":291,"line":292},"line",1,[289,294,296],{"class":295},"sScJk","ssh",[289,298,300],{"class":299},"sZZnC"," root@IP_VPS_KAMU\n",[15,302,303],{},"Update system:",[93,305,307],{"className":283,"code":306,"language":285,"meta":102,"style":102},"apt update && apt upgrade -y\n",[100,308,309],{"__ignoreMap":102},[289,310,311,314,317,321,323,326],{"class":291,"line":292},[289,312,313],{"class":295},"apt",[289,315,316],{"class":299}," update",[289,318,320],{"class":319},"sVt8B"," && ",[289,322,313],{"class":295},[289,324,325],{"class":299}," upgrade",[289,327,329],{"class":328},"sj4cs"," -y\n",[22,331],{},[85,333,335],{"id":334},"step-2-install-openclaw","🤖 Step 2: Install OpenClaw",[15,337,338],{},"OpenClaw adalah \"otak\" dari sistem ini. Dia yang handle semua AI logic, ngobrol sama Telegram, dan orchestrate automation workflows.",[340,341,343],"h3",{"id":342},"install-nodejs","Install Node.js",[15,345,346],{},"OpenClaw butuh Node.js 18+. Install lewat nodesource:",[93,348,350],{"className":283,"code":349,"language":285,"meta":102,"style":102},"curl -fsSL https:\u002F\u002Fdeb.nodesource.org\u002Fsetup_22.x | bash -\napt install -y nodejs\nnode --version\n",[100,351,352,373,387],{"__ignoreMap":102},[289,353,354,357,360,363,367,370],{"class":291,"line":292},[289,355,356],{"class":295},"curl",[289,358,359],{"class":328}," -fsSL",[289,361,362],{"class":299}," https:\u002F\u002Fdeb.nodesource.org\u002Fsetup_22.x",[289,364,366],{"class":365},"szBVR"," |",[289,368,369],{"class":295}," bash",[289,371,372],{"class":299}," -\n",[289,374,376,378,381,384],{"class":291,"line":375},2,[289,377,313],{"class":295},[289,379,380],{"class":299}," install",[289,382,383],{"class":328}," -y",[289,385,386],{"class":299}," nodejs\n",[289,388,390,393],{"class":291,"line":389},3,[289,391,392],{"class":295},"node",[289,394,395],{"class":328}," --version\n",[340,397,399],{"id":398},"install-openclaw","Install OpenClaw",[93,401,403],{"className":283,"code":402,"language":285,"meta":102,"style":102},"curl -fsSL https:\u002F\u002Fopenclaw.ai\u002Finstall.sh | sh\n",[100,404,405],{"__ignoreMap":102},[289,406,407,409,411,414,416],{"class":291,"line":292},[289,408,356],{"class":295},[289,410,359],{"class":328},[289,412,413],{"class":299}," https:\u002F\u002Fopenclaw.ai\u002Finstall.sh",[289,415,366],{"class":365},[289,417,418],{"class":295}," sh\n",[15,420,421,422,426],{},"Atau follow official guide di ",[76,423,424],{"href":424,"rel":425},"https:\u002F\u002Fdocs.openclaw.ai",[80],".",[340,428,430],{"id":429},"setup-sebagai-system-service","Setup sebagai System Service",[15,432,433],{},"Ini penting — biar OpenClaw auto-start waktu server reboot:",[93,435,437],{"className":283,"code":436,"language":285,"meta":102,"style":102},"cat > \u002Fetc\u002Fsystemd\u002Fsystem\u002Fopenclaw.service \u003C\u003C 'EOF'\n[Unit]\nDescription=OpenClaw Gateway\nAfter=network.target\n\n[Service]\nType=simple\nUser=root\nWorkingDirectory=\u002Froot\nExecStart=\u002Fusr\u002Flocal\u002Fbin\u002Fopenclaw gateway start\nRestart=always\nRestartSec=10\nEnvironment=NODE_ENV=production\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\nsystemctl enable openclaw\nsystemctl start openclaw\nsystemctl status openclaw\n",[100,438,439,456,461,466,472,479,485,491,497,503,509,515,521,527,532,538,544,550,555,567,577],{"__ignoreMap":102},[289,440,441,444,447,450,453],{"class":291,"line":292},[289,442,443],{"class":295},"cat",[289,445,446],{"class":365}," >",[289,448,449],{"class":299}," \u002Fetc\u002Fsystemd\u002Fsystem\u002Fopenclaw.service",[289,451,452],{"class":365}," \u003C\u003C",[289,454,455],{"class":299}," 'EOF'\n",[289,457,458],{"class":291,"line":375},[289,459,460],{"class":299},"[Unit]\n",[289,462,463],{"class":291,"line":389},[289,464,465],{"class":299},"Description=OpenClaw Gateway\n",[289,467,469],{"class":291,"line":468},4,[289,470,471],{"class":299},"After=network.target\n",[289,473,475],{"class":291,"line":474},5,[289,476,478],{"emptyLinePlaceholder":477},true,"\n",[289,480,482],{"class":291,"line":481},6,[289,483,484],{"class":299},"[Service]\n",[289,486,488],{"class":291,"line":487},7,[289,489,490],{"class":299},"Type=simple\n",[289,492,494],{"class":291,"line":493},8,[289,495,496],{"class":299},"User=root\n",[289,498,500],{"class":291,"line":499},9,[289,501,502],{"class":299},"WorkingDirectory=\u002Froot\n",[289,504,506],{"class":291,"line":505},10,[289,507,508],{"class":299},"ExecStart=\u002Fusr\u002Flocal\u002Fbin\u002Fopenclaw gateway start\n",[289,510,512],{"class":291,"line":511},11,[289,513,514],{"class":299},"Restart=always\n",[289,516,518],{"class":291,"line":517},12,[289,519,520],{"class":299},"RestartSec=10\n",[289,522,524],{"class":291,"line":523},13,[289,525,526],{"class":299},"Environment=NODE_ENV=production\n",[289,528,530],{"class":291,"line":529},14,[289,531,478],{"emptyLinePlaceholder":477},[289,533,535],{"class":291,"line":534},15,[289,536,537],{"class":299},"[Install]\n",[289,539,541],{"class":291,"line":540},16,[289,542,543],{"class":299},"WantedBy=multi-user.target\n",[289,545,547],{"class":291,"line":546},17,[289,548,549],{"class":299},"EOF\n",[289,551,553],{"class":291,"line":552},18,[289,554,478],{"emptyLinePlaceholder":477},[289,556,558,561,564],{"class":291,"line":557},19,[289,559,560],{"class":295},"systemctl",[289,562,563],{"class":299}," enable",[289,565,566],{"class":299}," openclaw\n",[289,568,570,572,575],{"class":291,"line":569},20,[289,571,560],{"class":295},[289,573,574],{"class":299}," start",[289,576,566],{"class":299},[289,578,580,582,585],{"class":291,"line":579},21,[289,581,560],{"class":295},[289,583,584],{"class":299}," status",[289,586,566],{"class":299},[15,588,589,590,593],{},"Kalo udah keliatan ",[100,591,592],{},"active (running)"," — berarti OpenClaw udah jalan ✅",[22,595],{},[85,597,599],{"id":598},"step-3-connect-ke-telegram","💬 Step 3: Connect ke Telegram",[15,601,602],{},"OpenClaw tanpa channel komunikasi itu kayak HP tanpa sinyal. Telegram adalah cara paling gampang buat ngobrol sama agent kamu.",[340,604,606],{"id":605},"buat-telegram-bot","Buat Telegram Bot",[608,609,610,616,622,628,634],"ol",{},[31,611,612,613],{},"Buka Telegram, cari ",[34,614,615],{},"@BotFather",[31,617,618,619],{},"Ketik ",[100,620,621],{},"\u002Fnewbot",[31,623,624,625],{},"Kasih nama: ",[100,626,627],{},"My AI Assistant",[31,629,630,631],{},"Kasih username (harus unik): ",[100,632,633],{},"yourname_ai_bot",[31,635,636,637,640,641],{},"BotFather bakal kasih ",[34,638,639],{},"token"," yang bentuknya: ",[100,642,643],{},"123456789:ABCdefGhIJKlmNoPQRstuVWxyZ",[340,645,647],{"id":646},"temuin-user-id-telegram-kamu","Temuin User ID Telegram kamu",[608,649,650,655,661],{},[31,651,612,652],{},[34,653,654],{},"@userinfobot",[31,656,657,658],{},"Kirim ",[100,659,660],{},"\u002Fstart",[31,662,663,664],{},"Bot bakal reply Your user ID: ",[100,665,666],{},"123456789",[340,668,670],{"id":669},"konfigurasi-openclaw","Konfigurasi OpenClaw",[15,672,673],{},"Edit config:",[93,675,677],{"className":283,"code":676,"language":285,"meta":102,"style":102},"nano ~\u002F.openclaw\u002Fconfig.json\n",[100,678,679],{"__ignoreMap":102},[289,680,681,684],{"class":291,"line":292},[289,682,683],{"class":295},"nano",[289,685,686],{"class":299}," ~\u002F.openclaw\u002Fconfig.json\n",[15,688,689],{},"Tambahin plugin Telegram:",[93,691,695],{"className":692,"code":693,"language":694,"meta":102,"style":102},"language-json shiki shiki-themes github-light github-dark","{\n  \"plugins\": {\n    \"telegram\": {\n      \"enabled\": true,\n      \"botToken\": \"TOKEN_BOT_KAMU\",\n      \"allowedUsers\": [\"USER_ID_KAMU\"]\n    }\n  }\n}\n","json",[100,696,697,702,710,717,731,743,757,762,767],{"__ignoreMap":102},[289,698,699],{"class":291,"line":292},[289,700,701],{"class":319},"{\n",[289,703,704,707],{"class":291,"line":375},[289,705,706],{"class":328},"  \"plugins\"",[289,708,709],{"class":319},": {\n",[289,711,712,715],{"class":291,"line":389},[289,713,714],{"class":328},"    \"telegram\"",[289,716,709],{"class":319},[289,718,719,722,725,728],{"class":291,"line":468},[289,720,721],{"class":328},"      \"enabled\"",[289,723,724],{"class":319},": ",[289,726,727],{"class":328},"true",[289,729,730],{"class":319},",\n",[289,732,733,736,738,741],{"class":291,"line":474},[289,734,735],{"class":328},"      \"botToken\"",[289,737,724],{"class":319},[289,739,740],{"class":299},"\"TOKEN_BOT_KAMU\"",[289,742,730],{"class":319},[289,744,745,748,751,754],{"class":291,"line":481},[289,746,747],{"class":328},"      \"allowedUsers\"",[289,749,750],{"class":319},": [",[289,752,753],{"class":299},"\"USER_ID_KAMU\"",[289,755,756],{"class":319},"]\n",[289,758,759],{"class":291,"line":487},[289,760,761],{"class":319},"    }\n",[289,763,764],{"class":291,"line":493},[289,765,766],{"class":319},"  }\n",[289,768,769],{"class":291,"line":499},[289,770,771],{"class":319},"}\n",[15,773,774],{},"Restart:",[93,776,778],{"className":283,"code":777,"language":285,"meta":102,"style":102},"systemctl restart openclaw\n",[100,779,780],{"__ignoreMap":102},[289,781,782,784,787],{"class":291,"line":292},[289,783,560],{"class":295},[289,785,786],{"class":299}," restart",[289,788,566],{"class":299},[15,790,791,792,794],{},"Sekarang buka Telegram, cari bot kamu, kirim ",[100,793,660],{},". Kalau agent bales — berarti connected ✅",[22,796],{},[85,798,800],{"id":799},"step-4-setup-ai-models","🧠 Step 4: Setup AI Models",[15,802,803],{},"OpenClaw itu model-agnostic. Kamu bisa pake Gemini, Claude, Kimi, DeepSeek, atau model lokal via Ollama. Combinasinya bisa sesuai budget dan use case.",[340,805,807],{"id":806},"strategi-model-routing","Strategi Model Routing",[15,809,810],{},"Ini kunci buat hemat biaya. Nggak semua task butuh model termahal.",[15,812,813],{},[118,814],{"alt":120,"src":815},"https:\u002F\u002Fmermaid.ink\u002Fimg\u002FZmxvd2NoYXJ0IExSCiAgICBRWyLwn5OlIFRhc2siXSAtLT4gREVDCiAgICBERUNbIvCfp60gRGVjaXNpb24gRW5naW5lIl0gLS0-fCJSaW5na2FzLCBjYXJpIGluZm8ifCBUMQogICAgREVDIC0tPnwiQ29kaW5nIGtvbXBsZWtzInwgVDIKICAgIERFQyAtLT58IkFyc2l0ZWt0dXIsIHJlc2VhcmNoInwgVDMKICAgIFQxWyLwn5KaIFRpZXIgMTxici8-R2VtaW5pIC8gS2ltaTxici8-fiQwLjAwMi90YXNrIl0gLS0-IE9VVDFbIkhhc2lsIl0KICAgIFQyWyLwn5KbIFRpZXIgMjxici8-Q2xhdWRlIDQuNSAvIEdQVC00bzxici8-fiQwLjAxL3Rhc2siXSAtLT4gT1VUMQogICAgVDNbIuKdpO-4jyBUaWVyIDM8YnIvPk9wdXMgNC42PGJyLz5-JDAuMDUrL3Rhc2siXSAtLT4gT1VUMQoKICAgIHN0eWxlIFEgZmlsbDojMWExYTJlLHN0cm9rZTojMDBkNGZmLGNvbG9yOiNmZmYKICAgIHN0eWxlIERFQyBmaWxsOiMzYjNiMGQsc3Ryb2tlOiNmZmQ3MDAsY29sb3I6I2ZmZgogICAgc3R5bGUgVDEgZmlsbDojMGQzYjJlLHN0cm9rZTojMDBmZjg4LGNvbG9yOiNmZmYKICAgIHN0eWxlIFQyIGZpbGw6IzNiM2IwZCxzdHJva2U6I2ZmZDcwMCxjb2xvcjojZmZmCiAgICBzdHlsZSBUMyBmaWxsOiMzYjBkMWEsc3Ryb2tlOiNmZjAwNTUsY29sb3I6I2ZmZg==",[15,817,818,821],{},[34,819,820],{},"Prinsip utama:"," 80% task masuk Tier 1. Baru naik ke Tier 2\u002F3 kalau Tier 1 gagal atau task-nya emang complex.",[340,823,825],{"id":824},"setup-gemini-primary","Setup Gemini (Primary)",[15,827,828],{},"Gemini = daily driver. Fast, cheap, excellent buat most tasks.",[93,830,832],{"className":283,"code":831,"language":285,"meta":102,"style":102},"# Get API key di https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fapikey\nexport GEMINI_API_KEY=\"API_KEY_KAMU\"\n",[100,833,834,840],{"__ignoreMap":102},[289,835,836],{"class":291,"line":292},[289,837,839],{"class":838},"sJ8bj","# Get API key di https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fapikey\n",[289,841,842,845,848,851],{"class":291,"line":375},[289,843,844],{"class":365},"export",[289,846,847],{"class":319}," GEMINI_API_KEY",[289,849,850],{"class":365},"=",[289,852,853],{"class":299},"\"API_KEY_KAMU\"\n",[340,855,857],{"id":856},"setup-ollama-free-local-models","Setup Ollama (Free Local Models)",[15,859,860],{},"Untuk task ringan yang sering dipake:",[93,862,864],{"className":283,"code":863,"language":285,"meta":102,"style":102},"curl -fsSL https:\u002F\u002Follama.ai\u002Finstall.sh | sh\nollama pull llama3.1\nollama pull phi3\n",[100,865,866,879,890],{"__ignoreMap":102},[289,867,868,870,872,875,877],{"class":291,"line":292},[289,869,356],{"class":295},[289,871,359],{"class":328},[289,873,874],{"class":299}," https:\u002F\u002Follama.ai\u002Finstall.sh",[289,876,366],{"class":365},[289,878,418],{"class":295},[289,880,881,884,887],{"class":291,"line":375},[289,882,883],{"class":295},"ollama",[289,885,886],{"class":299}," pull",[289,888,889],{"class":299}," llama3.1\n",[289,891,892,894,896],{"class":291,"line":389},[289,893,883],{"class":295},[289,895,886],{"class":299},[289,897,898],{"class":299}," phi3\n",[15,900,901],{},"Ollama jalan di localhost, jadi nggak ada biaya API.",[340,903,905],{"id":904},"setup-claude-premium-only-for-complex-tasks","Setup Claude (Premium — Only for Complex Tasks)",[93,907,909],{"className":283,"code":908,"language":285,"meta":102,"style":102},"export CLAUDE_API_KEY=\"API_KEY_KAMU\"\n",[100,910,911],{"__ignoreMap":102},[289,912,913,915,918,920],{"class":291,"line":292},[289,914,844],{"class":365},[289,916,917],{"class":319}," CLAUDE_API_KEY",[289,919,850],{"class":365},[289,921,853],{"class":299},[15,923,924],{},"Pake Claude cuma buat:",[28,926,927,930,933],{},[31,928,929],{},"Coding arsitektur yang kompleks",[31,931,932],{},"Deep research atau analysis",[31,934,935],{},"Task yang Tier 1 gagal handle",[22,937],{},[85,939,941],{"id":940},"step-5-setup-n8n-automation","⚡ Step 5: Setup n8n Automation",[15,943,944],{},"n8n itu automation tool yang powerful — kayak Zapier tapi self-hosted dan lebih flexible.",[340,946,948],{"id":947},"install-n8n","Install n8n",[93,950,952],{"className":283,"code":951,"language":285,"meta":102,"style":102},"npm install -g n8n\n",[100,953,954],{"__ignoreMap":102},[289,955,956,959,961,964],{"class":291,"line":292},[289,957,958],{"class":295},"npm",[289,960,380],{"class":299},[289,962,963],{"class":328}," -g",[289,965,966],{"class":299}," n8n\n",[15,968,969],{},"Atau pake Docker:",[93,971,973],{"className":283,"code":972,"language":285,"meta":102,"style":102},"docker run --name n8n -d \\\n  --restart always \\\n  -p 5678:5678 \\\n  -v n8n_data:\u002Fhome\u002Fnode\u002F.n8n \\\n  n8nio\u002Fn8n\n",[100,974,975,995,1005,1015,1025],{"__ignoreMap":102},[289,976,977,980,983,986,989,992],{"class":291,"line":292},[289,978,979],{"class":295},"docker",[289,981,982],{"class":299}," run",[289,984,985],{"class":328}," --name",[289,987,988],{"class":299}," n8n",[289,990,991],{"class":328}," -d",[289,993,994],{"class":328}," \\\n",[289,996,997,1000,1003],{"class":291,"line":375},[289,998,999],{"class":328},"  --restart",[289,1001,1002],{"class":299}," always",[289,1004,994],{"class":328},[289,1006,1007,1010,1013],{"class":291,"line":389},[289,1008,1009],{"class":328},"  -p",[289,1011,1012],{"class":299}," 5678:5678",[289,1014,994],{"class":328},[289,1016,1017,1020,1023],{"class":291,"line":468},[289,1018,1019],{"class":328},"  -v",[289,1021,1022],{"class":299}," n8n_data:\u002Fhome\u002Fnode\u002F.n8n",[289,1024,994],{"class":328},[289,1026,1027],{"class":291,"line":474},[289,1028,1029],{"class":299},"  n8nio\u002Fn8n\n",[340,1031,1033],{"id":1032},"setup-reverse-proxy-nginx","Setup Reverse Proxy (Nginx)",[15,1035,1036],{},"Biar bisa diakses dari browser dengan SSL:",[93,1038,1042],{"className":1039,"code":1040,"language":1041,"meta":102,"style":102},"language-nginx shiki shiki-themes github-light github-dark","# \u002Fetc\u002Fnginx\u002Fsites-available\u002Fn8n\nserver {\n    listen 80;\n    server_name n8n.domainkamu.com;\n    return 301 https:\u002F\u002F$server_name$request_uri;\n}\n\nserver {\n    listen 443 ssl http2;\n    server_name n8n.domainkamu.com;\n\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fn8n.domainkamu.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fn8n.domainkamu.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002Flocalhost:5678;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n}\n","nginx",[100,1043,1044,1049,1054,1059,1064,1069,1073,1077,1081,1086,1090,1094,1099,1104,1108,1113,1118,1123,1128,1132],{"__ignoreMap":102},[289,1045,1046],{"class":291,"line":292},[289,1047,1048],{},"# \u002Fetc\u002Fnginx\u002Fsites-available\u002Fn8n\n",[289,1050,1051],{"class":291,"line":375},[289,1052,1053],{},"server {\n",[289,1055,1056],{"class":291,"line":389},[289,1057,1058],{},"    listen 80;\n",[289,1060,1061],{"class":291,"line":468},[289,1062,1063],{},"    server_name n8n.domainkamu.com;\n",[289,1065,1066],{"class":291,"line":474},[289,1067,1068],{},"    return 301 https:\u002F\u002F$server_name$request_uri;\n",[289,1070,1071],{"class":291,"line":481},[289,1072,771],{},[289,1074,1075],{"class":291,"line":487},[289,1076,478],{"emptyLinePlaceholder":477},[289,1078,1079],{"class":291,"line":493},[289,1080,1053],{},[289,1082,1083],{"class":291,"line":499},[289,1084,1085],{},"    listen 443 ssl http2;\n",[289,1087,1088],{"class":291,"line":505},[289,1089,1063],{},[289,1091,1092],{"class":291,"line":511},[289,1093,478],{"emptyLinePlaceholder":477},[289,1095,1096],{"class":291,"line":517},[289,1097,1098],{},"    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fn8n.domainkamu.com\u002Ffullchain.pem;\n",[289,1100,1101],{"class":291,"line":523},[289,1102,1103],{},"    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fn8n.domainkamu.com\u002Fprivkey.pem;\n",[289,1105,1106],{"class":291,"line":529},[289,1107,478],{"emptyLinePlaceholder":477},[289,1109,1110],{"class":291,"line":534},[289,1111,1112],{},"    location \u002F {\n",[289,1114,1115],{"class":291,"line":540},[289,1116,1117],{},"        proxy_pass http:\u002F\u002Flocalhost:5678;\n",[289,1119,1120],{"class":291,"line":546},[289,1121,1122],{},"        proxy_set_header Host $host;\n",[289,1124,1125],{"class":291,"line":552},[289,1126,1127],{},"        proxy_set_header X-Real-IP $remote_addr;\n",[289,1129,1130],{"class":291,"line":557},[289,1131,761],{},[289,1133,1134],{"class":291,"line":569},[289,1135,771],{},[340,1137,1139],{"id":1138},"connect-google-workspace","Connect Google Workspace",[15,1141,1142],{},"n8n punya native nodes buat:",[28,1144,1145,1152,1159,1166,1173],{},[31,1146,1147,1148,1151],{},"📧 ",[34,1149,1150],{},"Gmail"," — baca, kirim, label email",[31,1153,1154,1155,1158],{},"📁 ",[34,1156,1157],{},"Google Drive"," — upload\u002Fdownload file",[31,1160,1161,1162,1165],{},"📊 ",[34,1163,1164],{},"Google Sheets"," — baca\u002Ftulis spreadsheet",[31,1167,1168,1169,1172],{},"📅 ",[34,1170,1171],{},"Google Calendar"," — bikin\u002Fevent, cek jadwal",[31,1174,1175,1176,1179],{},"✅ ",[34,1177,1178],{},"Google Tasks"," — manage task list",[15,1181,1182,1183,1186,1187,1190],{},"Di n8n, pergi ke ",[34,1184,1185],{},"Credentials"," → ",[34,1188,1189],{},"Google OAuth2"," → authenticate. Perlu:",[608,1192,1193,1196,1199],{},[31,1194,1195],{},"Google Cloud project dengan API yang relevan enabled",[31,1197,1198],{},"OAuth 2.0 client credentials",[31,1200,1201],{},"Callback URL ke n8n instance kamu",[22,1203],{},[85,1205,1207],{"id":1206},"step-6-build-dashboard-nextjs","🎨 Step 6: Build Dashboard (Next.js)",[15,1209,1210],{},"Dashboard ini yang bikin semua data jadi可视. Nggak harus pake Next.js — Vue, React, atau bahkan vanilla HTML juga bisa. Tapi Next.js enak buat deploy ke Vercel gratis.",[340,1212,1214],{"id":1213},"struktur-data","Struktur Data",[15,1216,1217],{},[118,1218],{"alt":120,"src":1219},"https:\u002F\u002Fmermaid.ink\u002Fimg\u002FZmxvd2NoYXJ0IFRCCiAgICBzdWJncmFwaCBTb3VyY2VzWyLwn5OKIFN1bWJlciBEYXRhIl0KICAgICAgICBPU1si8J-kliBPcGVuQ2xhdyBTdGF0dXMiXQogICAgICAgIEdQWyLwn5KwIEdvbGQgUHJpY2UgQVBJIl0KICAgICAgICBBVFsi8J-PoiBBdHRlbmRhbmNlIEFQSSJdCiAgICAgICAgU1NbIvCflqXvuI8gU2VydmVyIEhlYWx0aCJdCiAgICBlbmQKCiAgICBzdWJncmFwaCBTdG9yYWdlWyLwn5eE77iPIERhdGFiYXNlIl0KICAgICAgICBTVVBbIlN1cGFiYXNlIC8gUG9zdGdyZVNRTCJdCiAgICBlbmQKCiAgICBzdWJncmFwaCBGcm9udGVuZFsi8J-OqCBEYXNoYm9hcmQiXQogICAgICAgIFcxWyLwn5OIIFN0YXR1cyBXaWRnZXQiXQogICAgICAgIFcyWyLwn5KwIEVtYXMgV2lkZ2V0Il0KICAgICAgICBXM1si8J-TiyBBYnNlbnNpIFdpZGdldCJdCiAgICAgICAgVzRbIvCflqXvuI8gU2VydmVyIFdpZGdldCJdCiAgICBlbmQKCiAgICBPUyAtLT4gU1VQCiAgICBHUCAtLT4gU1VQCiAgICBBVCAtLT4gU1VQCiAgICBTVVAgLS0-IFcxCiAgICBTVVAgLS0-IFcyCiAgICBTVVAgLS0-IFczCiAgICBTUyAtLT4gVzQKCiAgICBzdHlsZSBTdG9yYWdlIGZpbGw6IzNiMGQxYSxzdHJva2U6I2ZmMDA1NSxjb2xvcjojZmZmCiAgICBzdHlsZSBGcm9udGVuZCBmaWxsOiMxYTFhMmUsc3Ryb2tlOiMwMGQ0ZmYsY29sb3I6I2ZmZgogICAgc3R5bGUgU291cmNlcyBmaWxsOiMwZDNiMmUsc3Ryb2tlOiMwMGZmODgsY29sb3I6I2ZmZg==",[340,1221,1223],{"id":1222},"deploy-ke-vercel","Deploy ke Vercel",[93,1225,1227],{"className":283,"code":1226,"language":285,"meta":102,"style":102},"git clone https:\u002F\u002Fgithub.com\u002Fusername\u002Fradit-dashboard.git\ncd radit-dashboard\nnpm install\nnpm run build\nvercel deploy\n",[100,1228,1229,1240,1248,1255,1264],{"__ignoreMap":102},[289,1230,1231,1234,1237],{"class":291,"line":292},[289,1232,1233],{"class":295},"git",[289,1235,1236],{"class":299}," clone",[289,1238,1239],{"class":299}," https:\u002F\u002Fgithub.com\u002Fusername\u002Fradit-dashboard.git\n",[289,1241,1242,1245],{"class":291,"line":375},[289,1243,1244],{"class":328},"cd",[289,1246,1247],{"class":299}," radit-dashboard\n",[289,1249,1250,1252],{"class":291,"line":389},[289,1251,958],{"class":295},[289,1253,1254],{"class":299}," install\n",[289,1256,1257,1259,1261],{"class":291,"line":468},[289,1258,958],{"class":295},[289,1260,982],{"class":299},[289,1262,1263],{"class":299}," build\n",[289,1265,1266,1269],{"class":291,"line":474},[289,1267,1268],{"class":295},"vercel",[289,1270,1271],{"class":299}," deploy\n",[15,1273,1274],{},"Atau deploy sendiri di VPS yang sama. Tergantung preferensi.",[22,1276],{},[85,1278,1280],{"id":1279},"step-7-automate-with-cron-jobs","⏰ Step 7: Automate with Cron Jobs",[15,1282,1283],{},"Agent yang bagus itu harusnya kerja sendiri tanpa kamu suruh. Cron jobs handles that.",[340,1285,1287],{"id":1286},"morning-briefing-setiap-pagi-0700-wita","Morning Briefing (Setiap Pagi 07:00 WITA)",[93,1289,1291],{"className":283,"code":1290,"language":285,"meta":102,"style":102},"# Otomatis kirim ringkasan pagi ke Telegram\n0 7 * * * \u002Fpath\u002Fto\u002Fmorning-briefing.sh --send\n",[100,1292,1293,1298],{"__ignoreMap":102},[289,1294,1295],{"class":291,"line":292},[289,1296,1297],{"class":838},"# Otomatis kirim ringkasan pagi ke Telegram\n",[289,1299,1300,1303,1306,1309,1311,1313,1316],{"class":291,"line":375},[289,1301,1302],{"class":295},"0",[289,1304,1305],{"class":328}," 7",[289,1307,1308],{"class":328}," *",[289,1310,1308],{"class":328},[289,1312,1308],{"class":328},[289,1314,1315],{"class":299}," \u002Fpath\u002Fto\u002Fmorning-briefing.sh",[289,1317,1318],{"class":328}," --send\n",[15,1320,1321],{},"Isinya:",[28,1323,1324,1327,1330,1333],{},[31,1325,1326],{},"📧 Email urgent",[31,1328,1329],{},"📅 Jadwal hari ini",[31,1331,1332],{},"💰 Harga emas",[31,1334,1335],{},"🖥️ Server status",[340,1337,1339],{"id":1338},"periodic-health-checks","Periodic Health Checks",[93,1341,1343],{"className":283,"code":1342,"language":285,"meta":102,"style":102},"# Cek service health tiap 5 menit\n*\u002F5 * * * * \u002Fpath\u002Fto\u002Fservice-health-check.sh\n\n# Brute force detection tiap 15 menit\n*\u002F15 * * * * \u002Fpath\u002Fto\u002Fbrute-force-monitor.sh\n\n# Server vibes tiap jam\n0 * * * * \u002Fpath\u002Fto\u002Fvibes-monitor.sh\n",[100,1344,1345,1350,1369,1373,1378,1396,1400,1405],{"__ignoreMap":102},[289,1346,1347],{"class":291,"line":292},[289,1348,1349],{"class":838},"# Cek service health tiap 5 menit\n",[289,1351,1352,1355,1358,1360,1362,1364,1366],{"class":291,"line":375},[289,1353,1354],{"class":365},"*",[289,1356,1357],{"class":319},"\u002F5 ",[289,1359,1354],{"class":365},[289,1361,1308],{"class":365},[289,1363,1308],{"class":365},[289,1365,1308],{"class":365},[289,1367,1368],{"class":319}," \u002Fpath\u002Fto\u002Fservice-health-check.sh\n",[289,1370,1371],{"class":291,"line":389},[289,1372,478],{"emptyLinePlaceholder":477},[289,1374,1375],{"class":291,"line":468},[289,1376,1377],{"class":838},"# Brute force detection tiap 15 menit\n",[289,1379,1380,1382,1385,1387,1389,1391,1393],{"class":291,"line":474},[289,1381,1354],{"class":365},[289,1383,1384],{"class":319},"\u002F15 ",[289,1386,1354],{"class":365},[289,1388,1308],{"class":365},[289,1390,1308],{"class":365},[289,1392,1308],{"class":365},[289,1394,1395],{"class":319}," \u002Fpath\u002Fto\u002Fbrute-force-monitor.sh\n",[289,1397,1398],{"class":291,"line":481},[289,1399,478],{"emptyLinePlaceholder":477},[289,1401,1402],{"class":291,"line":487},[289,1403,1404],{"class":838},"# Server vibes tiap jam\n",[289,1406,1407,1409,1411,1413,1415,1417],{"class":291,"line":493},[289,1408,1302],{"class":295},[289,1410,1308],{"class":328},[289,1412,1308],{"class":328},[289,1414,1308],{"class":328},[289,1416,1308],{"class":328},[289,1418,1419],{"class":299}," \u002Fpath\u002Fto\u002Fvibes-monitor.sh\n",[340,1421,1423],{"id":1422},"evening-auto-diary","Evening Auto-Diary",[93,1425,1427],{"className":283,"code":1426,"language":285,"meta":102,"style":102},"# Generate diary entry dan push ke GitHub\n0 23 * * * \u002Fpath\u002Fto\u002Fauto-diary-memory.sh\n",[100,1428,1429,1434],{"__ignoreMap":102},[289,1430,1431],{"class":291,"line":292},[289,1432,1433],{"class":838},"# Generate diary entry dan push ke GitHub\n",[289,1435,1436,1438,1441,1443,1445,1447],{"class":291,"line":375},[289,1437,1302],{"class":295},[289,1439,1440],{"class":328}," 23",[289,1442,1308],{"class":328},[289,1444,1308],{"class":328},[289,1446,1308],{"class":328},[289,1448,1449],{"class":299}," \u002Fpath\u002Fto\u002Fauto-diary-memory.sh\n",[22,1451],{},[85,1453,1455],{"id":1454},"step-8-security-setup","🔒 Step 8: Security Setup",[15,1457,1458],{},"VPS yang kena hack itu painful banget. Spend 30 menit buat security sekarang, save you dari headache later.",[340,1460,1462],{"id":1461},"firewall-ufw","Firewall (UFW)",[93,1464,1466],{"className":283,"code":1465,"language":285,"meta":102,"style":102},"ufw default deny incoming\nufw default allow outgoing\nufw allow ssh\nufw allow 443\u002Ftcp\nufw allow 80\u002Ftcp\nufw enable\n",[100,1467,1468,1482,1494,1503,1512,1521],{"__ignoreMap":102},[289,1469,1470,1473,1476,1479],{"class":291,"line":292},[289,1471,1472],{"class":295},"ufw",[289,1474,1475],{"class":299}," default",[289,1477,1478],{"class":299}," deny",[289,1480,1481],{"class":299}," incoming\n",[289,1483,1484,1486,1488,1491],{"class":291,"line":375},[289,1485,1472],{"class":295},[289,1487,1475],{"class":299},[289,1489,1490],{"class":299}," allow",[289,1492,1493],{"class":299}," outgoing\n",[289,1495,1496,1498,1500],{"class":291,"line":389},[289,1497,1472],{"class":295},[289,1499,1490],{"class":299},[289,1501,1502],{"class":299}," ssh\n",[289,1504,1505,1507,1509],{"class":291,"line":468},[289,1506,1472],{"class":295},[289,1508,1490],{"class":299},[289,1510,1511],{"class":299}," 443\u002Ftcp\n",[289,1513,1514,1516,1518],{"class":291,"line":474},[289,1515,1472],{"class":295},[289,1517,1490],{"class":299},[289,1519,1520],{"class":299}," 80\u002Ftcp\n",[289,1522,1523,1525],{"class":291,"line":481},[289,1524,1472],{"class":295},[289,1526,1527],{"class":299}," enable\n",[340,1529,1531],{"id":1530},"fail2ban","Fail2Ban",[93,1533,1535],{"className":283,"code":1534,"language":285,"meta":102,"style":102},"apt install -y fail2ban\nsystemctl enable fail2ban\nsystemctl start fail2ban\n",[100,1536,1537,1548,1556],{"__ignoreMap":102},[289,1538,1539,1541,1543,1545],{"class":291,"line":292},[289,1540,313],{"class":295},[289,1542,380],{"class":299},[289,1544,383],{"class":328},[289,1546,1547],{"class":299}," fail2ban\n",[289,1549,1550,1552,1554],{"class":291,"line":375},[289,1551,560],{"class":295},[289,1553,563],{"class":299},[289,1555,1547],{"class":299},[289,1557,1558,1560,1562],{"class":291,"line":389},[289,1559,560],{"class":295},[289,1561,574],{"class":299},[289,1563,1547],{"class":299},[15,1565,1566],{},"Auto-ban IP yang gagal login SSH lebih dari 5 kali.",[340,1568,1570],{"id":1569},"ssl-certificate","SSL Certificate",[93,1572,1574],{"className":283,"code":1573,"language":285,"meta":102,"style":102},"apt install -y certbot python3-certbot-nginx\ncertbot --nginx -d dashboard.domainkamu.com\n",[100,1575,1576,1590],{"__ignoreMap":102},[289,1577,1578,1580,1582,1584,1587],{"class":291,"line":292},[289,1579,313],{"class":295},[289,1581,380],{"class":299},[289,1583,383],{"class":328},[289,1585,1586],{"class":299}," certbot",[289,1588,1589],{"class":299}," python3-certbot-nginx\n",[289,1591,1592,1595,1598,1600],{"class":291,"line":375},[289,1593,1594],{"class":295},"certbot",[289,1596,1597],{"class":328}," --nginx",[289,1599,991],{"class":328},[289,1601,1602],{"class":299}," dashboard.domainkamu.com\n",[15,1604,1605],{},"Certificate auto-renewal udah termasuk.",[22,1607],{},[85,1609,1611],{"id":1610},"use-cases-nyata","💡 Use Cases Nyata",[15,1613,1614],{},"Ini beberapa contoh yang bisa kamu automate:",[340,1616,1618],{"id":1617},"_1-email-classification","1. Email Classification",[15,1620,1621],{},"Agent baca email masuk, classify otomatis:",[28,1623,1624,1627,1630],{},[31,1625,1626],{},"✅ Invoice → forward ke finance",[31,1628,1629],{},"🔴 Urgent → alert via Telegram",[31,1631,1632],{},"📋 RFQ\u002FTender → add ke Google Tasks",[340,1634,1636],{"id":1635},"_2-attendance-monitoring","2. Attendance Monitoring",[15,1638,1639],{},"Setiap pagi, cek siapa yang absent. Kirim report ke HR manager via Telegram.",[340,1641,1643],{"id":1642},"_3-gold-price-alert","3. Gold Price Alert",[15,1645,1646],{},"Kalau harga emas berubah >2% dalam sehari, alert langsung ke Telegram.",[340,1648,1650],{"id":1649},"_4-server-health-auto-restart","4. Server Health Auto-Restart",[15,1652,1653],{},"Kalo OpenClaw mati, auto-restart. Kalo nginx down, alert. Kalo disk penuh, auto-cleanup.",[340,1655,1657],{"id":1656},"_5-business-intelligence","5. Business Intelligence",[15,1659,1660],{},"Combine data dari:",[28,1662,1663,1666,1669,1672],{},[31,1664,1665],{},"Google Analytics (traffic)",[31,1667,1668],{},"Email (leads)",[31,1670,1671],{},"Attendance (team performance)",[31,1673,1674],{},"Gold price (cost projection)",[15,1676,1677],{},"Jadi satu dashboard yang nunjukin \"health\" keseluruhan bisnis.",[22,1679],{},[85,1681,1683],{"id":1682},"checklist-deployment","📋 Checklist Deployment",[15,1685,1686],{},[118,1687],{"alt":120,"src":1688},"https:\u002F\u002Fmermaid.ink\u002Fimg\u002FZmxvd2NoYXJ0IFRCCiAgICBBWyLinIUgVlBTIFJlYWR5Il0gLS0-IEJbIuKchSBPcGVuQ2xhdyBOeWFsYSJdCiAgICBCIC0tPiBDWyLinIUgVGVsZWdyYW0gQ29ubmVjdGVkIl0KICAgIEMgLS0-IERbIuKchSBBSSBNb2RlbHMgQ29uZmlndXJlZCJdCiAgICBEIC0tPiBFWyLwn5SEIG44biBBdXRvbWF0aW9uIl0KICAgIEUgLS0-IEZbIvCflIQgRGFzaGJvYXJkIEJ1aWx0Il0KICAgIEYgLS0-IEdbIvCfk4sgU2VjdXJpdHkgU2V0dXAiXQogICAgRyAtLT4gSFsi8J-TiyBDcm9uIEpvYnMiXQogICAgSCAtLT4gSVsi8J-TiyBDb25uZWN0IFdpZGdldHMiXQoKICAgIHN0eWxlIEEgZmlsbDojMGQzYjJlLHN0cm9rZTojMDBmZjg4LGNvbG9yOiNmZmYKICAgIHN0eWxlIEIgZmlsbDojMGQzYjJlLHN0cm9rZTojMDBmZjg4LGNvbG9yOiNmZmYKICAgIHN0eWxlIEMgZmlsbDojMGQzYjJlLHN0cm9rZTojMDBmZjg4LGNvbG9yOiNmZmYKICAgIHN0eWxlIEQgZmlsbDojMGQzYjJlLHN0cm9rZTojMDBmZjg4LGNvbG9yOiNmZmYKICAgIHN0eWxlIEUgZmlsbDojM2IzYjBkLHN0cm9rZTojZmZkNzAwLGNvbG9yOiNmZmYKICAgIHN0eWxlIEYgZmlsbDojM2IzYjBkLHN0cm9rZTojZmZkNzAwLGNvbG9yOiNmZmYKICAgIHN0eWxlIEcgZmlsbDojM2IwZDFhLHN0cm9rZTojZmYwMDU1LGNvbG9yOiNmZmYKICAgIHN0eWxlIEggZmlsbDojM2IwZDFhLHN0cm9rZTojZmYwMDU1LGNvbG9yOiNmZmYKICAgIHN0eWxlIEkgZmlsbDojM2IwZDFhLHN0cm9rZTojZmYwMDU1LGNvbG9yOiNmZmY=",[22,1690],{},[85,1692,1694],{"id":1693},"mulai-dari-mana","🚀 Mulai dari Mana",[15,1696,1697],{},"Oke,这么多 information. Mulai dari mana?",[15,1699,1700],{},[34,1701,1702],{},"Step paling penting: Daftar ke Sumopod dulu.",[15,1704,1705],{},"Itu yang bakal nge-host everything — VPS, AI models, n8n, database. Tanpa itu, kamu harus setup semua sendiri satu-satu, dan trust me, itu nggak fun.",[15,1707,1708,1709],{},"👉 ",[34,1710,1711],{},[76,1712,78],{"href":78,"rel":1713},[80],[15,1715,1716],{},"Itu link referral gue. Nggak ada biaya tambahan buat kamu, tapi gue dapet komisi yang bantu gue terusin bikin konten seperti ini.",[15,1718,1719],{},"Setelah VPS ready:",[608,1721,1722,1725,1728,1731,1734,1737],{},[31,1723,1724],{},"Install OpenClaw (30 menit)",[31,1726,1727],{},"Setup Telegram bot (15 menit)",[31,1729,1730],{},"Configure AI models (15 menit)",[31,1732,1733],{},"Setup n8n (30 menit)",[31,1735,1736],{},"Build dashboard (1-2 jam)",[31,1738,1739],{},"Setup cron jobs (30 menit)",[15,1741,1742,1745],{},[34,1743,1744],{},"Total: ~4-5 jam"," dari nol sampai fully functional AI agent.",[22,1747],{},[85,1749,1751],{"id":1750},"resources-tambahan","🔗 Resources Tambahan",[15,1753,1754],{},"Tutorials terkait yang bisa bantu kamu deeper:",[28,1756,1757,1765,1773,1781],{},[31,1758,1759,1764],{},[76,1760,1763],{"href":1761,"rel":1762},"https:\u002F\u002Fblog.fanani.co\u002Ftech\u002Fdashboard-briefing-monitor\u002F",[80],"Dashboard Briefing Monitor"," — Perfect morning report dengan email, calendar, gold, server health",[31,1766,1767,1772],{},[76,1768,1771],{"href":1769,"rel":1770},"https:\u002F\u002Fblog.fanani.co\u002Ftech\u002Fsmart-email-triage-ai\u002F",[80],"Smart Email Triage dengan AI"," — Auto-sort emails pakai AI",[31,1774,1775,1780],{},[76,1776,1779],{"href":1777,"rel":1778},"https:\u002F\u002Fblog.fanani.co\u002Ftech\u002Fn8n-integrasi-openclaw\u002F",[80],"Integrasi n8n dengan OpenClaw"," — Full automation recipes dengan n8n",[31,1782,1783,1788],{},[76,1784,1787],{"href":1785,"rel":1786},"https:\u002F\u002Fblog.fanani.co\u002Ftech\u002Fmulti-agent-shared-memory\u002F",[80],"Multi-Agent dengan Shared Memory"," — Bikin agent yang bisa share memory pakai Redis",[22,1790],{},[85,1792,1794],{"id":1793},"️-notes","⚠️ Notes",[28,1796,1797,1810,1813],{},[31,1798,1799,1800,1803,1804,1806,1807],{},"Artikel ini di-test terakhir di ",[34,1801,1802],{},"OpenClaw v2026.2.13"," running di ",[34,1805,73],{}," dengan ",[34,1808,1809],{},"Ubuntu 22.04 LTS",[31,1811,1812],{},"Harga dan availability dari third-party services bisa berubah. Cek langsung di website masing-masing.",[31,1814,1815],{},"AI model pricing dihitung per token — selalu monitor usage biar nggak kejut pas bill datang.",[22,1817],{},[15,1819,1820,1827],{},[18,1821,1822,1823],{},"Artikel ini dibuat dengan bantuan AI (Radit, AI Assistant) dan dihosting dengan Sumopod VPS. Kalau kamu觉得这useful, consider mendaftar lewat ",[76,1824,1826],{"href":78,"rel":1825},[80],"link referral gue",". 🙏",[1829,1830,1831],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":102,"searchDepth":375,"depth":375,"links":1833},[1834,1835,1836,1837,1838,1843,1848,1854,1859,1863,1868,1873,1880,1881,1882,1883],{"id":87,"depth":375,"text":88},{"id":110,"depth":375,"text":111},{"id":126,"depth":375,"text":127},{"id":255,"depth":375,"text":256},{"id":334,"depth":375,"text":335,"children":1839},[1840,1841,1842],{"id":342,"depth":389,"text":343},{"id":398,"depth":389,"text":399},{"id":429,"depth":389,"text":430},{"id":598,"depth":375,"text":599,"children":1844},[1845,1846,1847],{"id":605,"depth":389,"text":606},{"id":646,"depth":389,"text":647},{"id":669,"depth":389,"text":670},{"id":799,"depth":375,"text":800,"children":1849},[1850,1851,1852,1853],{"id":806,"depth":389,"text":807},{"id":824,"depth":389,"text":825},{"id":856,"depth":389,"text":857},{"id":904,"depth":389,"text":905},{"id":940,"depth":375,"text":941,"children":1855},[1856,1857,1858],{"id":947,"depth":389,"text":948},{"id":1032,"depth":389,"text":1033},{"id":1138,"depth":389,"text":1139},{"id":1206,"depth":375,"text":1207,"children":1860},[1861,1862],{"id":1213,"depth":389,"text":1214},{"id":1222,"depth":389,"text":1223},{"id":1279,"depth":375,"text":1280,"children":1864},[1865,1866,1867],{"id":1286,"depth":389,"text":1287},{"id":1338,"depth":389,"text":1339},{"id":1422,"depth":389,"text":1423},{"id":1454,"depth":375,"text":1455,"children":1869},[1870,1871,1872],{"id":1461,"depth":389,"text":1462},{"id":1530,"depth":389,"text":1531},{"id":1569,"depth":389,"text":1570},{"id":1610,"depth":375,"text":1611,"children":1874},[1875,1876,1877,1878,1879],{"id":1617,"depth":389,"text":1618},{"id":1635,"depth":389,"text":1636},{"id":1642,"depth":389,"text":1643},{"id":1649,"depth":389,"text":1650},{"id":1656,"depth":389,"text":1657},{"id":1682,"depth":375,"text":1683},{"id":1693,"depth":375,"text":1694},{"id":1750,"depth":375,"text":1751},{"id":1793,"depth":375,"text":1794},"tech","2026-04-03","Tutorial lengkap bikin AI agent yang jalan 24\u002F7, terhubung ke Telegram, email, calendar, dan bikin dashboard real-time pakai Next.js.","md","\u002Fimages\u002Fposts\u002Fai-agent-dashboard-og.jpg",{"readTime":1890},"18 menit","\u002Ftech\u002Fai-agent-dashboard-openclaw-sumopod-vps",null,{"title":5,"description":1886},"tech\u002Fai-agent-dashboard-openclaw-sumopod-vps",[1896,1897,1898,1899,1900,1901,1902],"AI Agent","OpenClaw","Sumopod","Telegram Bot","Dashboard","n8n","Automation","q_hQmx_IeiER1nBDjkjBlJTpAqrPWaBN59q-wQthECU",1775317693081]