OpenCode di konsol

Cara TUI OpenCode Lite dibangun dengan Text.js dan cara menjalankannya secara lokal.

OpenCode adalah agen pemrograman sumber terbuka. OpenCode Lite adalah klien konsol untuk agen tersebut, dibuat dengan Text.js.

Coba

  • Di situs ini: kunjungi OpenCode dan buka DevTools.
  • Secara lokal: bunx create-text-app my-app --template opencode.

Situs ini menjalankan sandbox dengan agen berskrip. Ketik prompt apa saja.

Anatomi

AreaKomponen
Transkrip<ScrollBox stickyScroll> + <Markdown>
Kartu alat<Code> dan <Diff>
Prompt<Textarea>
Palet<Modal> + <Select searchable>
app/session/[id]/page.tsxtsx
export default function SessionPage({ params }: PageProps<{ id: string }>) {  const { messages, send } = useSession(params.id);  return (    <Box className="flex-col grow">      <ScrollBox stickyScroll className="grow">        {messages.map((m) => <MessageView key={m.id} message={m} />)}      </ScrollBox>      <Textarea placeholder="Ask anything…" onSubmit={send} autoFocus />    </Box>  );}

Tombol

TombolTindakan
EnterKirim
Shift+TabGanti agen (build / plan)
Ctrl+PPerintah
Ctrl+X lalu LSesi
Ctrl+X lalu NSesi baru
Esc dua kaliHentikan sesi yang berjalan

Hubungkan server lokal

# From any directory:opencode service status  # If stopped: opencode service startbunx @textjs/opencode@latest proxy

Biarkan bridge tetap berjalan. Di halaman OpenCode, masukkan http://127.0.0.1:4096, tekan Hubungkan, dan izinkan akses jaringan lokal jika Chrome memintanya. Lalu masukkan kode pemasangan yang dicetak bridge. Halaman tetap terpasang hingga bridge dimulai ulang atau Anda menekan Putuskan koneksi. Gunakan URL bridge, bukan port layanan: bridge menyediakan kredensial layanan dan header CORS. Hentikan dengan Ctrl+C setelah selesai.

Untuk server foreground yang sudah berjalan di port 4.096, jalankan bunx @textjs/opencode@latest proxy --port 4097 --target http://127.0.0.1:4096 dan hubungkan halaman ke port 4.097. Untuk server foreground yang dilindungi kata sandi, ekspor OPENCODE_PASSWORD server tersebut di shell bridge; jangan masukkan kata sandi ke URL browser.

Bridge ini adalah paket @textjs/opencode. Paket ini tidak memiliki dependensi dan juga berjalan dengan npx di Node 22 atau yang lebih baru. Di dalam proyek Text.js, text proxy menjalankan bridge yang sama.

Edit halaman ini di GitHub