Консоль Farsight
Локальная веб-консоль и единственная точка входа: папка игры, запуск и остановка служб и экземпляров игры, настройка следующего матча, мысли ИИ, ручные приказы, режиссура, история матчей.
Farsight — веб-консоль, работающая на вашем компьютере; она слушает только 127.0.0.1. Это и единственная точка входа во всю систему: запуск матчей, смена ИИ, шлюз, облачка реплик, локальная LLM — всё здесь, искать другие скрипты не нужно.
start.bat # проверить развёртывание, затем открыть Farsight http://127.0.0.1:8866
start.bat 5 6 # заодно начать тест на экземплярах 5 и 6 (игра + эталонный мозг)
start.bat restart # перезапустить только бэкенд Farsight (после изменения серверного кода; игры и службы не затрагиваются)
stop.bat # полностью остановить всё
Порт меняется в ports.console файла openwar3.json (по умолчанию 8866).
Центр управления
Главная страница Farsight.
- Папка игры: найти автоматически или выбрать вручную; проверка версии игры, извлечение данных из вашей игры.
- Локальные службы: шлюз, облачка реплик, локальная LLM (LM Studio), локальный предпросмотр сайта — на каждой карточке можно запустить, остановить, перезапустить службу и посмотреть логи; кроме того, видно, подключил ли клиент MCP-сервер.
- Проверка окружения: установлены ли Python, файлы рантайма, игровые данные, данные AMAI и остальные части.
- «Остановить всё» (в правом верхнем углу): по очереди останавливает экземпляры игры, ИИ, шлюз, облачка, локальную модель, которую использует система, и бэкенд Farsight — то же самое, что двойной щелчок по
stop.bat. MCP-сервер принадлежит клиентам вроде Claude и не останавливается; сама программа LM Studio тоже не закрывается.
Страницы
| Группа | Страница | Назначение |
|---|---|---|
| Главное | Центр управления | См. предыдущий раздел |
| Матч | Обзор | Сводка по матчу текущего экземпляра |
| Командование боем | Вид карты; можно отдавать приказы вручную (ручные команды имеют в таблице захватов наивысший приоритет: 95) | |
| Данные юнитов | Приказ, текущая цель, мана, уровень и опыт героя, перезарядка способностей, инвентарь каждого юнита | |
| Решения ИИ / боевые решения | О чём эталонный мозг думает в этот тик, подробности каждого боевого решения | |
| Советник по стратегии | Состояние LLM-советника: работает ли сервис модели, подключён ли каждый экземпляр, последний совет и входные данные, которые он видел | |
| Режиссёрский пульт | Автооператор камеры, полоски здоровья над юнитами | |
| Облачка реплик | Заставить юнитов говорить, разговор с локальной моделью, посиделки крестьян, диалоги в кадре, реакция на события, настройки модели. См. Реплики и локальные модели | |
| Скорость команд | APM и пропускная способность команд | |
| События и ввод | Что произошло в этом матче: применение способностей, чат и экранные сообщения, нажатия кнопок, горячие клавиши, клики по земле, выделение, уход игроков — с фильтром по категориям; рядом — позиция мыши, элемент под курсором и локальное выделение. См. Интерфейс и ввод | |
| Записи | Логи / история матчей | Источники логов каждого экземпляра; итог, длительность и пиковая численность армии в каждом матче |
| Заметки о проблемах | Нажмите в игре Pause/Break, чтобы поставить паузу и отметить момент, а описание добавьте здесь позже | |
| Система | Экземпляры и запуск | Запуск и остановка экземпляров; для следующего матча — карта (карта для боёв, а можно выбрать и RPG / пользовательскую), расы сторон, сложность и скорость игры; для каждого экземпляра — своя ИИ-схема; «Начать тест» — игра + ИИ в один клик |
| ИИ-схемы | Импорт, экспорт, копирование, доверие, удаление схем; переключение схемы на экземпляре (даже в идущем матче управление сразу перехватит другой ИИ); результаты каждой схемы. См. ИИ-схемы | |
| Консоль JASS | Пишете JASS-скрипт и нажимаете «Выполнить»; справа — 1291 функция по категориям, щелчок вставляет функцию в скрипт; переменные сохраняются до конца матча. См. JASS-канал | |
| Подключение и расширения | Состояние шлюза и запуск в один клик; адреса подключения для каждой роли (разработчик / игрок / наблюдатель), команды и конфигурация для подключения MCP; примеры на JS и Python. См. Шлюз и MCP | |
| Данные и диск | Сколько места на диске занимают записи, история матчей, логи и другие рабочие данные, сколько добавилось за последние сутки и что можно удалить (Farsight сам ничего не удаляет) | |
| Настройки | Папка игры, язык интерфейса, оформление (тёмная / светлая тема, современный стиль / стиль Warcraft) и т. п. | |
| Отзывы и предложения | Столкнулись с проблемой или есть идея — отправьте её нам прямо отсюда; диагностическая информация прикладывается, только если вы отметите флажок, и перед отправкой её можно просмотреть |
Нажмите Ctrl + K, чтобы открыть палитру команд: переход по страницам, смена экземпляра, завершение текущего матча, запуск нового мозга.
Раздел «Что нового» внизу боковой панели показывает, что недавно появилось в Farsight и в платформе. При запуске (и затем каждые 6 часов) Farsight спрашивает War3AI.com, не вышла ли новая версия, и если вышла — сообщает вам. Когда Farsight обновляется, вверху страницы появляется баннер: сохраните то, что вводите, и нажмите «Обновить».
Несколько экземпляров
За запуск нескольких копий отвечает runtime/farm.py (Farsight вызывает его за вас, когда запускает и останавливает экземпляры): оригинальный загрузчик War3.exe копируется под именем War3-<N>.exe (никакие файлы игры не изменяются), у каждого экземпляра свой номер и свой каталог (bin/inst<N>/). После окончания матча следующий запускается автоматически по next_game.json (именно его редактирует страница «Экземпляры и запуск» в консоли).
Ваш бот подключается к нужному экземпляру через --inst N. На странице «Экземпляры и запуск» видно, какие номера заняты, — не берите номер, на котором работает эталонный мозг.
Страница для стрима
http://127.0.0.1:8866/live — страница с прокручивающимся логом, которую удобно добавить в OBS как источник типа «Браузер»: на ней видны решения ИИ и ход боя.
API
Серверная часть консоли — набор локальных REST- и WebSocket-методов (состояние экземпляров, настройки следующего матча, подробности по юнитам, ручные приказы, логи, история матчей, режиссура, ИИ-схемы, вызовы JASS, холст…), а веб-страница — лишь один из клиентов: вызывать их напрямую может программа на любом языке. Список методов приведён в шапке файла console/server/app.py; как работать с группами схем, JASS и холста, описано на страницах ИИ-схемы, JASS-канал и Холст.