frankenterm은(는) 무엇을 하나요?
AI 에이전트 군집을 위한 터미널 하이퍼바이저: 실시간 패널 캡처, 상태 머신 패턴 감지, 그리고 WezTerm에서 코딩 에이전트 플릿을 조정하기 위한 JSON API
개요
frankenterm은 여러 AI 코딩 에이전트가 하나의 터미널 환경을 효율적으로 공유하고 조정할 수 있게 해주는 기능입니다. WezTerm의 멀티플렉싱 능력을 기반으로, 각 에이전트는 독립적인 터미널 패널에서 작업하면서도 중앙 JSON API를 통해 상태를 보고하고 명령을 수신합니다.
주요 특징
- 실시간 패널 캡처: 각 에이전트의 터미널 패널 내용을 지속적으로 스냅샷하여 작업 진행 상황을 추적합니다.
- 상태 머신 패턴 감지: 미리 정의된 패턴(예: 빌드 성공, 테스트 실패, 오류 메시지)을 감지하여 자동으로 대응합니다.
- JSON API: 에이전트 간 통신을 위한 RESTful API를 제공합니다. 명령 전송, 결과 수신, 패널 생성 및 제거 등을 지원합니다.
- 플랫폼 지원: WezTerm에서 실행되며, Claude Code, Cursor, Codex 등 다양한 AI 에이전트와 호환됩니다.
사용 방법
- WezTerm을 설치하고 실행합니다.
frankenterm스킬을 활성화합니다.- API를 통해 새로운 터미널 패널을 생성하고 에이전트를 할당합니다.
- 각 에이전트는 자신의 패널에서 작업하며, 상태 변화를 API로 보고합니다.
- 중앙에서 모든 패널의 실시간 상태를 모니터링하고 필요 시 개입합니다.
API 엔드포인트 예시
# 새 패널 생성
curl -X POST http://localhost:8080/panels -d '{"name": "agent-1", "command": "claude"}'
# 패널 상태 조회
curl http://localhost:8080/panels/agent-1/state
# 패널로 명령 전송
curl -X POST http://localhost:8080/panels/agent-1/send -d '{"input": "run tests"}'
상태 머신 설정
frankenterm은 YAML 또는 JSON 파일로 정의된 상태 머신을 사용하여 패턴을 감지하고 자동화된 작업을 트리거합니다.
patterns:
- name: build_success
regex: "BUILD SUCCESSFUL"
action: notify_all
- name: test_failure
regex: "FAILED:.*[0-9]+ tests? failed"
action: retry
라이선스
이 프로젝트는 MIT 라이선스 하에 배포됩니다.