외부 액세스 (CLI 및 AI 클라이언트)
외부 액세스를 사용하면 로컬 명령줄 프로그램과 MCP 지원 AI 클라이언트가 sctl을 통해 ScriptCat의 스크립트를 관리할 수 있습니다.
AI client ── stdio MCP ──▶ sctl mcp ── local control API ──▶ sctl serve ── WebSocket ──▶ ScriptCat
CLI ────────────────────────────────────────────────────────▲
sctl serve는 명시적으로 시작해야 하는 별도의 로컬 데몬입니다. sctl mcp와 요청 명령은 데몬을
자동으로 시작하지 않습니다. 소스 공개 또는 쓰기 허용 여부는 항상 ScriptCat의 정책과 브라우저 확인 UI가
결정하며, 외부 프로그램이 자신의 요청을 승인할 수 없습니다.
sctl은 기본적으로 127.0.0.1에서 수신 대기합니다. --listen-address가 명시적으로 전달된 경우에만 다른
인터페이스에서 수신 대기합니다. ws://는 비즈니스 트래픽을 암호화하지 않으며 원격 클라이언트 간 격리도
없으므로 기본이 아닌 주소는 신뢰할 수 있는 네트워크에서만 사용하세요. 확장 프로그램과 데몬은 여전히
일회성 페어링 코드를 통해 장기 키를 설정하고 이후 연결에서 상호 인증을 사용합니다.
1. sctl 설치
최신 릴리스를 한 줄 명령으로 설치 — macOS 및 Linux:
curl -fsSL https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.sh | sh
또는 Windows PowerShell:
irm https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.ps1 | iex
설치 프로그램은 플랫폼에 맞는 하이픈 이름의 sctl-<version>-<os>-<arch>.<ext> 릴리스 아카이브를
다운로드하고, 동일 릴리스의 checksums.txt에 대해 sha256을 검증한 다음 sctl을 ~/.local/bin
(macOS/Linux) 또는 %LOCALAPPDATA%\sctl\bin(Windows)에 설치합니다. SCTL_VERSION은 특정 버전을 고정하고,
SCTL_INSTALL_DIR은 설치 디렉터리를 재정의합니다. 설치 디렉터리가 PATH에 없으면 설치 프로그램이
플랫폼에 맞는 정확한 PATH 힌트를 출력합니다 — 셸 프로필이나 사용자 PATH를 절대 편집하지 않습니다.
sctl은 단일 실행 파일입니다. GitHub Releases에 플랫폼용
게시된 아카이브가 있으면 다운로드하여 압축을 풀고 sctl(Windows에서는 sctl.exe)을 PATH에 넣을 수도
있습니다.
sctl version
일반 소스 빌드는 주입된 버전, 커밋 및 빌드 시간 메타데이터가 있는 릴리스 빌드와 구분하기 위해
0.0.0-dev를 보고합니다. 이는 ScriptCat에 연결하는 것을 방해하지 않습니다. 릴리스가 없으면 기여자는
sctl 저장소에서 빌드할 수 있습니다.
2. 데몬 시작 및 등록
등록은 일회성 단계입니다. 이후 CLI와 모든 MCP 클라이언트는 신뢰할 수 있는 확장 프로그램-데몬 채널을 공유하며, 별도로 페어링하지 않습니다.
2.1 데이터 디렉터리 선택
데몬, CLI 및 MCP 프로세스는 동일한 데이터 디렉터리를 사용해야 합니다. 이 디렉터리는 장기 페어링 키, 로컬 제어 토큰 및 로그를 저장합니다. 현재 사용자에게 개인적인 절대 경로를 선택하세요:
/absolute/path/to/sctl-data
모든 sctl 프로세스에 동일한 환경 변수를 설정하세요:
export SCTL_DATA_DIR=/absolute/path/to/sctl-data
sctl serve
sctl status
sctl mcp
명시적인 --data-dir는 환경 변수보다 우선합니다.
--data-dir와 SCTL_DATA_DIR가 모두 설정되지 않으면 sctl은 플랫폼의 기본 사용자별 애플리케이션 데이터
디렉터리를 사용합니다. 데이터 디렉터리를 저장소나 공유 동기화 폴더에 두지 말고 pairing.key 또는
control.token을 AI 모델에 절대 제공하지 마세요.
2.2 데몬 시작
터미널에서 다음을 실행하고 프로세스를 유지하세요:
sctl serve
기본 주소는 ws://127.0.0.1:8643입니다. 데몬은 connect, status, 다른 CLI 명령 또는 sctl mcp에 의해
자동 시작되지 않습니다. 지속적인 사용을 위해 운영 체제의 사용자 서비스 관리자로 위 명령을 실행하세요.
모든 네트워크 인터페이스에서 명시적으로 수신 대기하려면 다음을 실행하세요:
sctl --listen-address 0.0.0.0:8643 serve
데몬 호스트에서 동일한 --listen-address를 connect, status, 다른 CLI 명령 및 sctl mcp에 전달하세요.
ScriptCat의 sctl 주소 설정에 확장 프로그램이 실제로 연결할 수 있는 주소(예: ws://192.168.1.10:8643)를
입력하세요. 0.0.0.0을 입력하지 마세요.
2.3 ScriptCat에서 활성화 및 페어링
-
ScriptCat에서 설정 → 도구 → 외부 액세스를 열고 스위치를 켭니다.
-
sctl 주소가 데몬과 일치하는지 확인합니다. 일반적으로 기본
ws://127.0.0.1:8643을 유지하세요. -
sctl serve를 실행 상태로 두고 다른 터미널에서 다음을 실행합니다:sctl connect -
"sctl 등록" 대화 상자에 8자리 터미널 코드를 입력합니다.
-
연결을 확인합니다:
sctl status
상태는 연결된 확장 프로그램을 보고하고 데몬 버전을 표시해야 합니다.
코드는 A1B2-C3D4처럼 보이며 2분 후 만료되고 한 번만 사용할 수 있습니다. WebSocket을 통해 확장 프로그램에
전송되지 않습니다. AI 채팅, 이슈, 로그 또는 MCP 구성에 절대 붙여넣지 마세요. 만료되면 connect를 다시
실행하세요.