Di akhir panduan ini, sebuah chat Claude memulai salah satu Graph osFoundry yang sudah kamu simpan, yaitu program agen multi-langkah yang bisa bercabang, berjalan paralel, dan mencoba ulang, dan eksekusinya terjadi di desktop kamu sendiri, bukan di Claude dan bukan di server. Claude langsung menerima tiket, mengecek statusnya selama desktop bekerja, lalu menjawab dengan hasil Graph tersebut. Kalau di tengah jalan kamu berubah pikiran, Claude bisa membatalkannya.
Siapa mengerjakan apa
| Sisi Claude | Sisi osFoundry | |
|---|---|---|
| Login | Akun Claude kamu, tidak berubah | Koneksi yang kamu setujui, ditambahkan ke satu project |
| Yang bisa dilihat | Nama, deskripsi, slug, versi, dan status setiap sesi Graph yang dibagikan | Program Graph, agen-agennya, dan file kamu tetap di desktop |
| Graph yang mana | Memilih dari list_graph_sessions
|
Hanya sesi yang kamu centang untuk project itu di aplikasi desktop |
| Tempat berjalan | Tidak di mana pun. Claude hanya memasukkan ke antrean dan membaca | Desktop kamu, yang mengambil run dari antrean dan menjalankannya secara lokal |
| Menunggu | Memanggil get_graph_run sampai statusnya final |
Melaporkan satu hasil berukuran terbatas saat run selesai |
| Persetujuan | Prompt tool milik Claude sendiri sebelum run_graph_session
|
Tool yang diatur untuk selalu bertanya akan ditolak di dalam run; tidak ada yang bisa mengklik |
Persiapan
Panduan ini mengasumsikan konektor Claude sudah ada (ikon kunci → Connected → Add assistant, lalu https://api.osfoundry.io/api/v1/external-mcp ditambahkan sebagai custom connector di Claude).
1. Siapkan sesi Graph yang tersimpan di desktop
Graph tinggal di perangkat. Kamu menulis atau mengeditnya lewat Maestro, sebuah agen, atau osStudio, dan setiap Graph yang disimpan mendapat ID sesi berbentuk gs_ ditambah 32 karakter hex. Layar Graph di aplikasi desktop menampilkan daftarnya. Graph yang hanya pernah kamu lihat di browser tidak bisa dibagikan, karena browser tidak bisa menjalankannya.
Contoh: layar Graph di aplikasi desktop dengan sesi Graph yang tersimpan
2. Tambahkan koneksi Claude ke sebuah project
Di ikon kunci → Connected, pilih koneksi Claude. Di bagian Projects, pilih sebuah project lalu klik Add to project (tambahkan ke project). Project itu satu-satunya tempat Claude akan mencari Graph.
Contoh: Bagian Projects pada koneksi Claude, dengan satu project yang sudah ditambahkan
3. Bagikan sesi Graph ke project tersebut
Lebih ke bawah di tab Connected yang sama, khusus di aplikasi desktop, ada bagian bernama Share desktop Graph sessions (bagikan sesi Graph desktop). Semua project milik kamu ditampilkan di sana, dengan sesi Graph yang tersimpan di perangkat ini sebagai checkbox:
Share desktop Graph sessions
Choose the saved Graph sessions to share with each project, then enable that project.
Your desktop must be open and signed in.
Launch plan · workspace [ Share selected Graphs ]
[x] Weekly KPI digest
[ ] Release notes draft
Contoh: Share desktop Graph sessions dengan satu sesi dicentang untuk sebuah proyek
Centang sesinya dulu, baru klik Share selected Graphs. Kalau tidak ada yang dicentang, aplikasi akan menghentikan kamu dengan "Choose at least one Graph session for this project first." Membagikan project tidak berarti membagikan semua Graph di perangkat. Setiap sesi adalah keputusan tersendiri, per project.
4. Biarkan desktop tetap terbuka
Aplikasi desktop mengecek project untuk run yang mengantre setiap 20 detik, dan langsung saat kamu mengubah apa yang dibagikan. Kalau aplikasinya tertutup, permintaan Claude menunggu di antrean sampai aplikasi dibuka lagi.
5. Minta ke Claude
In osFoundry, run the Weekly KPI digest Graph in the Launch plan project
for week 2026-W45, and tell me the three biggest changes.
Contoh run sungguhan
Project, Graph, dan angka di bawah ini adalah data contoh. Nama tool dan nama argumennya adalah yang didaftarkan server live di tools/list. Di Claude Code, tool yang sama muncul sebagai mcp__osfoundry__run_graph_session dan seterusnya.
Contoh
Claude → list_granted_resources {}
← projects: Launch plan
Claude → list_graph_sessions {"project_id": "<Launch plan>"}
← Weekly KPI digest (gs_3f…, weekly-kpi-digest v3, ready)
Release notes draft tidak muncul: tidak pernah dicentang
Claude → run_graph_session {"graph_session_id": "gs_3f…",
"arguments": {"week": "2026-W45"},
"idempotency_key": "kpi-2026-w45-a"}
[Claude meminta kamu mengizinkan pemanggilan tool ini → Allow]
← command_id "8c1e…", status queued
Claude → get_graph_run {"command_id": "8c1e…"}
← queued (desktop belum melakukan polling)
Claude → get_graph_run {"command_id": "8c1e…"}
← running
Claude → get_graph_run {"command_id": "8c1e…"}
← completed
result: {"execution_id": "GR-0007L", "status": "completed",
"result": {...}, "total_tokens": 18412, "reported_cost": 0.07}
Claude: Minggu 45: pendaftaran +18%, konversi trial ke berbayar turun dari 9.1% ke 7.4%,
dan tiket support jadi dua kali lipat setelah rilis hari Selasa.
get_graph_run pertama yang menjawab queued bukan karena Claude lambat. Tidak ada yang mendorong pekerjaan ke desktop kamu. Desktop-lah yang meminta pekerjaan ke server, dan sampai pengecekan berikutnya run itu cukup menunggu. Begitu diambil, desktop menjalankan Graph dengan perintah yang sama dengan yang dipakai layar Graph, lalu mengirim hasilnya kembali. Yang terakhir dibaca Claude adalah hasil yang dikirim itu, bukan live stream.
Run tersebut juga dicatat di bawah project Launch plan di desktop. Konteks project dan pencarian riwayat chat di dalam run hanya memakai project itu, tidak lebih luas.
Untuk menghentikannya, Claude memanggil cancel_graph_run dengan command_id yang sama. Run yang masih mengantre langsung dibatalkan dan tidak pernah dimulai. Run yang sedang berjalan menerima permintaan pembatalan, yang dicek desktop setiap 3 detik lalu diteruskan ke Graph yang sedang berjalan.
Di mana batasnya
Graph tidak pernah keluar dari perangkat. list_graph_sessions hanya mengembalikan metadata: nama, deskripsi, slug, versi, dan status. Claude tidak pernah melihat skripnya, agen yang dipanggilnya, atau file yang mereka sentuh. Karena itu juga Claude mengirim arguments tanpa melihat skema apa pun. Jelaskan input-nya di deskripsi Graph kalau kamu ingin Claude mengisinya dengan benar.
Eksekusi adalah tugas desktop karena agen-agen Graph, model lokal, folder, dan pengaturan persetujuan semuanya ada di sana. Server hanya menyimpan antrean dan hasil akhir. Kalau desktop sedang offline, run yang mengantre akan menunggunya. Claude tidak bisa mengirimnya ke tempat lain.
Di dalam run, tidak ada yang mengawasi. Tool yang diatur untuk selalu bertanya akan ditolak alih-alih menampilkan prompt, karena prompt yang tidak dijawab siapa pun akan menahan run selama beberapa menit lalu tetap gagal. Tool yang tidak bertanya berjalan seperti biasa. Kalau sebuah Graph bergantung pada tool yang kamu setujui secara manual, jalankan Graph itu sendiri dari layar Graph.
Yang dikembalikan punya batas. Hasilnya berisi ID run, status, result, jumlah token, dan biaya yang dilaporkan, dan itu pun hanya kalau muat dalam 100,000 karakter JSON. Hasil yang lebih besar dikembalikan sebagai ID dan status dengan result_truncated: true, dan catatan lengkapnya tetap ada di riwayat run di desktop. Pesan error dipotong di 2,000 karakter.
Hanya agen yang memulai sebuah run yang bisa membaca atau membatalkannya. Koneksi lain yang meminta command_id yang sama akan mendapat "Graph run not found or access removed", jawaban yang sama seperti untuk ID yang tidak ada.
Berbagi bisa dibatalkan kapan saja sebelum run dimulai. Kalau kamu menghapus centang sesi atau mengklik Stop sharing (berhenti berbagi) saat sebuah run masih mengantre, desktop akan mengecek ulang sebelum menjalankan dan membatalkannya dengan "Graph session is no longer shared with this project".
Selanjutnya
Bagikan satu Graph kecil, minta Claude menjalankannya, lalu klik Stop sharing selagi masih mengantre dan lihat Claude melaporkan pembatalannya. Cara osFoundry membagi pekerjaan ke beberapa agen ada di halaman orkestrasi Maestro, dan daftar koneksinya sendiri ada di halaman Connected.



Top comments (0)