Dropstone CLI

Agents

Konfigurasi dan gunakan agen khusus.

Agen adalah asisten AI khusus yang dapat dikonfigurasi untuk tugas dan alur kerja tertentu. Mereka memungkinkan Anda membuat alat yang terfokus dengan prompt, model, dan akses alat khusus.

Tip

Gunakan agen plan untuk menganalisis kode dan meninjau saran tanpa membuat perubahan kode apa pun.

Anda dapat berpindah antar agen selama sesi berlangsung atau memanggilnya dengan menyebut @.


Jenis

Ada dua jenis agen di Dropstone; agen utama dan subagen.


Agen utama

Agen utama adalah asisten utama yang Anda ajak berinteraksi secara langsung. Anda dapat berpindah di antara mereka menggunakan tombol Tab, atau keybind switch_agent yang Anda konfigurasi. Agen-agen ini menangani percakapan utama Anda. Akses alat dikonfigurasi melalui izin: misalnya, Build memiliki semua alat yang diaktifkan sementara Plan dibatasi.

Tip

Anda dapat menggunakan tombol Tab untuk berpindah antar agen utama selama sesi berlangsung.

Dropstone hadir dengan dua agen utama bawaan, Build dan Plan. Kita akan melihatnya di bawah ini.


Subagen

Subagen adalah asisten khusus yang dapat dipanggil oleh agen utama untuk tugas-tugas tertentu. Anda juga dapat memanggilnya secara manual dengan menyebut @ mereka dalam pesan Anda.

Dropstone hadir dengan dua subagen bawaan, General dan Explore. Kita akan melihatnya di bawah ini.


Bawaan

Dropstone hadir dengan dua agen utama bawaan dan dua subagen bawaan.


Gunakan build

Mode: primary

Build adalah agen utama default dengan semua alat diaktifkan. Ini adalah agen standar untuk pekerjaan pengembangan di mana Anda memerlukan akses penuh ke operasi file dan perintah sistem.


Gunakan plan

Mode: primary

Agen terbatas yang dirancang untuk perencanaan dan analisis. Kami menggunakan sistem izin untuk memberi Anda kontrol lebih dan mencegah perubahan yang tidak diinginkan. Secara default, semua hal berikut diatur ke ask:

  • file edits: Semua penulisan, patch, dan pengeditan
  • bash: Semua perintah bash

Agen ini berguna ketika Anda ingin LLM menganalisis kode, menyarankan perubahan, atau membuat rencana tanpa melakukan modifikasi nyata pada basis kode Anda.


Gunakan general

Mode: subagent

Agen tujuan umum untuk meneliti pertanyaan kompleks dan mengeksekusi tugas multi-langkah. Memiliki akses alat penuh (kecuali todo), sehingga dapat membuat perubahan file saat diperlukan. Gunakan ini untuk menjalankan beberapa unit pekerjaan secara paralel.


Gunakan explore

Mode: subagent

Agen cepat dan hanya-baca untuk menjelajahi basis kode. Tidak dapat memodifikasi file. Gunakan ini ketika Anda perlu menemukan file dengan cepat berdasarkan pola, mencari kode untuk kata kunci, atau menjawab pertanyaan tentang basis kode.


Gunakan compaction

Mode: primary

Agen sistem tersembunyi yang memadatkan konteks panjang menjadi ringkasan yang lebih kecil. Ini berjalan otomatis saat diperlukan dan tidak dapat dipilih di UI.


Gunakan title

Mode: primary

Agen sistem tersembunyi yang menghasilkan judul sesi pendek. Ini berjalan otomatis dan tidak dapat dipilih di UI.


Gunakan summary

Mode: primary

Agen sistem tersembunyi yang membuat ringkasan sesi. Ini berjalan otomatis dan tidak dapat dipilih di UI.


Penggunaan

  1. Untuk agen utama, gunakan tombol Tab untuk berpindah di antara mereka selama sesi. Anda juga dapat menggunakan keybind switch_agent yang Anda konfigurasi.

  2. Subagen dapat dipanggil:

    • Secara otomatis oleh agen utama untuk tugas-tugas khusus berdasarkan deskripsi mereka.

    • Secara manual dengan menyebut @ subagen dalam pesan Anda. Misalnya.

      @general bantu saya mencari fungsi ini
      
  3. Navigasi antar sesi: Ketika subagen membuat sesi anak, gunakan session_child_first (default: <Leader>+Down) untuk masuk ke sesi anak pertama dari sesi induk.

  4. Setelah Anda berada di sesi anak, gunakan:

    • session_child_cycle (default: Right) untuk berpindah ke sesi anak berikutnya
    • session_child_cycle_reverse (default: Left) untuk berpindah ke sesi anak sebelumnya
    • session_parent (default: Up) untuk kembali ke sesi induk

    Ini memungkinkan Anda berpindah antara percakapan utama dan pekerjaan subagen khusus.


Konfigurasi

Anda dapat menyesuaikan agen bawaan atau membuat agen Anda sendiri melalui konfigurasi. Agen dapat dikonfigurasi dengan dua cara:


JSON

Konfigurasikan agen dalam file konfigurasi dropstone.json Anda:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "mode": "primary",
      "model": "dropstone/dropstone-pro",
      "prompt": "{file:./prompts/build.txt}",
      "permission": {
        "edit": "allow",
        "bash": "allow"
      }
    },
    "plan": {
      "mode": "primary",
      "model": "dropstone/dropstone-fast",
      "permission": {
        "edit": "deny",
        "bash": "deny"
      }
    },
    "code-reviewer": {
      "description": "Meninjau kode untuk praktik terbaik dan masalah potensial",
      "mode": "subagent",
      "model": "dropstone/dropstone-pro",
      "prompt": "Anda adalah peninjau kode. Fokus pada keamanan, kinerja, dan keterpeliharaan.",
      "permission": {
        "edit": "deny"
      }
    }
  }
}

Markdown

Anda juga dapat mendefinisikan agen menggunakan file markdown. Tempatkan mereka di:

  • Global: ~/.config/dropstone/agents/
  • Per-proyek: .dropstone/agents/
---
description: Meninjau kode untuk kualitas dan praktik terbaik
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
  edit: deny
  bash: deny
---

Anda berada dalam mode peninjauan kode. Fokus pada:

- Kualitas kode dan praktik terbaik
- Bug potensial dan kasus tepi
- Implikasi kinerja
- Pertimbangan keamanan

Berikan umpan balik yang konstruktif tanpa membuat perubahan langsung.

Nama file markdown menjadi nama agen. Misalnya, review.md membuat agen review.


Opsi

Mari kita lihat opsi konfigurasi ini secara detail.


Deskripsi

Gunakan opsi description untuk memberikan deskripsi singkat tentang apa yang dilakukan agen dan kapan menggunakannya.

{
  "agent": {
    "review": {
      "description": "Meninjau kode untuk praktik terbaik dan masalah potensial"
    }
  }
}

Ini adalah opsi konfigurasi yang wajib.


Temperature

Kontrol keacakan dan kreativitas respons LLM dengan konfigurasi temperature.

Nilai yang lebih rendah membuat respons lebih fokus dan deterministik, sementara nilai yang lebih tinggi meningkatkan kreativitas dan variabilitas.

{
  "agent": {
    "plan": {
      "temperature": 0.1
    },
    "creative": {
      "temperature": 0.8
    }
  }
}

Nilai temperature biasanya berkisar dari 0.0 hingga 1.0:

  • 0.0-0.2: Respons yang sangat fokus dan deterministik, ideal untuk analisis kode dan perencanaan
  • 0.3-0.5: Respons seimbang dengan beberapa kreativitas, baik untuk tugas pengembangan umum
  • 0.6-1.0: Respons yang lebih kreatif dan bervariasi, berguna untuk brainstorming dan eksplorasi
{
  "agent": {
    "analyze": {
      "temperature": 0.1,
      "prompt": "{file:./prompts/analysis.txt}"
    },
    "build": {
      "temperature": 0.3
    },
    "brainstorm": {
      "temperature": 0.7,
      "prompt": "{file:./prompts/creative.txt}"
    }
  }
}

Jika tidak ada temperature yang ditentukan, Dropstone menggunakan default yang masuk akal yang disesuaikan untuk setiap tier.


Langkah maksimum

Kontrol jumlah maksimum iterasi agen yang dapat dilakukan sebelum dipaksa merespons hanya dengan teks. Ini memungkinkan pengguna yang ingin mengontrol biaya untuk menetapkan batas pada tindakan agen.

Jika ini tidak diatur, agen akan terus beriterasi sampai model memilih untuk berhenti atau pengguna mengganggu sesi.

{
  "agent": {
    "quick-thinker": {
      "description": "Penalaran cepat dengan iterasi terbatas",
      "prompt": "Anda adalah pemikir cepat. Selesaikan masalah dengan langkah minimal.",
      "steps": 5
    }
  }
}

Ketika batas tercapai, agen menerima prompt sistem khusus yang menginstruksikannya untuk merespons dengan ringkasan pekerjaannya dan tugas yang tersisa yang direkomendasikan.

Tidak digunakan lagi

Field maxSteps lama tidak digunakan lagi. Gunakan steps sebagai gantinya.


Nonaktifkan

Atur ke true untuk menonaktifkan agen.

{
  "agent": {
    "review": {
      "disable": true
    }
  }
}

Prompt

Tentukan file prompt sistem khusus untuk agen ini dengan konfigurasi prompt. File prompt harus berisi instruksi yang spesifik untuk tujuan agen.

{
  "agent": {
    "review": {
      "prompt": "{file:./prompts/code-review.txt}"
    }
  }
}

Path ini relatif terhadap lokasi file konfigurasi. Jadi ini berfungsi untuk konfigurasi Dropstone global dan konfigurasi khusus proyek.


Model

Gunakan konfigurasi model untuk mengganti model untuk agen ini. Berguna untuk menggunakan model berbeda yang dioptimalkan untuk tugas berbeda. Misalnya, model yang lebih cepat untuk perencanaan, model yang lebih mampu untuk implementasi.

Tip

Jika Anda tidak menentukan model, agen utama menggunakan model yang dikonfigurasi secara global sementara subagen mewarisi model dari agen utama yang memanggilnya.

{
  "agent": {
    "plan": {
      "model": "dropstone/dropstone-fast"
    }
  }
}

ID model menggunakan format dropstone/<tier>. Gunakan dropstone/dropstone-fast, dropstone/dropstone-pro, atau dropstone/dropstone-heavy.


Tools (tidak digunakan lagi)

tools tidak digunakan lagi. Lebih suka field permission agen untuk konfigurasi baru, pembaruan, dan kontrol yang lebih terperinci.

Memungkinkan Anda mengontrol alat mana yang tersedia di agen ini. Anda dapat mengaktifkan atau menonaktifkan alat tertentu dengan mengaturnya ke true atau false. Dalam konfigurasi tools agen, true setara dengan izin {"*": "allow"} dan false setara dengan izin {"*": "deny"}.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "tools": {
    "write": true,
    "bash": true
  },
  "agent": {
    "plan": {
      "tools": {
        "write": false,
        "bash": false
      }
    }
  }
}

Note

Konfigurasi khusus agen menggantikan konfigurasi global.

Anda juga dapat menggunakan wildcard dalam entri tools lama untuk mengontrol beberapa alat sekaligus. Misalnya, untuk menonaktifkan semua alat dari server MCP:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "readonly": {
      "tools": {
        "mymcp_*": false,
        "write": false,
        "edit": false
      }
    }
  }
}

Pelajari lebih lanjut tentang tools.


Izin

Anda dapat mengonfigurasi izin untuk mengelola tindakan apa yang dapat diambil agen. Setiap kunci izin dapat diatur ke:

  • "ask": Minta persetujuan sebelum menjalankan alat
  • "allow": Izinkan semua operasi tanpa persetujuan
  • "deny": Nonaktifkan alat

Kunci izin yang tersedia adalah:

KunciAlat yang dikontrol
readread
editwrite, edit, apply_patch
globglob
grepgrep
listlist
bashbash
tasktask
external_directoryAlat apa pun yang membaca atau menulis file di luar worktree proyek
todowritetodowrite, todoread
webfetchwebfetch
websearchwebsearch
lsplsp
skillskill
questionquestion
doom_loopPrompt pemulihan ketika agen tampak macet

read, edit, glob, grep, list, bash, task, external_directory, lsp, dan skill menerima baik tindakan singkat ("allow" | "ask" | "deny") atau objek glob/pola → tindakan untuk kontrol yang lebih terperinci. Kunci yang tersisa hanya menerima tindakan singkat.

Note

Kunci izin dicocokkan sebagai pola wildcard terhadap nama alat yang mendasarinya, sehingga sintaks yang sama berfungsi untuk alat bawaan, alat khusus, dan alat MCP. Misalnya "mymcp_*": "deny" menolak setiap alat dari server MCP, dan "mymcp_search": "ask" menargetkan satu alat tertentu.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny"
  }
}

Anda dapat mengganti izin ini per agen.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "permission": {
    "edit": "deny"
  },
  "agent": {
    "build": {
      "permission": {
        "edit": "ask"
      }
    }
  }
}

Anda juga dapat mengatur izin dalam agen Markdown.

---
description: Peninjauan kode tanpa pengeditan
mode: subagent
permission:
  edit: deny
  bash:
    "*": ask
    "git diff": allow
    "git log*": allow
    "grep *": allow
  webfetch: deny
---

Hanya analisis kode dan sarankan perubahan.

Anda dapat mengatur izin untuk perintah bash tertentu.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "git push": "ask",
          "grep *": "allow"
        }
      }
    }
  }
}

Ini dapat menggunakan pola glob.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "git *": "ask"
        }
      }
    }
  }
}

Dan Anda juga dapat menggunakan wildcard * untuk mengelola izin untuk semua perintah. Karena aturan yang cocok terakhir memiliki prioritas, letakkan wildcard * terlebih dahulu dan aturan spesifik setelahnya.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "agent": {
    "build": {
      "permission": {
        "bash": {
          "*": "ask",
          "git status *": "allow"
        }
      }
    }
  }
}

Pelajari lebih lanjut tentang izin.


Mode

Kontrol mode agen dengan konfigurasi mode. Opsi mode digunakan untuk menentukan bagaimana agen dapat digunakan.

{
  "agent": {
    "review": {
      "mode": "subagent"
    }
  }
}

Opsi mode dapat diatur ke primary, subagent, atau all. Jika tidak ada mode yang ditentukan, defaultnya adalah all.


Tersembunyi

Sembunyikan subagen dari menu autocomplete @ dengan hidden: true. Berguna untuk subagen internal yang hanya boleh dipanggil secara terprogram oleh agen lain melalui alat Task.

{
  "agent": {
    "internal-helper": {
      "mode": "subagent",
      "hidden": true
    }
  }
}

Ini hanya mempengaruhi visibilitas pengguna di menu autocomplete. Agen tersembunyi masih dapat dipanggil oleh model melalui alat Task jika izin mengizinkan.

Note

Hanya berlaku untuk agen mode: subagent.


Izin tugas

Kontrol subagen mana yang dapat dipanggil agen melalui alat Task dengan permission.task. Gunakan pola glob untuk pencocokan yang fleksibel.

{
  "agent": {
    "orchestrator": {
      "mode": "primary",
      "permission": {
        "task": {
          "*": "deny",
          "orchestrator-*": "allow",
          "code-reviewer": "ask"
        }
      }
    }
  }
}

Ketika diatur ke deny, subagen dihapus sepenuhnya dari deskripsi alat Task, sehingga model tidak akan mencoba memanggilnya.

Tip

Aturan dievaluasi secara berurutan, dan aturan yang cocok terakhir menang. Dalam contoh di atas, orchestrator-planner cocok dengan * (deny) dan orchestrator-* (allow), tetapi karena orchestrator-* muncul setelah *, hasilnya adalah allow.

Tip

Pengguna selalu dapat memanggil subagen apa pun secara langsung melalui menu autocomplete @, bahkan jika izin tugas agen akan menolaknya.


Warna

Sesuaikan penampilan visual agen di UI dengan opsi color. Ini mempengaruhi bagaimana agen muncul di antarmuka.

Gunakan warna hex yang valid (mis., #FF5733) atau warna tema: primary, secondary, accent, success, warning, error, info.

{
  "agent": {
    "creative": {
      "color": "#ff6b6b"
    },
    "code-reviewer": {
      "color": "accent"
    }
  }
}

Top P

Kontrol keragaman respons dengan opsi top_p. Alternatif untuk temperature dalam mengontrol keacakan.

{
  "agent": {
    "brainstorm": {
      "top_p": 0.9
    }
  }
}

Nilai berkisar dari 0.0 hingga 1.0. Nilai yang lebih rendah lebih fokus, nilai yang lebih tinggi lebih beragam.


Tambahan

Opsi lain apa pun yang Anda tentukan dalam konfigurasi agen Anda diteruskan langsung sebagai opsi model. Untuk tier Dropstone, opsi pass-through yang didukung adalah kedalaman penalaran dan verbositas teks:

{
  "agent": {
    "deep-thinker": {
      "description": "Agen yang menggunakan upaya penalaran tinggi untuk masalah kompleks",
      "model": "dropstone/dropstone-heavy",
      "variant": "xhigh",
      "textVerbosity": "low"
    }
  }
}

Tip

Jalankan dropstone models untuk melihat tier yang tersedia.


Membuat agen

Anda dapat membuat agen baru menggunakan perintah berikut:

dropstone agent create

Perintah interaktif ini akan:

  1. Menanyakan di mana menyimpan agen; global atau khusus proyek.
  2. Deskripsi tentang apa yang harus dilakukan agen.
  3. Menghasilkan prompt sistem dan pengidentifikasi yang sesuai.
  4. Memungkinkan Anda memilih izin mana yang boleh dimiliki agen (apa pun yang tidak Anda pilih ditolak).
  5. Terakhir, membuat file markdown dengan konfigurasi agen.

Kasus penggunaan

Berikut adalah beberapa kasus penggunaan umum untuk berbagai agen.

  • Agen Build: Pekerjaan pengembangan penuh dengan semua alat diaktifkan
  • Agen Plan: Analisis dan perencanaan tanpa membuat perubahan
  • Agen Review: Peninjauan kode dengan akses hanya-baca plus alat dokumentasi
  • Agen Debug: Fokus pada investigasi dengan alat bash dan read diaktifkan
  • Agen Docs: Penulisan dokumentasi dengan operasi file tetapi tanpa perintah sistem

Contoh

Berikut adalah beberapa contoh agen yang mungkin berguna bagi Anda.

Tip

Punya agen yang ingin Anda bagikan? Hubungi kami dan kami akan menampilkannya.


Agen dokumentasi

---
description: Menulis dan memelihara dokumentasi proyek
mode: subagent
permission:
  bash: deny
---

Anda adalah penulis teknis. Buat dokumentasi yang jelas dan komprehensif.

Fokus pada:

- Penjelasan yang jelas
- Struktur yang tepat
- Contoh kode
- Bahasa yang ramah pengguna

Auditor keamanan

---
description: Melakukan audit keamanan dan mengidentifikasi kerentanan
mode: subagent
permission:
  edit: deny
---

Anda adalah ahli keamanan. Fokus pada identifikasi masalah keamanan potensial.

Cari:

- Kerentanan validasi input
- Cacat autentikasi dan otorisasi
- Risiko paparan data
- Kerentanan dependensi
- Masalah keamanan konfigurasi
Ctrl+I