1 poin oleh GN⁺ 2025-10-14 | 1 komentar | Bagikan ke WhatsApp
  • agent-shell adalah shell native berbasis comint-mode yang memungkinkan AI agent dikendalikan langsung dari Emacs
  • Menggunakan ACP (Agent Client Protocol) sehingga tidak terikat pada agent tertentu dan memiliki fleksibilitas untuk berkomunikasi dengan berbagai agent
  • Fitur analisis trafik real-time dan replay agent palsu (fake) meningkatkan efisiensi pengujian dan pengembangan
  • Meski belum mengimplementasikan seluruh fitur protokol, implementasinya sudah menunjukkan tingkat kesiapan yang cepat untuk penggunaan nyata
  • agent-shell dan acp.el sama-sama tersedia secara publik di GitHub, dan masukan pengguna untuk fitur tambahan atau bug sangat diharapkan

Pengenalan

  • Baru-baru ini, acp.el yang diimplementasikan dengan Emacs Lisp memungkinkan integrasi dengan Agent Client Protocol (ACP) yang dikembangkan bersama oleh Zed dan Google
  • Sebelumnya, hanya tersedia integrasi dasar dengan LLM seperti chatgpt-shell, sementara pemanfaatan AI agent secara penuh berjalan cukup lambat
  • Dengan diperkenalkannya ACP, kebutuhan integrasi agent di lingkungan Emacs meningkat, sehingga pengembangan agent-shell native untuk Emacs pun dimulai

Gambaran umum agent-shell

  • agent-shell dibangun di atas comint-mode dan berjalan di dalam sistem buffer Emacs yang sudah familier
  • Menyediakan lingkungan yang bisa digunakan sama seperti shell Emacs biasa tanpa perlu beralih antara mode karakter dan mode baris secara terpisah

Agent-agnostic (tidak bergantung pada agent)

  • Berkat ACP, dimungkinkan untuk mewujudkan pengalaman pengguna yang konsisten dalam berkomunikasi dengan berbagai agent melalui satu protokol
  • Melalui contoh konfigurasi, berbagai agent seperti Gemini CLI dan Claude Code dapat diterapkan hanya dengan perubahan kode sederhana
    • Contoh kode: menjelaskan cara pengaturan autentikasi, perintah, dan variabel lingkungan untuk masing-masing agent
  • Agent lain juga dapat dengan mudah diintegrasikan dengan cara yang sama

Fitur tampilan trafik

  • Karena belum terbiasa menggunakan protokol ACP, ada kebutuhan untuk menganalisis trafik komunikasi secara real-time
  • agent-shell menyediakan buffer penampil trafik terpisah, sehingga trafik berbasis Json dapat diperiksa secara visual melalui perintah M-x agent-shell-view-traffic

Fake agents (agent palsu dan replay)

  • Karena pengembangan dengan agent berbayar sungguhan menimbulkan masalah biaya dan inefisiensi waktu, diperkenalkan fitur replay agent palsu
  • Dengan memutar ulang (replay) data komunikasi yang disimpan melalui buffer trafik, pengujian cepat dapat dilakukan berulang kali
  • Meski ada beberapa batasan, proses debugging dan pengembangan menjadi jauh lebih efisien

Rencana ke depan dan status saat ini

  • Baru sebagian dari Schema Agent Client Protocol yang telah diimplementasikan, sehingga masih ada bagian yang belum selesai
  • Sedang dilakukan eksperimen UX inovatif seperti buffer quick(diff) berbasis tombol n/p dan permission dialog
  • Seluruh fitur protokol akan dipahami dan diimplementasikan lebih lanjut

Panduan pemanfaatan dan publikasi di GitHub

  • agent-shell dan acp.el sama-sama dipublikasikan di GitHub
    • agent-shell: paket untuk pengguna agent
    • acp.el: pustaka untuk pengembang yang ingin membuat paket integrasi terkait agent
  • Kedua proyek masih berada pada tahap awal (beta), sehingga pengiriman bug dan permintaan fitur sangat dianjurkan
  • Penggunaan layanan cloud LLM menimbulkan biaya tambahan, dan pengembangan open source itu sendiri juga memerlukan biaya serta upaya
  • Jika proyek ini dirasa bermanfaat, pembaca didorong untuk memberikan dukungan (donasi)

1 komentar

 
GN⁺ 2025-10-14
Komentar Hacker News
  • Xenodium sedang melakukan hal-hal keren di emacs; jika Anda tertarik dengan emacs, saya sangat merekomendasikan untuk melihat blog Xenodium. Journelly adalah aplikasi iOS pertama yang saya beli atas rekomendasi pengguna emacs lain; aplikasi ini adalah ruang portabel untuk menyimpan tautan atau catatan dengan mudah dan mengekspornya ke file org (katanya dukungan markdown juga akan datang). Saya sama sekali tidak punya hubungan dengan Xenodium. Sangat menyenangkan melihat kontribusinya saat mendalami emacs tahun ini.
    • Terima kasih banyak, umpan balik seperti ini membuat hari saya bahagia. Senang juga mendengar Anda penggemar Journelly. Terima kasih sudah membelinya. Mengembangkan aplikasi niche secara berkelanjutan adalah tantangan besar.
  • agent-shell memberikan pengalaman native yang memungkinkan penggunaan berbagai agen AI yang digerakkan oleh ACP (Agent Client Protocol) langsung di emacs. Saat ini bisa terhubung dengan Claude Code, Gemini CLI, Codex, dan Goose, tetapi secara teknis siapa pun yang mendukung ACP bisa digunakan. Untuk pengembangan yang berkelanjutan, dibutuhkan lebih banyak sponsor; Anda bisa mendukung lewat github sponsors.
    • Sangat menarik. Saya pernah memakai claude-code-ide, tetapi cukup tidak nyaman karena tidak menggunakan comint-mode. Saya benar-benar ingin mencoba agent-shell. Saya punya pertanyaan: apakah spesifikasi ACP juga mencakup fitur terkait “ide” (misalnya posisi kursor, integrasi diff seperti yang didukung Claude code ide), atau benar-benar hanya berfokus pada fungsi dasar?
  • Agent shell adalah sesuatu yang selalu saya inginkan. Saya sudah mencoba berbagai paket integrasi Claude code, tetapi selalu ada kerepotan karena harus dijalankan di terminal emulator. agent shell terasa jauh lebih alami dan terintegrasi. Saya juga sangat menantikan fitur membaca konfigurasi lingkungan dari file. Akan lebih bagus kalau ada tangkapan layar agar bisa melihat bagaimana agent-shell-sidebar benar-benar bekerja.
  • Xenodium melakukan pekerjaan yang keren untuk komunitas emacs. Saya sedang memakai agent-shell sekarang, tetapi saya tidak suka header yang ditambahkan di bagian atas buffer. Informasi yang saya butuhkan sebenarnya sudah ada semua di bagian bawah. Akan bagus untuk para minimalis jika baris bawah itu bisa dinonaktifkan secara opsional.
    • Jika Anda tidak menyukai header-nya, saya harap Anda mengajukan feature request. Akan bagus jika header grafis bisa diaktifkan dan dinonaktifkan secara opsional.
  • Saya sudah memakai agent-shell beberapa kali, dan meskipun ini paket yang masih sangat awal dirilis, pengalamannya sudah sangat mulus.
  • Ini pertama kalinya saya mendengar tentang ACP. Saya penasaran bagaimana perbedaannya dibandingkan AG-UI. Tentu saya tahu ACP lebih khusus untuk coding dan AG-UI jauh lebih umum, tetapi saya penasaran perbedaan lain di luar itu.
    • Logikanya sama seperti LSP, tetapi diterapkan pada agen AI. Harus mengimplementasikan wrapper baru berulang kali untuk tiap editor bagi claude, codex, gemini, aider, dan lain-lain itu menyakitkan. Karena itu tim zed mulai menstandarkan protokolnya.
  • Ada juga proyek bernama ECA GitHub ECA. ECA adalah protokol agen coding bergaya LSP untuk berbagai front-end dan editor. Ia mendukung berbagai model secara langsung. Sementara itu, agent protocol tampaknya memungkinkan berbagai agen seperti Gemini CLI, Claude Code, dan lainnya dipakai di beragam front-end tergantung apakah mereka mendukung protokol tersebut. Sepertinya berbagai agen coding juga bisa mengadopsi protokol ECA.
    • Betul, proyek ECA juga punya paket emacs. Saya baru-baru ini memakainya. Saat men-debug masalah emacs, saya sempat membaca cepat dokumentasi protokol ECA dan ACP; keduanya cukup mirip dan sama-sama terdokumentasi dengan baik. Ini seperti duplikasi penemuan yang tidak disengaja.
    • Saya sudah mencoba keduanya, dan penjelasan di atas benar. MCP harus disetel ulang, dan ECA menjalankan servernya sendiri di latar belakang. Karena hal-hal seperti itu, saya lebih menyukai agent-shell. Setiap agen punya format dan lokasi config yang berbeda, bahkan berbeda antara config tingkat proyek dan pengguna, jadi kesederhanaan agent-shell adalah keunggulan besar. Akan sangat bagus jika nanti juga ada standar config.
  • Saya penasaran kenapa harus memakai agent-shell alih-alih langsung memakai Claude Code.
    • Karena pengalaman UI native yang terpadu dan sepenuhnya terintegrasi ke editor teks. Bukan hanya Claude Code, tetapi juga berbagai agen lain yang mendukung ACP seperti Gemini CLI, Codex, dan Goose bisa dipakai dengan cara yang sama.
    • Inilah gaya emacs. emacs adalah entitas yang melahap dunia.
  • Saya menunggu seseorang membuat ini untuk Neovim. Semoga seorang pahlawan tanpa nama segera muncul. Terima kasih juga kepada tim Zed dan Google yang membuat spesifikasinya.