Disputa

Командная строка и агенты

Как работать с Disputa из терминала командой disputa и подключить своего агента — Claude Code, Codex, Cursor.

disputa — Disputa в терминале. Всё, что вы делаете на сайте, можно сделать командой: посмотреть работы и сроки, сдать работу и прочитать вердикты агента, отметить посещаемость, выгрузить ведомость, прислать курс как код, нарисовать на доске. Те же команды понимает ваш агент: он работает от вашего имени и не шире ваших прав.

Установить

Нужен Node.js 22 или новее.

npm install -g disputa      # или: pnpm add -g disputa, bun add -g disputa
disputa --version

После установки команда disputa доступна в терминале сразу.

Войти

disputa login
  1. Откроется браузер — войдите в Disputa как обычно.
  2. Нажмите «Войти в терминале».
  3. Терминал войдёт сам — за пару секунд.

Если терминал на другом компьютере (сервер по SSH) или запущен с --no-browser, он напечатает ссылку и код: откройте ссылку на любом устройстве и введите код.

Секрет входа создаётся на вашем компьютере и не передаётся ни в ссылке, ни через браузер: страница отдаёт подтверждение только терминалу на этом же компьютере. Вход действует 90 дней с вашими правами в организации; он виден в меню аккаунта → «Токены API», там его можно отозвать.

Только свой вход

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

командачто делает
disputa loginвойти
disputa login --no-browserне открывать браузер: ссылка и код — для другого устройства
disputa login --server https://…своя установка Disputa (вуз, компания)
disputa login --token dsp_…войти готовым токеном со страницы «Токены API»
disputa whoamiкто вошёл, куда, какой курс выбран
disputa logoutвыйти и отозвать вход

Выбрать курс

Почти все команды работают с одним потоком курса. Выберите его один раз:

disputa use               # ваши курсы
disputa use "4 курс"      # выбрать по части названия
disputa use --clear       # забыть выбор

Если курс один, он выбирается сам при входе. Другой поток для одной команды — --run <id>.

Команды

disputa --help                  # разделы
disputa work --help             # команды раздела
disputa work submit --help      # аргументы и флаги команды
разделчто внутри
workмои работы: задание, критерии, сдача, вердикты агента, перепроверка
teamsмоя команда, тема, что дальше
courseматериалы и лекции, история приёмок, доска потока
notifyчто ждёт моего действия
scheduleсроки и личные продления
attendanceзанятия, отметки, сводка посещаемости
peopleлюди и команды потока глазами преподавателя
decisionsчто ждёт решения организатора
outcomeитоги и ведомость
contentсодержание курса: работы, критерии, темы, версии
forgeрепозитории и хостинги кода
boardsдоски
apiлюбой запрос к API, если нужной команды нет

Команды приходят с сервера: когда на сайте появляется новая возможность, в disputa появляется команда — переустанавливать не нужно. Показываются только команды, которые открывают ваши права: студент не видит разделов преподавателя. Получили новую роль — disputa whoami обновит список сразу.

Студенту

disputa work mine                    # работы, сроки, состояние
disputa work get 2                   # задание, критерии, сдача и вердикты агента
disputa work submit 2 --url https://github.com/org/repo/pull/7
disputa work recheck <submissionId> --note "исправил метрику"
disputa teams get                    # команда и тема
disputa notify inbox                 # что ждёт моего действия

Преподавателю и организатору

disputa people flow                  # поток: кто где, кто молчит, кто выбыл
disputa people work <personId> 2     # работа участника: сдача, вердикты, долги
disputa attendance summary           # посещаемость потока
disputa schedule get                 # сроки потока
disputa outcome sheet                # ведомость; если не готова — что мешает

Автору курса

disputa content courses                                  # курсы, которые я могу править
disputa content submit <courseId> --data @course.json    # курс как код: снимок и разбор
disputa content check <courseId>                         # что мешает опубликовать
disputa content publish <courseId>

Ответы и ошибки

  • Ответ — JSON. Короче и нагляднее — --format toon (или yaml, md), только нужные поля — --filter-output items.title,items.dueAt.
  • Простые поля — флагами (--title "…"). Сложное тело запроса — целиком: --data '{"…"}', --data @file.json или --data - (из stdin); флаги ложатся поверх.
  • Ошибка — JSON с code и message: что не так и что делать. Код выхода: 0 — успех, 1 — ошибка, 3 — данные изменились с момента чтения (перечитайте и повторите).
  • Команду безопасно повторить после обрыва связи: одно и то же действие дважды не выполнится.

Подключить агента

disputa skills add        # навыки для Claude Code, Codex, Cursor и других
disputa mcp add           # или: disputa как MCP-сервер агента
disputa --llms            # каталог всех команд одной таблицей

После этого попросите агента, например: «какие у меня работы в Disputa и сроки?», «почему агент не засчитал критерий про метрику?» или «нарисуй на доске схему архитектуры нашего проекта». Сдать работу, отозвать сдачу, опубликовать курс или удалить что-либо агент должен только после вашего «да».

Доски

disputa boards list                          # свои доски и доски курса
disputa boards create --title "Архитектура"
disputa boards inspect <id> --overview       # что на доске
disputa boards render <id> --out board.png   # снимок доски картинкой
disputa boards export <id> --out ./board     # выгрузить; --as excalidraw — одним файлом

Для render нужен Google Chrome или Chromium. Как рисовать на доске и вставлять интерактивные блоки, агент узнаёт из навыков после disputa skills add. Подробнее о досках — Доски.

Без терминала, в CI и скриптах

Чату без терминала (claude.ai, ChatGPT) подходит MCP-сервер платформы — адрес и команда подключения на странице «Токены API».

Скрипту и CI — токен со страницы «Токены API» в переменных окружения:

переменнаячто задаёт
DISPUTA_TOKENтокен dsp_…
DISPUTA_URLадрес платформы, если не основной
DISPUTA_RUNкурс (поток) по умолчанию
DISPUTA_CONFIG_DIRгде хранить вход

Переменные сильнее сохранённого входа. Вход хранится в ~/.config/disputa/config.json (Windows — %APPDATA%\disputa), доступ к файлу — только у владельца. Сам API описан на странице /api/v1/docs.

Обновить

disputa раз в сутки проверяет новую версию и подсказывает:

disputa --update

Автодополнение команд: eval "$(disputa completions zsh)" (или bash, fish).

На этой странице