Paano Gumawa ng Sariling OpenClaw-Style AI Agent
Alamin kung paano binubuo ang self-hosted AI agent na kayang magpatakbo ng commands, at bakit kailangang unahin ang hardening matapos ang CVE-2026-32922 na may 9.9/10 rating.
Ano talaga ang OpenClaw
Ang OpenClaw ay isang self-hosted na personal AI agent. Pinapatakbo mo ito sa sarili mong server, ikinokonekta sa mga chat app na ginagamit mo na, at maaari itong magpatakbo ng shell commands, mag-control ng browser, magbasa at magsulat ng files, at kumilos batay sa mga mensaheng ipinapadala mo. MIT-licensed ito, local-first, at mayroon nang mahigit 380,000 GitHub stars noong kalagitnaan ng 2026, kaya kabilang ito sa mga proyektong may pinakamaraming stars sa platform. Sa kabila ng ingay, binubuo ito ng medyo maliit na set ng mga bahaging maayos na pinagkakabit. Tatalakayin ng post na ito ang mga bahaging iyon para maunawaan mo kung paano binubuo ang ganitong tool at kung saan naroon ang mga kritikal na panganib.
May isang mahalagang babala muna dahil nakaaapekto ito sa bawat design choice sa ibaba. Noong March 2026, siyam na security issue ang na-disclose sa OpenClaw sa loob ng apat na araw, kabilang ang isang critical privilege-escalation flaw na may rating na 9.9 sa 10 (CVE-2026-32922). Idinisenyo ang proyekto para ikaw, bilang operator, ang magpatupad ng hardening. Ang isang agent na maaaring magpatakbo ng anumang command ay kasing-ligtas lamang ng box na nagpapatakbo rito at ng mga limitasyong inilagay mo sa paligid nito. Isaisip ito habang nagbabasa ka.
Ang gateway daemon: isang process, panatilihing private
Sa sentro nito ay isang nag-iisang process na patuloy na tumatakbo, na karaniwang tinatawag na gateway. Ito ang control plane. Tumatanggap ito ng mga message, nagpapasya kung ano ang gagawin, nagpapatakbo ng mga tool, at nagpapadala ng mga reply. Dito kumokonekta ang lahat ng iba pang component.
Ang pinakamahalagang detalye tungkol sa gateway ay kung saan ito nakikinig. Bilang default, bina-bind ng OpenClaw ang gateway sa loopback address na 127.0.0.1, kaya hindi ito maaabot mula sa internet maliban kung sadya mo itong i-expose. Iwanan ito roon. Ito ang process na nagpapatakbo ng mga command, kaya kapag na-expose ang gateway, nagkakaroon ang sinumang makahanap nito ng remote foothold sa iyong server. Kapag kailangan mo itong ma-access mula sa iyong laptop, gumamit ng VPN o SSH tunnel sa halip na magbukas ng port. Walang makakaatake sa port na hindi nila maaabot.
Mga channel connector: pagtanggap ng mensahe at pagpapadala ng tugon
Kapaki-pakinabang lamang ang isang personal agent kung makakausap mo ito mula sa mga app na ginagamit mo na. Iyan ang ginagawa ng mga channel connector. Bawat isa ay nakikipag-ugnayan sa isang platform, gaya ng Telegram, WhatsApp, Slack, o Discord, gamit ang bot API o webhooks ng platform na iyon.
Pareho ang daloy ng lahat ng connector. Nagre-register ang connector ng bot sa platform, tumatanggap ng papasok mong mensahe—sa pamamagitan man ng polling sa platform o pagtanggap ng webhook na ipinapadala ng platform—ipinapasa ang mensaheng iyon sa gateway, at ipinapadala ang tugon ng gateway pabalik gamit ang parehong API. Manipis na translation layer lamang ang connector. Kino-convert nito ang “may dumating na Telegram message” tungo sa “narito ang text para sa agent,” at ganoon din pabalik. Ang paggawa ng sarili mong connector ay pangunahing nangangailangan ng pagbasa sa bot documentation ng isang platform at pagmamapa ng format ng mensahe nito sa format ng gateway.
Ang brain at tool loop
Sa loob ng gateway naroon ang bahaging ginagawang agent ang system sa halip na chatbot lamang. Isa itong loop.
Dumarating ang isang message. Ipinapadala ito ng gateway sa language model, kasama ang listahan ng mga tool na pinapayagang gamitin ng model. Binabasa ng model ang message at nagpapasya: direktang sasagot ba, o tatawag ng tool? Kung tatawag ito ng tool, pinapatakbo ng gateway ang tool, kinukuha ang resulta, at ipinapadala ang resulta pabalik sa model. Sinusuri ng model ang resulta at muling nagpapasya. Nauulit ito hanggang wala nang kailangang gawin ang model at makagawa ito ng final reply.
Iyan ang buong konsepto ng isang agent. Pareho ang loop na ito kung tumatakbo ang agent sa chat app o sa terminal. Para sa standard na paraan ng pagkonekta ng mga tool sa loop na ito, magandang susunod na basahin ang pagkonekta ng mga tool sa pamamagitan ng Model Context Protocol. Para naman sa bahagi ng model, tinatalakay ng pagpapatakbo ng model mismo sa sarili mong hardware ang kabilang bahagi.
Ang tool set ang mahalaga, pati ang panganib
Ang mga tool ang dahilan kung bakit powerful ang OpenClaw. May tool para magpatakbo ng shell command, tool para mag-control ng browser, at tool para magbasa at magsulat ng files. Kapag binigyan mo ng access ang loop sa mga ito, halos lahat ng ginagawa mo gamit ang keyboard ay kaya rin nitong gawin. Ang lawak ng access na ito ang buong produkto, at ito rin ang buong panganib.
Malaki ang attack surface ng isang agent na kayang magpatakbo ng anumang command batay sa mga instruction na dumarating mula sa chat app. Maaaring gawing "basahin ang calendar ko" na "i-delete ang files ko" ng maling instruction, prompt-injection attack na nakatago sa web page na binibisita ng browser tool, o bug gaya ng mga flaw noong March 2026. Kaya hindi optional extras ang mga limitasyon. Patakbuhin ang agent bilang dedicated, unprivileged user na walang sudo upang hindi ito makapag-escalate kapag na-breach. Ilagay sa approval step ang mga dangerous tool upang magtanong muna ang agent bago gumawa ng destructive action. I-sandbox ang tool execution upang makulong ang runaway command. Ihiwalay ang API key ng model upang hindi direktang maibigay sa attacker ang account mo kapag ito ay na-leak.
Bago mong i-expose ang anumang nagpapatakbo ng shell commands, sinasadyang gawin muna ang mga basic step. Bumuo rito ng checklist para sa sarili mong box, pagkatapos ay sundin ito mula itaas hanggang ibaba:
Malalim na tinatalakay ang unprivileged-user na bahagi sa pagpapatakbo ng mga serbisyo bilang unprivileged user, at nasa ligtas na pagpapatakbo ng OpenClaw sa isang VPS ang kumpletong safe-setup walkthrough para sa mismong project.
Memory bilang mga plain file
Inaasahan ng karamihan na nasa database ang memory ng isang agent. Hindi ganoon sa OpenClaw. Iniimbak nito ang memory bilang mga plain Markdown file sa disk, at kapaki-pakinabang gayahin ang pamamaraang ito.
Simple ang mga file. Walang schema na kailangang i-migrate, walang service na kailangang manatiling tumatakbo, at walang query language na kailangang aralin. Madali silang inspeksyunin: maaari mong buksan ang folder at basahin kung ano mismo ang paniniwala ng agent tungkol sa iyo, itama ang maling tala sa pamamagitan ng pag-edit ng file, o burahin ang memory sa pagtanggal ng file. Portable din ang mga ito dahil ang paglipat ng agent sa bagong server ay nangangailangan lamang ng pagkopya ng isang directory. Para sa isang personal agent na iisang user ang gumagamit, sapat na ang isang folder ng mga text file, at pinananatili nitong madaling unawain ang buong system.
Mga skill: portable na paraan upang magdagdag ng mga kakayahan
Bukod sa mga built-in tool, gumagamit ang OpenClaw ng portable na format ng skill upang mapalawak ng komunidad ang mga kakayahan nito nang hindi binabago ang core nito. Ang skill ay isang self-contained na bundle ng mga instruction at, kung minsan, code na nagtuturo sa agent ng bagong task. Nilo-load ng agent ang skill kapag kailangan ito ng task. Ang web search ang karaniwang unang idinadagdag ng mga user, at ang pag-ituro sa skill na iyon sa sarili mong SearXNG instance ay nagpapanatili sa iyong mga query na hindi dumaan sa commercial search API. Nililinaw rin nito kung saan naroroon ang trust boundary ng isang skill, dahil text na isinulat ng ibang tao ang lahat ng ibinabalik nito.
Ang pakinabang ng ganitong format ay na naibabahagi ang mga kakayahan. May sumusulat ng skill para sa isang partikular na trabaho, nagpa-publish nito, at ini-install naman ito ng iba. Kung gagawa ka ng sarili mong agent, ang maagang pagtukoy ng maliit at malinaw na extension format ay makapagliligtas sa iyo sa paulit-ulit na pag-hard-code ng bawat capability sa core sa hinaharap.
Gamitin ang sarili mong model
Model-agnostic ang OpenClaw. Wala itong sariling language model. Sa halip, kumokonekta ito sa model na pipiliin mo. Maaari itong hosted API o model na ikaw mismo ang nagpapatakbo.
Mahalaga ang paghihiwalay na ito para sa gastos, privacy, at control. Nagbibigay ang hosted API ng mas mahuhusay na model nang hindi mo kailangang mag-manage ng hardware. May bayad ito batay sa token, at lumalabas sa server mo ang mga prompt. Sa self-hosted model na inihahatid gamit ang gaya ng Ollama, nananatili sa sarili mong machine ang bawat mensahe. Ang gastos nito ay hardware at kuryente lamang, kapalit ng paggamit ng mas maliit o mas mabagal na model. Pinagsasama ng maraming user ang dalawang opsyon. Kung gusto mong manatiling ganap na private ang isang agent, ang pag-host ng model sa sarili mong VPS ang kumukumpleto sa huling puwang na iyon. Ang Hermes Agent ay isa pang self-hosted agent na mainam ikumpara.
Bumuo ka ba ng sarili nito?
Maaari mong buuin ang lahat ng ito. Hindi kakaiba ang mga bahagi: isang daemon, ilang chat connector, isang model-and-tools loop, isang folder ng Markdown, at isang plugin format. Talagang kapaki-pakinabang na maunawaan ang mga ito dahil inaalis nito ang misteryo sa bawat agent na gagamitin mo at ipinapakita kung saan talaga naroroon ang panganib.
Ngunit para sa karamihan, ang tapat na sagot ay patakbuhin ang aktuwal na system at i-harden ito sa halip na muling likhain ito. Nalutas na ng OpenClaw ang connectors, loop, at format ng skill, at sumailalim na ito sa aktuwal na pagsusuri sa seguridad. Mas mabuting ituon ang pagsisikap sa bahaging ikaw ang kailangang ayusing mabuti: ang setup at hardening sa sarili mong server. Kung gusto mo munang dumaan sa learning route, mas mabuti ang unti-unting pagdaan sa mga konsepto kaysa basahin agad ang source code ng agent, dahil bawat yugto ay nag-iiwan sa iyo ng isang bagay na aktuwal mong nabuo. Bumuo ng maliit na system para matuto. Patakbuhin at i-lock down ang aktuwal na system para magamit.
Makikita ang mga pangkalahatang pundasyon sa pagbuo ng sarili mong AI agent sa isang VPS, at ipinapakita ng pagbuo ng agent gamit ang Claude ang parehong mga ideya gamit ang isang partikular na model bilang brain.
FAQ
Mahirap bang bumuo ng agent gaya ng OpenClaw?
Hindi mahirap ang mga indibidwal na bahagi. Ang gateway process, chat connector, model-and-tools loop, at folder ng mga file ay madaling gawin nang magkakahiwalay. Ang mahirap ay ang ligtas na pagpapatakbo nito. Malaking security surface ang agent na nagpapatakbo ng shell commands mula sa chat messages. Mas mahirap ayusin nang tama ang sandboxing, permissions, at setup ng unprivileged user kaysa pagdugtungin ang mga feature.
Bakit nagse-save ang OpenClaw ng memory bilang Markdown files sa halip na database?
Dahil sapat at mas simple ang files para sa personal agent ng isang user. Walang database service na kailangang patakbuhin. Madaling basahin at itama nang mano-mano ang memory. Para ilipat ang agent sa ibang server, kokopyahin lang ang isang directory. Mas may saysay ang database sa mas malaking scale, hindi sa ganitong sitwasyon.
Ano ang pinakamapanganib na bahagi ng personal AI agent?
Ang mga tool na nagbibigay dito ng kakayahang kumilos: pagpapatakbo ng shell commands, pagkontrol sa browser, at pagsusulat ng files. Iyan ang dahilan kung bakit ito binubuo, at iyan din ang maaaring makapinsala sa iyo. Ang security event ng OpenClaw noong March 2026—siyam na issue sa loob ng apat na araw, kabilang ang isang critical issue na may rating na 9.9—ang pinakamalinaw na dahilan para maingat na pangasiwaan ang tool layer: patakbuhin ito bilang unprivileged user, lagyan ng gate ang mga destructive action, at i-sandbox ang execution.
Kailangan ko ba ng sarili kong language model para makabuo nito?
Hindi. Model-agnostic ang mga agent gaya ng OpenClaw, kaya maaari kang kumonekta sa model na pipiliin mo. Maaaring hosted API ito para sa pinakamalalakas na model, o model na ikaw mismo ang nagpapatakbo para sa ganap na privacy. Sa self-hosting gamit ang Ollama, nananatili ang bawat message sa sarili mong server, kapalit ng pagpapatakbo ng mas maliit na model.