Spesifikasi Universal Tool Calling Protocol (UTCP)
Repositori ini berisi dokumentasi spesifikasi resmi untuk Universal Tool Calling Protocol (UTCP). UTCP adalah standar modern, fleksibel, dan skalabel untuk mendefinisikan dan berinteraksi dengan alat di berbagai protokol komunikasi.
Apa itu UTCP?
UTCP menyediakan cara yang terstandarisasi bagi sistem AI dan klien lain untuk menemukan dan memanggil alat dari berbagai penyedia, tanpa memandang protokol dasar yang digunakan (HTTP, WebSocket, CLI, dll.). Spesifikasi ini mendefinisikan:
- Mekanisme penemuan alat
- Format pemanggilan alat
- Konfigurasi penyedia
- Metode otentikasi
- Penanganan respons
Berkontribusi pada Spesifikasi
Kami menyambut kontribusi untuk spesifikasi UTCP! Berikut cara Anda dapat berkontribusi:
- Fork repositori: Buat fork repositori spesifikasi Anda sendiri
- Lakukan perubahan: Perbarui atau tambahkan dokumentasi sesuai kebutuhan
- Kirim pull request: Buka PR dengan perubahan Anda untuk ditinjau
- Ikut dalam diskusi: Bergabunglah dalam percakapan tentang perubahan yang diusulkan
- Pastikan perubahan Anda selaras dengan visi dan tujuan utama UTCP
- Ikuti struktur dan format dokumentasi yang telah ditetapkan
- Sertakan contoh saat menambahkan fitur atau konsep baru
- Perbarui bagian terkait agar tetap konsisten di seluruh dokumentasi
Membangun Dokumentasi Secara Lokal
Prasyarat
Untuk membangun dan meninjau situs dokumentasi secara lokal, Anda akan membutuhkan:
- Ruby versi 2.5.0 atau lebih tinggi
- RubyGems
- Bundler
Penyiapan
- Clone repositori:
git clone https://github.com/universal-tool-calling-protocol/utcp-specification.git
cd utcp-specification
``
- Instal dependensi:
`bash
bundle install
`
Menjalankan Situs Dokumentasi
Untuk membangun dan menjalankan situs secara lokal:
bash
bundle exec jekyll serve
`
Ini akan memulai server web lokal di http://localhost:4000 di mana Anda dapat melihat pratinjau dokumentasi.Struktur Dokumentasi
Dokumentasi UTCP diorganisasikan sebagai berikut:
index.md: Beranda dan pengenalan UTCP
docs/
introduction.md: Pengenalan terperinci dan konsep inti
for-tool-providers.md: Panduan untuk implementasi penyedia alat
for-tool-callers.md: Panduan untuk implementasi pemanggil alat
providers/: Dokumentasi untuk setiap tipe penyedia
http.md: Penyedia HTTP
websocket.md: Penyedia WebSocket
cli.md: Penyedia CLI
sse.md: Penyedia Server-Sent Events
dll.
implementation.md: Panduan implementasi dan praktik terbaikBekerja dengan Spesifikasi
Memodifikasi Dokumentasi
Dokumentasi ditulis dalam format Markdown dengan Jekyll front matter. Saat melakukan perubahan:
- Pastikan Markdown Anda mengikuti gaya yang telah ditetapkan
- Pratinjau perubahan secara lokal sebelum mengirim PR
- Pastikan contoh selalu sesuai dengan spesifikasi terbaru
- Perbarui item navigasi di
_config.yml jika menambah halaman baruOrganisasi Berkas
Saat menambah dokumentasi baru:
- Tempatkan dokumentasi spesifik penyedia di
docs/providers/`
Kontrol Versi
Spesifikasi UTCP mengikuti semantic versioning:
- Versi mayor (1.0, 2.0): Perubahan besar pada protokol
- Versi minor (1.1, 1.2): Penambahan fitur baru yang tetap kompatibel ke belakang
- Versi patch (1.0.1, 1.0.2): Perbaikan bug dan klarifikasi yang kompatibel ke belakang
Lisensi
Spesifikasi ini didistribusikan di bawah Mozilla Public License 2.0 (MPL-2.0).