---
name: yourstack-inbox
description: Разбирает входящие обращения через Yourstack: спам, категория, срочность и нужен ли человек. Use when sorting emails, tickets, Telegram messages, or a batch of customer requests into these fixed categories.
---

# Разбор входящих

Каждое письмо, сообщение или заявка разбирается по готовым вопросам. Варианты уже заданы: модель не придумывает свои и не пишет абзац, который потом приходится разбирать.

Навык вызывает JEV — бесплатную модель Yourstack, которая выбирает из вариантов. Она не пишет текст. На каждый вопрос возвращает долю только тех вариантов, которые перечислены ниже.

## Ключ

Возьми ключ из переменной окружения `YOURSTACK_API_KEY`. Если её нет, один раз спроси ключ у пользователя. Не записывай ключ в файлы проекта и не повторяй его в ответе.

Адрес API: `https://yourstack.ru`

## Предел

Вызовы `POST /v1/decisions` бесплатны, лимита на их число нет. Если модель перегружена и вернула 429, подожди несколько секунд и повтори тот же вызов. Вход длиннее 32000 токенов сервис отклонит, обрезать его он не будет.

## Вопросы

Задавай их по порядку, каждый отдельным вызовом. Формулировки и варианты не меняй. Свой вариант не добавляй.

### Спам

Ключ вопроса: `spam`

Вопрос, дословно: Это обращение — спам?

Варианты, дословно:

- id `no`: Живое обращение клиента по его делу.
- id `yes`: Спам, реклама или сообщение не по адресу.
### Категория

Ключ вопроса: `category`

Вопрос, дословно: К какой категории относится обращение?

Варианты, дословно:

- id `price`: Вопрос о цене, сроке или условиях, работы ещё не было.
- id `repair`: Просьба починить, настроить или приехать.
- id `refund`: Возврат денег или жалоба на уже оказанную услугу.
- id `other`: Сотрудничество, реклама или ни одна категория не подходит.
### Срочность

Ключ вопроса: `urgency`

Вопрос, дословно: Насколько срочно ответить?

Варианты, дословно:

- id `today`: Клиент ждёт ответ сегодня, ситуация острая.
- id `later`: Можно ответить в обычные сроки, в ближайшие дни.
- id `none`: Отвечать не нужно.
### Кто отвечает

Ключ вопроса: `human`

Вопрос, дословно: Нужен ли здесь человек, а не шаблон?

Варианты, дословно:

- id `human`: Спор, сильные эмоции или нестандартный случай. Лучше ответит человек.
- id `template`: Хватит обычного ответа по шаблону.

## Вызов

`POST https://yourstack.ru/v1/decisions`

Заголовки: `Authorization: Bearer <ключ>`, `Content-Type: application/json`.

Тело:

```json
{
  "state": "<текст одного обращения или одной задачи>",
  "question": "<вопрос дословно>",
  "options": [
    {"id": "<id>", "description": "<описание дословно>"}
  ]
}
```

В ответе `choice` — id ближайшего варианта. У каждого варианта в `options` есть `probability` от 0 до 1.

Доля — это не уверенность модели и не обещание, что выбор верный. Если у ближайшего варианта probability ниже 0,6, пометь вопрос как «неясно» и не принимай решение автоматически.


## Что ответить пользователю

Не подменяй ответ модели своей догадкой. Если вызов не удался, так и скажи. В конце укажи, сколько было вызовов JEV. Они бесплатны. Если навык вызывал чат, назови сумму из заголовка `X-Yourstack-Cost-Rub`.
