프로젝트 소개
amux는 단일 웹 대시보드나 모바일 앱에서 여러 AI 워커(Claude Code, Codex, Gemini CLI, OpenCode, Ollama 등)를 조율하도록 설계된 AI 코딩 에이전트용 오픈소스 컨트롤 플레인이다. 로컬 우선, 자가 호스팅 방식이며 SQLite 저장소를 사용하는 단일 Rust 바이너리로 빌드된다.
주요 기능은 다음과 같다.
- 원자적 태스크: 중복 작업을 막는 비교-후-교환(compare-and-swap) 방식의 작업 예약을 갖춘 공유 칸반 보드. 태스크가 'done'이 되려면 증거가 필요하고 'verified'가 되려면 동료 워커의 검증이 필요하다.
- 워커 인식: 워커가 플릿 상태를 보고, 동료 터미널을 살펴보고, 출처가 기록되는 워커 간 메시징으로 조율할 수 있다.
- 방향 제어: 사용자가 대시보드나 휴대폰에서 실행 중인 세션에 직접 입력해 작업 실행 중간에 방향을 바꿀 수 있다.
- 스케줄과 루프: 크론 방식의 반복 프롬프트와 야간 실행을 위한 자율 루프를 제공한다.
- 그룹과 범위: 워커를 공유 메모리, 환경, 게이트를 갖는 레인으로 구성할 수 있다.
- 모델 전환: 컨텍스트를 잃지 않고 실행 중인 워커의 모델이나 제공업체를 교체할 수 있다.
- 메시지 기록: 모든 프롬프트, 응답, 전달 기록을 나중에 조회할 수 있도록 로그로 남긴다.
- 자가 치유: 워치독이 자동 압축을 수행하고, 크래시된 세션을 재시작하며, 마지막 메시지를 재생한다.
설치는 한 줄 명령 설치 프로그램으로 간단하며, 서버, CLI, 시스템 서비스(macOS의 launchd, Linux의 systemd)를 설정한다. 대시보드는 서버 바이너리에 내장되어 있고, CLI(`amux-rs`)는 보드 관리, 워커 제어, 스케줄링 명령을 제공한다.
아키텍처는 서버, 대시보드, CLI, 핵심 도메인 타입이라는 4개의 Rust 크레이트로 구성된다. 8개의 프리미티브(보드, 워커, 스케줄러, 파일시스템, 그룹, 메모리, 환경, 메시지)를 사용해 새로운 기능을 조합한다.
주목할 만한 기능은 .mdai 파일이다. 이는 DAG의 노드로 동작하는 계산된 마크다운 파일로, 모델 프롬프트를 통해 연결된 소스에서 콘텐츠를 합성한다. 이를 통해 순환 감지와 캐싱을 갖춘 동적 문서 생성이 가능하다.
보안은 베어러 토큰 인증을 사용하는 로컬 우선 방식이며, 프로젝트는 서버 포트를 인터넷에 노출하지 말 것을 강조하고 원격 접근에는 Tailscale을 추천한다.
이 프로젝트는 MIT + Commons Clause 라이선스로 제공되어 사용하고 자가 호스팅할 수 있으며, 상업적 재판매에는 별도 라이선스가 필요하다. 에이전트를 중심으로 한 내구성 있는 운영체제가 되기 위한 로드맵과 함께 활발히 개발되고 있다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.