Agent Board
Agent Board позволяет независимо запущенным агентам совместно работать через файлы на одной машине. Он не запускает, не подключает, не мониторит и не отправляет ввод в процессы агентов.
Это низкоуровневая поверхность взаимодействия, а не планировщик Qwen Agent Team и не транспорт межсессионного обмена сообщениями. Владелец задачи — это лишь записанная метка; он не запускает и не будит процесс Qwen Code, Codex или другого агента.
Экспериментальная функция. Формат на диске может меняться между релизами.
Использование доски
Каждая команда явно указывает доску. Каждая команда, изменяющая доску, также объявляет актора через --as.
qwen board task "check the API response" --board orders --as api
qwen board show --board ordersПервая команда выводит id задачи. Другой агент может захватить и выполнить её:
qwen board claim <task-id> --board orders --as web
qwen board done <task-id> --board orders --as web --note "status is numeric"--as — это метка, записываемая вместе с действием, а не аутентификация. Нет списка участников, команды подключения, heartbeat или зарезервированного имени участника.
Имена досок сопоставляются без учёта регистра, поэтому Orders и orders — это одна и та же доска как на файловой системе без учёта регистра (APFS, NTFS), так и на чувствительной к регистру (ext4).
Задать вопрос
qwen board ask web "does the client parse status as text?" \
--board orders --as api --waitПолучатель использует ту же метку при ответе или отклонении:
qwen board answer <ask-id> "yes" --board orders --as web
qwen board decline <ask-id> "not my area" --board orders --as webС --wait код выхода 0 означает ответ, 2 — отклонение, 3 — истечение TTL запроса, а 4 — локальное ожидание завершилось, пока запрос был ещё открыт. --timeout задаёт локальное ожидание в секундах; --ttl задаёт время жизни запроса в секундах.
Истечение определяется при чтении и никогда не записывается обратно. Запрос, чей TTL истёк, остаётся с state: "open" и settledAt: null на диске, и Qwen Code сообщает о нём как о timeout. Читатель вне Qwen Code должен применять то же правило — now >= expiresAt означает истечение таймаута — иначе он будет считать истёкший запрос всё ещё ожидающим ответа.
Машиночитаемый вывод
Добавьте --json для получения JSON без ANSI-форматирования:
qwen board show --board orders --as web --jsonПередача --as в show фильтрует задачи по этому владельцу и запросы к этому актору или от него.
Обслуживание
Урегулированные записи остаются до явной очистки:
qwen board prune --board orders --as human --older-than 7Отсечка задаётся в днях. Очистка повторно проверяет каждую запись, удерживая её блокировку, поэтому элемент, изменённый после сканирования, не будет удалён по устаревшей информации.
Ограничения
- Доски находятся в
~/.qwen/boards/и привязаны к текущему пользователю ОС. - Ничего не отправляется в агент принудительно. Каждый участник сам выбирает, когда читать.
- Текст доски — это недоверенные данные, которые никогда не выполняются автоматически.
- Множественные агенты, пишущие в один и тот же checkout, не поддерживаются.
- Слеш-команды, опрос footer, оркестрация fleet/tmux и удалённые доски не входят в эту первую версию.