Handoff

Kirim proyek ke salah satu mesin Anda sendiri agar agent tetap bekerja saat laptop ditutup, pantau prosesnya dari ponsel, dan bawa pekerjaan pulang dengan Take back.

Sebuah handoff memindahkan proyek ke salah satu mesin Anda dan membuat agent tetap bekerja di sana selagi laptop Anda tertutup. Saat Anda kembali, Take back membawa proyek pulang persis seperti yang ditinggalkan agent.

Ini berbeda dengan Remote Control, di mana ponsel Anda hanyalah jendela ke desktop ini. Handoff berjalan di mesin lain, dan desktop Anda tidak perlu menyala sama sekali.

Sebelum handoff pertama

Buka Settings → Machines, pilih sebuah mesin, lalu pilih Handoff. Sheet tersebut memeriksa mesinnya dan mencantumkan apa yang masih kurang, lengkap dengan solusinya di samping setiap item:

Yang dibutuhkanAlasan
gitMembawa riwayat dan pekerjaan Anda yang belum di-commit.
rsyncMenyalin proyek ke sana dan kembali, hanya mengirim yang berubah.
node 18 or newerMenjalankan command-line tool agent.
systemd user servicesProses tetap berjalan meski sesi SSH Anda berakhir.
Stay running after logoutTanpa ini, semuanya berhenti saat sesi terakhir berakhir dan tidak ada yang menjalankannya lagi.
tmux (opsional)Menjaga tab shell biasa tetap hidup. Agent tidak memakainya.

Install all missing memasang semuanya sekaligus, atau Anda bisa memasangnya satu per satu. Setiap perintah ditampilkan lengkap sebelum dijalankan, dengan tombol Copy jika Anda lebih suka menempelkannya ke terminal sendiri.

Sheet Hand off to this machine yang menampilkan memori kosong, disk, core, dan load, dengan node 18 dan Stay running after logout tercantum di bawah Needs attention di samping tombol Install dan Turn on

Sheet ini juga mengukur ruang di mesin — memori kosong, disk kosong, core, dan load — dan menyatakannya dengan jelas bila sumber dayanya terbatas, sehingga Anda tidak bertanya-tanya nanti mengapa build berjalan lambat.

Login agent sengaja dilakukan manual

Anda login ke Claude atau Codex di mesin tersebut, lewat terminal sungguhan. 1DevTool tidak menyalin kredensial apa pun dari komputer ini, dan sheet menyatakannya: signed in on the machine, never copied from here. Konfigurasi agent Anda ikut dikirim, dengan path khusus lokal dan perintah MCP yang ditulis ulang agar sesuai dengan mesin tujuan.

Melakukan handoff proyek

Pilih Hand off to a machine… dari menu sidebar proyek. Opsi ini juga ada di baris mesin pada Settings → Machines dan di tampilan tugas handoff.

Sheet meminta empat hal:

  1. Mesin dan agent yang akan menjalankannya.
  2. Percakapan — lanjutkan yang sudah ada, atau mulai yang baru. Agent berjalan tanpa layar; Anda membaca lognya.
  3. Apa yang harus dilakukan berikutnya, dengan kata-kata Anda sendiri — "Selesaikan migrasi, jalankan tes, dan perbaiki yang gagal."
  4. Konfirmasi bahwa tidak ada yang berjalan pada proyek ini di sini, agar salinan tidak diambil di tengah pengeditan. Pengeditan secara lokal dijeda selama proyek berada di mesin lain.

Centang Run without asking jika tidak ada orang yang bisa menyetujui prompt; tanpa opsi ini agent berhenti pada prompt pertama. Opsi ini hanya memengaruhi mesin tujuan, tidak pernah komputer ini.

Hal apa pun yang masih menghalangi handoff ditampilkan sebagai chip yang bisa diklik untuk langsung melompat ke kolom terkait.

Apa yang disalin

Seluruh proyek, riwayat git-nya, dan percakapan, dibawa oleh rsync:

  • File yang dilacak maupun yang belum dilacak
  • Perubahan yang di-stage maupun yang belum
  • Penghapusan, executable bit, dan symlink
  • .git itu sendiri

Jadi tidak perlu "push ke GitHub dulu" — mesin tujuan mulai dari persis apa yang ada di disk Anda, termasuk pengeditan yang belum selesai.

Left out menampilkan pola yang dilewati sebagai chip yang bisa Anda hapus centangnya, dan Also leave out menerima pola tambahan. Folder bernama build, dist, atau target sengaja dipertahankan: folder tersebut sering berisi source asli.

.env Anda juga ikut terkirim — ditulis lewat stdin, chmod 600, dan diganti secara atomik. Nama file dan variabel ditampilkan kepada Anda; nilainya tidak pernah dicatat di log.

Begitu sampai, agent berjalan sebagai unit systemd --user. Itulah yang memungkinkan laptop ditutup.

Tindak lanjut mengantre di mesin

Ketik instruksi berikutnya kapan saja, termasuk saat sebuah run sedang berjalan. Mesin menahannya dan memulainya begitu run saat ini selesai — baik laptop Anda tertutup maupun aplikasinya ditutup. Antreannya berada di mesin tujuan, bukan di aplikasi Anda.

Tampilan tugas men-stream log mesin kembali ke Anda: teks asisten, pemanggilan tool, hasil, dan status keluar, dengan setiap run diberi nomor.

Open on phone

Open on phone ada di layar sukses handoff, tampilan tugas, dan baris mesin. Pindai kode QR dengan kamera ponsel Anda dan halaman terbuka di Safari atau Chrome — tidak ada aplikasi yang perlu dipasang, dan halaman tersebut disajikan oleh mesin tujuan lewat Cloudflare quick tunnel, sehingga tetap berfungsi saat laptop Anda ditutup.

Dari ponsel Anda bisa:

  • Mengikuti log langsung — entri yang sama dengan yang ditampilkan tampilan tugas di desktop.
  • Mengirim instruksi berikutnya — diantrekan jika sebuah run sedang berjalan, langsung dimulai jika tidak.
  • Menghentikan (Stop) run saat ini.
  • Membuka shell. Admin PIN 6 digit membuka shell tmux di mesin tujuan lewat browser ponsel. Shell tetap hidup saat tab ditutup dan menyesuaikan ukuran layar.
  • Menerima notifikasi push saat run berakhir — satu per run yang berakhir, dan saat antrean berlanjut. Android Chrome sudah didukung saat ini; di iPhone, tambahkan halaman ke Home Screen terlebih dahulu.

Layar pemindaian mencantumkan setiap sesi ponsel yang terbuka dengan Sign out all, dan Turn off mematikan tautannya sepenuhnya. New code menerbitkan kode QR dan PIN baru tanpa mengeluarkan ponsel yang sudah terhubung. Mengambil kembali handoff terakhir pada sebuah mesin akan mematikan akses ponsel dengan sendirinya.

cloudflared di mesin diperiksa terhadap digest rilis GitHub-nya sebelum dijalankan.

Take back

Take back mengembalikan pekerjaan dalam urutan yang tidak bisa menghilangkan apa pun:

  1. Antrean mesin ditahan, sehingga tidak ada run baru yang bisa dimulai di bawah Anda.
  2. Run saat ini dihentikan.
  3. Proyek di-rsync pulang beserta perubahan dari agent.
  4. Unit yang dibuat di mesin dibersihkan.

Pola yang dikecualikan saat pengiriman dipakai kembali saat pengembalian, sehingga take-back tidak pernah menghapus sesuatu yang memang tidak pernah dikirim.