Dev.to AI 🤖 Ai 👁 0 📖 6 min read

Apa yang dilakukan Maestro di osFoundry, chat AI yang menampilkan setiap langkahnya

Hari Kamis pukul 4:40, dan Priya baru saja meminta asisten AI menambahkan tombol "Hapus akun" di halaman pengaturan aplikasinya. Balasannya: "Selesai, 4 file diubah." Sebelum merilisnya, ia ingin tahu empat file yang man

Apa yang dilakukan Maestro di osFoundry, chat AI yang menampilkan setiap langkahnya

Hari Kamis pukul 4:40, dan Priya baru saja meminta asisten AI menambahkan tombol "Hapus akun" di halaman pengaturan aplikasinya. Balasannya: "Selesai, 4 file diubah." Sebelum merilisnya, ia ingin tahu empat file yang mana, apa saja yang dibaca asisten itu sampai mengambil keputusan tersebut, dan apakah ia sempat menyentuh kode billing. Jendela chat biasa hanya memberinya paragraf terakhir.

Maestro dalam satu paragraf

Maestro adalah ruang kerja AI dengan tool lengkap di aplikasi desktop osFoundry. Kamu mengetik permintaan seperti di chat mana pun, tapi jawabannya datang bersama jejak kerjanya: setiap file yang didaftar, setiap pencarian yang dijalankan, setiap file yang dibaca atau diedit, dan setiap perintah terminal, masing-masing di barisnya sendiri dengan durasi yang bisa kamu buka. Maestro bisa bekerja di dalam folder di komputermu, mengusulkan perubahan alih-alih menulisnya diam-diam, dan berhenti untuk menunjukkan rencana sebelum menyentuh apa pun. Kamu bisa menemukannya di menu Maestro pada sidebar. Kalau kamu pernah memakai ChatGPT atau Claude di browser, bayangkan percakapan yang sama, ditambah log aktivitas agen dan beberapa rem di sampingnya.

Melihat-lihat layarnya

Layar Maestro dengan sebuah permintaan dan baris proses pertama: TOOL, GREP, dan READ, masing-masing dengan durasinya (contoh)

  • Tab permukaan di bagian atas. Maestro, Model chat, Multi chat, Research, Wiki, dan Code semuanya ada di satu layar ini. Maestro adalah tab dengan set tool lengkap.
  • Tab detail di atas percakapan: Chat, Sources, Files, Changelog, Tools, Pipeline, dan Logs. Semuanya adalah tampilan berbeda dari satu run yang sama. Sources menyimpan dasar jawaban, Changelog mendaftar file yang ditulis chat ini, dan Logs menampilkan langkah-langkahnya serta, di bagian Costs, biaya setiap permintaan.
  • Baris proses di transkrip. Di sini Maestro mendaftar src/ (38 file), menjalankan grep untuk deleteUser, menemukan 0 hasil, lalu membaca account.ts dan users.ts. Klik sebuah baris dan ia akan terbuka, menampilkan input dan output persis dari pemanggilan tool tersebut.
  • Strip kontrol di atas kotak pesan: sakelar sandbox, Plan OFF/ON, Tools, dan Goal. Di bawah kotak ada pemilih folder, project, repo, Router, dan model.
  • Panel pratinjau di sebelah kanan, tempat file, diff, atau halaman web terbuka di samping percakapan tanpa menggantikannya (Open File / App / Page, Browse Files, Browser).

Tiga cara orang memakainya

Developer solo yang ingin melihat rencana sebelum ada perubahan

Kasus Priya di awal tadi. Perubahannya menyentuh akun dan sesi, jadi ia lebih memilih membaca rencana daripada mereview diff yang tiba-tiba muncul.

  1. Ia mengklik Plan di strip kontrol sampai tertulis Plan ON.
  2. Ia mengetik "Add a Delete account button to settings" lalu mengirimnya.
  3. Maestro membaca enam file dan tidak mengubah satu pun. Selama mode plan aktif, aplikasi desktop itu sendiri menolak tool apa pun yang akan menulis file atau menjalankan perintah, jadi "hanya baca" bukan sekadar permintaan sopan di dalam prompt.
  4. Sebuah kartu Plan muncul dengan tanda "Awaiting approval", lengkap dengan tombol Approve dan Cancel.

Kartu Plan: empat file akan diubah, src/billing/ tidak disentuh, enam file dibaca dan belum ada yang diubah (contoh)

Rencana dalam contoh ini menyebut empat file, menyatakan bahwa src/billing/ tidak disentuh karena Stripe menyimpan catatannya sendiri, dan diakhiri dengan "Nothing has been changed yet." Mode plan mati sendiri begitu rencananya tiba. Priya mengklik Approve, dan baru saat itulah Maestro mengedit keempat file dan menjalankan test (npm test -- account, 3 passed), semuanya terlihat sebagai baris EDIT dan TERMINAL. Kalau ia tidak suka rencananya, Cancel akan membiarkan folder persis seperti semula.

Hasil akhirnya: perubahan yang sudah ia setujui sejak awal, dan transkrip yang menunjukkan di mana agen mencari dan apa yang ia jalankan.

Anggota tim baru yang sedang mengenali codebase

Dan baru bergabung dengan tim hari Senin. Ia perlu tahu di mana logika penguncian login berada, tapi di kode tidak ada yang menyebutnya "lockout", jadi pencarian teks tidak menemukan apa-apa.

  1. Di Indexes, ia menambahkan folder project sekali saja supaya bisa dicari berdasarkan makna.
  2. Di chat Maestro pada folder itu, ia bertanya di mana aplikasi mengunci pengguna setelah login gagal.
  3. Ia memperhatikan baris prosesnya: pencarian folder yang mengembalikan 2 hasil, lalu READ pada throttle.ts.

Maestro menjawab dengan path file dan rentang baris setelah pencarian folder dan READ pada throttle.ts (contoh)

Jawabannya menunjuk ke src/auth/throttle.ts (baris 1–46) dan src/routes/session.ts (baris 22–61), dan menjelaskan bahwa kodenya tidak pernah menyebut "lock out": setelah lima kali percobaan gagal, kode itu memasang jeda 15 menit ke depan dan mengembalikan 429 sebelum mengecek password. Karena jawabannya menyertakan path file dan barisnya menunjukkan apa yang dibaca, Dan bisa membuka baris yang sama di panel pratinjau dan memeriksa klaim itu sendiri, bukan sekadar percaya pada ringkasan. Di kasus ini tidak ada yang ditulis ke disk, jadi ia bisa membiarkan Approval Mode pada pengaturan default.

Hasil akhirnya: dua file yang penting, alasan pencarian kata kunci tidak menemukannya, dan chat yang bisa ia buka lagi dari daftar chat.

Marketer yang mengedit copy di repo milik tim lain

Sammy menulis copy untuk halaman peluncuran, tapi halamannya berupa file React di repo engineering. Ia ingin teks barunya sesuai panduan gaya bahasa di docs/, dan tidak mau ada yang di-commit sebelum ia melihatnya.

  1. Ia membuka menu Approval Mode di composer dan memilih Permission & Approve, yang meminta izin sebelum pemanggilan tool. Pilihan lainnya adalah Auto Accept (default, tool langsung berjalan), Plan First (buat rencana sebelum eksekusi), dan Bypass (tanpa persetujuan sama sekali, termasuk untuk push dan submit form).
  2. Ia menyalakan sandbox, sehingga penulisan file disiapkan di sebuah branch, bukan langsung masuk ke folder kerja.
  3. Ia meminta Maestro membuat draf halaman peluncuran yang konsisten dengan docs. Maestro membaca docs/tone.md, mencari di source, lalu mengusulkan perubahan pada src/Launch.tsx.
  4. Diff-nya terbuka di panel pratinjau. Ia menerimanya, lalu memakai Export to branch supaya engineer bisa mereviewnya seperti perubahan lain.

Hasil akhirnya: copy yang mengutip panduan gaya bahasa yang diikutinya (tab Sources menyimpannya), diff yang sudah direview, dan sebuah branch, bukan kejutan di main.

Posisi Maestro dibanding Model chat, Chat, dan Multi chat

Maestro berbagi layar dengan saudara-saudaranya yang lebih sederhana, dan memilih yang tepat menghemat waktu dan biaya.

  • Model chat adalah tab di layar yang sama yang mengirim setiap giliran ke satu model pilihanmu. Ini percakapan hanya-baca: tanpa folder, tanpa tool yang bertindak, tanpa persetujuan. Cocok untuk pertanyaan cepat.
  • Chat punya tempat sendiri di sidebar. Ia juga menjawab dengan satu model yang kamu pilih untuk seluruh percakapan, tapi tetap punya kemampuan atas file, jadi ia bisa mengusulkan perubahan yang kamu terima (Accept) atau tolak (Reject), tercatat di Changelog. Pakai ini kalau kamu ingin model tertentu yang mengerjakan, tanpa router yang memilihkan.
  • Multi chat mengajukan pertanyaan yang sama ke beberapa model sekaligus. Di Compare kamu membaca jawabannya berdampingan; di Council para model menjawab, saling menilai jawaban satu sama lain secara buta, lalu satu model menulis sintesis.

Multi chat dalam mode Council: tiga model menjawab, saling menilai, dan sebuah sintesis mendaftar poin-poin perbedaan pendapat (contoh)

Dari Maestro, pekerjaan sering berlanjut ke bagian lain aplikasi. Research mengubah pertanyaan menjadi laporan bersumber, Code menjalankan coding agent di branch-nya sendiri, Indexes membuat folder bisa dicari berdasarkan makna (seperti di kasus Dan), dan Version → Merge Station adalah tempat perubahan dari sandbox di-merge. Kalau satu giliran berjalan salah, mengetik /rewind di chat akan memulihkan file yang diubah oleh giliran itu. Untuk penjelasan lebih dalam, halaman orkestrasi Maestro membahas tab-tab detail, dan halaman mode plan menjelaskan alur persetujuannya.

Pertanyaan yang biasanya muncul pertama kali

Apakah mode plan cuma instruksi di dalam prompt?
Bukan. Selama Plan dalam posisi ON, setiap tool yang tidak ada di daftar hanya-baca akan ditolak saat aplikasi menjalankannya, jadi agen bisa membaca, mencari, dan browsing, tapi tidak bisa mengedit atau menjalankan perintah sampai kamu menyetujui rencananya.

Plan ON di strip kontrol saat Maestro masih membaca file (contoh)

Apa bedanya sakelar Plan dengan Plan First di Approval Mode?
Plan adalah sakelar sekali pakai untuk permintaan berikutnya: selidiki, sajikan rencana, tunggu. Approval Mode adalah aturan tetap chat untuk pemanggilan tool, dari Auto Accept sampai Bypass. Plan First adalah salah satu dari empat pengaturannya.

Baris prosesnya banyak sekali. Bisa disembunyikan?
Bisa. Pengaturan Process Detail beralih antara Full dan Compact. Pengaturan ini hanya mengubah cara langkah-langkah ditampilkan, bukan cara giliran dijalankan.

Model apa yang dipakai Maestro?
Secara default Router memilih model di setiap giliran, dan baris proses menunjukkan model mana yang berjalan. Kamu bisa mengganti mode model (cloud, lokal, atau self-hosted) dari composer, atau memakai Chat kalau ingin satu model tetap untuk seluruh percakapan.

Aplikasi desktopnya bisa diunduh di osfoundry.io/id/download.

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.