ELOP Crew

터미널과 브라우저

데스크톱 앱에는 VS Code처럼 페이지 아래에 여는 터미널이 있고, 에이전트가 띄운 브라우저를 들여다보는 브라우저 패널이 있습니다. 터미널에서는 에이전트가 실행한 명령도 따라 볼 수 있고, 비서는 내가 허락할 때만 터미널에 입력합니다.

터미널 열기

제목 줄의 터미널 버튼을 누르거나 Ctrl + `를 누르면 페이지 아래에 터미널이 열립니다. 위쪽 가장자리를 끌어 높이를 바꿉니다.

  • 이 PC에 설치된 셸을 씁니다. Windows는 PowerShell 7, Windows PowerShell, 명령 프롬프트, Git Bash, WSL이고, Mac은 로그인 셸과 /etc/shells의 셸입니다.
  • 새 터미널(+, Ctrl + Shift + `)은 페이지에서 고른 프로젝트 폴더에서 시작합니다. ⌄로 셸이나 다른 프로젝트 폴더를 고릅니다. 고른 셸이 다음부터 기본이 됩니다.
  • Ctrl + C는 고른 글이 있으면 복사하고, 없으면 셸로 갑니다. Ctrl + V나 오른쪽 클릭은 붙여넣기입니다.
  • 패널을 숨겨도 셸은 계속 돕니다.

터미널은 데스크톱 앱에서만 됩니다. 브라우저로 연 대시보드는 셸에 닿지 않습니다. 터미널의 셸에는 ELOP Crew의 포트나 데이터 폴더가 넘어가지 않습니다.

탭

셸마다 탭이 하나씩 생깁니다.

이름 바꾸기탭을 더블클릭하거나 F2. 비우면 원래 이름으로 돌아갑니다.
옮기기탭을 끌어다 놓거나 Ctrl + Shift + PgUp / PgDn
옆 탭으로Ctrl + PgUp / PgDn

탭을 오른쪽 클릭하면 메뉴가 열립니다.

고정탭이 왼쪽에 붙고 ×가 없어집니다. 고정한 탭은 이 메뉴의 탭 닫기로만 닫힙니다.
복제같은 셸·폴더로 새 터미널을 엽니다. 에이전트 명령 기록 탭에서는 흐리게 나옵니다.
출력 지우기탭의 출력을 지웁니다.
다른 탭 닫기, 오른쪽 탭 닫기고정한 탭은 남깁니다.

분할

탭 하나를 최대 4개의 창으로 나눌 수 있습니다. 분할 버튼, Ctrl + Shift + 5, 또는 메뉴의 오른쪽으로 분할 / 아래로 분할을 씁니다.

  • 새 창은 나눈 창과 같은 셸·폴더에서 따로 도는 셸입니다.
  • 창 사이의 선을 끌어 크기를 바꿉니다.
  • Alt + 방향키로 옆 창으로 갑니다.
  • 창의 ×는 그 창만 닫습니다.

명령 히스토리

창마다 명령 히스토리(↑)를 따로 가집니다. 모든 PowerShell이 함께 쓰는 히스토리 대신 그 창에서 친 명령만 나오고, 앱을 다시 켜도 이어집니다.

  • 새 창은 그 셸의 공용 히스토리(PowerShell의 PSReadLine 기록, ~/.bash_history)에서 최근 명령을 이어받아 시작합니다.
  • PowerShell과 Git Bash에서 됩니다. 명령 프롬프트는 히스토리를 남기지 않습니다.
  • 창을 닫으면 그 창의 히스토리도 함께 지워집니다.

에이전트 명령 기록

⌄ → 에이전트 명령 기록 (읽기 전용)에서 에이전트를 고르면 그 에이전트 전용 탭이 열립니다. 모니터 에이전트와 VS Code 세션 모두 됩니다.

  • 에이전트가 셸(Bash, PowerShell)에서 실행한 명령을 시각과 함께 보여 주고, 끝나면 출력도 보여 줍니다. 출력이 길면 앞부분만 나옵니다.
  • 에이전트의 대화 기록에서 읽어 오며, 대화 화면처럼 이메일, 키, 토큰 같은 개인정보는 가려서 보여 줍니다.
  • 에이전트가 일하는 대로 따라가고, 명령이 실행 중이면 탭에 ⏳가 붙습니다.
  • 읽기 전용이라 여기에 입력할 수 없습니다. 앱을 다시 켜도 열려 있습니다.

앱을 다시 켜면

셸은 앱이 꺼질 때 함께 끝납니다. 앱이 다시 켜지면(업데이트, 재시작, 강제 종료 뒤) 터미널이 그대로 돌아옵니다.

  • 같은 탭과 분할 창이 같은 셸과 이름으로 열립니다. 이전 출력이 그대로 보이고, 그 아래 ── ↻ 10:45 ──처럼 다시 켜진 시각을 적은 줄 밑에서 새 셸이 이어집니다.
  • 각 창은 마지막으로 있던 폴더에서 시작합니다. 셸이 프롬프트마다 지금 폴더를 알려 줍니다(Mac은 셸에 묻습니다).
  • 탭 순서와 고정, 에이전트 명령 기록 탭도 남고, 패널이 열려 있었으면 열린 채로 켜집니다.
  • 탭은 몇 초마다, 그리고 앱이 끝날 때나 Windows가 종료·로그오프할 때 기록됩니다.

비서와 터미널

데스크톱 앱에서는 비서도 터미널 패널을 봅니다. 그래서 "터미널의 빌드 끝났어?"처럼 물어볼 수 있습니다.

  • 목록 보기: 열린 셸마다 탭, 이름, 지금 폴더, 마지막으로 출력한 시각을 봅니다.
  • 출력 읽기: 한 터미널의 마지막 몇 줄을 읽고 빌드, 테스트, 서버가 끝났는지 실패했는지 알려 줍니다. 키, 토큰, 이메일은 가려서 읽습니다.
  • 입력하기: 명령 한 줄이나 Ctrl + C를 터미널에 입력합니다. 매번 화면에 권한 요청과 같은 카드가 먼저 뜨고, 내가 허용해야만 입력합니다.

입력 카드에는 어느 터미널인지(번호, 이름, 폴더), 왜 입력하려는지, 그리고 입력할 내용 전체가 나옵니다.

  • 입력할 내용은 한 줄, 300자까지이고 줄바꿈이나 제어 키는 넣을 수 없습니다. 카드에 보이지 않는 것은 입력되지 않습니다.
  • 비서는 이 카드에 스스로 답할 수 없습니다. 거부하거나 10분 동안 답하지 않으면 아무것도 입력하지 않습니다.
  • 비서는 내가 부탁했거나 분명히 도움이 될 때(실패한 명령 다시 실행, Ctrl + C로 서버 멈추기)만 입력하고, 비밀 정보는 입력하지 않습니다.

브라우저 패널

에이전트는 만든 것을 확인하려고 브라우저(헤드리스 Chrome, Edge, Playwright의 Chromium)를 띄우곤 합니다. 헤더의 브라우저나 에이전트 카드의 🌐 N을 누르면 그 브라우저를 보는 패널이 페이지 위에 뜹니다.

  • 왼쪽에 에이전트별 브라우저와 그 안에 열린 페이지가 나옵니다. 페이지를 고르면 그 화면을 실시간으로 보여 줍니다.
  • 제목 줄을 끌어 옮기고, 모서리를 끌어 크기를 바꿉니다.
  • 카드의 🌐 N은 그 에이전트가 띄운 브라우저 수입니다.

공용 브라우저

디버깅 포트를 열고 뜬 브라우저는 그대로 볼 수 있습니다. 하지만 Playwright가 기본 방식(파이프)으로 띄운 브라우저는 밖에서 붙을 수 없어, 패널에 볼 수 있는 페이지가 없습니다로 나옵니다. 이럴 때 패널 오른쪽 위의 공용 브라우저를 켭니다.

  • 공용 브라우저는 ELOP Crew가 직접 띄우는 헤드리스 Chrome이나 Edge입니다.
  • 켜 두면 모든 에이전트가 다음 메시지 때 자기 브라우저 대신 여기서 페이지를 열라는 안내를 한 번 받습니다(Playwright의 connectOverCDP, Puppeteer의 connect). 그 뒤로는 에이전트가 보는 페이지를 이 패널에서 볼 수 있습니다.
  • 다시 누르면 닫힙니다. 켜지지 않으면 이 PC에 Chrome이나 Edge가 있는지 확인하세요.

패널은 에이전트가 띄운 브라우저와 공용 브라우저에만, 127.0.0.1로만 접속합니다. 페이지 제목과 주소는 가려서 보여 주고, 화면은 저장하지 않으며 휴대폰으로도 보내지 않습니다.

The terminal and browsers

The desktop app has a terminal that opens under the page, as in VS Code, and a Browsers panel to look into the browsers the agents drive. The terminal can also follow the commands an agent runs, and the assistant types into it only when you allow it.

Opening the terminal

The terminal button in the title strip, or Ctrl + `, opens it under the page. Drag its top edge to change the height.

  • It uses the shells installed here: PowerShell 7, Windows PowerShell, Command Prompt, Git Bash and WSL on Windows; on a Mac, the login shell and the others in /etc/shells.
  • A new terminal (+, or Ctrl + Shift + `) starts in the folder of the project picked on the page. ⌄ picks the shell or another project's folder; the shell you pick becomes the default.
  • Ctrl + C copies a selection, and otherwise goes to the shell. Ctrl + V or a right-click pastes.
  • Hiding the panel keeps the shells running.

The terminal is in the desktop app only: the dashboard opened in a browser never reaches a shell. The shells are not given ELOP Crew's port or data folder.

Tabs

Each shell has a tab.

RenameDouble-click the tab or press F2. Empty, it has its usual name again.
MoveDrag the tab, or Ctrl + Shift + PgUp / PgDn
Next tabCtrl + PgUp / PgDn

Right-click a tab for its menu.

PinKeeps the tab on the left, without ×; a pinned tab is closed only with Close the tab in this menu.
DuplicateA new terminal with the same shell and folder. Greyed out on an agent commands tab.
Clear the outputClears the tab's output.
Close the others, Close those to the rightPinned tabs stay.

Splitting

A tab splits into up to four panes: the split button, Ctrl + Shift + 5, or Split right / Split down in its menu.

  • A new pane is a shell of its own, in the shell and folder of the pane it split.
  • Drag the line between panes to resize them.
  • Alt + arrow keys go to the next pane.
  • × on a pane closes that pane only.

Command history

Each pane keeps its own command history (↑): only the commands typed in that pane, rather than the one history every PowerShell shares, and it carries on after the app restarts.

  • A new pane starts with the latest commands of its shell's shared history (PowerShell's PSReadLine history, ~/.bash_history).
  • This works in PowerShell and Git Bash. Command Prompt keeps no history.
  • Closing a pane removes its history with it.

Agent commands

Pick an agent under ⌄ → Agent commands (read-only) to open a tab of its own. It works for monitor agents and VS Code sessions alike.

  • It shows each command the agent ran in a shell (Bash, PowerShell) with its time, and what it printed once it finished. Long output shows only its beginning.
  • It is read from the agent's conversation, and e-mail addresses, keys, tokens and the like are masked, as in the conversation view.
  • It follows the agent as it works, and the tab carries ⏳ while a command runs.
  • It is read-only: nothing can be typed into it. It is open again after a restart.

When the app starts again

The shells end with the app. When it starts again (an update, a restart, after it was killed), the terminal comes back.

  • The same tabs and panes open with the same shells and names. Their earlier output is still there, and a new shell carries on below a line with the time it started again, such as ── ↻ 10:45 ──.
  • Each pane starts in the folder it was last in: the shells say their folder at every prompt (on a Mac the shell is asked).
  • The tab order, the pins and the agent commands tabs are kept, and the panel opens if it was open.
  • The tabs are written down every few seconds, and when the app quits or Windows shuts down or logs off.

The assistant and the terminal

In the desktop app the assistant sees the terminal panel too, so you can ask it things like "Has the build in the terminal finished?"

  • The list: each open shell's tab, name, current folder and when it last printed.
  • Reading output: the last lines of one terminal, to tell you whether a build, test or server there finished or failed. Keys, tokens and e-mail addresses are masked.
  • Typing: a command line or Ctrl + C into a terminal. Each time, a card like a permission request comes up on the page first, and it types only if you Allow it.

The card shows which terminal (its number, name and folder), why the assistant wants to type, and everything it would type.

  • What it types is one line of up to 300 characters, with no line breaks or control keys: nothing is typed that the card does not show.
  • The assistant can never answer this card itself. Deny it, or leave it unanswered for 10 minutes, and nothing is typed.
  • The assistant types only when you asked for it or it plainly helps you (rerunning a failed command, stopping a server with Ctrl + C), and never types secrets.

The Browsers panel

Agents often start a browser (headless Chrome, Edge, Playwright's Chromium) to look at what they build. Browsers in the header, or 🌐 N on an agent's card, opens a panel over the page to watch them.

  • The left side lists the browsers by agent, with the pages open in each. Pick a page to see a live picture of it.
  • Drag the title to move the panel and its corner to resize it.
  • 🌐 N on a card is how many browsers that agent started.

The shared browser

A browser started with a debugging port can be watched as it is. One that Playwright started over a pipe (its default) cannot be reached from outside, and the panel says there is no page to watch. Then turn on Shared browser at the panel's top right.

  • The shared browser is a headless Chrome or Edge that ELOP Crew starts itself.
  • While it runs, every agent is told once, with its next message, to open its pages there instead of in a browser of its own (Playwright's connectOverCDP, Puppeteer's connect). From then on you can watch what the agents look at in this panel.
  • Press it again to close it. If it does not start, check that Chrome or Edge is installed on this PC.

The panel contacts only the browsers the agents started and the shared one, on 127.0.0.1 only. Page titles and addresses are masked, and the picture is never stored or sent to the phone.