opencode-rust nima?
opencode-rust Rust tilida yaratilgan ochiq kodli AI dasturlash agentidir. U terminal foydalanuvchi interfeysi, bir martalik buyruqlarni bajarish, HTTP server, Web qo‘llab-quvvatlashi va mahalliy AI-agent ish jarayonlari uchun ACP integratsiyasini taqdim etadi.
Dvigatel sessiyalar, vositalarni bajarish, MCP, LSP, provayderlarni yo‘naltirish, SQLite xotirasi va TypeScript plagin ko‘prigini birlashtiradi. U Docker yoki boshqa konteyner ishga tushirish muhitini talab qilmaydi. Rust oqimli so‘rov tanalari, SQLite asosidagi suhbatlar tarixi, keshlangan vosita sxemalari hamda LRU va TTL orqali eskilarni chiqarib tashlaydigan, har bir katalog uchun birlashtirilgan holat yordamida resurslardan foydalanishni cheklangan darajada saqlash uchun ishlatiladi.
O‘rnatish usulini tanlang
Barcha qo‘llab-quvvatlanadigan o‘rnatish usullari opr buyrug‘ini taqdim etadi, ammo buyruq o‘rnatilish usuliga qarab turlicha ishlaydi.
npm bilan o‘rnatish
npm Linux, macOS va Windows tizimlarini qo‘llab-quvvatlaydi hamda joriy platforma uchun oldindan tuzilgan ikkilik paketni yuklab oladi. O‘rnatish vaqtida loyihani kompilyatsiya qilmaydi.
npm install -g opencode-rustnpm ishga tushirgichi buyruqlarni dvigatelga yo‘naltiradigan Node skriptidir. Mavjud platforma paketlariga macOS ARM64 va x64, Linux x64 va ARM64 GNU tuzilmalari, Linux x64 musl hamda Windows x64 MSVC kiradi.
Homebrew bilan o‘rnatish
macOS yoki Linux tizimida Homebrew formulasini quyidagi buyruq bilan o‘rnating:
brew install vakandi/tap/opencode-rustBu opencode ikkilik faylini Homebrew prefiksiga joylashtirmasdan opr ni o‘rnatadi, shuning uchun yuqori oqimdagi OpenCode CLI bilan nomlar to‘qnashmaydi. Homebrew manba kodidan tuzadi va shu sababli Rust toolchain’ini tuzilish bog‘liqligi sifatida o‘rnatadi.
Manba kodidan tuzish
Repository’ni klonlang va o‘rnatuvchini ishga tushiring:
git clone https://github.com/vakandi/opencode-rust.git
cd opencode-rust
./install.shO‘rnatuvchi release ikkilik faylini tuzadi va agent yorliqlari bilan birga opr ni o‘rnatadi. U Rust manba fayllari va Cargo manifest fayllarining barmoq izlarini tekshiradi, shuning uchun o‘zgarmagan loyiha qayta tuzilmaydi. Har safar qayta tuzish uchun --force dan foydalaning.
Homebrew yoki manba o‘rnatuvchisidan foydalanganda opr dvigatelning o‘ziga tegishli ikkilik fayldir. Bayroqlarni uzatishda aniq subbuyruqdan foydalaning:
opr tui --some-flagnpm bilan ishga tushirgich bayroqlarni TUI’ga yo‘naltiradi, shuning uchun opr --some-flag boshqacha talqin qilinadi.
Muhitni tayyorlang
O‘rnatish usulidan qat’i nazar, plagin ko‘prigi va MCP serverlarini npx orqali ishga tushirish uchun Node.js 18 yoki undan yangiroq versiyasi talab qilinadi.
Birinchi ishga tushirishdan oldin provayder kaliti ham kerak. Masalan, shell’da Anthropic kalitini o‘rnating:
export ANTHROPIC_API_KEY=sk-ant-...OpenCode sozlamangiz qo‘llab-quvvatlaydigan provayder va hisob ma’lumotlari konfiguratsiyasidan foydalaning. Imkon qadar kalitlarni manba kodini boshqarish tizimi va shell tarixidan tashqarida saqlang.
Birinchi sessiyangizni ishga tushiring
Interaktiv TUI’ni ishga tushirish
Terminal interfeysini quyidagi buyruq bilan ishga tushiring:
oprTUI standart interaktiv interfeysdir. U faol agent va modelni ko‘rsatadi, yordamchi chiqishini oqimda uzatadi hamda / qalqib chiquvchi oynasi orqali buyruqlarni to‘ldirishni ta’minlaydi.
Bitta promptni ishga tushirish
Tugagunicha ishlaydigan avtomatlashtirilgan prompt uchun run dan foydalaning:
opr run "check this repo for risks"Oddiy provayder chaqiruvidan farqli ravishda, run to‘liq sessiya prompt siklini boshqaradi. Vositalar bajariladi, kutilayotgan quyi agentlar ishini yakunlaydi va jarayon tugashidan oldin fon ishlari to‘liq bajariladi.
HTTP serverini ishga tushirish
Dvigatelni HTTP serveri orqali taqdim etish uchun quyidagini bajaring:
opr serve --port 3000Server bir xil sessiya dvigatelidan foydalanadi va loyihaning HTTP, oqimli uzatish hamda agent infratuzilmasini qo‘llab-quvvatlaydi.
Nomlangan agentlardan foydalanish
TUI ichida o‘rnatilgan build va plan agentlari mavjud. Build agenti to‘liq kirish huquqiga ega standart dasturlash agenti, plan esa faqat o‘qish huquqiga ega tahlil va o‘rganish uchun mo‘ljallangan. TUI’da agentlarni almashtirish uchun Tab tugmasini bosing.
Manba o‘rnatuvchisi nomlangan agentlar uchun yorliqlarni ham yaratadi:
gilfoyle "fix this failing test"
setbon "write 5 ad hooks"
googlebot "audit my meta tags"Bu yorliqlar tegishli --agent qiymati bilan bitta promptni ishga tushiradi. Ulardan birini promptsiz chaqirish standart xatolik chiqishiga foydalanish ma’lumotlarini chiqaradi va 2 holat kodi bilan yakunlanadi.
Qo‘shimcha agentlarni OpenCode konfiguratsiyasida va ~/.omo/omo.jsonc yoki ~/.config/omo/omo.jsonc manzillaridagi oh-my-opencode agent xotiralarida sozlash mumkin. Ushbu manzillardan olingan agent konfiguratsiyasi plagin standart sozlamasini almashtirishi mumkin, agentlar esa ko‘rsatiladigan nomlari farq qilsa ham kanonik slug’lar yordamida moslashtiriladi.
Loyihalar va sessiyalarni sozlash
Konfiguratsiya fayllari ishchi katalogdan yuqoriga qarab qidirish jarayonida birlashtiriladi. Loyiha darajasida qo‘llab-quvvatlanadigan nomlar:
opencode.jsoncopencode.json.opencode/opencode.jsonc.opencode/opencode.json
Global standart konfiguratsiya ~/.config/opencode/opencode.json yoki uning JSONC ekvivalentida saqlanadi. Agent ta’riflari yuqorida ko‘rsatilgan oh-my-opencode manzillarida ham saqlanishi mumkin.
Sessiyalar SQLite’da saqlanadi va ularni yaratish, davom ettirish, tarmoqlash, import va eksport qilish hamda ota-ona va bola munosabatlarini qo‘llab-quvvatlaydi. Ma’lumotlar bazasi manzilini ko‘rish uchun quyidagidan foydalaning:
opr db pathProxy pool foydalanadigan ma’lumotlar katalogi kabi boshqa ishga tushirish manzillarini ko‘rish uchun quyidagidan foydalaning:
opr debug pathsMCP vositalaridan foydalanish
opencode-rust stdio va HTTP orqali MCP’ni qo‘llab-quvvatlaydi. MCP serverlari konfiguratsiyadan yuklanadi, 90 soniyalik ishga tushirish chegarasi ostida parallel ravishda ishga tushiriladi va agent foydalanadigan har bir navbat uchun aynan bir xil vositalar reyestrida ro‘yxatdan o‘tkaziladi.
Bu MCP serveri taqdim etgan vositalar modelga yetib borishi va agent navbati tarkibida bajarilishi mumkinligini anglatadi. Seansni boshlashdan oldin Node.js hamda talab qilinadigan MCP server paketlari mavjudligiga ishonch hosil qiling.
Loyiha MCP stdio transporti uchun satr bilan ajratilgan JSON formatidan foydalanadi. Bu LSPʼning Content-Length freymlashidan farq qiladi, shuning uchun MCP server konfiguratsiyalari MCP bilan mos transportlar va taʼriflarga yo‘naltirilishi kerak.
Fon ishlarining yakunlanishini taʼminlash
run buyrug‘i fon vazifalarini tugatish uchun kutish vaqtini qabul qiladi:
opr run --wait-background-timeout 120 "run the requested task"Asosiy navbatdan so‘ng dvigatel seans bo‘sh holatga kelishini kutadi, oh-my-opencode tomonidan yozib olingan farzand freymlarini uzatadi va davom ettirish holatini tekshiradi. Standart kutish vaqti 120 soniyani tashkil etadi.
Tugatish jarayoni osilib qolish o‘rniga ochiq holda muvaffaqiyatsiz yakunlanadi: maʼlumotlar bazalari yo‘qligi, reyestrlar yo‘qligi, buzilgan JSON va eskirgan faol yozuvlar qolgan ish yo‘q deb hisoblanadi. Ish jarayoningizga boshqa chegaralar kerak bo‘lsa, qisqaroq yoki uzoqroq kutish vaqtidan foydalaning.
Aylanuvchi proksini sozlash
Dvigatel turar joy proksisi nomzodlari orqali navbatma-navbat ishlaydigan mahalliy HTTP va CONNECT yo‘naltiruvchisini o‘z ichiga oladi. U taxminan har 120 soniyada eng uzoq vaqt oldin ishlatilgan yuqori oqimni tanlaydi, foydalanishdan oldin nomzodlarni tekshiradi va rad etilgan yozuvlarni karantinga joylaydi.
Standart havza fayli quyidagi joyda joylashgan:
- macOS:
~/Library/Application Support/opencode/proxy-pool.txt - Linux:
~/.local/share/opencode/proxy-pool.txt - Windows:
%LOCALAPPDATA%\opencode\proxy-pool.txt
Maʼlumotlar joylashuvini o‘zgartirish uchun OPENCODE_PATHS_ROOT ni o‘rnating. Natijaviy havza yo‘li $OPENCODE_PATHS_ROOT/opencode/proxy-pool.txt bo‘ladi.
Yozuvlarda xost va port, shuningdek ixtiyoriy hisob maʼlumotlari hamda metamaʼlumotlar bo‘ladi:
198.51.100.10:8080
203.0.113.24:1080
198.51.100.31:3128:myuser:mypass
203.0.113.77:8000 | note:rotates hourlyFaylda faqat oddiy yozuvlarni saqlang. Baʼzi misollarda # bilan boshlanadigan satrlar izoh sifatida ko‘rsatilgan bo‘lsa-da, tahlil qiluvchi izoh sintaksisini amalga oshirmaydi; bunday satrlar noto‘g‘ri yozuv sifatida eʼtiborsiz qoldiriladi. Muvaffaqiyatsiz nomzodlar va egalik haqidagi maʼlumotlar qo‘shni proxy-quarantine.json va proxy-claims.json fayllarida saqlanadi.
Proksini ishga tushirish proksi o‘zgaruvchilarini qo‘lda eksport qilish orqali emas, opencode_proxy::start() orqali bajarilishi kerak. Provayderlar reyestri tuzilishidan oldin mijoz proksi konfiguratsiyasini olishi shart. Bo‘sh yoki o‘qib bo‘lmaydigan havza har bir so‘rovni muvaffaqiyatsiz tugatadigan tinglovchini ishga tushirish o‘rniga xato qaytaradi.
Buyruqlar imkoniyatlarini ko‘rib chiqish
CLI interaktiv foydalanish, seanslar, xizmatlar, konfiguratsiya, autentifikatsiya, agentlar, nosozliklarni tuzatish, MCP, maʼlumotlar uzatish va texnik xizmat uchun buyruqlarni o‘z ichiga oladi:
tui attach run serve web acp models
session stats db config auth agent debug
mcp export import github pr upgrade uninstall
generate versionFoydali run parametrlari qatoriga --continue, --session, --fork, --agent, --format, --title, --dir, --port, --variant, --thinking va --wait-background-timeout kiradi.
Ishlab chiqish va tekshirish
Agar siz repository ustida ishlayotgan bo‘lsangiz, ish maydoni testlari va tekshiruvlarini quyidagi buyruqlar bilan ishga tushiring:
cargo test --workspace
cargo build --release --bin opencode
cargo clippy --workspace --all-targetsRepository CLI, server, seanslar, agentlar, vositalar, provayderlar, MCP, plaginlar, LSP, saqlash, TUI, ruxsatlar, yo‘llar, proksilash va tegishli yordamchi vositalar uchun crateʼlarga ajratilgan. Har bir crate hujjatlari docs/ katalogida mavjud.
Xulosa
opencode-rust interaktiv TUI, to‘liq seans bajarilishi, sozlanadigan agentlar, MCP va plagin integratsiyasi, SQLite saqlashi hamda HTTP orqali foydalanish imkoniyatiga ega Rust asosidagi OpenCode dvigatelini taqdim etadi. npm, Homebrew yoki manba kodidan yig‘ish orqali boshlang, provayder kalitini sozlang va ish jarayoningizga qarab opr, opr run yoki opr serve dan foydalaning.
Loyiha MIT litsenziyasi ostida chiqarilgan va OpenCode jamoasi bilan bog‘liq emas.
