개발자들의 Claude Code 를,
회사 서버로 어디서든.
SSemTong Console 은 기업 개발자를 위한 Claude Code 원격 개발 콘솔입니다. 회사가 자기 서버에 중계 서버를 두면, 개발자들은 각자의 Mac 에서 tmux 로 띄운 Claude Code 세션을 그 서버를 거쳐 데스크톱 브라우저와 휴대폰에서 보고 제어합니다 — 프롬프트 보내기 · 권한 승인 · 질문 답하기 · 중단까지.
승인 대기 1
에이전트 호스트
Hook 이벤트
데스크톱세션 목록 · 대화 · 승인을 세 칸으로 넓게
휴대폰같은 세션을 한 손으로 — 승인 · 답하기 · 중단
회사 서버 위에서 돌아갑니다
SSemTong Console 은 회사가 직접 운영하는 서버에 설치합니다. 개발자들은 각자의 Mac 에서 하던 대로 Claude Code 를 쓰고, 그 세션을 회사 서버를 거쳐 자리 밖에서도 이어 갑니다.
중계는 회사 서버에서
웹 콘솔 · 중계 · 화면용 대화 사본 · 대화 백업을 모두 회사 서버 한 곳에 둡니다. 원격 제어를 위해 바깥 클라우드 서비스를 거치지 않습니다.
계정 비밀값은 각 Mac 에만
Claude 로그인 정보와 Ollama 키는 개발자의 Mac 에만 둡니다. 웹에서 로그인할 때도 서버는 과정을 전달만 하고 비밀값을 저장하지 않습니다.
Mac 은 나가는 연결만
각 Mac 의 Agent 가 회사 서버로 먼저 연결합니다. Mac 에 열어 둘 포트가 없고, Agent 연결은 사내망(VPN) 안에서만 받습니다.
원격 명령은 모두 감사 기록
누가 · 어느 세션에 · 무엇을 · 결과까지 남깁니다. 웹은 아이디 · 비밀번호에 OTP 까지 거쳐야 열립니다.
관리자 화면
호스트(개발자 Mac) 등록 · 해제, Mac 별 계정 로그인 상태, 쓸 모델과 기본값, 사용량, 서버 설정과 보존 기간을 관리자가 웹에서 다룹니다.
대화 백업 · 되살리기
각 Mac 의 대화 기록을 10분마다 회사 서버에 백업합니다. 관리자가 백업된 대화를 찾아 되살리면 새 세션의 「이어하기」로 엽니다.
Claude Code 가 모델과 주고받는 통신(Anthropic API 등)은 콘솔과 상관없이 원래대로 각 Mac 에서 직접 이루어집니다.
한눈에 보기
터미널 앞에 없어도 Claude 가 묻는 것에 답하고, 얼마나 썼는지 보고, 다른 Mac 으로 일을 넘깁니다. 아래 화면은 지어낸 예시 데이터로 그린 그림입니다.
데스크톱에서는 넓게, 휴대폰에서는 한 손으로
같은 콘솔을 어느 화면에서나 씁니다. 데스크톱 브라우저에서는 세션 목록 · 대화 · 알림을 세 칸으로 나란히 두고 파일 편집기와 사용량 대시보드를 넓게 보며, 휴대폰에서는 아래 탭으로 세션 · 알림 · 작업 · 사용량 · 관리를 오갑니다. 아래 화면도 지어낸 예시 데이터로 그린 그림입니다.
세 칸으로 넓게, 필요하면 접어서
왼쪽 세션 목록 · 가운데 대화 · 오른쪽 승인과 호스트를 한 화면에 둡니다. 양쪽 칸을 접으면 세션은 요약 줄(상태 · 경과 시간 · 승인 수)로, 알림은 아이콘 줄로 남고 대화가 넓어집니다.
- 고친 파일은 줄 번호 diff, 긴 출력은 접어서
- 접은 상태는 이 브라우저가 기억
- ⌘↵ 로 보내기, 파일은 끌어다 놓기
옆으로 밀어서 보세요
파일 탐색기와 편집기
세션 폴더를 트리로 보고 두 파일을 나란히 열어 고칩니다. 잠금을 풀고 고친 뒤 ⌘S 로 저장하고, Claude 가 고친 파일은 바로 다시 읽어 옵니다.
- 마크다운 미리보기 · 이미지 보기
- 이름 바꾸기 · 복제 · 휴지통으로 지우기 (영구 삭제 없음)
- .git · .claude 안은 고칠 수 없음
todo-app
할 일 목록을 기기 사이에 맞춰 주는 작은 웹 앱입니다.
시작하기
npm installnpm run dev뒤 브라우저에서 열기- 시험은
npm test
옆으로 밀어서 보세요
사용량 대시보드
계정 한도와 지금 속도의 예측, 추정 비용 · 요청 · 출력 · 캐시 적중을 이전 기간과 비교합니다. 날마다 모델별 막대와 요일 × 시간 열지도로 언제 · 어디에 썼는지 봅니다.
- 기간: 오늘 · 7일 · 30일 · 90일 · 이번 달
- 급증한 날은 ▲ 로 표시
- 비용은 API 단가로 환산한 추정치
날마다 모델별 추정 비용 · ▲ 급증
계정 한도 Claude 1
언제 쓰나 요일 × 시간
누가 썼나 추정 비용 기준
옆으로 밀어서 보세요
무엇을 할 수 있나요
터미널에서 하던 일을 웹에서도 그대로 합니다. 원본은 언제나 각 Mac 의 대화 파일이고, 서버는 화면을 위한 사본입니다.
실시간 대화 보기
대화·도구 호출·결과·서브에이전트를 터미널과 같은 순서로 실시간으로 봅니다. 고친 파일은 줄 번호 diff 로, 긴 출력은 접어서 보이고 마크다운·mermaid 도표·이미지도 그립니다.
권한 승인 · 질문 답하기
Claude 가 명령 실행 권한을 묻거나 질문을 하면 웹·휴대폰에 카드가 뜹니다. 터미널에도 같은 창이 함께 떠 있고, 먼저 답한 쪽이 적용됩니다.
프롬프트 · 파일 · 중단
긴 글도 그대로 보내고, 파일은 입력창에 끌어다 놓거나 붙여 넣으면 세션 폴더에 올라가 @경로로 들어갑니다. 진행 줄을 보다가 Esc 처럼 중단합니다.
새 세션 · 이어하기
허용한 폴더 안에서 tmux 로 새 세션을 열고, 끝난 대화를 이어 엽니다. 다른 계정으로 이어 열면 대화 파일을 그 계정으로 복사해 씁니다.
모델 · effort · 권한 모드
세션 중에 모델과 effort 를 바꾸고(기본은 이 세션만), 권한 모드 다섯 가지(기본·편집 자동 수락·플랜·자동·모두 허용)를 오갑니다.
세션 옮기기
끝난 세션을 다른 Mac 으로 옮겨 이어 씁니다. 작업 폴더도 함께 옮길 수 있고(다시 만들 수 있는 폴더는 빼고), 진행 막대로 단계마다 봅니다.
파일 탐색기 · 편집기
세션 폴더를 둘러보고 미리 보고 고칩니다. Claude 가 고친 파일은 바로 반영되고, 지우기는 휴지통으로 옮기기뿐입니다.
작업 — 백그라운드 에이전트
세션을 가로질러 지금 도는 백그라운드 에이전트와 워크플로우를 한 화면에서 보고, 최근 24시간 동안 끝난 것도 확인합니다.
사용량 대시보드
계정 한도와 지금 속도의 예측, 비용 추정, 날마다 모델별 막대, 많이 쓴 세션, 요일×시간 열지도를 봅니다. 비용은 API 단가 환산 추정입니다.
호스트 · 계정 원격 관리
「호스트 추가」가 만든 설치 명령 한 줄로 개발자 Mac 을 붙입니다. Mac 마다 Claude · Ollama 계정 로그인 상태를 보고 웹에서 로그인하며, Agent 는 「지금 업데이트」로 원격으로 바꿉니다.
대화 백업 · 되살리기
대화 기록과 Claude 가 고치기 전 파일 사본을 회사 서버에 10분마다 올립니다. 보관함 크기 · 디스크 여유 · 호스트별 백업 상태를 보고, 골라서 되살립니다.
감사 기록 · 보존 정리 · 지표
원격 명령은 누가·어느 세션에·무엇을·결과까지 모두 기록합니다. 오래된 기록은 정한 기간에 따라 정리하고, 토큰 같은 민감한 값은 가려서 보입니다. 호스트별 연결 지연 같은 지표도 봅니다.
도입하면 이렇게 씁니다
회사 서버 하나에 개발자들의 Mac 을 붙여 씁니다. 개발자는 하던 대로 tmux 안에서 claude 를 쓰면 됩니다.
회사 서버에 설치합니다
중계 서버(Tomcat 11 · PostgreSQL)를 사내 서버에 둡니다. 웹 콘솔은 회사의 HTTPS 프록시 뒤에, Agent 연결은 사내망 안에만 엽니다.
개발자 Mac 을 붙입니다
관리자가 「호스트 추가」로 만든 설치 명령 한 줄(1회용 등록 코드, 15분)을 Mac 의 터미널에 붙여 넣으면 Agent 가 설치되고 연결됩니다.
어디서든 이어 갑니다
tmux 에서 띄운 claude 세션이 웹에 나타납니다. 데스크톱이나 휴대폰에서 진행을 보며 승인 · 답하기 · 다음 지시 · 중단을 합니다.
어떻게 동작하나요
각 Mac 의 Agent 가 claude 의 대화 파일과 hook 을 읽어 회사 서버로 보내고, 웹이 보낸 명령을 tmux 로 입력합니다. Agent 가 서버로 먼저 연결하므로 Mac 쪽에 열어 둘 포트가 없습니다.
- 원본은 각 Mac 의 대화 파일입니다. 서버는 화면을 위한 사본이라, 서버를 다시 띄워도 Agent 가 이어서 다시 보내 채웁니다.
- Agent → 서버 한 방향 연결 — 서버가 Mac 으로 들어가지 않습니다. 명령도 같은 연결로 받아 tmux 로 입력합니다.
- hook 은 127.0.0.1 로만 받습니다. Agent 가 죽어 있어도 claude 를 느리게 하지 않습니다(1초 안에 포기).
- 웹은 회사의 HTTPS 프록시 뒤에서 로그인 + OTP 를 거쳐야 열리고, 원격 명령은 모두 감사 기록에 남습니다.
Go 단일 실행 파일
Mac 마다 launchd 로 상주. 대화 파일 tail · hook 수신 · tmux 제어 · 원격 업데이트.
SSemiYa F/W · Tomcat 11
Jakarta WebSocket 중계, REST, 감사 기록, 대화 백업 보관. 사내 서버에 설치.
바닐라 JS 모듈
빌드 도구 없이, 바깥 자원 없이. 데스크톱 · 휴대폰, 밝은 · 어두운 판.
PostgreSQL
화면용 대화 사본, 계정·모델 카탈로그, 사용량, 감사 기록.
보안 원칙
개발자의 Mac 에서 원격으로 명령을 실행하는 도구라서, 지켜야 할 선을 먼저 정해 두고 만들었습니다.
- 원격 제어를 위한 중계 · 저장은 모두 회사 서버에서 — 바깥 클라우드 서비스를 거치지 않습니다.
- Mac 은 회사 서버로 나가는 연결만 엽니다 — 밖에서 들어올 포트가 없습니다.
- 계정 비밀값(Claude 토큰·Ollama 키)은 각 Mac 에만 둡니다. 서버는 저장하지 않습니다.
- 호스트 등록 코드·토큰은 해시로만 저장하고, 등록 코드는 한 번만·15분 안에 씁니다.
- Agent 용 연결은 외부 프록시로 열지 않고 사내망(VPN)에서만 받습니다.
- 웹은 아이디 · 비밀번호에 OTP 가 꼭 필요하고, 관리 작업(호스트 · 계정 · 설정 · 백업 되살리기)은 관리자만 합니다.
- 새 세션은 허용한 폴더 안에서만 열고, 파일 경로는 Agent 가 마지막으로 검사합니다(세션 폴더 밖·
.git·.claude거부). - 원격 명령은 전부 감사 기록에 남깁니다(누가·어느 세션·무엇을·결과).
- 화면과 기록에 토큰 모양의 값이 보이면 가려서 보입니다.
- 웹은 바깥 스크립트·글꼴을 부르지 않고(CSP), 업로드는 크기·경로를 두 번 검사합니다.
사용 조건
SSemTong Console 이 동작하는 조건입니다.
- 각 Mac 에 macOS 와 tmux 가 필요합니다. tmux 밖(일반 터미널)에서 띄운 세션은 볼 수만 있고, 웹의 「tmux 로 이어 열기」로 열어야 제어됩니다.
- 회사 서버에는 Tomcat 11(Java 21)과 PostgreSQL 이 필요합니다. 웹 콘솔은 회사의 HTTPS 프록시 뒤에 두고, Agent 연결은 사내망(VPN) 안에서만 엽니다.
- Claude Code 와 Ollama 계정은 각 Mac 에서 쓰던 것을 그대로 씁니다. 계정과 요금은 지금처럼 각 서비스와의 계약을 따릅니다.
- Claude Code 의 기록 형식 · hook · 화면은 버전마다 바뀝니다. 확인한 버전(현재 2.1.288~2.1.289)에 맞춰 Agent 를 갱신하고, 갱신은 웹의 「지금 업데이트」로 각 Mac 에 보냅니다.
- 사용량의 비용은 API 단가로 환산한 추정치입니다. 구독 요금이나 실제 청구액이 아닙니다.
SSemTong Console 도입을 검토 중이신가요?
개발자 수와 쓰고 계신 Mac · 서버 환경을 알려 주시면 맞는 구성을 안내해 드립니다. 가격과 도입 조건도 문의로 안내합니다.
도입 문의halo@levelupsoft.com+82 10-8472-4070
사내 서버 설치를 기본으로 합니다 · Levelupsoft Inc.