mintOps는 여러 서버에 동시에 SSH로 접속해 작업하는 터미널 운영 도구입니다. 여기에 Tailcat으로 어디서든 서버에 닿고, 서버에 herdr가 있으면 코딩 에이전트의 워크스페이스·탭·pane을 네이티브 UI로 다루며, 에이전트가 만든 결과물을 파일 브라우저와 웹 브라우저로 앱 안에서 바로 리뷰합니다. 계정도, 중계 서버도 없습니다. 기기와 서버가 직접 통신합니다.
화면으로 둘러보기
이미지를 탭하면 크게 볼 수 있습니다. 좌우 화살표(또는 키보드 ← →)로 넘겨 보세요.
한눈에 보기
주요 기능 자세히 보기
Tailcat 지원
mintOps에는 Tailscale이 공개한 tailcat("Tailscale without Tailscale")이 내장돼 있습니다. tailcat은 Tailscale의 데이터 플레인(WireGuard 터널, DERP 릴레이, NAT 홀펀칭)만 사용하고 컨트롤 플레인(계정, 조정 서버)은 쓰지 않습니다. 서버에서 tailcat serve 22 한 줄로 열어 두면, 공인 IP나 포트 포워딩 없이도 mintOps가 그 서버에 SSH로 접속합니다.
- 계정도 서버도 필요 없음Tailscale 계정, 조정 서버, 별도 VPN 앱이 없습니다. 서버가 출력한
tc…주소 하나(또는 DNS TXT 레코드에 게시한 이름)로 접속합니다. - 릴레이로 시작해 직접 연결로 자동 전환먼저 DERP 릴레이로 연결하고, NAT 통과에 성공하면 직접 연결로 자동 업그레이드됩니다. 세션 탭에
relay · 79 ms→direct · 0.3 ms처럼 경로와 지연이 표시됩니다. - 클라이언트 신원 키 관리설정에서 신원 키를 생성하거나 tailcat CLI의 키 파일을 가져옵니다. 공개키를 서버의
--allow목록에 넣으면 허용한 기기만 접속할 수 있습니다. 키를 만들지 않으면 접속마다 일회용 신원을 씁니다. - 퀵 커넥트사이드바 하단에
tailcat ssh [email protected]을 입력하면 바로 접속합니다. 저장된 연결이 없으면 접속 시트가 미리 채워져 열립니다. 인증은 비밀번호 / SSH 키 / None(no-auth-ssh서버용) 중 선택합니다. - macOS: 명령줄 도구 설치Mac 버전은 tailcat CLI를 함께 번들합니다. 설정에서 한 번 링크하면 터미널에서
tailcat ssh,tailcat ping,tailcat serve를 그대로 쓸 수 있고, 앱에서 만든 키를 CLI로 내보낼 수도 있습니다. - 연결 로그설정 → Tailcat → Connection Log에서 DNS 해석, 릴레이 핸드셰이크, 직접 연결 전환 등 이벤트를 확인할 수 있습니다.
서버 준비는 두 줄이면 됩니다
tailcat genkey --key=default --fixed-region # 재시작해도 주소가 유지되는 서버 키
tailcat serve 22 # 로컬 sshd를 터널로 노출 파일 브라우저와 웹 브라우저를 포함한 모든 기능이 Tailcat 터널 위에서도 동일하게 동작합니다.
herdr 네이티브 지원
herdr는 "코딩 에이전트가 사는 런타임"입니다. 워크스페이스 안의 탭과 분할 pane에서 Claude Code 같은 에이전트를 돌리는 터미널 멀티플렉서(백그라운드 서버 + CLI)입니다. mintOps는 SSH 접속 직후 서버에 herdr가 설치돼 있는지 확인하고, 있으면 일반 셸 대신 herdr 전용 모드로 들어갑니다. tmux 화면을 좁은 폰에서 스크롤하는 대신, 워크스페이스·탭·pane·에이전트가 모두 네이티브 UI가 됩니다.
- 자동 감지, 자동 구동접속 성공 후
herdr가 있는지 확인합니다(Homebrew, cargo, 로컬 bin 경로까지 탐색). 서버가 떠 있지 않으면herdr server를 자동으로 띄웁니다. 설정할 것이 없습니다. - 워크스페이스 사이드바서버의 워크스페이스를 네이티브 리스트로 보여주고, 포커스된 워크스페이스가 선택됩니다. 하단에는 에이전트 목록이 상태(idle / working / blocked)와 함께 고정 표시되고, 탭하면 그 에이전트의 pane으로 바로 이동합니다.
- 탭과 분할 pane 그대로워크스페이스의 탭을 네이티브 탭 바로 보여주고 생성·닫기·전환할 수 있습니다. herdr의 BSP 분할 레이아웃을 셀 단위 좌표로 받아 화면에 비례 매핑하므로, 서버에서 나눈 pane 구조가 그대로 재현됩니다.
- pane 하나하나가 진짜 터미널각 pane은 전용 SSH 채널로 herdr 터미널 세션에 붙습니다. 서버가 보내는 프레임을 SwiftTerm에 그리고, 키 입력과 리사이즈를 되돌려 보냅니다. 즉 pane 안은 그냥 완전한 터미널입니다.
- 프롬프트 입력 바터미널 키보드 대신 화면 하단의 입력 바로 에이전트에게 프롬프트를 보낼 수 있습니다. 폰에서 긴 지시를 타이핑하기 편합니다.
- iPad·Mac은 줌, iPhone은 pageriPad와 Mac은 전체 레이아웃 보기와 pane 하나 줌을 오갑니다. iPhone은 항상 pane 하나를 크게 보여주고, 좌우로 넘겨 pane 사이를 이동합니다.
동작 구조
SSH 접속 ──▶ command -v herdr ──▶ (있음) herdr 모드 진입
├─ workspace / tab / pane / agent 목록 ← herdr CLI (JSON, SSH exec)
├─ pane 레이아웃 ← herdr pane layout → SwiftUI 좌표로 비례 매핑
└─ pane 터미널 ← herdr terminal session control <pane> (프레임 ↔ 키 입력·리사이즈) 파일 브라우저
에이전트에게 일을 시키면 결과는 서버의 파일 변경으로 나타납니다. 그걸 확인하려고 좁은 터미널에서 git status, git diff, cat을 치고 색도 구조도 없는 텍스트를 스크롤할 필요가 없습니다. herdr 모드의 탭 스트립 오른쪽 폴더 버튼을 누르면 워크스페이스 화면이 파일 브라우저로 바뀝니다. 읽기 전용이고, 서버에 아무것도 설치하지 않으며, 서버의 파일을 바꾸는 명령은 실행하지 않습니다.
- 워크스페이스 단위, git 저장소 자동 인식포커스된 pane의 작업 디렉터리가 속한 git 저장소 루트를 기준으로 삼습니다. git 저장소가 아니면 그 디렉터리 자체를 보여줍니다.
- 변경 파일 목록git 저장소라면 작업 트리와 HEAD의 차이(staged + unstaged + 추적되지 않은 파일)를 M / A / D / R / ? 배지와 함께 한눈에 보여줍니다. 항목마다 "diff 보기"와 "전체 보기" 버튼이 있습니다.
- 색이 있는 diffdiff2html로 렌더링한 읽기 쉬운 diff입니다. iPad와 Mac은 side-by-side와 unified를 전환할 수 있고, iPhone은 unified로 봅니다. 구문 강조가 적용됩니다.
- 파일 종류에 맞는 전체 보기Markdown은 렌더링해서, HTML은 참조하는 이미지·CSS·JS까지 함께 가져와 웹뷰로, 소스 코드는 구문 강조와 줄 번호로, 이미지는 핀치 줌 되는 미리보기로, PDF는 PDF 뷰어로 엽니다. Markdown·HTML은 "원본 보기"로 전환할 수 있습니다.
- 디렉터리 트리와 파일명 검색git 저장소가 아닌 디렉터리는 트리로 접어 보여주고, 파일명 일부를 입력하면 하위 디렉터리까지 부분 일치로 빠르게 찾습니다. 숨김 파일도 포함합니다.
- 안전한 크기 한도파일·이미지·HTML 리소스 각각에 크기 한도(기본 100MB, 설정에서 변경)가 적용돼 큰 파일 때문에 앱이 멈추지 않습니다. 세션이 끝나면 캐시는 지워집니다.
파일 브라우저를 보는 동안에도 터미널 스트림은 살아 있습니다. 터미널로 돌아오면 화면이 즉시 이어집니다.
웹 브라우저
에이전트가 웹 애플리케이션을 만들면 결과는 서버에서 돌아가는 개발 서버(pnpm dev, next dev, python -m http.server…)입니다. 원래라면 터미널에서 포트 번호를 찾고, 다른 터미널에서 ssh -L로 포워딩을 걸고, 브라우저를 열어야 합니다. 폰에서는 사실상 불가능한 일입니다. mintOps에서는 탭 스트립의 지구본 버튼 하나로 끝납니다.
- 개발 서버 자동 탐지워크스페이스 디렉터리 이하에서 실행돼 TCP 포트를 listen 중인 프로세스를 서버에서 찾습니다. Linux는
/proc, macOS는lsof만 사용하므로 서버에 아무것도 설치하지 않습니다. - HTTP만 골라서찾은 포트에 직접 HTTP 요청을 보내 응답하는 것만 탭으로 만듭니다. DB나 Redis 같은 비HTTP 포트는 제외됩니다.
- 포트마다 탭 하나서버가 여러 개면 탭이 여러 개 생기고, 탭을 옮겨 가며 번갈아 봅니다. 탭에는 프로세스 이름과 포트가 표시됩니다.
- SSH 포트 포워딩, 자동으로기기의 127.0.0.1 포트를 SSH direct-tcpip 채널로 원격 포트에 잇습니다. 로컬 포트는 원격과 같은 번호를 먼저 시도하므로
localhost:5173을 박아 넣은 HMR 웹소켓 같은 참조도 그대로 통합니다. 포워딩은 루프백에만 열려 LAN에 노출되지 않습니다. - 살아 있는 탭 목록화면이 보이는 동안 5초마다 다시 탐지합니다. 새 서버가 뜨면 탭이 추가되고, 죽은 서버의 탭은 정리됩니다. 개발 서버가 재시작할 때 탭이 깜빡이지 않도록 잠시 기다립니다.
- 뒤로 · 앞으로 · 새로고침WKWebView 위에서 페이지 안 링크를 따라 이동할 수 있습니다. 쿠키와 로그인 상태는 세션 안에서 탭과 새로고침을 넘어 유지되고, 세션이 끝나면 사라집니다. Mac에서는 Safari 웹 인스펙터를 붙일 수 있습니다.
동작 흐름
지구본 버튼 ──▶ 서버에서 listen 포트 + 프로세스 cwd 조회 (/proc 또는 lsof)
──▶ 기기에서 direct-tcpip 채널로 HTTP 판정 (3초)
──▶ 127.0.0.1:<포트> 로컬 리스너 ↔ SSH 채널 ↔ 원격 포트
──▶ WKWebView 탭 열기 · 5초마다 재탐지 기본기: SSH 터미널
- 다중 SSH 세션탭으로 여러 서버에 동시에 접속합니다. 접속 정보는 저장되고 비밀번호는 Keychain에 보관됩니다.
- 완전한 터미널SwiftTerm 기반의 터미널 에뮬레이터와 Citadel(swift-nio-ssh) 기반 SSH 클라이언트로, 256색·마우스·리사이즈가 모두 동작합니다.
- 인증 방식비밀번호, SSH 키, 그리고 Tailcat의
no-auth-ssh서버용 None 인증을 지원합니다. - 오픈소스 크레딧사용한 오픈소스와 라이선스 전문을 설정 → About(Mac은 앱 메뉴 → About mintOps)에서 볼 수 있습니다.
iPhone · iPad · macOS
한 코드베이스로 세 플랫폼을 지원하며, 각 기기의 화면 크기와 입력 방식에 맞춰 배치가 달라집니다.
iPhone
- herdr pane을 하나씩 크게 보고 좌우로 넘겨 이동
- diff는 unified 방식
- 워크스페이스·에이전트 전환은 상단 메뉴
- 파일·웹 브라우저는 화면 전체를 사용
iPad
- 사이드바(워크스페이스·에이전트) + 오른쪽 작업 영역
- pane 전체 레이아웃 보기와 줌 전환
- side-by-side / unified diff
- 파일 목록과 뷰어 좌우 분할
macOS
- iPad와 같은 레이아웃, 메뉴 바와 ⌘, 설정 창
- tailcat 명령줄 도구 번들 및 설치
- Safari 웹 인스펙터로 미리보기 디버그
- 앱 메뉴 → About mintOps에 오픈소스 목록
사용 방법
- 서버 접속 정보를 저장하거나, 사이드바 하단에
tailcat ssh user@server를 입력해 바로 접속합니다. - 서버에 herdr가 있으면 자동으로 herdr 모드로 들어갑니다. 사이드바에서 워크스페이스를, 탭 바에서 탭을 고릅니다.
- pane 안의 터미널이나 하단 프롬프트 입력 바로 에이전트에게 일을 시킵니다.
- 폴더 버튼으로 변경된 파일과 diff, 새로 생긴 문서·이미지를 리뷰합니다.
- 지구본 버튼으로 워크스페이스에서 띄운 웹 서버를 앱 안에서 바로 열어 봅니다.
시스템 요구 사항
- iOS 26.2 이상 (iPhone · iPad), macOS 26.2 이상
- SSH 접속이 가능한 서버. herdr 네이티브 모드는 서버에 herdr가 설치돼 있을 때 자동으로 켜집니다.
- Tailcat 접속은 서버에서 tailcat CLI로
tailcat serve를 실행해 두어야 합니다. 일반 SSH 접속에는 필요하지 않습니다. - 파일 브라우저와 웹 브라우저는 서버의 표준 도구(
git,find,/proc또는lsof)만 사용합니다. 추가 설치는 없습니다.
개인정보 보호
mintOps에는 계정도, 민트기술이 운영하는 중계 서버도 없습니다. 모든 통신은 사용자의 기기와 사용자의 서버 사이에서 SSH(또는 Tailcat 터널 위의 SSH)로 직접 이뤄집니다. 접속 정보와 Tailcat 신원 키는 기기의 Keychain과 앱 저장소에만 보관되며, 파일 브라우저가 내려받은 파일 캐시는 세션이 끝나면 삭제됩니다.
언어별 개인정보 처리방침
Mac에서 바로 내려받기
Mac App Store 버전과 별개로, Apple Developer ID로 서명·공증한 빌드도 여기서 바로 내려받을 수 있습니다. App Store 버전과 달리 샌드박스 없이 동작해 터미널에서 tailcat 명령을 쓸 수 있습니다. 압축을 풀어 응용 프로그램 폴더에 넣으면 됩니다. macOS 26.2 이상.
mintOps for Mac 내려받기 (zip) 버전 1.0 · 빌드 2609161311 · 36.0 MB
Gatekeeper 확인을 거친 공증 빌드입니다. 처음 실행할 때 "인터넷에서 다운로드한 앱" 확인 창만 나옵니다. 이전 빌드 목록
릴리스 노트
로드맵
만들고 있는 것과 끝난 것을 릴리스 단위로 공개합니다.