Документация
Создайте процесс, который можно выполнить и проверить.
Для команд с доступом к приложению. Проследите путь от события до задачи агента, изучите запуск и задайте событие, подтверждающее результат. Ниже приведены справочники API и политик.
-
1
Начните в разделе «Рабочие процессы».
После настройки доступа откройте «Рабочие процессы». Если процессов ещё нет, рабочее пространство предложит стартовый шаблон, который можно установить и запустить из приложения.
Это руководство использует размещённое приложение.
Оставить заявку -
2
Определите работу и событие завершения.
Создание рабочего процесса связывает событие с задачей агента. Укажите название, событие и инструкцию. Полная форма YAML содержит список rules. Этот пример начинается с метки на задаче, поручает агенту подготовить pull request и ожидает события слияния.
first-run.yamlСкачать
rules: - name: first-run on: plane.label_added if: { label: first-run } do: - agent: { type: first-run, context: "Fix {issue.title} and open a pull request." } - plane.comment: "Picked up. The pull request is linked in the run." verify: on: github.pr.merged within: 24h finally: - matrix.send: "[{_status}] first-run {issue.title}"
Проверено парсером рабочих процессов Recuriant 2026-11-02. Язык рабочих процессов, версия 1.
Recuriant проверяет процесс перед сохранением. При объявленной политике изменяющие состояние шаги проверяются до выполнения: по умолчанию L1 выполняется, L2 ждёт согласования, L3 отклоняется.
Как применяются уровни риска -
3
Изучите запуск.
Добавьте метку к задаче, чтобы запустить процесс. В разделе «Запуски» проверьте результат и длительность каждого шага. Отправка задачи агенту содержит ссылку на его запуск. Ожидающие действия отображаются в разделе «Одобрения».
- first-run on plane.label_added first-run запущен
- first-run agent type=first-run отправлен
- first-run plane.comment L1 · выполнено
- first-run verify github.pr.merged within 24h ожидание до завтра, 09:12
Иллюстративный пример с вымышленными данными Результаты запусков и доступные решения политики можно читать и через API. Запись разрешений и отказов в аудит выполняется без гарантии сохранения; состояние ожидания согласования должно храниться постоянно.
Аутентификация с помощью API-ключа.
Каждый запрос передаёт ключ как bearer-токен. Запросы отправляются на адрес API, который вы получаете вместе с рабочим пространством; в примерах он обозначен как $RECURIANT_API.
- Создайте ключ в приложении в разделе «API-ключи». Задайте название и срок действия: 30 дней, 90 дней, один год или бессрочно. Ключ показывается один раз, поэтому скопируйте его сразу.
- Ключ с префиксом ck_ действует от имени создавшего его человека. Ключ с префиксом cka_ принадлежит управляемому агенту и несёт только полномочия роли этого агента.
- Ключ может вызывать действия и читать запуски. Одобрить ожидающий шаг он не может: для одобрения нужен вход человека.
- Отзовите ключ на том же экране, когда он больше не нужен.
Проверить ключ
curl "$RECURIANT_API/me" -H "Authorization: Bearer $RECURIANT_API_KEY"
Справочник API.
Используйте адрес API, выданный с рабочим пространством. Тела запросов и ответов используют JSON, а /openapi.json предоставляет машиночитаемую схему. Примеры показывают выбранные поля ответа.
GET /me кто вы
Возвращает человека или агента, которому принадлежит ключ, и его рабочее пространство.
Запрос
curl "$RECURIANT_API/me" \ -H "Authorization: Bearer $RECURIANT_API_KEY"
Ответ, сокращённо
{
"sub": "<id>",
"email": "<email>",
"username": "ana",
"tenant": {
"id": "<id>",
"slug": "acme",
"name": "acme"
},
"role": "",
"principal_type": "user",
"principal_id": "<id>"
}
GET /workflows ваши рабочие процессы
Перечисляет рабочие процессы с триггером, условиями, шагами и признаком объявленной проверки результата.
Запрос
curl "$RECURIANT_API/workflows" \ -H "Authorization: Bearer $RECURIANT_API_KEY"
Ответ, сокращённо
{
"workflows": [
{
"name": "first-run",
"on": "plane.label_added",
"conditions": {
"label": "first-run"
},
"steps": 2,
"do": [
{
"action": "agent"
},
{
"action": "plane.comment"
}
],
"has_verify": true
}
],
"defaults": {}
}
GET /actions каталог действий
Перечисляет все действия, доступные вашему ключу, с входными данными, признаком изменения чего-либо за пределами Recuriant, обратимостью, влиянием и уровнем.
Запрос
curl "$RECURIANT_API/actions" \ -H "Authorization: Bearer $RECURIANT_API_KEY"
Ответ, сокращённо
{
"tenant": "acme",
"actions": [
{
"name": "matrix.send",
"kind": "connector",
"mutates_external_state": true,
"reversibility": "reversible",
"impact": "low",
"tier": "L1"
}
],
"total": 1
}
POST /actions/{action} вызвать одно действие
Выполняет действие по имени с настроенными проверками исполнения. Передайте аргументы действия в args. Вызов, продолжающийся в фоне, возвращает 202 с URL состояния в data.
Запрос
curl -X POST "$RECURIANT_API/actions/matrix.send" \
-H "Authorization: Bearer $RECURIANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"args": {"body": "Deploy complete"}}'
Ответ, сокращённо
{
"ok": true,
"output": "<the action output>",
"data": {}
}
POST /dry-run предпросмотр события
Объясняет, какие процессы соответствуют примеру события и почему. Не отправляет задачи и не записывает решения политики. С параметром explain ответ также включает неподошедшие процессы.
Запрос
curl -X POST "$RECURIANT_API/dry-run" \
-H "Authorization: Bearer $RECURIANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"event": "plane.label_added", "vars": {"label": "first-run"}, "explain": true}'
Ответ, сокращённо
{
"event": "plane.label_added",
"vars": {
"label": "first-run"
},
"matched_workflows": 1,
"total_evaluated": 1,
"matches": [
{
"workflow": "first-run",
"matched": true
}
],
"results": [
{
"workflow": "first-run",
"matched": true
}
]
}
GET /executions список запусков
Перечисляет запуски. Фильтры: рабочий процесс, тип, статус или задача. В списке нет журналов шагов; полный журнал доступен при чтении одного запуска.
Запрос
curl "$RECURIANT_API/executions?workflow=first-run" \ -H "Authorization: Bearer $RECURIANT_API_KEY"
Ответ, сокращённо
[
{
"id": "<id>",
"type": "workflow",
"status": "completed",
"workflow_name": "first-run",
"event_type": "plane.label_added",
"started_at": "2026-11-02 09:10:04+00:00",
"finished_at": "2026-11-02 09:12:41+00:00",
"details_included": false,
"step_log": null
}
]
GET /executions/{id} один запуск
Возвращает один запуск с журналом шагов, запуском-родителем, текущим шагом и глубиной вложенности.
Запрос
curl "$RECURIANT_API/executions/<id>" \ -H "Authorization: Bearer $RECURIANT_API_KEY"
Ответ, сокращённо
{
"id": "<id>",
"type": "workflow",
"status": "completed",
"workflow_name": "first-run",
"parent_execution_id": null,
"current_step": 2,
"total_steps": 2,
"depth": 0,
"details_included": true
}
Найдите действия, доступные в вашем рабочем пространстве.
В вашем каталоге перечислены действия, которые разрешают ваши учётные данные. Действия коннектора появляются, когда его интеграция настроена для вашего рабочего пространства, и исчезают, когда она отключена.
Ключ управляемого агента видит только действия для чтения, рабочие процессы и действия своей роли. Каждое действие объявляет, насколько оно обратимо и как далеко распространяется его влияние, и от этого зависит его уровень.
- plane.comment
- обратимо, низкое влияние: L1, выполняется
- plane.issue
- обратимо, низкое влияние: L1, выполняется
- matrix.send
- обратимо, низкое влияние: L1, выполняется
- http
- трудно отменить, низкое влияние: L2, ждёт решения человека
- llm
- только чтение: без проверки
- grafana.query_metrics
- только чтение: без проверки
Подключите клиент MCP.
Сервер MCP Recuriant предоставляет процессы, запуски, записи согласований и действия коннекторов совместимым клиентам, например Claude Code или Cursor. Действия проходят те же настроенные проверки, что и шаги процессов. Сервер пока не опубликован как устанавливаемый пакет; обсудите доступ с командой.
Он аутентифицируется тем же ключом ck_ или cka_, что и API.
Обсудить доступ к MCPНастройте политику действий.
При объявленной политике изменяющие состояние шаги проверяются после вычисления входных параметров и до выполнения. Ваша политика назначает уровням ниже разрешение, согласование или запрет.
- L1
- Обратимо и с низким влиянием. Шаг выполняется. Решение о разрешении записывается без гарантии сохранения, кроме операций, требующих постоянной записи.
- L2
- Остальные изменяющие состояние действия, включая неклассифицированные. Шаг ждёт назначенного согласующего, по умолчанию 24 часа. По истечении срока он отклоняется, если политика не предписывает разрешение или эскалацию. Перед продолжением состояние согласования должно быть сохранено.
- L3
- Необратимо со средним или высоким влиянием либо трудно отменить при высоком влиянии. Шаг отклоняется; доступная запись решения указывает правило.
- Политика не объявлена
- Без объявленной политики шаги процесса выполняются без этих ограничений, и согласование по политике не запрашивается. Применимые полномочия учётной записи по-прежнему проверяются.
- policy_unavailable
- Если объявленную политику не удаётся загрузить, блокируется каждое действие, которое изменило бы внешнюю систему.
Проверьте наступление ожидаемого события.
Процесс может задать событие, означающее завершение, и срок. После своих шагов запуск ждёт этого события. Если срок истекает раньше, он фиксирует отсутствие ожидаемого результата и выполняет настроенные для этого случая дальнейшие шаги.
incident-resolution.yamlСкачать
rules: - name: incident-resolution on: alertmanager.firing if: { severity: critical } do: - agent: { type: incident, context: "Diagnose {alert.name} and propose one change." } as: diagnosis - plane.issue: { title: "[INCIDENT] {alert.name}", description: "{diagnosis}" } - http: { url: "https://deploy.example.com/rollback", method: POST, body: { service: "{alert.namespace}" } } verify: on: alertmanager.resolved within: 30m else: - alert: { severity: critical, summary: "{alert.name} is still firing after 30 minutes" } finally: - matrix.send: "[{_status}] incident-resolution {alert.name}"
Проверено парсером рабочих процессов Recuriant 2026-11-02. Язык рабочих процессов, версия 1.
- verify.on задаёт ожидаемое событие. within устанавливает срок как длительность, например 30m или 24h. Выберите событие, которое представляет нужный наблюдаемый результат.
- else задаёт шаги, которые выполняются по истечении срока без ожидаемого события.
- finally планирует очистку или формирование отчёта после основной части процесса, в том числе при сбое шага.
- Ожидающее действие имеет отдельный срок согласования: по умолчанию 24 часа, настраиваемый политикой. После его истечения действие отклоняется, если политика не задаёт другой исход.
Разберитесь с ошибками и восстановлением.
API возвращает код состояния и описание в JSON. Журналы запусков показывают результаты шагов; доступные решения политики объясняют, почему действие было разрешено, приостановлено для согласования или отклонено.
- 401
- Ключ отсутствует, недействителен или просрочен. Проверьте заголовок Authorization или создайте новый ключ.
- 404
- Неизвестное действие. Вызовите GET /actions, чтобы узнать имена, доступные вашему рабочему пространству.
- 422 invalid_action_arguments
- Аргументы не соответствуют входным данным действия. В описании указано поле; сравните его со входными данными из GET /actions.
- 202
- Принято. Работа продолжается в фоне; опрашивайте URL состояния из data.
- 502, 503
- Проверка ключа временно недоступна. Ваш ключ не признан недействительным: повторите запрос с паузой.
- refused · scope_missing
- Действия нет в токене, с которым идёт запуск. Одобрение этого не исправит: добавьте действие в роль агента или перенесите шаг в рабочий процесс, у которого оно есть.
- refused · policy_unavailable
- Объявленную политику не удалось загрузить. Восстановите её: пока она не загружена, отклоняется каждый шаг, который что-то изменил бы.
Оставьте заявку на Recuriant.
Платный доступ готовится к открытию. Оставьте рабочие контакты и укажите интересующий тариф; мы свяжемся с вами, когда доступ появится.