Веб-интерфейс показывает, что делали ваши агенты: какие есть задачи, кто над ними сейчас работает, как проверялся каждый результат и что агент получил на старте. Интерфейс встроен в бинарник istok, не требует аккаунта и доступен только с вашего компьютера.
Открыть интерфейс
istok ui
Istok запускает интерфейс на http://127.0.0.1:7700, выводит адрес и открывает браузер. Он работает, пока вы не нажмёте Ctrl+C.
--no-openвыводит адрес, но не открывает браузер.--port 7800задаёт другой порт;--port 0выбирает свободный. Можно использовать иISTOK_UI_PORT.--database PATHуказывает свою базу данных, как и в других командах.
Чтобы интерфейс работал в фоне на Linux, см. Обновления и служба веб-интерфейса.
Проекты и задачи
На стартовой странице у каждого проекта своя карточка: путь, открытые, заблокированные и выполненные задачи, активные и зависшие запуски, последняя активность. Проекты можно сортировать по активности, имени или дате создания.
Откройте проект, чтобы увидеть его задачи. Их можно фильтровать по состоянию (не выполненные, открытые, заблокированные, выполненные, все) или искать по названию и номеру. На странице задачи — описание, критерии приёмки и заметки, полная история, зависимости в обе стороны и все запуски, которые над ней работали.
Раздел Knowledge на странице проекта — каталог знаний проекта со статусом и видом каждой заметки. Он доступен только для чтения.
Запуски
Runs в верхней панели — лента запусков по всем проектам, сгруппированная по дням. Её можно фильтровать по имени проекта или по состоянию:
- Running — агент ещё посылает сигналы активности (heartbeat);
- Stale — агент перестал посылать сигналы, и аренда истекла; лента показывает, когда от него было последнее известие;
- Succeeded — успешные;
- Failed & stopped — неудачные, заблокированные, отменённые и прерванные запуски.


Страница запуска
В шапке видно, кто выполнял попытку, когда и сколько она длилась, с какой ветки и коммита Git началась, и итоговое резюме. Ниже три вкладки.
Validations — список записанных проверок: прошла ли каждая и какая команда за ней стоит. Здесь видно, как проверяли результат.
Executions — команды, которые агент запускал через Istok.
What the agent saw — контекст, сохранённый в момент, когда агент взял задачу:
- бюджет контекста и сколько из него заняли сохранённый контекст и найденный код;
- доставленные записи контекста с режимом доставки и причиной, по которой выбрана каждая;
- фрагменты кода из поиска с путём к файлу, диапазоном строк и оценкой;
- сводка знаний: названия и краткие описания актуальных заметок.


Когда агент ошибся, эта вкладка покажет, не хватало ли ему нужной информации или она была, но агент её проигнорировал. Как собирается контекст, описано в разделе Контекст и знания.
Поиск, темы и обновления в реальном времени
Нажмите Ctrl+K (⌘K на macOS), чтобы открыть поиск. Внутри проекта он ищет задачи, знания и проекты, в остальных местах — проекты.
Интерфейс следует светлой или тёмной теме системы. Переключить тему можно кнопкой или клавишей D.
Перезагружать страницу не нужно. Когда агент создаёт задачу, записывает прогресс или завершает запуск, открытая страница обновляется примерно за секунду. Точка в шапке показывает, подключены ли обновления в реальном времени; без них интерфейс обновляется раз в несколько секунд.
Прервать зависший запуск
Зависший запуск по-прежнему держит задачу, поэтому она остаётся в работе. Нажмите Abandon у запуска в ленте, на странице запуска или на странице задачи. Это действие:
- закрывает запуск со статусом
abandoned(«прерван») и оставляет его в истории; - освобождает задачу, чтобы её мог взять другой агент;
- записывает вашу причину в историю задачи или причину по умолчанию, если вы её не указали.
Интерфейс не даст прервать запуск, агент которого ещё посылает сигналы активности. В терминале то же самое делает istok run abandon. См. также Несколько агентов в одном проекте.
Удалить проект
Откройте проект, в меню действий рядом с его названием выберите Delete project и введите название для подтверждения. Проект исчезнет из списка, а его директорию можно будет зарегистрировать снова. Задачи, запуски и история остаются в базе данных, файлы репозитория не затрагиваются. Чтобы вернуть проект:
istok project restore acme-api
Доступ и безопасность
Интерфейс слушает только 127.0.0.1, поэтому другие компьютеры в сети до него не достучатся. Входа и токена у него нет намеренно: интерфейс рассчитан на то, чтобы работать постоянно. Вместо этого он защищается от сайтов, открытых в вашем браузере:
- запросы должны идти на
127.0.0.1илиlocalhostс портом интерфейса — это блокирует DNS rebinding; - API-запросы с чужого origin отклоняются — это блокирует подделку межсайтовых запросов (CSRF).
Все флаги — в справке по istok ui.