OpenCode memakai satu basis data SQLite relasional (bawaan ~/.local/share/opencode/opencode.db) untuk penyimpanan sesi, dengan integritas transaksional ACID dan kueri terstruktur. Saat Anda ingin memindahkan tugas sensitif ke model sumber terbuka yang dihosting lokal (melalui Ollama atau vLLM di OpenCode) atau menyerahkan kembali ke model cloud terdepan (Claude/Codex), Watch menyediakan jembatan dua arah yang telah diverifikasi.
Berbeda dari alat yang hanya mengandalkan berkas JSONL append-only, OpenCode menata sesi di tabel relasional ternormalisasi termasuk sessions, messages, dan parts. Perubahan eksternal langsung dapat merusak batasan foreign key. Watch memetakan abstraksi UnifiedTurn secara bersih ke skema relasional OpenCode sambil mempertahankan konteks direktori yang tepat (cwd) dan stempel waktu.
Langkah 1: Identifikasi ID sesi sumber dan direktori kerja
Temukan ID sesi aktif Anda. Claude Code menyimpan berkas di ~/.claude/projects/; Codex di ~/.codex/sessions/; OpenCode mengindeks sesi melalui ID unik global. Pastikan direktori kerja adalah jalur absolut agar batas proyek tetap selaras.
Langkah 2: Periksa status basis data target (Check)
Jalankan Watch CLI dengan --check untuk memeriksa basis data OpenCode target. Watch memvalidasi izin tulis dan kunci pada ~/.local/share/opencode/opencode.db (atau jalur khusus yang ditentukan WATCH_OPENCODE_DB) untuk mencegah perebutan penulisan bersamaan.
Langkah 3: Jalankan serah terima dua arah (Handoff)
Pilih sesi sumber di Watch Desktop dan targetkan OpenCode, atau jalankan perintah CLI open. Watch mengekstrak giliran inkremental, menjalankan transaksi SQLite atomik pada sessions, messages, dan parts, lalu mengeluarkan ID sesi tujuan.
Langkah 4: Lanjutkan sesi secara native di OpenCode (Resume)
Setelah konversi, jalankan opencode -s <session-id> di direktori kerja atau gunakan tombol luncurkan di Watch Desktop. OpenCode memuat percakapan yang tercatat di direktori itu.
# 1. Prauji: Verifikasi keterulisan basis data OpenCode target
npm run watch -- open <claude-session-id> --to opencode --check --json
# 2. Serah terima: Transfer sesi ke basis data SQLite OpenCode
npm run watch -- open <claude-session-id> --to opencode --json
# 3. Serah terima balik: Transfer dari OpenCode kembali ke Claude atau Codex
npm run watch -- open <opencode-session-id> --to claude --json1. Isolasi basis data dan cadangan: Watch secara bawaan beroperasi pada ~/.local/share/opencode/opencode.db dan memakai WATCH_OPENCODE_DB untuk lingkungan pengujian. Penulisan adalah satu transaksi SQLite dan di-rollback jika gagal. 2. Representasi panggilan alat: catatan dipetakan antar skema; parameter proprietari yang tidak didukung menjadi teks terstruktur. 3. Kelanjutan model: Watch menulis catatan sesi yang sudah tersimpan dan direktori kerja. Watch tidak menjamin setiap peristiwa alat tetap utuh. Balasan berikutnya bergantung pada model yang dikonfigurasi.