
Autolith-Webui는 Autolith를 브라우저에서 관리하는 Common Lisp 웹 콘솔이다. 세션 채팅과 에이전트 작업 실행, 파일 관리, 서버 이미지 내 Lisp REPL 등을 제공하며, 기본적으로 로컬 주소에서만 접속하도록 설정돼 있다.
저장소 안내에 따르면 콘솔은 별도 웹 프레임워크 없이 usocket, bordeaux-threads, flexi-streams로 HTTP 서버를 구성하고 htmx를 프런트엔드에 사용한다. 에이전트 작업은 autolith run-job으로 실행하며, 작업 역할·권한 모드·제한 시간·작업 공간을 지정할 수 있다. 첨부 파일도 함께 보낼 수 있고, 실행 상태와 결과, 사용 토큰, 프로세스 출력을 확인하거나 실행 중인 작업을 중지할 수 있다.
채팅 패널은 분리된 세션의 대화 기록을 보여주고 메시지를 대기열에 추가한다. REPL은 서버의 Lisp 이미지에서 평가를 수행하며, *READ-EVAL*을 비활성화하고 SBCL에서 20초 제한 시간을 둔다. 다만 REPL은 서버 이미지에서 전체 권한으로 코드를 평가하므로, 저장소는 기본 로컬 바인딩과 선택적 토큰을 보호 수단으로 제시한다.
설치와 설정
저장소가 안내하는 기본 설치 절차는 다음과 같다.
git clone https://github.com/sroerick/autolith-webui ~/autolith-webui && cd ~/autolith-webui
make install-links # symlink into ~/quicklisp/local-projects
make build # dumps bin/autolith-webui (SBCL core, ~13 MB)
./bin/autolith-webui # http://127.0.0.1:8078
실행 파일을 빌드하지 않고 소스에서 시작하거나 서버 없이 스모크 테스트를 할 수도 있다.
make install-links
./bin/start.sh
make smoke
기본 포트는 8078, 바인드 주소는 127.0.0.1이다. AUTOLITH_WEBUI_TOKEN을 설정하면 요청에 ?token=, token 쿠키 또는 Authorization: Bearer 헤더로 토큰을 전달해야 한다. 에이전트 작업은 선택한 권한 모드로 실행되며, 저장소 설명은 sandbox가 명령 실행을 네트워크 격리하고 호스트를 읽기 전용으로 유지한다고 밝힌다.
작업 목록은 메모리에만 저장되므로 콘솔을 재시작하면 목록이 지워진다. 다만 입력과 결과 파일은 작업 디렉터리에 남는다. SBCL이 테스트된 구현이며, 실행 파일 덤프와 평가 시간 제한, 신호 처리는 SBCL에 한정된다. 다른 구현에서도 관련 라이브러리가 지원되면 소스를 실행할 수 있지만, CLISP 빌드에서는 코어 덤프와 평가 시간 제한을 건너뛴다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요