Yini i-opencode-rust?
opencode-rust iyi-ejenti yokubhala ikhodi ye-AI enomthombo ovulekile eyakhiwe nge-Rust. Ihlinzeka ngesixhumi esibonakalayo somsebenzisi setheminali, ukusetshenziswa kwemiyalo kanye kuphela, iseva ye-HTTP, ukwesekwa kweWeb, nokuhlanganiswa kwe-ACP kokugeleza komsebenzi kwama-ejenti e-AI asebenza endaweni.
Injini ihlanganisa amasessioni, ukusetshenziswa kwamathuluzi, i-MCP, i-LSP, ukuqondiswa kwabahlinzeki, isitoreji se-SQLite, nebhuloho lama-plugin e-TypeScript. Isebenza ngaphandle kwe-Docker noma enye injini yeziqukathi. I-Rust isetshenziselwa ukugcina ukusetshenziswa kwezinsiza kungadluli imingcele ngokusebenzisa imizimba yezicelo egeleza, umlando wezingxoxo osekelwe ku-SQLite, ama-schema amathuluzi agcinwe kunqolobane, nesimo esiqoqwe ngokohla lwemibhalo sisebenzisa ukukhishwa kwe-LRU ne-TTL.
Khetha indlela yokufaka
Zonke izindlela zokufaka ezisekelwayo zihlinzeka ngomyalo we-opr, kodwa umyalo uziphatha ngendlela ehlukile kuye ngokuthi ufakwe kanjani.
Faka nge-npm
I-npm isekela i-Linux, i-macOS, ne-Windows futhi ilanda iphakheji kanambambili eyakhelwe kusengaphambili yesikhulumi samanje. Ayihlanganisi iphrojekthi ngesikhathi sokufaka.
npm install -g opencode-rustIsiqalisi se-npm siyi-script ye-Node ethumela imiyalo enjinini. Amaphakheji ezikhulumi atholakalayo afaka i-macOS ARM64 ne-x64, i-Linux x64 ne-ARM64 GNU, i-Linux x64 musl, kanye ne-Windows x64 MSVC.
Faka nge-Homebrew
Ku-macOS noma ku-Linux, faka ifomula ye-Homebrew ngalo myalo:
brew install vakandi/tap/opencode-rustLokhu kufaka i-opr ngaphandle kokubeka kanambambili ye-opencode ku-prefix ye-Homebrew, ngakho ayifihli i-CLI ye-OpenCode esemthonjeni wokuqala. I-Homebrew yakha kusuka emthonjeni, ngakho ifaka i-toolchain ye-Rust njengokuncika kokwakha.
Yakha kusuka emthonjeni
Clone-a i-repository bese usebenzisa isifaki:
git clone https://github.com/vakandi/opencode-rust.git
cd opencode-rust
./install.shIsifaki sakha kanambambili yokukhishwa bese sifaka i-opr kanye nezinqamuleli zama-ejenti. Sihlola iminwe yemithombo ye-Rust namafayela e-manifest e-Cargo, ngakho iphrojekthi engashintshanga ayakhiwa kabusha. Sebenzisa i---force ukuze wakhe kabusha kungakhathaliseki lokho.
Uma usebenzisa i-Homebrew noma isifaki somthombo, i-opr iyikanambambili yenjini uqobo. Sebenzisa i-subcommand ecacile lapho udlulisa amafulegi:
opr tui --some-flagNge-npm, isiqalisi sidlulisela amafulegi ku-TUI, ngakho i-opr --some-flag ihunyushwa ngendlela ehlukile.
Lungisa imvelo
I-Node.js 18 noma entsha iyadingeka kwibhuloho lama-plugin nasekuqaliseni amaseva e-MCP nge-npx, kungakhathaliseki indlela yokufaka.
Udinga futhi ukhiye womhlinzeki ngaphambi kokusebenzisa okokuqala. Isibonelo, setha ukhiye we-Anthropic ku-shell yakho:
export ANTHROPIC_API_KEY=sk-ant-...Sebenzisa ukucushwa komhlinzeki nemininingwane yokufinyelela esekelwa ukusethwa kwakho kwe-OpenCode. Gcina okhiye ngaphandle kolawulo lomthombo nomlando we-shell lapho kungenzeka khona.
Qalisa iseshini yakho yokuqala
Qalisa i-TUI esebenzisanayo
Qalisa isixhumi esibonakalayo setheminali ngalo myalo:
oprI-TUI iyindawo ezenzakalelayo yokusebenzisana. Ibonisa i-ejenti nemodeli esebenzayo, isakaza okukhiphayo komsizi, futhi inikeza ukuqedelwa kwemiyalo nge-popup ye-/.
Qalisa i-prompt eyodwa
Nge-prompt ezenzakalelayo esebenza ize iqede, sebenzisa i-run:
opr run "check this repo for risks"Ngokungafani nekholi elula yomhlinzeki, i-run iqhuba umjikelezo ophelele we-prompt yeseshini. Amathuluzi ayasebenza, ama-subagent alindelwe ayaqeda, futhi umsebenzi wangemuva uyaphela ngaphambi kokuthi inqubo iphume.
Qalisa iseva ye-HTTP
Ukuveza injini ngeseva yayo ye-HTTP, sebenzisa:
opr serve --port 3000Iseva isebenzisa injini yeseshini efanayo futhi isekela ingqalasizinda ye-HTTP, yokusakaza, neyama-ejenti yephrojekthi.
Sebenzisa ama-ejenti aqanjwe ngamagama
I-TUI inama-ejenti akhelwe ngaphakathi e-build ne-plan. I-ejenti ye-build iyi-ejenti ezenzakalelayo yokuthuthukisa enokufinyelela okugcwele, kanti i-plan ihloselwe ukuhlaziya nokuhlola okufundwa kuphela. Cindezela u-Tab ukuze ushintshe ama-ejenti ku-TUI.
Isifaki somthombo sakha nezinqamuleli zama-ejenti aqanjwe ngamagama:
gilfoyle "fix this failing test"
setbon "write 5 ad hooks"
googlebot "audit my meta tags"Lezi zinqamuleli zisebenzisa i-prompt eyodwa enenani elihambisanayo le---agent. Ukubiza eyodwa ngaphandle kwe-prompt kuphrinta imininingwane yokusetshenziswa ku-standard error bese kuphuma ngesimo 2.
Amanye ama-ejenti angacushwa ekucushweni kwakho kwe-OpenCode nasezitolo zama-ejenti ze-oh-my-opencode ku-~/.omo/omo.jsonc noma ku-~/.config/omo/omo.jsonc. Ukucushwa kwama-ejenti kulezi zindawo kungabhala phezu kokuzenzakalelayo kwe-plugin, futhi ama-ejenti afaniswa kusetshenziswa ama-slug asemthethweni ngisho nalapho amagama awo aboniswayo ehlukile.
Hlela amaphrojekthi namaseshini
Amafayela okucushwa ayahlanganiswa ngesikhathi kuseshwa kuya phezulu kusukela ku-directory esebenzayo. Amagama asekelwayo ezingeni lephrojekthi yilawa:
opencode.jsoncopencode.json.opencode/opencode.jsonc.opencode/opencode.json
Ukucushwa okuzenzakalelayo komhlaba wonke kugcinwa ku-~/.config/opencode/opencode.json noma kokulingana kwayo kwe-JSONC. Izincazelo zama-ejenti zingagcinwa nasezindaweni ze-oh-my-opencode ezichazwe ngenhla.
Amaseshini agcinwa ku-SQLite futhi asekela ukudalwa, ukuqhubeka, ukuhlukanisa, ukungenisa nokuthekelisa, kanye nobudlelwano bomzali nengane. Ukuhlola indawo yesizindalwazi, sebenzisa:
opr db pathUkuhlola ezinye izindawo zesikhathi sokusebenza, kuhlanganise ne-directory yedatha esetshenziswa yi-proxy pool, sebenzisa:
opr debug pathsSebenzisa amathuluzi e-MCP
i-opencode-rust isekela i-MCP nge-stdio nange-HTTP. Amaseva e-MCP alayishwa ekucushweni, aqaliswe ngokufana ngaphansi komkhawulo wokuqalisa wamasekhondi angu-90, futhi abhaliswe ku-registry efanayo yamathuluzi asetshenziswa yi-ejenti ngesikhathi ngasinye.
Lokhu kusho ukuthi amathuluzi avezwe yiseva ye-MCP angafinyelela kumodeli futhi asebenze njengengxenye yokujika kwe-agent. Qinisekisa ukuthi i-Node.js namaphakheji adingekayo eseva ye-MCP ayatholakala ngaphambi kokuqala iseshini.
Iphrojekthi isebenzisa i-JSON ehlukaniswe ngemigqa ekuthuthweni kwe-MCP stdio. Lokhu kwehlukile ekufakweni kwe-LSP kusetshenziswa i-Content-Length, ngakho ukulungiselelwa kweseva ye-MCP kufanele kubhekise kwezokuthutha nezincazelo ezihambisana ne-MCP.
Qinisekisa ukuthi umsebenzi wangemuva uyaphothulwa
Umyalo we-run wamukela isikhathi sokulinda sokukhipha imisebenzi yangemuva:
opr run --wait-background-timeout 120 "run the requested task"Ngemva kokujika okuyinhloko, injini ilinda iseshini ize ingasasebenzi, isakaze ama-frame ezingane aqoshwe yi-oh-my-opencode, bese ihlola isimo sokuqhubeka. Isikhathi esizenzakalelayo sokulinda yimizuzwana engu-120.
Ukukhipha imisebenzi kuvuleka ngokwehluleka kunokuba kulenge: imininingwane egciniwe engekho, ama-ledger angekho, i-JSON eyonakele, kanye nokufakiwe okudala okusasebenza kuthathwa njengokungenamsebenzi osele. Sebenzisa isikhathi esifushane noma eside kuye ngemikhawulo edingwa ukugeleza komsebenzi wakho.
Lungiselela i-proxy ejikelezayo
Injini ihlanganisa i-forwarder yasendaweni ye-HTTP ne-CONNECT ejikeleza phakathi kwabazongenela ama-proxy asezindaweni zokuhlala. Ikhetha i-upstream esetshenziswe kudala kakhulu cishe njalo ngemizuzwana engu-120, ihlole abazongenela ngaphambi kokusetshenziswa, futhi ibeke eceleni okuf rechazayo.
Ifayela le-pool elizenzakalelayo liku:
- macOS:
~/Library/Application Support/opencode/proxy-pool.txt - Linux:
~/.local/share/opencode/proxy-pool.txt - Windows:
%LOCALAPPDATA%\opencode\proxy-pool.txt
Setha OPENCODE_PATHS_ROOT ukuze uhambise indawo yedatha. Indlela ye-pool ephumayo iba $OPENCODE_PATHS_ROOT/opencode/proxy-pool.txt.
Okufakiwe kusebenzisa i-host ne-port, kanye nemininingwane yokungena nemetadata ngokuzikhethela:
198.51.100.10:8080
203.0.113.24:1080
198.51.100.31:3128:myuser:mypass
203.0.113.77:8000 | note:rotates hourlyGcina ifayela linokufakiwe okuyisisekelo kuphela. Nakuba imigqa eqala ngo-# ikhonjiswa kwezinye izibonelo njengamazwana, i-parser ayisekeli uhlelo lwamazwana; leyo migqa ayinakwa njengokufakiwe okungalungile. Abazongenela abahlulekile kanye nolwazi lobunikazi kugcinwa kumafayela angomakhelwane athi proxy-quarantine.json kanye ne-proxy-claims.json.
Ukuqalisa i-proxy kufanele kwenziwe nge-opencode_proxy::start() kunokuthekelisa ngesandla okuguquguqukayo kwe-proxy. Iklayenti kufanele lithole ukulungiselelwa kwe-proxy ngaphambi kokwakhiwa kwe-registry yabahlinzeki. I-pool engenalutho noma engafundeki ibuyisa iphutha esikhundleni sokuqala i-listener ezohluleka kuzo zonke izicelo.
Hlola indawo yemiyalo
I-CLI ihlanganisa imiyalo yokusetshenziswa ngokuhlanganyela, amasession, amasevisi, ukulungiselela, ukuqinisekisa, ama-agent, ukulungisa amaphutha, i-MCP, ukudluliswa kwedatha, nokugcinwa:
tui attach run serve web acp models
session stats db config auth agent debug
mcp export import github pr upgrade uninstall
generate versionIzinketho eziwusizo ze-run zifaka i---continue, --session, --fork, --agent, --format, --title, --dir, --port, --variant, --thinking, kanye ne---wait-background-timeout.
Ukuthuthukisa nokuqinisekisa
Uma usebenza kule repository, sebenzisa izivivinyo nokuhlolwa kwendawo yokusebenza ngale miyalo:
cargo test --workspace
cargo build --release --bin opencode
cargo clippy --workspace --all-targetsI-repository ihlelwe yaba ama-crate e-CLI, iseva, amasession, ama-agent, amathuluzi, abahlinzeki, i-MCP, ama-plugin, i-LSP, isitoreji, i-TUI, izimvume, izindlela, ama-proxy, kanye nezinsiza ezihlobene. Imibhalo ye-crate ngayinye iyatholakala kumkhombandlela we-docs/.
Isiphetho
opencode-rust ihlinzeka ngenjini ye-OpenCode esekelwe ku-Rust ene-TUI esebenzisanayo, ukwenziwa okuphelele kwamasession, ama-agent alungisekayo, ukuhlanganiswa kwe-MCP nama-plugin, isitoreji se-SQLite, kanye nokufinyelela nge-HTTP. Qala nge-npm, i-Homebrew, noma ukwakha kusuka emthonjeni, lungiselela ukhiye womhlinzeki, bese usebenzisa i-opr, opr run, noma i-opr serve kuye ngokugeleza komsebenzi wakho.
Iphrojekthi ikhishwa ngaphansi kwelayisensi ye-MIT futhi ayihlangene nethimba le-OpenCode.
