Pemasangan OpenCode dan Konfigurasi OmniProxy
Mahu pembantu pengekodan memahami projek anda tanpa tersekat pada pemasangan dan konfigurasi? OpenCode boleh dilancarkan dari terminal, IDE atau desktop, kemudian disambungkan kepada perkhidmatan model yang anda gunakan dengan mengikuti langkah-langkah ini.
OpenCode ialah pembantu pengekodan sumber terbuka yang boleh digunakan untuk menulis kod dalam terminal, IDE atau desktop. Ia juga tidak menyimpan kod dan konteks anda, menjadikannya sesuai untuk projek yang mementingkan privasi. build digunakan untuk mengubah suai projek, manakala plan adalah baca sahaja secara lalai dan sesuai untuk memahami kod yang kurang dikenali serta merancang perubahan terlebih dahulu. Anda boleh memilih perkhidmatan model mengikut keperluan.
Persediaan sebelum pemasangan
Skrip pemasangan ialah kaedah yang paling mudah. Anda memerlukan terminal moden, iaitu program terminal yang boleh menjalankan perintah dan mengurus fail projek, seperti WezTerm, Alacritty, Ghostty atau Kitty. Pada Windows, utamakan penggunaan WSL, iaitu alat untuk menjalankan persekitaran Linux dalam Windows dengan prestasi dan fungsi yang lebih lengkap.
Paling mudah
Skrip pemasangan
- curl opencode.ai/install
- Boleh digunakan terus pada macOS Linux
- WSL disyorkan untuk Windows
macOS Linux
Homebrew tap
- anomalyco/tap/opencode
- Dikemas kini lebih kerap daripada formula
- Pakej juga tersedia untuk Arch
Windows asli
Pengurus pakej
- choco atau scoop
- Atau pasang secara global dengan npm
- Boleh juga dimuat turun daripada Releases
Sediakan juga ID model daripada senarai model semasa. ID model ialah nama yang digunakan oleh perkhidmatan untuk mengenal pasti sesuatu model dengan tepat.
Pasang dan lancarkan buat kali pertama
Perintah pemasangan yang paling mudah digunakan ialah:
curl -fsSL https://opencode.ai/install | bash
Anda juga boleh menggunakan kaedah pemasangan berikut:
- Node.js:
npm install -g opencode-ai. Bun, pnpm dan Yarn juga mempunyai perintah pemasangan global masing-masing; lihat halaman pengenalan di penghujung panduan ini. - Homebrew untuk macOS dan Linux:
brew install anomalyco/tap/opencode. Gunakan tap ini kerana ia dikemas kini lebih kerap berbandingbrew install opencodeyang diselenggarakan oleh pasukan Homebrew. - Arch Linux: gunakan
sudo pacman -S opencodeuntuk versi stabil, manakala versi yang lebih baharu tersedia melaluiopencode-bindalam AUR. - Windows: gunakan
choco install opencodeatauscoop install opencode. Anda juga boleh menggunakannpm install -g opencode-ai. Fail binari turut boleh dimuat turun daripada Releases. Sokongan pemasangan menggunakan Bun pada Windows masih dalam pembangunan.
Masuk ke direktori projek anda, kemudian lancarkan OpenCode:
cd /path/to/project
opencode
Semasa penggunaan pertama, anda boleh menjalankan /init. Perintah ini akan menganalisis projek dan mencipta AGENTS.md dalam direktori akar projek. Fail ini boleh dikomit ke Git supaya projek dapat mengekalkan arahan tersebut.
Dapatkan parameter sambungan daripada OmniProxy
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Salin daripada senarai model semasa OmniProxy
baseURL ialah alamat perkhidmatan, API Key ialah bukti kelayakan akses dan Model ID ialah nama penuh model.
Apabila menggunakan /v1/chat/completions, gunakan pakej npm @ai-sdk/openai-compatible. Chat Completions di sini ialah antara muka permintaan sembang. Tukar kepada @ai-sdk/openai hanya apabila model menggunakan /v1/responses. Apabila OmniProxy digunakan melalui laluan chat completions, kekalkan pakej keserasian tersebut.
Salin keseluruhan ID model daripada senarai semasa OmniProxy dan kekalkan garis miring jika ada. Dua ID rujukan pada 2026-10-09 ialah claude-sonnet-5-5 dan gpt-6-luna. gpt-6-luna menyokong Chat Completions; dalam Chat Completions, panggilan fungsi hanya disokong apabila reasoning_effort ditetapkan kepada none. Jangan salin ID yang tiada dalam senarai.
Isi konfigurasi alat
Provider boleh difahami sebagai satu set konfigurasi yang digunakan OpenCode untuk menyambung kepada perkhidmatan model. Dalam dokumentasi Provider, perkhidmatan serasi OpenAI yang tidak terdapat dalam senarai /connect dikategorikan sebagai Provider tersuai. Perkhidmatan serasi OpenAI ialah perkhidmatan yang menggunakan format permintaan yang sama dan boleh dipanggil oleh jenis klien yang sama.
- Jalankan
/connectdalam OpenCode, kemudian tatal ke Other. - Masukkan Provider ID. Contoh di bawah menggunakan
omniproxy. Pilih ID yang mudah diingati kerana ID yang sama perlu digunakan dalam fail konfigurasi. - Masukkan API Key OmniProxy. Langkah ini hanya menyimpan bukti kelayakan; alamat dan model masih perlu ditulis dalam
opencode.json. Bukti kelayakan disimpan dalam~/.local/share/opencode/auth.json. - Cipta atau ubah suai
opencode.jsondalam direktori projek:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniproxy": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniProxy",
"options": {
"baseURL": "https://your-omniproxy-origin.example/v1"
},
"models": {
"claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
"gpt-6-luna": { "name": "GPT-6 Luna" }
}
}
}
}
- Jalankan
/models. Provider tersuai dan model akan muncul dalam senarai.
ID dalam /connect mesti sama dengan kunci dalam opencode.json. Jangan tulis kunci sebenar dalam fail ini. Jika anda tidak menggunakan /connect, anda juga boleh menggunakan pemboleh ubah persekitaran dalam options.apiKey, contohnya {env:NAMA_PEMBOLEH_UBAH}. Dalam ujian pada 2026-10-09 menggunakan OpenCode 1.18.34, sambungan juga berjaya apabila kunci ditulis terus dalam options.apiKey projek tanpa menggunakan /connect. Jika gerbang tidak mengesahkan kunci, nilai ini boleh berupa rentetan pemegang tempat yang hanya digunakan secara setempat. Kunci dalam models hendaklah menggunakan ID penuh daripada senarai.
Kunci
/connect
- Pilih Other di bahagian paling bawah
- Tetapkan sendiri Provider ID
- Disimpan dalam auth.json
Projek
opencode.json
- Kunci provider mesti menggunakan nama yang sama
- Gunakan pakej serasi untuk npm
- baseURL mesti berakhir dengan /v1
Pemilihan
/models
- Model muncul dalam senarai
- Pilih satu sebelum bertanya
- Gunakan ID daripada senarai get laluan
Sahkan dengan tugas sebenar
Jalankan satu tugas sebenar dalam direktori projek. Format rujukan model ialah Provider ID/ID model. Jika ID model mengandungi garis miring, kekalkannya:
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Terangkan fungsi fail yang saya tentukan, jangan ubah fail."
--auto membolehkan proses ini menggunakan alat seperti pembacaan fail. Dalam ujian pada 2026-10-09 menggunakan OpenCode 1.18.34, kandungan fail yang ditentukan berjaya dibaca. Percubaan pertama mengambil masa kira-kira dua minit.
Untuk penggunaan interaktif, jalankan opencode, kemudian pilih model melalui /models. Anda boleh menggunakan @ untuk mencari fail. Gunakan opencode auth list untuk mengesahkan bukti kelayakan yang disimpan melalui /connect, kemudian semak sumber dan ID model dalam rekod panggilan OmniProxy.
Permulaan
opencode boleh dibuka
- Gunakan cd untuk masuk ke projek dahulu
- ID dapat dilihat melalui auth list
- Fail konfigurasi berada dalam projek
Tugas
Ia telah membaca kod
- Tanya tentang fail tertentu
- Lihat penjelasannya
- Gunakan /undo jika tidak betul
Rekod
Kelihatan dalam get laluan
- Sumbernya ialah OpenCode
- ID model sepadan
- Jangan komit kunci
Ralat lazim
- OmniProxy tiada dalam
/models: semak sama ada ID dalam/connectsepadan dengan kunci dalamopencode.json, sama adanpmditetapkan kepada@ai-sdk/openai-compatible, dan sama adabaseURLberakhir dengan/v1. - Bukti kelayakan hilang: jalankan
opencode auth list. Provider seperti Bedrock yang bergantung pada pemboleh ubah persekitaran tidak akan muncul di sini; Provider tersuai yang dikonfigurasikan melalui/connectsepatutnya kelihatan. - Fungsi Windows tidak lengkap: gunakan skrip pemasangan dalam WSL.
- ID model tidak sah: salin semula daripada senarai semasa OmniProxy dan kemas kini kunci dalam
models. - Permintaan dihantar ke antara muka yang salah: kekalkan
@ai-sdk/openai-compatibleuntuk chat completions. Jangan tukar pakej semata-mata untuk antara muka Responses, melainkan model tersebut benar-benar menggunakan/v1/responsespada OmniProxy.
Rujukan rasmi
Untuk pemasangan, lihat Pengenalan OpenCode. Untuk Provider tersuai, lihat Providers. ID model dalam contoh boleh dirujuk di Gambaran keseluruhan model Claude dan GPT-6 Luna.
Gantikan setiap penanda tempat dengan nilai dari konfigurasi OmniProxy anda sendiri. Jangan pernah terbitkan kunci sebenar.
Hasil tersimpan atau HTTP 200 sahaja tidak membuktikan keserasian Agen penuh. Semak sumber dan model dalam rekod panggilan OmniProxy.