Haijun Platform Docs
EN

Halaman ini adalah referensi untuk alat-alat yang disediakan Juglow dan properti opsional yang dapat Anda atur pada definisi alat apa pun. Untuk pengantar konseptual tentang "tool use" (penggunaan alat), lihat Penggunaan alat dengan Haijun. Untuk panduan mengimplementasikan penggunaan alat dalam aplikasi Anda, lihat Mendefinisikan alat.

Alat yang disediakan Juglow

Juglow menyediakan dua jenis alat: alat server yang dieksekusi di infrastruktur Juglow, dan alat klien di mana Juglow mendefinisikan skemanya tetapi aplikasi Anda yang menangani eksekusinya. Kedua jenis ini muncul dalam array tools pada permintaan Anda bersama alat-alat yang didefinisikan pengguna.

AlattypeEksekusiHeader beta
Alat pencarian webweb_search_20260318 web_search_20260209 web_search_20250305ServerTidak ada
Alat pengambilan webweb_fetch_20260318 web_fetch_20260309 web_fetch_20260209 web_fetch_20250910ServerTidak ada
Alat eksekusi kodecode_execution_20260521 code_execution_20260120 code_execution_20250825ServerTidak ada
Alat advisoradvisor_20260301Serveradvisor-tool-2026-03-01
Alat pencarian alattool_search_tool_regex_20251119 tool_search_tool_bm25_20251119ServerTidak ada
Konektor MCPmcp_toolsetServermcp-client-2025-11-20
Alat memorimemory_20250818KlienTidak ada
Alat Bashbash_20250124KlienTidak ada
Alat editor tekstext_editor_20250728 text_editor_20250124KlienTidak ada
Alat penggunaan komputercomputer_toolset_20260801 computer_20251124 computer_20250124KlienTidak ada computer-use-2025-11-24 computer-use-2025-01-24
Alat penggunaan browserbrowser_toolset_20260801KlienTidak ada

Untuk kompatibilitas model, lihat halaman masing-masing alat. Model yang didukung bervariasi menurut alat dan versi alat.

Note: Nilai type pencarian alat juga menerima alias tanpa tanggal: tool_search_tool_regex dan tool_search_tool_bm25. Alias ini mengarah ke versi bertanggal terbaru.

Pemversian alat

Sebagian besar alat yang disediakan Juglow memiliki akhiran _YYYYMMDD dalam string type. Versi baru dirilis ketika perilaku, skema, atau dukungan model alat tersebut berubah. Versi lama tetap tersedia agar integrasi yang sudah ada terus berfungsi.

Ketika sebuah alat memiliki beberapa versi aktif, hubungan di antaranya bervariasi:

  • Berdasarkan kemampuan: web_search_20260209 dan web_fetch_20260209 menambahkan pemfilteran konten dinamis dibandingkan pendahulunya; web_fetch_20260309 menambahkan opsi untuk melewati cache; web_search_20260318 dan web_fetch_20260318 menambahkan kontrol penyertaan respons. code_execution_20260120 menambahkan pemanggilan alat terprogram dari dalam sandbox; code_execution_20260521 mengungkapkan batas waktu per sel dalam deskripsi alat. Dalam setiap kasus, versi baru maupun lama sama-sama berlaku; versi mana yang Anda gunakan bergantung pada apakah Anda membutuhkan kemampuan baru tersebut.
  • Berdasarkan model: text_editor_20250728 ditujukan untuk model Haijun 4 dan yang lebih baru, sedangkan text_editor_20250124 ditujukan untuk model yang lebih lama. Versi yang Anda gunakan bergantung pada model yang Anda targetkan.
  • Varian, bukan versi: tool_search_tool_regex_20251119 dan tool_search_tool_bm25_20251119 adalah dua algoritma pencarian yang dirilis bersamaan. Tidak ada yang menggantikan yang lain.
  • Lama (legacy): code_execution_20250522 hanya mendukung Python. code_execution_20250825 menambahkan Bash dan operasi file.
  • Penerus: computer_toolset_20260801 adalah penerus stabil dari versi beta computer_20251124 dan computer_20250124, yang tetap tersedia pada model yang tercantum untuk versi tersebut di bagian Versi alat sebelumnya. browser_toolset_20260801 adalah versi pertama dari alat browser use. Keduanya merupakan toolset klien.

Tipe mcp_toolset tidak diberi versi berdasarkan tanggal; pemversiannya dibawa dalam header juglow-beta.

Toolset klien

Alat penggunaan komputer dan alat penggunaan browser adalah toolset klien yang didefinisikan Juglow: satu entri dalam tools mendeklarasikan sekumpulan alat anggota tetap yang nama, deskripsi, dan skema inputnya didefinisikan oleh Juglow, dan aplikasi Anda mengeksekusi setiap panggilan. Entri ini tidak menerima name, karena type bertanggal sudah menetapkan nama-nama anggotanya. configs, cache_control, dan allowed_callers (yang hanya menerima ["direct"]) bersifat opsional.

Toolset klien adalah alat Messages API. Saat ini toolset ini tidak tersedia sebagai alat agen di Haijun Managed Agents, yang menyediakan toolset agen bawaan, toolset MCP, dan alat kustomnya sendiri.

json
{
  "type": "browser_toolset_20260801",
  "configs": {
    "javascript_exec": { "enabled": true }
  },
  "cache_control": { "type": "ephemeral" }
}

configs menyesuaikan anggota secara individual:

  • Kuncinya adalah nama anggota, dan setiap nilai hanya menerima enabled dan defer_loading.
  • Anggota yang Anda hilangkan mempertahankan nilai defaultnya. Nilai yang tidak ada, {}, dan default yang dinyatakan ulang adalah setara.
  • Nama anggota yang tidak dikenal atau field lain apa pun dalam nilai anggota akan ditolak, demikian pula configs yang menonaktifkan setiap anggota (hilangkan entrinya saja).
  • Anggota yang dinonaktifkan dihapus dari alat yang dilihat Haijun. Jika Haijun masih menyebutnya, kembalikan tool_result berisi error.

Atur defer_loading per anggota, jangan pernah pada entri, dan berikan nilai yang sama untuk setiap anggota yang diaktifkan: di bawah pencarian alat, toolset dimuat dan diperluas sebagai satu definisi. Ketika setiap anggota yang diaktifkan ditangguhkan, hanya alat pencarian alat yang tidak ditangguhkan sendiri yang dapat memunculkan toolset tersebut, jadi deklarasikan satu dalam permintaan yang sama. Jangan letakkan cache_control pada entri toolset yang anggotanya ditangguhkan; atur breakpoint pada alat yang tidak ditangguhkan, karena definisi yang ditangguhkan bukan bagian dari prefiks yang di-cache.

cache_control hanya diletakkan pada entri; untuk mengetahui di mana breakpoint berada, termasuk penanda di dalam aksi batch, lihat Penggunaan alat dengan caching prompt.

Menangani panggilan alat anggota. Haijun memanggil anggota dengan blok tool_use yang name-nya adalah nama anggota dan toolset_name-nya adalah computer atau browser; input berisi parameter anggota tersebut dan tanpa field action. Lakukan dispatch berdasarkan pasangan toolset_name dan name, karena alat kustom mungkin memiliki nama yang sama dengan anggota dan kedua toolset berbagi nama seperti screenshot. Hanya hasil anggota yang menggemakan toolset_name. Beberapa panggilan anggota dalam satu giliran membentuk aksi batch yang Anda jalankan secara berurutan (penggunaan komputer, penggunaan browser). Anggota baru hanya hadir bersama type bertanggal yang baru.

Tidak didukung pada entri toolset. API menolak masing-masing hal berikut dengan invalid_request_error:

  • strict: true atau input_examples.
  • defer_loading pada entri, atau anggota yang diaktifkan dengan nilai defer_loading yang berbeda (atur per anggota dalam configs, semuanya dengan nilai yang sama).
  • Header beta legacy fine-grained-tool-streaming-2025-05-14. Saat Anda melakukan streaming, input setiap anggota tiba sebagai satu input_json_delta yang lengkap.
  • tool_choice bertipe tool yang menyebut toolset atau anggota (gunakan auto, any, atau none).
  • Dua entri dari toolset yang sama, atau alat lain yang membawa nama toolset tersebut: alat bernama computer bersama computer_toolset_20260801, atau alat bernama browser bersama browser_toolset_20260801. Kedua toolset dapat dideklarasikan bersama.

Properti definisi alat

Setiap alat dalam array tools, termasuk alat yang didefinisikan pengguna, menerima properti opsional yang mengontrol bagaimana alat dimuat, siapa yang dapat memanggilnya, dan bagaimana inputnya divalidasi. Properti-properti ini dapat dikombinasikan: Anda dapat mengatur defer_loading, cache_control, dan strict pada alat yang sama.

PropertiTujuanTersedia padaPanduan terperinci
cache_controlMengatur breakpoint cache prompt pada definisi alat iniSemua alat (pada computer_toolset_20260801 dan browser_toolset_20260801, atur pada entri toolset itu sendiri, bukan di dalam configs anggota)Caching prompt
strictMenjamin validasi skema pada nama dan input alatSemua alat kecuali mcp_toolset, computer_toolset_20260801, dan browser_toolset_20260801Penggunaan alat strict
defer_loadingMengecualikan alat dari prompt sistem awal; memuatnya sesuai permintaan ketika pencarian alat mengembalikan tool_reference untuknyaSemua alat (untuk mcp_toolset, lihat konfigurasi alat). Pada toolset penggunaan komputer dan penggunaan browser, atur per anggota di dalam configs; lihat Toolset klien.Alat pencarian alat
allowed_callersMembatasi pemanggil mana yang dapat memanggil alatSemua alat kecuali mcp_toolset (pada computer_toolset_20260801 dan browser_toolset_20260801, hanya ["direct"] yang diterima; lihat Toolset klien)Pemanggilan alat terprogram
input_examplesMenyediakan contoh objek input untuk membantu Haijun memahami cara memanggil alatAlat klien yang didefinisikan pengguna dan berskema Juglow, kecuali computer_toolset_20260801 dan browser_toolset_20260801. Tidak tersedia pada alat server.Mendefinisikan alat
eager_input_streamingMengaktifkan streaming input fine-grained (true) atau mempertahankan streaming buffer standar (false) untuk alat iniHanya alat yang didefinisikan penggunaStreaming alat fine-grained

Nilai allowed_callers

allowed_callers adalah array yang menerima kombinasi apa pun dari:

NilaiArti
"direct"Model dapat memanggil alat ini secara langsung dalam blok tool_use. Ini adalah default jika allowed_callers dihilangkan.
"code_execution_20260120"Kode yang berjalan di dalam sandbox code_execution_20260120 atau yang lebih baru dapat memanggil alat ini.

Baik "code_execution_20260120" maupun "code_execution_20260521" diterima dalam allowed_callers dan dapat saling menggantikan: permintaan yang menggunakan salah satu versi alat eksekusi kode memenuhi alat yang mencantumkan salah satu pemanggil tersebut. Blok respons selalu menandai pemanggil sebagai code_execution_20260120 terlepas dari versi mana yang dideklarasikan permintaan.

Menghilangkan "direct" dari array (misalnya, "allowed_callers": ["code_execution_20260120"]) mengarahkan Haijun untuk memanggil alat hanya dari dalam eksekusi kode. Blok tool_use pada respons menyertakan field caller yang mengidentifikasi pemanggil mana yang memanggil alat tersebut. Lihat Pemanggilan alat terprogram untuk pembahasan lengkap, termasuk bentuk respons caller dan perilaku error.

defer_loading dan caching prompt

Alat dengan defer_loading: true dihapus dari bagian alat yang dirender sebelum kunci cache dihitung. Alat tersebut sama sekali tidak muncul dalam prefiks prompt sistem. Ketika pencarian alat menemukan alat yang ditangguhkan dan mengembalikan tool_reference untuknya, definisi lengkap alat tersebut diperluas secara inline pada titik itu dalam isi percakapan, bukan dalam prefiks.

Ini berarti defer_loading: true mempertahankan cache prompt Anda. Anda dapat menambahkan alat yang ditangguhkan ke permintaan tanpa membatalkan entri cache yang sudah ada, dan cache tetap valid sepanjang giliran saat alat ditemukan dan giliran saat alat dipanggil.

Untuk mempelajari cara menggabungkan defer_loading dengan breakpoint cache_control, lihat panduan caching prompt alat pencarian alat.

On this page
Alat yang disediakan JuglowPemversian alatToolset klienProperti definisi alatNilai allowed_callersdefer_loading dan caching prompt