st ui
k9s가 클러스터를 보여 주듯 머신을 터미널 한 화면에 보여 줍니다. 머신, 세션, 윈도우, 에이전트와 그 런, 문서와 CI를 보고, 어떤 st 명령이든 콜론 하나로 실행합니다.
st ui에는 계정의 머신과 그 세션·윈도우, 그 안의 코딩 에이전트와 오케스트레이션 런,
머신의 볼트, 체크아웃마다의 CI, 에이전트의 플랜 한도, 머신의 CPU와 메모리가 한 화면에
있고 2초마다 새로 읽힙니다. 앱과 웹 터미널이 읽는 그 공유를 읽으므로, 이 머신에서
st가 공유 중이어야 합니다. st 0.4.0-rc부터 있고, 지금은 후보판(rc) 채널에만 있습니다.
st upgrade --channel rc로 받습니다.

여는 법
st ui # 머신 트리에서 시작합니다
st ui agents # 뷰 이름을 주면 그 뷰에서 시작합니다머리글 왼쪽은 머신(호스트, OS, 공유 중인 세션과 멀티플렉서, CPU·메모리·스왑)이고,
가운데는 에이전트(플랜 사용량, working·waiting·idle 수, 사용량 가드가 켜졌는지),
오른쪽은 지금 뷰의 키입니다. 맨 아래 줄은 들어온 길(<sessions> <windows> <panes>)과
마지막으로 일어난 일입니다.
머신 트리
st ui는 쿠버네티스가 노드를 보여 주듯 계정의 머신을 나무로 보여 주며 시작합니다.
머신 아래 세션, 세션 아래 윈도우입니다. 이 머신이 (here)를 달고 맨 위에 오고, 다른
머신은 온라인인 것부터 옵니다. 머신은 펼친 채, 세션은 접힌 채 시작합니다. →/l은
펴기, ←/h는 접기 또는 부모로, space는 접기·펴기를 바꿉니다. 오프라인 머신은 행만
남고 마지막으로 소식이 온 때를 보여 줍니다.
세션이나 윈도우에서 Enter나 a를 누르면 거기에 붙습니다. 다른 머신이면
st attach <머신>/<세션> --window <n>이고, 앱이 가는 것처럼 그 머신 자신의 링크로
붙습니다. 체크아웃 안의 윈도우에는 CI가 보이고, c가 그 런을 브라우저로 엽니다.
뷰와 키
숫자 하나, 또는 :와 뷰 이름으로 뷰를 바꿉니다.
| 키 | 뷰 | 보여 주는 것 |
|---|---|---|
0 | :nodes | 머신 트리. 첫 화면입니다 |
1 | :sessions | 이 머신의 세션: 윈도우, 에이전트와 그 상태, 붙은 사람, 나이, 지금 윈도우 |
2 | :agents | 에이전트가 있는 모든 pane. 급한 것(waiting, error, working)이 먼저 |
3 | :orch | 오케스트레이션 런을 트리로: 런, 코디네이터, 워커와 그 워커의 워커 |
4 | :machines | 계정의 머신을 목록으로 |
5 | :usage | Claude Code와 Codex의 플랜 한도와 초기화 시각 |
6 | :top | 최근 10분의 CPU, 메모리, 스왑 |
7 | :docs | 머신의 볼트: 세션 폴더, 윈도우 폴더, 노트 |
8 | :ci | 이 머신 체크아웃들의 최근 GitHub Actions 런 |
Enter는 그 행으로 들어갑니다. 세션에서 윈도우로, 윈도우에서 pane으로, pane에서
그 출력(마지막 2000줄, 끝을 따라갑니다)으로 갑니다. :windows [세션]과
:panes [세션]은 바로 그리로 갑니다.

어디서나 쓰는 키입니다.
| 키 | |
|---|---|
j k ↑ ↓ | 위아래 |
g G | 맨 위와 맨 아래 |
ctrl-b ctrl-f | 한 페이지 위아래 |
Enter | 그 행으로 들어가기 |
esc | 뒤로, 또는 거르기 지우기 |
/ | 행 거르기 |
ctrl-r | 지금 모두 다시 읽기 |
? | 도움말. 지금 뷰의 키도 나옵니다 |
q | 뒤로. 맨 위에서는 끝내기. ctrl-c는 어디서든 끝냅니다 |
뷰마다 따로 있는 키입니다.
| 뷰 | 키 |
|---|---|
| 머신 트리 | ←/→ 접기·펴기, Enter나 a 붙기, c 브라우저에서 CI, o 들이기, R 내보내기 |
| 세션 | p pane, a 붙기, n 새 세션, ctrl-d 세션 종료(먼저 묻습니다) |
| 윈도우 | a 붙기, c 브라우저에서 CI, n 새 윈도우(에이전트 이름, 빈칸이면 셸), ctrl-d 닫기(먼저 묻습니다) |
| pane, 에이전트 | a 그 pane에 붙기, o 들이기, R 내보내기 |
| 오케스트레이션 | ←/→ 접기·펴기, r 워커의 마지막 답(st worker read), d 그 변경(st worker diff --stat), a 붙기, o 들이기, R 내보내기, ctrl-d 워커 멈추기(먼저 묻습니다) |
| 사용량 | g 사용량 가드 켜기·끄기 |
| 문서 | ←/→ 접기·펴기, Enter 노트 원문 |
| CI | Enter나 c 그 런을 브라우저로 |
st ui는 pane에 글을 쳐 넣지 않습니다. 에이전트에게 말하려면 a로 그 pane에 붙습니다.
오케스트레이션
3은 런마다 나무를 보여 줍니다. 런, 코디네이터, 워커, 그 워커의 워커를 폴더처럼
접고 폅니다. 코디네이터가 다른 머신에 있는 워커는 그 런 아래 자기 가지로 섭니다.
끝난 워커는 ✓와 회색, 기다리는 워커는 주황, 일하는 워커는 청록입니다.

o는 에이전트를 런의 워커로 들이고 R은 내보냅니다. st worker adopt,
st worker release와 같습니다. pane 행에서도, 머신 트리의 윈도우에서도 되고, 다른
머신의 에이전트도 됩니다. o는 이 머신의 에이전트 가운데 부모를 고르고 역할을 한 줄
받은 뒤, 무엇을 할지 보여 주고 확인을 받습니다.
붙었다가 돌아오기
a는 보고 있던 윈도우나 pane을 골라 둔 채 이 터미널을 그 세션의 st attach에
넘깁니다. 붙기 직전에 돌아오는 키를 한 줄로 알려 주고, 힌트 줄에도 <C-b d> back이
있습니다.
| st ui가 도는 곳 | 붙는 곳 | st ui로 돌아오기 |
|---|---|---|
| tmux 밖 | 이 머신 | Ctrl-b d (zellij는 Ctrl-o d) |
| tmux 3.3 이상 안 | 이 머신 | Ctrl-b d. 세션이 st ui 위의 팝업으로 열리고, 떼면 닫힙니다 |
| tmux 3.3 미만 안 | 이 머신 | Ctrl-b L(tmux의 마지막 세션 키) |
| 어디서든 | 다른 머신 | Ctrl-b d, 또는 줄 처음에서 ~. |
문서와 CI
7은 머신의 볼트를 나무로 보여 줍니다. 폴더는 접힌 채이고, 점으로 시작하는 파일과
폴더(.obsidian, .st, .briefs)는 Obsidian처럼 빠집니다. 노트에서 Enter를 누르면
프런트매터까지 디스크에 있는 그대로 보여 줍니다.

체크아웃 안의 윈도우는 그 브랜치의 최근 GitHub Actions 런을 보여 줍니다(돌고 있음,
✓ 통과, ✗ 실패). 8은 이 머신 모든 체크아웃의 최근 런을 돌고 있는 것부터 보여 주고,
Enter나 c가 브라우저로 엽니다. ssh 안이거나 화면이 없으면 주소를 대신 보여 줍니다.
:ci가 이 뷰이므로 st ci 명령은 :st ci로 칩니다.

: 명령
:는 뷰 이름도, 어떤 st 명령도 받습니다. :doc ls, :worker list, :upgrade,
:login, :st ci, :history 같은 것입니다. st ui는 터미널을 그 명령에 넘겼다가, 끝나면
키 하나를 기다렸다가 돌아옵니다. :st <명령>도 되고, Tab은 뷰 이름과 st 명령을
완성합니다. :q는 끝냅니다.