# Farsight 콘솔

> 로컬 웹 콘솔이자 유일한 진입점입니다. 게임 디렉터리 설정, 각 서비스 시작과 중지, 게임 인스턴스 시작과 중지, 다음 게임 설정, AI의 생각 보기, 수동 명령, 중계 연출, 대전 기록을 제공합니다.

출처: https://war3ai.com/ko/docs/console/

Farsight는 여러분의 컴퓨터에서 실행되는 웹 콘솔이며, **127.0.0.1에서만 수신 대기합니다**. 시스템 전체의 유일한 진입점이기도 합니다. 게임 시작, AI 교체, 게이트웨이, 머리 위 말풍선, 로컬 LLM을 모두 여기서 조작하므로 다른 스크립트를 찾을 필요가 없습니다.

```bash
start.bat                 # 배포 확인 후 Farsight http://127.0.0.1:8866 열기
start.bat 5 6             # 5, 6번 인스턴스의 테스트도 함께 시작(게임 + 레퍼런스 브레인)
start.bat restart         # Farsight 백엔드만 재시작(서버 코드를 고친 뒤 사용. 게임과 각 서비스는 영향 없음)
stop.bat                  # 모두 완전히 중지
```

포트는 `openwar3.json`의 `ports.console`에서 바꿉니다(기본값 8866).

## 컨트롤 센터

Farsight의 첫 화면입니다.

- **게임 디렉터리**: 자동으로 찾거나 직접 고르고, 게임 버전을 확인하고, 여러분의 게임에서 데이터를 추출합니다.
- **로컬 서비스**: [게이트웨이](https://war3ai.com/ko/docs/gateway/), [머리 위 채팅 말풍선](https://war3ai.com/ko/docs/speech/), 로컬 LLM(LM Studio), 웹사이트 로컬 미리보기. 카드마다 시작, 중지, 재시작, 로그 보기를 할 수 있습니다. [MCP](https://war3ai.com/ko/docs/mcp/) 서버가 클라이언트에 연결되어 있는지도 표시합니다.
- **환경 점검**: Python, 런타임 파일, 게임 데이터, AMAI 데이터 등 각 부분이 제대로 설치됐는지 보여 줍니다.
- **모두 중지**(오른쪽 위): 게임 인스턴스, AI, 게이트웨이, 말풍선, 이 시스템이 쓰는 로컬 모델, Farsight 백엔드를 차례로 모두 멈춥니다. `stop.bat`을 더블클릭하는 것과 같습니다. MCP 서버는 Claude 같은 클라이언트가 관리하므로 중지되지 않고, LM Studio 프로그램 자체도 닫히지 않습니다.

## 페이지

| 그룹 | 페이지 | 하는 일 |
|---|---|---|
| 총괄 | 컨트롤 센터 | 앞 절 참고 |
| 대전 | 개요 | 현재 인스턴스의 대전 현황 |
| | 전장 지휘 | 맵 뷰. 수동 명령 가능(수동 명령은 점유 테이블에서 우선순위가 가장 높음: 95) |
| | 유닛 데이터 | 유닛별 오더, 작업 대상, 마나, 영웅 레벨과 경험치, 스킬 쿨다운, 인벤토리 |
| | AI 결정 / 전투 결정 | 레퍼런스 브레인이 이번 틱에 무슨 생각을 하는지, 전투 결정 하나하나의 상세 내용 |
| | 운영 코치 | [LLM 참모](https://war3ai.com/ko/docs/llm-coach/)의 상태: 모델 서버가 떠 있는지, 인스턴스마다 연결됐는지, 가장 최근 제안과 그때 본 입력 |
| | 중계 데스크 | 자동 카메라 연출, 머리 위 체력 바 |
| | 머리 위 말풍선 | 유닛이 말하게 하기, 로컬 모델과 대화, 일꾼 수다 모임, 카메라 대화, 전황 트리거, 모델 설정. [머리 위 말풍선](https://war3ai.com/ko/docs/speech/) 참고 |
| | 명령 속도 | APM과 명령 처리량 |
| | 이벤트와 입력 | 이번 게임에서 일어난 일: 스킬 시전, 채팅과 화면 메시지, 버튼 클릭, 단축키, 지면 클릭, 선택, 플레이어 퇴장. 분류별로 필터링 가능. 옆에는 마우스 위치, 마우스를 올린 항목, 로컬 플레이어의 선택. [UI와 입력](https://war3ai.com/ko/docs/ui-input/) 참고 |
| 기록 | 로그 / 대전 기록 | 인스턴스별 로그 소스, 게임마다 결과, 경기 시간, 최대 병력 |
| | 이슈 메모 | 게임 중 Pause/Break를 눌러 일시 정지하고 시점을 기록한 뒤, 나중에 여기서 설명을 보충 |
| 시스템 | 인스턴스와 게임 시작 | 인스턴스 시작/중지. **다음 게임**의 맵(대전 맵, RPG / 커스텀 맵도 선택 가능), 양측 종족, 난이도, 배속 설정. 인스턴스마다 AI 스킴 하나를 선택. "테스트 시작"으로 게임 + AI를 한 번에 실행 |
| | AI 스킴 | 스킴 가져오기, 내보내기, 복사, 신뢰, 삭제. 인스턴스의 스킴 전환(진행 중인 게임도 즉시 다른 AI가 이어받게 할 수 있음), 스킴별 전적 확인. [AI 스킴](https://war3ai.com/ko/docs/schemes/) 참고 |
| | JASS 콘솔 | JASS 스크립트를 작성하고 실행. 오른쪽에서 함수 1291개를 분류별로 조회하고 클릭 한 번으로 스크립트에 삽입. 변수는 같은 게임 안에서 계속 유지됨. [JASS 채널](https://war3ai.com/ko/docs/jass/) 참고 |
| | 연결과 확장 | 게이트웨이 상태와 원클릭 시작. 개발 / 플레이어 / 관전자 역할별로 생성한 연결 주소, MCP 연결 명령과 설정. JS, Python 예제. [게이트웨이](https://war3ai.com/ko/docs/gateway/), [MCP](https://war3ai.com/ko/docs/mcp/) 참고 |
| | 데이터와 디스크 | 녹화, 대전 기록, 로그 등 실행 데이터가 각각 디스크를 얼마나 차지하는지, 최근 하루 동안 얼마나 늘었는지, 무엇을 지워도 되는지(Farsight는 아무것도 자동으로 삭제하지 않음) |
| | 설정 | 게임 디렉터리, 인터페이스 언어, 외관(다크 / 라이트, 모던 / 워크래프트 스타일) 등 |
| | 피드백과 제안 | 문제가 생기거나 제안이 있으면 바로 보냄. 진단 정보는 체크했을 때만 첨부하며, 보내기 전에 미리 볼 수 있음 |

Ctrl + K를 누르면 명령 팔레트가 열립니다. 페이지 이동, 인스턴스 전환, 현재 게임 종료, 새 브레인 시작을 할 수 있습니다.

사이드바 아래쪽의 "최근 업데이트"에는 Farsight와 플랫폼에 최근 추가된 내용이 나옵니다. Farsight는 시작할 때(그 뒤로는 6시간마다) War3AI.com에 새 버전이 있는지 확인하고, 있으면 알려 줍니다. Farsight가 업데이트되면 페이지 위쪽에 배너가 뜹니다. 입력 중인 내용을 저장한 다음 "새로 고침"을 누르세요.

## 다중 인스턴스

`runtime/farm.py`이 다중 실행을 맡습니다(Farsight가 인스턴스를 시작하고 중지할 때 대신 호출합니다). 원본 `War3.exe` 런처를 `War3-<N>.exe`로 복사해 이름을 바꾸고(게임 파일은 전혀 수정하지 않음), 인스턴스마다 번호 하나와 디렉터리 하나(`bin/inst<N>/`)를 둡니다. 한 게임이 끝나면 `next_game.json`(콘솔의 "인스턴스와 게임 시작" 페이지에서 바꾸는 파일)에 따라 다음 게임을 자동으로 시작합니다.

> **팁**
>
> 여러분의 Bot은 `--inst N`으로 지정한 인스턴스에 연결합니다. 콘솔의 "인스턴스와 게임 시작" 페이지에서 어떤 번호가 사용 중인지 볼 수 있으니, 레퍼런스 브레인과 번호가 겹치지 않게 하세요.

## 방송 페이지

`http://127.0.0.1:8866/live`는 OBS의 "브라우저 소스"에 넣기 좋은 스크롤 로그 페이지로, AI의 결정과 전황을 보여 줍니다.

## API

콘솔의 서버는 로컬 REST + WebSocket API 모음(인스턴스 상태, 다음 게임 설정, 유닛 상세, 수동 명령, 로그, 대전 기록, 중계 연출, AI 스킴, JASS 호출, 캔버스……)이며, 웹 페이지는 그 클라이언트 중 하나일 뿐이고 어떤 언어의 프로그램이든 직접 호출할 수 있습니다. API 목록은 `console/server/app.py`의 파일 헤더에 적혀 있습니다. 스킴, JASS, 캔버스 세 그룹의 사용법은 각각 [AI 스킴](https://war3ai.com/ko/docs/schemes/), [JASS 채널](https://war3ai.com/ko/docs/jass/), [캔버스](https://war3ai.com/ko/docs/canvas/)를 참고하세요.
