AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Task orchestrator for development with AI agents — a task is not ready without acceptance criteria, and not done until the hub can name the commit that shipped it.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Оркестратор задач для разработки с AI-агентами — с теми гейтами, которые человеку действительно нужны: задача не готова к работе, пока не записаны её критерии приёмки, и не считается сделанной, пока хаб не может назвать коммит, который её везёт.檢視完整 README ↗
Оркестратор задач для разработки с AI-агентами — с теми гейтами, которые человеку действительно нужны: задача не готова к работе, пока не записаны её критерии приёмки, и не считается сделанной, пока хаб не может назвать коммит, который её везёт.
(English summary: README.en.md.)
«Готово» от агента — это заявление, а не факт. Работа за ним может лежать в ветке, которую никто не смержил, в PR, у которого CI так и не позеленел, или в мерже, который ещё не увезён релизом в прод. В трекере, где последняя колонка называется Done, все три случая выглядят одинаково — и каждый из них уже стоил кому-то утра, потраченного на чтение логов CI.
Haiplane Hub держит заявление и факт порознь и показывает разрыв между ними:
draft, пока не пройден Definition of Ready — критерии
приёмки в форме Given/When/Then, способ проверки, заявленный объём;completed без актуального вердикта ревью, и агент,
который её делал, не может быть тем, кто её одобряет;completed остаётся ещё один вопрос — доехала ли работа
до прода? — и он отвечается по записанным фактам: мержу, который сделал сам
хаб, и выкату, о котором отчитался CI. Когда ответа нет, хаб так и говорит и
никогда не выдаёт незнание за отрицание.completed без актуального вердикта APPROVED;
вердикт от агента-исполнителя по умолчанию запрещён, а если разрешён — он
помечается и аудируется.hp-hub для людей и скриптов.git clone https://github.com/agentdrover/haiplane.git
cd haiplane
docker compose up -d --build
# → http://localhost:8080
Отдельного образа в registry нет: команда выше собирает его из этого клона.
Python и uv в Dockerfile закреплены digest'ом, поэтому --build поднимает
текущий хаб, а не плавающий latest, оставшийся от прошлой сборки.
Контейнер поднимается с демо-данными (проект demo: эпик, фича и задачи по
всему жизненному циклу, одна из них — доставленная в прод), поэтому дашборд
живой с первого открытия. Чтобы стартовать с пустым хабом, поставьте
HAIPLANE_DEMO_SEED: "0" в docker-compose.yml. База SQLite сохраняется в
./data на хосте.
Нужны Python 3.11+ и uv.
git clone https://github.com/agentdrover/haiplane.git
cd haiplane
# Установка (заодно взводит pre-push хук с политикой веток)
make setup
# Запуск
haiplane-hub
# → http://localhost:8080
MCP-сервер живёт в том же процессе, что и веб-интерфейс. Endpoint — /mcp,
транспорт streamable HTTP, авторизация Bearer-токеном из
HAIPLANE_HUB_TOKENS:
// ~/.cursor/mcp.json — или любой MCP-клиент со streamable HTTP
{
"mcpServers": {
"haiplane-hub": {
"type": "streamable-http",
"url": "http://127.0.0.1:8080/mcp",
"headers": { "Authorization": "Bearer <TOKEN>" }
}
}
}
Для локального агента есть и stdio-транспорт — haiplane-hub-mcp, который
проксирует вызовы в REST API хаба по HAIPLANE_HUB_URL с токеном из
HAIPLANE_HUB_TOKEN.
Полная настройка, проверка через curl и таблица типовых ошибок (401, 406, 421, missing session) — в docs/agent-mcp-operator-guide.md.
Инструменты, которых агенту хватает на каждый день:
hub_my_context, hub_project_status, hub_list_tasks, hub_task_statushub_refine_task, hub_get_readiness, hub_add_acceptance_criterion,
hub_replace_acceptance_criteria, hub_add_riskhub_claim_task, hub_pair_start, hub_task_update, hub_ask_questionhub_submit_for_review, hub_submit_review, hub_report_doneЧеловеческие гейты (approve, reject, start, decide, force-complete, answer)
требуют человеческого токена: агентскому токену их нет в tools/list, а вызов
отказывается — человек идёт через UI, oc-hub или REST
(POST /api/tasks/{id}/approve|reject|start|decide|force-complete|answer).
Агент не может провести себя через них сам, в этом и смысл.
Всё настраивается переменными окружения с префиксом HAIPLANE_*. Значения по
умолчанию ниже — те же, что в hub/config.py; этот файл и есть источник истины,
в нём же полный список.
| Переменная | По умолчанию | Описание |
|---|---|---|
HAIPLANE_HUB_HOST | 127.0.0.1 | Адрес прослушивания. Бинд не на loopback без настроенных токенов запрещён на старте |
HAIPLANE_HUB_PORT | 8080 | Порт |
HAIPLANE_HUB_DB | ~/.local/state/haiplane-hub/hub.db | Путь к базе SQLite |
HAIPLANE_HUB_TOKENS | "" | name:token[:role] через запятую; роли human, agent, admin. Пусто — однопользовательский открытый режим |
HAIPLANE_HUB_ALLOW_UNAUTHENTICATED_NETWORK | 0 | 1 разрешает сетевой бинд без токенов (так делает docker-демо; на общем хосте небезопасно) |
HAIPLANE_DEMO_SEED | 0 | 1 засевает проект demo в пустую базу. Идемпотентно |
HAIPLANE_HUB_REPO | "" | GitHub-репозиторий (owner/repo) для интеграции с PR и коммитами |
HAIPLANE_WORKSPACE_REPO | ~/.haiplane/workspace/repo | Путь к рабочей копии git |
HAIPLANE_PAIR_BASE_BRANCH | develop | Ветка, от которой отходят и в которую вливаются ветки задач |
HAIPLANE_RELEASE_BRANCH | main | Ветка, в которую релиз увозит базовую |
HAIPLANE_REVIEW_SELF_APPROVE | forbid | allow разрешает агенту-исполнителю самому выносить вердикт (solo-режим); такие вердикты помечаются self_approved, логируются и бейджатся |
HAIPLANE_MACHINE_REVIEW | warn | require блокирует человеческий вердикт, пока нет актуального отчёта машинного ревью |
HAIPLANE_SDD_AC_LOCATOR | off | require отклоняет AC с verifiable_by=test без разрешимого pytest-локатора |
Проект ведёт один человек. Поддержка — по мере сил: issues и вопросы читаются, ответ может занять время, SLA нет. PR приветствуются — см. CONTRIBUTING.md.
Лицензия MIT.
HAIPLANE_SDD_AC_TESTS | warn | require блокирует вердикт APPROVED, пока хоть один AC-тест красный или отсутствует |
HAIPLANE_SDD_VALIDATION | warn | require блокирует завершение, пока текущий прогон validation не зелёный |
HAIPLANE_MAX_REVIEW_CYCLES | 3 | Максимум автоматических циклов ревью на задачу |
HAIPLANE_STALE_MINUTES | 30 | Минуты, после которых running-задача помечается зависшей |
HAIPLANE_DISPATCH_BIN | ~/.local/bin/hp-dev-dispatch | Необязательный диспетчер агентов-разработчиков. Его отсутствие — норма: гейты работают и без него |
GH_BIN | gh | Бинарь GitHub CLI |