Спецификация Универсального Протокола Вызова Инструментов (UTCP)
Этот репозиторий содержит официальную документацию по спецификации Универсального Протокола Вызова Инструментов (UTCP). UTCP — это современный, гибкий и масштабируемый стандарт для определения и взаимодействия с инструментами через различные коммуникационные протоколы.
Что такое UTCP?
UTCP предоставляет стандартизированный способ для ИИ-систем и других клиентов обнаруживать и вызывать инструменты от разных провайдеров, независимо от используемого базового протокола (HTTP, WebSocket, CLI и т.д.). Эта спецификация определяет:
- Механизмы обнаружения инструментов
- Форматы вызова инструментов
- Конфигурацию провайдера
- Методы аутентификации
- Обработку ответов
Вклад в спецификацию
Мы приветствуем вклад в спецификацию UTCP! Вот как вы можете принять участие:
- Сделайте форк репозитория: Создайте собственную копию репозитория спецификации
- Внесите изменения: Обновите или добавьте документацию по необходимости
- Отправьте pull request: Откройте PR с вашими изменениями для проверки
- Участвуйте в обсуждениях: Присоединяйтесь к обсуждению предлагаемых изменений
- Убедитесь, что ваши изменения соответствуют общей концепции и целям UTCP
- Соблюдайте установленную структуру и форматирование документации
- Включайте примеры при добавлении новых функций или концепций
- Обновляйте соответствующие разделы для поддержания согласованности документации
Локальная сборка документации
Необходимые компоненты
Для локальной сборки и предпросмотра сайта документации вам понадобятся:
- Ruby версии 2.5.0 или выше
- RubyGems
- Bundler
Установка
- Клонируйте репозиторий:
git clone https://github.com/universal-tool-calling-protocol/utcp-specification.git
cd utcp-specification
``
- Установите зависимости:
`bash
bundle install
`
Запуск сайта документации
Чтобы собрать и запустить сайт локально:
bash
bundle exec jekyll serve
`
Это запустит локальный веб-сервер по адресу http://localhost:4000, где вы сможете просмотреть документацию.Структура документации
Документация UTCP организована следующим образом:
index.md: Главная страница и введение в UTCP
docs/
introduction.md: Подробное введение и основные концепции
for-tool-providers.md: Руководство по реализации провайдеров инструментов
for-tool-callers.md: Руководство по реализации вызывающих инструментов
providers/: Документация для каждого типа провайдера
http.md: HTTP-провайдер
websocket.md: WebSocket-провайдер
cli.md: CLI-провайдер
sse.md: Провайдер Server-Sent Events
и т.д.
implementation.md: Руководство по реализации и лучшие практикиРабота со спецификацией
Изменение документации
Документация написана в формате Markdown с front matter Jekyll. При внесении изменений:
- Убедитесь, что ваш Markdown соответствует принятому стилю
- Просматривайте изменения локально перед отправкой PR
- Поддерживайте примеры в актуальном состоянии согласно последней спецификации
- Обновляйте элементы навигации в
_config.yml при добавлении новых страницОрганизация файлов
При добавлении новой документации:
- Размещайте документацию, относящуюся к провайдерам, в
docs/providers/`
Контроль версий
Спецификация UTCP следует семантическому версионированию:
- Основные версии (1.0, 2.0): Ломающие изменения в протоколе
- Минорные версии (1.1, 1.2): Новые функции, добавленные обратно совместимым образом
- Исправления (1.0.1, 1.0.2): Обратнос совместимые исправления ошибок и уточнения
Лицензия
Данная спецификация распространяется по лицензии Mozilla Public License 2.0 (MPL-2.0).