by Brightbeam (open source) Claude Desktop, Claude Code, OpenCode, любой MCP-клиент, macOS, Linux
Collaborative Human Agent Protocol — протокол координации между людьми и AI-агентами.
Open-source control plane и runtime для организационных агентов: общий контекст компании, изолированное выполнение, approvals и MCP.
Плагин DeepSeek Harness (DSH): диспетчеризация задач DSH-агентам из Claude Code / Codex — нативный прогресс субагентов, …
Git-based control plane для навыков, инструментов, контекста, прав доступа и идентичности AI-агентов. Self-hosted, MCP-native.
Позволяет чату напрямую диспетчеризовать и контролировать локальные Codex / DSH: не нужно вручную переносить промпты и …
# TypeScript / Node: npm install @brightbeamai/chap-coordinator # Python: pip install chap-coordinator
Протокол для людей и агентов, которые вместе делают настоящую работу.
Когда ИИ-агент готовит черновик, а человек его правит, где живёт эта правка? В CHAP она живёт в конверте, который можно запросить, воспроизвести и проверить даже спустя полгода.
Установка · Экскурсия за 90 секунд · Двенадцать сценариев · Об этом репозитории · Статья
У вас есть агенты, которые делают настоящую работу. Готовят ревью кода, разбирают тикеты, предлагают условия урегулирования споров, проверяют договоры. Каждое решение человек одобряет, правит или отклоняет. Сейчас эти решения живут в коде вашего приложения, в чатах, в комментариях к тикетам и у вас в голове. Когда через шесть недель что-то идёт не так, восстановление картины происходящего отнимает сорок пять минут и наполовину состоит из догадок.
CHAP даёт вам одно место для таких решений и одну форму, в которую их нужно класть. Черновик агента — это артефакт. Правка человека — это структурированный оверрайд с диффом, обоснованием и тегами, которыми управляете вы. Всё это связывается в цепочку по хешу содержимого. Вы запрашиваете цепочку вместо того, чтобы грепать логи по четырём интерфейсам.
Цепочка переживает ротацию ключей, истечение логов и уход людей; один вызов audit.read возвращает всё целиком. Оверрайды, которые ваши ревьюеры и так делали, накапливаются в данные супервизии, которые иначе пришлось бы заказывать отдельно. Когда одобрения должны быть неотказуемыми, security-signed/1.0 добавляет подписи, привязанные к OIDC, с определяемым вами signature_meaning, а audit-scitt/1.0 заякоривает цепочку во внешнем журнале прозрачности, проверяемом без доверия вашим серверам. И CHAP стоит рядом с MCP и A2A, а не заменяет их: MCP — для инструментов, A2A — для других агентов, CHAP — для совместной работы с людьми.
Вот и весь питч.
Один разработчик использует Cursor для ревью пулл-реквестов. Бот помечает «предупреждение», с которым разработчик не согласен. Вот весь обмен целиком, от начала до конца. Клип ниже идёт около 23 секунд и разбит на шесть подписанных шагов; соответствующий код — сразу под ним.

А вот и код, каждая его строчка. Одна непрерывная история на двух языках; выбирайте тот стек, которым действительно пользуетесь.
1. Поднимите воркспейс. Встроенный координатор с сохранением данных в SQLite, два участника, воркспейс:
| TypeScript | Python |
|---|---|
|
|
2. Бот готовит черновик, вы вносите оверрайд. Настройте вашу существующую интеграцию с Cursor так, чтобы она выпускала конверты:
| TypeScript | Python |
|---|---|
|
|
О поверхностях интерфейса. В TypeScript поставляется типизированный фасад (
coord.api.*), поэтому каждый метод получает полное автодополнение и проверку на этапе компиляции. Python сохраняет структуру конверта JSON-RPC на поверхности (coord.dispatch({...})), а потребители оборачивают её как удобно для места вызова; вспомогательная функцияsend()— это идиома, которую используют тесты на Python. Оба пути генерируют идентичные байты в сети; цепочка аудита побайтово одинакова независимо от того, какой клиент сделал вызов.
3. Через два месяца проанализируйте, что вы делали. В эталонном репозитории есть аналитический скрипт на обоих языках, который читает цепочку аудита (по HTTP или напрямую из вашего файла SQLite) и группирует переопределения:
# TypeScript reference, against the SqliteStore from step 1:
$ npm --prefix reference/core-plus-review run analyze -- --db ./chap.db wsp_pr_reviews
# Python reference, same idea:
$ python3 reference/python/analyze_overrides.py --db ./chap.db wsp_pr_reviews
Override Learning Report
========================
Total overrides: 47
By tag:
false-positive ████████████████ 31 (66%)
framework-pattern-misread ███████████ 22 (47%)
cosmetic-pref ████ 8 (17%)
Top file paths:
src/handlers/ 18 overrides
src/components/ 9 overrides
Ваша следующая редакция промпта для Cursor ссылается на шаблон по имени, вместо того чтобы гадать о нём.
Если вы внимательно изучите одну структуру, пусть это будет конверт переопределения. У каждого поля есть своя задача:
Два поля, которые большинство людей упускают при первом чтении — это intent_preserved и tags.
intent_preserved отличает уточняющее переопределение (человек согласился с решением агента, но переписал то, как оно было выражено) от замещающего переопределения (человек пришёл к другому решению). Это два разных режима сбоя, и они требуют разных исправлений. Высокий коэффициент уточнений вокруг одного пункта политики означает, что извлечение данных агентом работает некорректно; высокий коэффициент замещений по тому же пункту означает, что сама политика неоднозначна или контекст задачи агента неверен.
tags — это контролируемый словарь, о котором договаривается ваша команда. Держите его небольшим. Всё, что вы туда поместите, станет измерением, по которому вы будете агрегировать данные через три месяца, когда будете отвечать на вопросы вроде какие промпты нуждаются в доработке? или какие пути бот стабильно проходит неверно?
TypeScript / Node:
npm install @brightbeamai/chap-coordinator
Python:
pip install chap-coordinator
Любой из путей даёт вам Core плюс профиль review/1.0 и запускаемый эталон. Эталон на TypeScript находится в reference/; эталон на Python — в reference/python/. Библиотека TypeScript располагается в packages/coordinator/; библиотека Python — в packages/coordinator-py/.
Пятиминутное практическое руководство: examples/00-five-minute-start.md.
CHAP 0.2 — это публичный черновик. Спецификация состоит из семи методов Core плюс одиннадцать необязательных профилей (SPECIFICATION.md), с двумя эталонными реализациями, TypeScript и Python, которые покрывают каждый профиль и проходят проверку на соответствие на одной и той же проводной линии JSON-RPC 2.0. Координатор может представлять себя как сервер MCP или агент A2A, а пять мостов для фреймворков ставят решения с участием человека LangGraph, Pydantic AI, AG2, LlamaIndex Workflows и Google ADK в цепочку аудита. Полная опись, структура репозитория и то, как CHAP соотносится с MCP и A2A, находятся в ABOUT.md.
Ломающие изменения следуют Семантическому Версионированию. Поверхности профилей меняются быстрее, чем Core, поэтому если вам нужна строгая стабильность, дождитесь версии 1.0.
Начните с IN_PRACTICE.md: двенадцать сценариев — от разработчика-одиночки с Cursor до производства, регулируемого стандартами GMP; это самое полезное для дальнейшего чтения. ABOUT.md описывает содержимое репозитория, как CHAP соотносится с MCP и A2A, какие стандарты он переиспользует и как внести свой вклад. core/SPEC.md вмещает всю поверхность протокола на одном экране. А технический отчёт на arXiv обосновывает проектные решения: архитектуру, семантику профилей, модель угроз и двенадцать сценариев в виде JSON-трасс в проработанном приложении.
Если вы ссылаетесь на CHAP в академической или технической работе, пожалуйста, цитируйте технический отчёт:
@techreport{chap2026,
author = {Shahid, Arsalan and Suttie, Gordon and Black, Philip},
title = {Collaborative Human-Agent Protocol (CHAP): An open protocol for auditable, structured multi-human and multi-agent collaboration},
institution = {Brightbeam AI},
year = {2026},
type = {Technical Report},
number = {arXiv:2606.09751},
url = {https://arxiv.org/abs/2606.09751}
}
CC-BY 4.0 (спецификация) · Apache 2.0 (код) · Без роялти, любой язык, любое развертывание.