SSD Nodes Learn
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-07-25

OpenCode kwenye VPS: usakinishaji na usalama wa API key

Jifunze jinsi ya kusakinisha OpenCode kwenye VPS, kukianzisha ndani ya tmux kama mtumiaji asiye na mamlaka, na kufunga API key katika faili faragha ili kuzuia ufikiaji usioidhinishwa.

OpenCode ni nini, na unajiandaa nini

OpenCode ni kipengele cha wazi cha uandishi wa msimbo kinachotumia AI kilichojengwa kwa ajili ya terminal. Unakianzisha ndani ya saraka ya mradi, na hukisoma msimbo wako, kupendekeza mabadiliko, kuhariri faili, na kuendesha amri, vyote kutoka kwa kiolesura cha mtumiaji cha terminal (TUI). Kimepewa leseni ya MIT, hujilisha na zaidi ya watoa huduma 75 wa modeli, na kwa takriban nyota 165,000 za GitHub kufikia mwelekeo wa 2026, ni kipengele cha wazi cha uandishi wa msimbo kinachopendwa zaidi. Ili kuendesha OpenCode kwenye VPS, unakihifadhi chini ya mtumiaji maalum asiye na mamlaka, kuweka ufunguo wa API wa modeli yako katika faili faragha, na kukianzisha ndani ya tmux ili kipindi kiendelee wakati muunganisho wako unakatika. Mwongozo huu unafanya hasa hivyo, kwa mpangilio huo.

Taarifa moja kuhusu majina huzuia mkanganyiko. Hazina rasmi ni anomalyco/opencode, inayodumishwa na timu ya Anomaly (iliyojulikana awali kama SST), na mradi uliwahi kuwa kwenye sst/opencode. Hazina ya zamani isiyohusika inayoitwa opencode-ai/opencode pia ipo kwenye GitHub, kwa hivyo hakikisha unasoma nyaraka za mradi sahihi. Tovuti rasmi ni opencode.ai.

Kwa nini kuendesha OpenCode kwenye VPS

Kikao cha wakala wa upangaji msimbo ni cha muda mrefu. OpenCode inaweza kutumia dakika nyingi ikifanya kazi kwenye urekebishaji msimbo au seti ya majaribio. Ikiwa inaendeshwa kwenye kompyuta yako ya mkononi, kufunika kifuniko au kukatika muunganisho wa Wi-Fi huua kikao katikati ya kazi. Kwenye VPS ndani ya tmux, wakala unaendelea kufanya kazi baada ya kukatisha muunganisho, na unarejea baadaye kusoma alifanya nini. Hii ni mfundo ule ule kama kuendesha Claude Code kwenye VPS kwa kutumia tmux, na ndilo faida kubwa zaidi ya ubora wa maisha ya kuhamisha wakala kutoka kwenye kompyuta yako ya mkononi.

Sababu ya pili ni mahali. VPS iko karibu na msimbo unaotumia: hifadhi, zana za ujenzi, hifadhidata ya majaribio, na mara nyingi mazingira ya majaribio tayari yapo hapo au karibu nayo. Wakala anayehariri msimbo na kuendesha majaribio anafanya kazi vizuri zaidi kwenye mashine ambapo majaribyo hayo huendeshwa kwa halisi. Na kwa sababu seva hiyo ni yako, unaweza kumpa wakala mazingira yaliyodhibitiwa kwa makusudi, ambayo sehemu inayofuata inafanya.

Kama bado unachagua zana, kuendesha wakala wa AI wa upangaji msimbo kwenye VPS inalinganisha uwanja mpana, ikiwa ni pamoja na Aider na Goose.

Pa OpenCode mtumiaji wake mwenyewe

Hapa kuna ukweli wa kuanzia: wakala wa kuandika msimbo huhariri faili na kutekeleza amri. Hilo ndilo kazi yake, na pia ndilo hatari. OpenCode itatekeleza ujenzi, majaribio, na kila amri ya shell inayoonekana kuhitajika kazi, na uamuzi wa modeli ni mzuri lakini si kamili. Akaunti ambayo wakala hufanya kazi nayo ndio kilele cha kile ambacho amri mbaya inaweza kufikia. Kwa hiyo, usiitekeleze kama root, na usiitekeleze kama mtumiaji yuleyule anayeendesha seva.

Tofauti na wakala wa usuli, OpenCode ni mwingiliano, hivyo mtumiaji wake anahitaji shell halisi na saraka ya nyumbani:

sudo useradd --create-home --shell /bin/bash opencode
sudo -iu opencode

Weka miradi unayotaka ifanyiwe kazi chini ya /home/opencode, iliyopakuliwa na mtumiaji huyo. Akaunti hii isipewe haki za sudo. Kama wakala atatekeleza amri ya uharibifu, inaweza kuharibu tu kile akaunti hii inachomiliki. Hii ni hoja sawa na kuendesha huduma kama mtumiaji asiye na mamlaka. Fanya kazi ndani ya hazina ya git pia, kwa sababu hazina hubadilisha kihariri kibaya kuwa git revert badala ya hasara.

Sakinisha OpenCode

Mradi huu unataja njia mbili za usakinishaji. Skripti ya usakinishaji ndiyo ya haraka zaidi, na kuiendesha kwa mtumiaji opencode kunaacha kila kitu ndani ya akaunti ya nyumbani ya mtumiaji huyo:

curl -fsSL https://opencode.ai/install | bash

Kawaida ya curl | bash inatumika hapa kama ilivyo kila pahali: katika seva unayojali, pakua skripti kwanza, isome, kisha uiendeshe. Baada ya usakinishaji, anzisha kipya ili mabadiliko ya PATH yaliyofanywa na kisakinishaji yatumike, kisha hakikisha faili ya programu inajibu:

opencode --version

Kama unapendelea kidhibiti pakishi na Node.js tayari ipo kwenye mashine, njia ya npm inasakinisha zana hiyo hiyo kwa mfumo mzima, jambo ambalo huweka faili ya programu opencode kwenye PATH kwa kila mtumiaji:

sudo npm install -g opencode-ai

Kwa njia yoyote, ukaguzi ni ule ule: opencode --version inachapisha nambari ya toleo. Kosa la command not found baada ya usakinishaji wa skripti linaashiria kuwa kipo cha sasa bado hakijasoma PATH iliyosasishwa, kwa hivyo toka kwenye kipya kisha ingia tena kama mtumiaji opencode.

Weka kitufe cha API katika faili la faragha

OpenCode kinahitaji kitufe kwa kila mtoa huduma wa modeli unayetumia, na kitufe hicho kinaweza kutumia pesa zako, hivyo kihudumie kama nywila. Unda faili ambalo mtumiaji wa opencode pekee ndiye anaweza kulisoma, lenye ruhusa ya 600, na uhifadhi kitufe hapo badala ya kukikariri kwenye amri ambapo kitaingia kwenye historia ya shell yako:

install -m 600 /dev/null ~/opencode.env
nano ~/opencode.env

Weka kituaji cha mtoa huduma wako ndani yake, kwa mfano ANTHROPIC_API_KEY=... au kile kinachofanana kwa mtoa huduma wako, kwa sababu OpenCode kinachukua vituaji vya kawaida vya mazingira ya mtoa huduma. Pakia faili kwenye shell yako kabla ya kuanzisha wakala:

set -a; source ~/opencode.env; set +a

OpenCode pia kina njia mbadala ya kuingiliana: amri ya /connect ndani ya TUI inakuongoza jinsi ya kuongeza mtoa huduma na kuhifadhi kitambulisho kwenye ~/.local/share/opencode/auth.json katika saraka ya nyumbani ya mtumiaji. Ukikitumia njia hiyo, thibitisha kwamba faili ni la faragha kwa kutumia chmod 600 ~/.local/share/opencode/auth.json. Njia zote mbili zinazuia kitufe kuingia kwenye mistari ya amri yako; chagua moja na uendelee nayo kwa uvumilivu.

Anzisha OpenCode ndani ya tmux

tmux ndiyo inayofanya usanidi wa VPS kuwa na thamani, kwa sababu kikao cha tmux kinaendelea kuendesha wakati muunganisho wako wa SSH unakatika. Anzisha kikao, nenda kwenye mradi wako, kisha uzindue wakala:

tmux new -s opencode
cd ~/my-project
opencode

Unapaswa kuona TUI ikifunguliwa ikiwa na mstari wa maagizo chini na jina la mradi wako kwenye kiolesura. Toa kazi kwa lugha ya kawaida, na itaanza kusoma faili na kupendekeza mabadiliko. Unapotaka kuondoka, jitenge kwa kutumia Ctrl-b kisha d, na wakala unaendelea kufanya kazi hata wakati kompyuta yako imezimwa. Jiunge tena baadaye kwa kutumia:

tmux attach -t opencode

Kikao, mazungumzo, na kazi yoyote inayoendelea zitabaki zipo hapo ulipoziacha. Hii hubaki huru wakati muunganisho wako unakatika, lakini haibaki huru wakati seva inarekebishwa, kwa hiyo baada ya kurekebisha seva unazindua kikao kipya cha tmux kwa njia ile ile.

Elekeza kwenye modeli

OpenCode haitegemei mtoa huduma maalum. Inatumia AI SDK na orodha ya Models.dev kuunga mkono zaidi ya mtoa huduma 75. Hivyo, zana hiyo hiyo inafanya kazi na Anthropic, OpenAI, Google, na mwingine wengi, ikiwa ni pamoja na seva za ndani. Njia ya haraka ni amri ya /connect ndani ya TUI, ambayo huorodhesha watoa huduma na kudhibiti vitambulisho. Kwa usanidi unaoweza kuhifadhi na kuiga, weka opencode.json katika mzizi wa mradi na uweke modeli kama provider/model-id:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "anthropic/claude-sonnet-4-20250514"
}

Modeli ya ndani inafanya kazi kupitia faili hiyo hiyo, kwa sababu seva yoyote inayolingana na OpenAI inaweza kutangazwa kama mtoa huduma. Ukitoa modeli kwa kutumia Ollama kwenye VPS ile ile, usanidi unalenga API yake ya ndani, na jina la modeli ni lolote linaloonekana na ollama list kwenye seva yako:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": { "baseURL": "http://127.0.0.1:11434/v1" },
      "models": { "your-model-name": { "name": "Local coding model" } }
    }
  }
}

Tabia moja iliyojengwa ndani inafaa kupitishwa tangu siku ya kwanza. OpenCode inakuja na mawakala wawili unaobadilisha kati yao kwa kutumia kitufe cha Tab: Build, wakala chaguomsingi aliye na ufikiaji kamili, na Plan, ambaye hulemaza uwezo wa kufanya mabadiliko. Anza kazi mpya katika Plan, iruhusu isome msimbo na upendekeze mbinu, na ubadilishe kwenda Build tu ukikubaliana na mpango huo. Kwenye seva, ukipitia kwa kusoma tu kwanza ni njia salama na ya bei nafuu.

Kiwango cha hatari, kwa uwazi

Wakala wa kuandika msimbo si kipofu, kwa hiyo eleza wazi kile mpangilio huu unachofanya na kile asichofanya. Unajumuisha uharibifu wa faili: mtumiaji wa opencode anamiliki saraka yake ya nyumbani tu na hakicho kingine, kwa hiyo uharibifu na ufutaji husimama kwenye mpaka huo. Unajumuisha kufichuliwa kwa vitambulisho: ufunguo uko katika faili moja yenye hali ya 600, kwenye akaunti moja. Haujumuishi kile akaunti inaweza kufanya kihalali, kwa hiyo ikiwa saraka ya mradi ina vitambulisho vya kupeleka msimbo kwenye uzalishaji, wakala anaweza kuvitumia; vitoa vitambulisho hivyo kwenye akaunti ya wakala kabisa.

Tofauti na wakala wa lango kama OpenClaw, OpenCode ni programu ya kituo inayoshirikiana, sio daemon. Haifungui mlango wowote wa kusikiliza na hana huduma inayoendelea kwa muda mrefu, kwa hiyo hakuna kitengo cha systemd cha kuandika na hakuna mlango wa kuzuia kwa wakala mwenyewe. Kizuizi ni akaunti ya mtumiaji na saraka ya mradi, ndiyo maana kipengele cha kwanza cha mwongozo huu ndicho muhimu zaidi.

Kisanduku kinachozunguka bado kinahitaji huduma ya kawaida, kwa sababu VPS ya kuandikia msimbo bado ni seva ya umma: SSH kwa ufunguo tu na kuingia kwa root kumezimwa, kama ilivyo kwenye Uimarishaji wa SSH kwenye VPS, ukuta wa moto unaofanya kukataa kwa chaguo-msingi, na masasisho ya mara kwa mara. Pia pitia kile wakala anachozalisha. Soma tofauti zake kabla ya kuzisukuma, kama unavyosoma ombi la kuvuta kutoka kwa mchangiaji mpya, kwa sababu wewe ndiye unayepeleka matokeo.

Mwishowe, weka zenyewe kwa wakati. OpenCode inatoa masasisho mara kwa mara, na masasisho hubeba marekebisho muhimu kwa programu inayoendesha amri kwenye seva yako. Kusasisha kunatumia njia ile uliyotumia kusakinisha: endesha tena hati ya usakinishaji kama mtumiaji wa opencode, au endesha sudo npm update -g opencode-ai ikiwa ulisakinisha kupitia npm, kisha thibitisha toleo jipya kwa opencode --version. Dakika moja ya matengenezo mara kwa mara ni nafuu zaidi kuliko kutatua tabia ambayo toleo la miezi iliyopita tayari limekwisha irekebisha.

FAQ

Je, OpenCode inaweza kutumia modeli ya ndani badala ya API ya kulipwa?

Ndiyo. OpenCode inachukulia seva yoyote inayolingana na OpenAI kama mtoa huduma, hivyo modeli inayotolewa na Ollama kwenye VPS ile ile inafanya kazi: tangaza mtoa huduma katika opencode.json pamoja na baseURL ya ndani na jina la modeli ambalo Ollama inaripoti. Changamoto ni vifaa, kwa sababu modeli inayofaa kwa kazi halisi ya kuandika msimbo inahitaji kiasi kikubwa cha kumbukumbu. Hivyo, bainisha ukubwa wa seva kulingana na modeli kabla ya kuidownload.

Ninaweaje kuwezesha OpenCode kuendelea kukimbia baada ya kufunga kompyuta yangu?

Iendeshe ndani ya tmux kwenye VPS. Anzisha kipengele cha wakala katika kikao kilichopewa jina kwa kutumia tmux new -s opencode, jitenge kwa kutumia Ctrl-b kisha d, na kikao kitaendelea kukimbia kwenye seva baada ya muunganisho wako wa SSH kuisha. Ungana tena wakati wowote kwa kutumia tmux attach -t opencode na mazungumzo pamoja na kazi yoyote inayoendelea bado yapo. Kuzima na kuwasha seva tena huisha kikao, hivyo anzisha kikao kipya baada ya kuzima na kuwasha seva tena.

Je, ni salama kuruhusu OpenCode kuendesha amri kwenye VPS yangu?

Inaweza kudhibitiwa ikiwa utaifungamanisha. Mpe OpenCode mtumiaji maalum asiye na mamlaka bila sudo, hifadhi miradi yake katika git ili kila uharibio uweze kurudishwa, hifadhi API key katika faili lenye mode 600, na tumia kipengele cha Plan agent kwa ukipiti wa kwanza wa kusoma tu kabla ya kuruhusu Build agent kubadilisha chochote. Kipengele cha wakala kinaweza kuharibu tu kile ambacho akaunti yake inamiliki, na sehemu nyingine ya seva hubaki salama.

Je, tofauti kati ya OpenCode na Claude Code ni ipi?

OpenCode ni chanzo wazi (MIT) na haitegemei mtoa huduma mahususi, ikiunganisha zaidi ya watoa huduma 75 wa modeli, ikiwa ni pamoja na wa ndani, kupitia kiolesura kimoja. Claude Code ni kipengele cha wakala cha terminal cha Anthropic, kilichojengwa kuzunguka modeli za Anthropic. Kama unataka zana moja inayofanya kazi kwa watoa huduma wengi, au mfumo kamili unaojidhibiti wenye modeli ya ndani, OpenCode ndiyo inayofaa; vyote hufanya kazi vizuri kwenye VPS ndani ya tmux kwa mpangilio sawa wa mtumiaji asiye na mamlaka.