paano gumawa ng OpenClaw AI agent
Matutong bumuo ng sariling self-hosted AI agent na kayang mag-run ng shell commands. Alamin ang tamang paraan ng hardening para iwas sa CVE-2026-32922 flaws.
Ano nga ba ang OpenClaw
Ang OpenClaw ay isang self-hosted na personal AI agent. Patatakbuhin mo ito sa sarili mong server, ikokonekta sa mga chat apps na ginagamit mo na, at kaya nitong mag-run ng shell commands, mag-control ng browser, magbasa at magsulat ng iyong mga files, at kumilos base sa mga mensaheng ipapadala mo rito. Ito ay MIT-licensed, local-first, at may mahigit 380,000 GitHub stars hanggang mid-2026, kaya isa ito sa mga pinaka-starred na proyekto sa platform. Sa kabila ng ingay nito, ito ay binubuo lamang ng maliliit na parte na pinagdugtong sa maayos na paraan. Tatalakayin ng post na ito ang mga parteng iyon para maunawaan mo kung paano binuo ang isang tool na katulad nito, at kung nasaan ang mga panganib nito.
Isang babala muna, dahil ito ang basehan ng lahat ng design choice sa ibaba. Noong March 2026, ang OpenClaw ay nagkaroon ng siyam na security issues na na-disclose sa loob ng apat na araw, kabilang ang isang critical privilege-escalation flaw na may rating na 9.9 out of 10 (CVE-2026-32922). Ang proyekto ay idinisenyo para i-harden ng operator (ikaw). Ang isang agent na kayang mag-run ng kahit anong command ay kasing-safe lang ng box kung saan ito tumatakbo at ng mga limitasyong ilalagay mo rito. Tandaan ito habang nagbabasa.
Ang gateway daemon: isang process, panatilihing private
Sa gitna nito ay ang isang single long-running process, na karaniwang tinatawag na gateway. Ito ang control plane. Tumatanggap ito ng mga mensahe, nagdedesisyon kung ano ang gagawin, nagpapatakbo ng mga tools, at nagpapadala ng mga reply. Lahat ng iba pang parte ay nakakonekta rito.
Ang pinakaimportanteng katangian ng gateway ay kung saan ito nakikinig. By default, ang OpenClaw ay naka-bind sa loopback address, 127.0.0.1, kaya hindi ito ma-a-access mula sa internet maliban kung sadyain mong i-expose ito. Iwanan ito kung nasaan ito. Ito ang single process na nagpapatakbo ng mga command, kaya ang isang exposed na gateway ay nagbibigay sa sinumang makakahanap nito ng remote foothold sa iyong server. Kapag kailangan mo itong i-access mula sa iyong laptop, gawin ito via VPN o SSH tunnel sa halip na magbukas ng port. Hindi pwedeng atakihin ng kahit sino ang port na hindi nila ma-access.
Channel connectors: pagpasok ng mensahe at paglabas ng reply
Ang isang personal agent ay kapaki-pakinabang lamang kung maaari mo itong kausapin gamit ang mga apps na ginagamit mo na. Iyan ang ginagawa ng mga channel connector. Ang bawat isa ay nakikipag-usap sa isang platform, gaya ng Telegram, WhatsApp, Slack, o Discord, gamit ang bot API o webhooks ng platform na iyon.
Pareho ang structure ng lahat ng mga ito. Ang connector ay nagre-register ng bot sa platform, tumatanggap ng iyong incoming message (sa pamamagitan ng pag-poll sa platform o pagtanggap ng webhook na pino-push ng platform), ipinapasa ang mensaheng iyon sa gateway, at ipino-post ang reply ng gateway pabalik sa pamamagitan ng parehong API. Ang connector ay isang manipis na translation layer. Kino-convert nito ang "isang Telegram message ang dumating" tungo sa "ito ang text para sa agent" at pabalik. Ang pagbuo ng sarili mong connector ay pangunahing pagbabasa lamang ng bot documentation ng isang platform at pag-map ng message format nito sa format ng gateway.
Ang brain at ang tool loop
Sa loob ng gateway ay ang parte na nagiging agent ito sa halip na chatbot lamang. Ito ay isang loop.
May darating na mensahe. Ipadadala ng gateway ito sa isang language model kasama ang listahan ng mga tools na pwedeng gamitin ng model. Babasahin ng model ang mensahe at magdedesisyon: sasagot nang direkta, o tatawag ng tool. Kung tatawag ito ng tool, patatakbuhin ng gateway ang tool na iyon, kukunin ang resulta, at ipadadala ang resulta pabalik sa model. Titingnan ng model ang resulta at magdedesisyon muli. Uuulit ito hanggang sa wala nang dapat gawin ang model at makakapag-produce ng final reply.
Ang loop na iyon ang mismong konsepto ng isang agent, at pareho ang loop na iyon kahit ang agent ay nasa chat app o nasa terminal. Para sa kung paano ikokonekta ang mga tools sa loop na iyon sa isang standard na paraan, ang connecting tools through the Model Context Protocol ay isang magandang susunod na basahin, at para sa model side, ang running the model itself on your own hardware ang kumukumpleto sa kabilang bahagi.
Ang tool set ang punto, at ang panganib
Ang mga tools ang dahilan kung bakit malakas ang OpenClaw. Isang tool na nagpapatakbo ng shell command, isang tool na nagpapatakbo ng browser, isang tool na nagbabasa at nagsusulat ng files. Bigyan ang loop sa itaas ng access sa mga ito, at kaya nitong gawin ang halos lahat ng kaya mong gawin sa keyboard. Ang lawak na iyon ang mismong produkto, at ito rin ang buong panganib.
Ang isang agent na kayang mag-run ng kahit anong command, base sa mga instruction na galing sa chat app, ay may malaking attack surface. Ang isang maling instruction, isang prompt-injection attack na nakatago sa isang web page na binibisita ng browser tool, o isang bug gaya ng mga flaws noong March 2026 ay maaaring magpalit sa "read my calendar" tungo sa "delete my files." Kaya ang mga limitasyon ay hindi optional extras. Patakbuhin ang agent bilang isang dedicated, unprivileged user na walang sudo, para hindi makapag-escalate ang isang compromise. Lagyan ng approval step ang mga mapanganib na tools para magtanong muna ang agent bago gumawa ng destructive na aksyon. I-sandbox ang tool execution para ma-contain ang isang runaway command. I-isolate ang API key ng model para ang isang leak ay hindi magbigay sa attacker ng iyong account.
Bago mo i-expose ang anumang nagpapatakbo ng shell commands, gawin nang maigi ang mga basic. Gumawa ng checklist para sa sarili mong setup dito, at sundin ito mula itaas hanggang ibaba:
Ang tungkol sa unprivileged-user ay detalyadong tinalakay sa running services as an unprivileged user, at ang buong safe-setup walkthrough para sa totoong proyekto ay nasa running OpenClaw safely on a VPS.
Memory bilang plain files
Inaasahan ng karamihan na ang memory ng isang agent ay nasa database. Ang OpenClaw ay hindi. Iniimbak nito ang memory bilang plain Markdown files sa disk, at ang desisyong iyon ay dapat ding kopyahin.
Simple ang mga files. Walang schema na kailangang i-migrate, walang service na kailangang panatilihing tumatakbo, at walang query language na kailangang aralin. Maaari silang i-inspect: pwede mong buksan ang folder at basahin nang eksakto kung ano ang paniniwala ng agent tungkol sa iyo, itama ang maling note sa pamamagitan ng pag-edit ng file, o burahin ang isang memory sa pamamagitan ng pagtanggal ng file. At portable ang mga ito, dahil ang paglipat ng agent sa bagong server ay pagkopya lang ng isang directory. Para sa isang single-user personal agent, sapat na ang isang folder ng mga text files, at pinapanatili nitong madaling intindihin ang buong system.
Skills: isang portable na paraan para magdagdag ng kakayahan
Bukod sa mga built-in tools, gumagamit ang OpenClaw ng isang portable skill format para mapalawak ng community ang kaya nitong gawin nang hindi binabago ang core nito. Ang isang skill ay isang self-contained bundle ng mga instruction at, kung minsan, code na nagtuturo sa agent ng isang bagong task. Ilo-load ng agent ang isang skill kapag kinakailangan ito ng task.
Ang halaga ng isang format na gaya nito ay nagiging shareable ang mga kakayahan. Isusulat ng isang tao ang isang skill para sa isang partikular na trabaho, i-pu-publish ito, at ilalagay naman ito ng iba. Kung bubuo ka ng sarili mong agent, ang pagtukoy ng isang maliit at malinaw na extension format nang maaga ay magliligtas sa iyo mula sa pag-hard-code ng bawat kakayahan sa core sa hinaharap.
Dalhin ang sarili mong model
Ang OpenClaw ay model-agnostic. Hindi ito may kasamang sariling language model. Sa halip, ikokonekta nito ang napili mong model, na maaaring isang hosted API o isang model na ikaw mismo ang nagpapatakbo.
Mahalaga ang pagkakaibang ito para sa cost, privacy, at control. Ang isang hosted API ay nagbibigay sa iyo ng pinakamalakas na mga model nang walang hardware na kailangang i-manage, sa presyong per-token at kung saan ang iyong mga prompt ay lumalabas sa iyong server. Ang isang self-hosted na model, na pinapatakbo gamit ang isang bagay gaya ng Ollama, ay nagpapanatili ng bawat mensahe sa iyong sariling box at ang gastos lang ay ang hardware at kuryente, sa presyong pagpapatakbo ng isang mas maliit o mas mabagal na model. Maraming tao ang pinagsasama ang dalawa. Kung gusto mong panatilihing fully private ang isang agent, ang self-hosting the model on your VPS ang bahaging kumukumpleto sa huling gap na iyon, at ang Hermes Agent ay isa pang self-hosted agent na dapat ikumpara.
Dapat ka bang bumuo ng isa?
Kaya mong buuin ang lahat ng ito. Ang mga parte ay hindi exotic: isang daemon, ilang chat connectors, isang model-and-tools loop, isang folder ng Markdown, at isang plugin format. Ang pag-unawa sa mga ito ay tunay na kapaki-pakinabang, dahil binubuwag nito ang misteryo sa bawat agent na gagamitin mo at sinasabi nito sa iyo kung nasaan ang panganib.
Ngunit para sa karamihan ng tao, ang tapat na sagot ay patakbuhin ang totoong produkto at i-harden ito sa halip na muling imbuhin ito. Naresolba na ng OpenClaw ang mga connector, ang loop, at ang skill format, at sumailalim na ito sa totoong security scrutiny. Mas mabuting gamitin ang iyong effort sa parte na talagang sa iyo dapat gawin nang tama, ang setup at ang hardening sa iyong sariling server. Bumuo ng maliit na version para matuto. Patakbuhin at i-lock down ang totoong version para gamitin.
Ang mga pangkalahatang pundasyon ay nasa building your own AI agent on a VPS, at ang building an agent with Claude ay nagpapakita ng parehong mga ideya gamit ang isang partikular na model bilang brain.
FAQ
Mahirap bang bumuo ng agent na gaya ng OpenClaw?
Ang mga indibidwal na parte ay hindi mahirap. Ang isang gateway process, isang chat connector, isang model-and-tools loop, at isang folder ng mga files ay madali lang bawat isa. Ang mahirap na parte ay ang paggawa nito nang ligtas. Ang isang agent na nagpapatakbo ng shell commands mula sa mga chat messages ay isang seryosong security surface, at ang paggawa ng tamang sandboxing, permissions, at unprivileged-user setup ay mas maraming trabaho kaysa sa pagdugtong ng mga features.
Bakit Markdown files ang gamit ng OpenClaw para sa memory sa halip na database?
Dahil para sa isang single-user personal agent, sapat na ang mga files at mas simple ang mga ito. Walang database service na kailangang patakbuhin, madaling basahin at itama ang memory nang manu-mano, at ang paglipat ng agent sa ibang server ay pagkopya lang ng isang directory. Ang database ay para sa mas malaking scale, hindi dito.
Ano ang pinakamapanganib na parte ng isang personal AI agent?
Ang mga tools na nagpapahintulot dito na kumilos: ang pagpapatakbo ng shell commands, pag-control ng browser, at pagsusulat ng files. Iyan ang dahilan kung bakit ito binuo at iyan din ang dahilan kung bakit maaari ka nitong saktan. Ang security event ng OpenClaw noong March 2026—siyam na issues sa loob ng apat na araw kabilang ang isang 9.9-rated critical—ang pinakamalinaw na argumento para tratuhin ang tool layer nang may pag-iingat: patakbuhin bilang unprivileged user, lagyan ng gate ang mga destructive na aksyon, at i-sandbox ang execution.
Kailangan ko ba ng sariling language model para makabuo ng isa?
Hindi. Ang mga agent gaya ng OpenClaw ay model-agnostic, kaya ikokonekta mo ang napili mo. Maaari itong isang hosted API para sa pinakamalakas na mga model, o isang model na ikaw mismo ang nagpapatakbo para sa buong privacy. Ang self-hosting gamit ang Ollama ay nagpapanatili ng bawat mensahe sa iyong sariling server sa kapalit ng pagpapatakbo ng isang mas maliit na model.