Настройка статусов
Добавление и изменение пользовательских статусов в конфигурации workspace.
Добавляйте пользовательские статусы и изменяйте существующие.
Просто спросите своего агента. Самый простой способ настроить статусы — описать, что вам нужно:
- «Добавь статус Blocked с красным цветом»
- «Создай статус Waiting для диалогов в ожидании»
- «Добавь статус In Review между In Progress и Done»
Агент автоматически обрабатывает конфигурацию.
Вы также можете настроить статусы вручную, отредактировав файл конфигурации статусов workspace.
Файл конфигурации
Конфигурация статусов хранится по пути:
~/.craft-agent/workspaces/{workspace-id}/statuses/config.jsonСхема конфигурации
Файл конфигурации имеет следующую структуру:
{
"version": 1,
"statuses": [
{
"id": "todo",
"label": "Todo",
"category": "open",
"isFixed": true,
"isDefault": false,
"order": 0
}
],
"defaultStatusId": "todo"
}Свойства статуса
Каждый объект статуса поддерживает следующие свойства:
| Свойство | Тип | Обязательно | Описание |
|---|---|---|---|
id |
string | Да | Уникальный идентификатор (строчные буквы, только дефисы) |
label |
string | Да | Отображаемое имя в интерфейсе |
category |
"open" | "closed" | Да | Определяет размещение в инбоксе или архиве |
isFixed |
boolean | Да | Если true, статус нельзя удалить или изменить метку |
isDefault |
boolean | Да | Если true, статус нельзя удалить, но можно изменить |
order |
number | Да | Порядок отображения (меньшие числа отображаются первыми) |
color |
string | Нет | Шестнадцатеричный цвет (например, "#EF4444") или класс Tailwind |
icon |
string | Нет | Эмодзи (например, "🔥") или URL-адрес файла иконки |
Если
colorне указан, используется цвет по умолчанию из дизайн-системы. Еслиiconне указан, приложение ищет автоматически обнаруженный файл по путиstatuses/icons/{id}.{ext}(поддерживает.svg,.png,.jpg,.jpeg).
Добавление пользовательских статусов
Чтобы добавить пользовательский статус, например, "Blocked" или "Waiting", добавьте новый объект в массив statuses:
{
"id": "blocked",
"label": "Blocked",
"color": "#EF4444",
"icon": "🚫",
"category": "open",
"isFixed": false,
"isDefault": false,
"order": 3
}Убедитесь, что при необходимости скорректировали значения order других статусов, чтобы правильно расположить новый статус.
Пример: Добавление нескольких пользовательских статусов
{
"version": 1,
"statuses": [
{
"id": "backlog",
"label": "Backlog",
"category": "open",
"isFixed": false,
"isDefault": true,
"order": 0
},
{
"id": "todo",
"label": "Todo",
"category": "open",
"isFixed": true,
"isDefault": false,
"order": 1
},
{
"id": "in-progress",
"label": "In Progress",
"icon": "🔄",
"category": "open",
"isFixed": false,
"isDefault": false,
"order": 2
},
{
"id": "blocked",
"label": "Blocked",
"color": "#EF4444",
"icon": "🚫",
"category": "open",
"isFixed": false,
"isDefault": false,
"order": 3
},
{
"id": "waiting",
"label": "Waiting",
"icon": "⏳",
"category": "open",
"isFixed": false,
"isDefault": false,
"order": 4
},
{
"id": "needs-review",
"label": "Needs Review",
"category": "open",
"isFixed": false,
"isDefault": true,
"order": 5
},
{
"id": "done",
"label": "Done",
"category": "closed",
"isFixed": true,
"isDefault": false,
"order": 6
},
{
"id": "cancelled",
"label": "Cancelled",
"category": "closed",
"isFixed": true,
"isDefault": false,
"order": 7
}
],
"defaultStatusId": "todo"
}Настройка иконок
Иконки можно настроить несколькими способами:
Файловые иконки (рекомендуется)
Поместите файл SVG в каталог statuses/icons/ с именем, соответствующим идентификатору статуса:
statuses/icons/blocked.svg
statuses/icons/waiting.svgЭти файлы автоматически обнаруживаются — конфигурация не требуется.
Эмодзи-иконки
Установите свойство icon в эмодзи:
"icon": "🔥"Быстро и просто, работает везде.
URL-иконки
Укажите URL-адрес файла иконки:
"icon": "https://example.com/icon.svg"Иконка автоматически загружается и кэшируется локально.
Руководство по SVG-иконкам
При создании пользовательских SVG-иконок:
- Размер: 24x24 пикселей
- Используйте
currentColorдля заливки/обводки, чтобы поддерживать тему - stroke-width: 2
- stroke-linecap: round
- stroke-linejoin: round
Изменение цветов
Установите свойство color, чтобы настроить внешний вид статуса:
{
"id": "blocked",
"label": "Blocked",
"color": "#EF4444",
...
}Вы можете использовать:
- Шестнадцатеричные цвета: "#EF4444", "#22C55E"
- Классы Tailwind: "text-red-500", "text-green-500"
Фиксированные статусы
Следующие статусы нельзя удалить или переименовать:
| ID | Почему фиксирован |
|---|---|
todo |
Статус по умолчанию для новых диалогов |
done |
Необходимое закрытое состояние для завершённой работы |
cancelled |
Необходимое закрытое состояние для прекращённой работы |
Вы всё ещё можете настроить их свойства color и icon.
Валидация
Всегда проверяйте конфигурацию после внесения изменений.
После редактирования файла конфигурации проверьте его, чтобы выявить ошибки до их возникновения:
config_validate({ target: "statuses" })Валидатор проверяет:
- Существование обязательных фиксированных статусов (
todo,done,cancelled) - Отсутствие дубликатов идентификаторов статусов
- Ссылка
defaultStatusIdна существующий статус - Наличие хотя бы одного статуса в каждой категории (open и closed)
- Существование файлов иконок при ссылке на них
Недопустимые конфигурации возвращаются к значениям по умолчанию во время выполнения, но валидация помогает выявлять проблемы заранее.
Нужен такой агент в вашей компании?
Устанавливаем под ключ: настройка на компьютерах сотрудников, единый аккаунт, интеграция с 1С и внутренними системами, обучение команды. Подробнее о внедрении →