비교 · 사용 안내 · 팁

Claude Code를 직접 쓰기 vs dot으로 쓰기

작성일 2026-10-06 · 근거: dot 코드와 문서, Claude Code CLI의 널리 알려진 기능

결론 요약 Claude Code(터미널 CLI)는 한 저장소에서 한 가지 일에 깊이 집중할 때 가장 가볍고 빠릅니다. 추가로 드는 토큰이 없고, 터미널·IDE 고유 기능을 그대로 쓰며, 무슨 일이 벌어지는지 원문 그대로 보입니다. dot은 Claude Code(그리고 선택적으로 GPT/Codex) 세션 여러 개를 브라우저 화면 하나와 관리자 대화 하나로 다루는 로컬 웹앱입니다. 여러 일이 동시에 굴러가고, 허락·질문 요청이 여기저기서 쌓이고, 화면을 껐다 켜도 일이 이어져야 할 때 이점이 큽니다. 대가는 분명합니다. 관리자 턴이 토큰을 쓰고, 움직이는 부품(화면 프로세스·세션 호스트·플러그인)이 늘어 그만큼 고장 지점도 늘며, 관리자는 dot 자신의 로그를 직접 읽거나 브라우저를 조작하지 못합니다. 한 줄로 줄이면 "한 가지 일은 Claude Code, 여러 일의 조율은 dot"입니다. dot 안의 작업 세션도 결국 같은 Claude Code 엔진이라, 둘은 경쟁 관계라기보다 위에 한 층을 더 얹을지 고르는 문제에 가깝습니다.

1. 한눈에 비교

배지는 Claude Code dot 비슷 / 상황 따라 중 어느 쪽이 대체로 유리한지를 뜻합니다. 개인 작업 습관에 따라 달라질 수 있습니다.

축Claude Code 직접dot유리한 쪽
사용 흐름터미널에서 claude 실행 → 대화. 창 하나에 세션 하나브라우저 화면 하나. 관리자에게 말로 시키면 작업 세션을 열고 보고상황 따라
여러 작업 동시 진행터미널 탭·git worktree·서브에이전트로 직접 관리세션 여러 개 + 관리자 요약 + 전체 보기 격자dot
요청(허락·질문) 대응각 터미널을 돌며 확인"기다리는 것" 한 곳에 모임, 단축키로 응답dot
작업 순서·의존 관리사람이 순서를 기억하거나 스크립트로작업 그래프(노드·의존·파일 영역·보고 계약)dot
재시작 내성터미널을 닫으면 그 턴은 끝. /resume으로 대화 이어 가기세션 호스트가 따로 돌아 화면 재시작에도 턴 유지, 전체 재시작 뒤엔 자동 이어 가기dot
확장성훅·플러그인·스킬·MCP위 전부(작업 세션 안에서) + dot 전용 플러그인(패널·그래프·자율 모드 등)비슷
다른 엔진 병행Claude 전용세션마다 Claude / GPT(Codex) 선택, 관리자 엔진 자동 전환dot
설정 격리전역 설정 + 프로젝트 설정하네스(기존 전역 / 기본 / OMC / ECC)로 세션마다 설정 묶음 고정dot
토큰·한도쓴 만큼만. 오버헤드 없음관리자 턴만큼 추가 소모. 대신 잔여량 패널·선택 카드(무토큰)Claude Code
컨텍스트 관리/compact·/clear·/context 등 직접 제어작업 세션은 엔진 자체 압축, 관리자는 게이지 + 정리하기(인계)상황 따라
디버깅·투명성터미널 원문 그대로, 숨는 계층 없음기록(trail) 패널·변경 파일 diff. 대신 계층이 많아 원인 추적이 길어질 수 있음상황 따라
학습 곡선CLI 명령·단축키 숙지CLI 지식 + dot 개념(관리자·카드·호스트·적용·하네스)Claude Code
안정성부품이 적음테스트·자동 이어 가기·멈춤 감지가 있지만 부품이 많음상황 따라
IDE·터미널 고유 기능IDE 통합, 키 바인딩, claude -p 헤드리스브라우저 기반. IDE 통합은 별도Claude Code
휴대폰·원격 확인Claude Code 자체의 원격·클라우드 실행 선택지를 쓰거나 원격 접속 수단을 직접 마련원격 모드(기본 꺼짐, 비밀 링크 + PC에 뜬 암호 + 기기 기억) — 내 PC를 직접 여는 자체 호스팅 방식방식이 다름

2. 심층 비교

각 축마다 두 방식의 장단점과, dot 쪽 주장의 근거가 된 파일·문서 이름을 적었습니다(저장소 기준 상대 이름). Claude Code 쪽은 널리 알려진 CLI 기능만 다룹니다.

사용 흐름

Claude Code 직접

  • 터미널에서 바로 시작, 설치 외 준비가 거의 없음
  • 입력→응답이 직결. 중간에 해석하는 계층이 없음
  • Shift+Tab 권한 모드 전환, 슬래시 명령 등 손에 익은 조작
  • 일이 여러 개면 창도 여러 개. 어느 창이 무엇을 기다리는지 사람이 기억해야 함

dot

  • 관리자에게 "이거 해 줘"라고 말하면 알맞은 폴더에 작업 세션을 열고, 끝나면 요약 보고
  • 관리자는 새 세션을 열기 전에 관련 세션이 이미 있는지 확인하고 물어봄
  • 보고 끝에 늘 "기다리는 것" 목록(상태·필요한 결정·선택지·추천)
  • 말 한 번이 관리자 해석을 거쳐 전달되므로, 지시가 바뀌거나 빠질 여지가 생김
  • Node 22.13 이상, 로컬 서버 실행 등 준비 단계가 더 있음

README.md 첫 부분(관리자 대화창 하나에서 여러 세션 관리), 관리자 프롬프트(MANAGER_PROMPT), sessions.mjs

여러 작업 동시 진행

Claude Code 직접

  • git worktree로 저장소를 갈라 터미널마다 독립 세션을 두는 방식이 잘 알려져 있고 단순함
  • 한 세션 안에서 서브에이전트(Task/Agent 도구)나 백그라운드 명령으로 병렬 처리 가능
  • 세션 사이의 충돌(같은 파일, 같은 배포 대상)을 알려 주는 장치가 기본으로는 없음
  • 여러 세션의 진행 상황을 한눈에 보는 화면이 기본으로는 약함

dot

  • 세션마다 작업 폴더·엔진·권한·하네스를 따로 정해 동시에 돌림
  • 전체 보기 격자에서 세션마다 상태 구슬·제목·한두 줄 요약
  • 관리자가 같은 대상을 건드리는 세션을 알아차리면 순서 규칙을 세울 수 있음(사례 나 참고)
  • 입력은 "지금"(끼어들기)과 "다음"(턴이 끝나면 차례로, 최대 32개 대기)을 고를 수 있음
  • 같은 폴더에서 여러 세션이 돌 때 파일 충돌을 막는 것은 작업 그래프의 파일 영역 기능을 쓸 때뿐. 일반 세션끼리는 관리자 주의에 의존

session-input.mjs(지금/다음 입력, 대기열), plugins/panels, plugins/graph(파일 영역 겹침 경고)

관리자 세션

dot의 핵심 차이입니다. Claude Code에도 서브에이전트·백그라운드 에이전트와 에이전트 사이 메시지 같은 기능이 있지만, dot처럼 "여러 세션을 대신 지켜보는 관리자 대화"가 기본으로 들어 있지는 않습니다.

Claude Code 직접

  • 중간 관리 계층이 없어 오해·지연이 없음
  • 관리자 몫의 토큰이 들지 않음
  • 요약·알림·결정 대기 목록을 사람이 직접 관리
  • 한도에 걸리면 그 세션은 기다리거나 사람이 다른 수단으로 옮겨야 함

dot

  • 요약: 작업 세션의 자동 알림을 받아 무엇이 끝났고 무엇이 막혔는지 정리
  • 허락·질문 대응: 요청과 선택지를 보여 주고 사용자 답을 기다림. 사용자가 시킨 경우에만 대신 답하거나 보내거나 멈춤
  • 버튼 카드: 관리자가 미리 채워 둔 선택 카드(답하기·보내기·닫기·재시작 등)는 눌러도 관리자 턴이 돌지 않아 토큰이 들지 않음. 닫기 제안 카드는 [닫기]/[모두 닫기]
  • 정리하기(인계): [정리하기] 또는 컨텍스트가 기준(기본 70%, 30–95% 조절)에 닿으면 요약을 쓰고 새 관리자가 요약 + 상태판에서 이어 감
  • 한도 시 엔진 자동 전환: 관리자가 Claude 한도(7일 98% / 5시간 100% 기본, 또는 실제 한도 오류)에 걸리면 GPT로, 반대도 가능. 대화 원문을 복사해 넘기고 실패한 입력을 다시 보냄. 원래 엔진이 풀리면 [돌아가기]/[계속 쓰기] 카드 하나
  • 행동 도구는 사용자가 직접 시킨 턴에선 바로, 자동 알림 턴이나 메일을 읽은 대화에선 허락 카드를 거침(외부 글에 의한 조작 방지)
  • 관리자 턴마다 토큰 소모
  • 관리자는 읽기 전용 고정 정책으로 돌며, dot 자신의 로그 파일을 직접 읽거나 브라우저를 조작하지 못해 작업 세션에 맡겨야 함
  • 관리자 창에서는 /resume 같은 CLI 슬래시 명령이 통하지 않음

관리자 도구 목록(list_sessions, read_session, send_message, answer_request, create_session, close_session, suggest_close, offer_choices, restart_dot, apply_plugin_update, restart_log), plugins/manager(상태판·정리하기·게이지), README "관리자 엔진 전환", manager-availability.mjs

작업 그래프

Claude Code 직접

  • 순서가 단순하면 "A 끝나면 B" 정도는 사람이 충분히 관리
  • 헤드리스 claude -p와 셸 스크립트로 정해진 순서를 자동화 가능
  • 앞 단계 결과(요약·커밋·파일 목록)를 다음 단계에 넘기는 형식은 직접 설계해야 함

dot

  • 노드 = 작업 세션 또는 사람 단계(승인·수작업). 의존(after), 파일 영역(owns), 보고 계약(expects) 지정
  • 관리자에게 말하면 그래프를 만들며 순환·없는 폴더·파일 영역 겹침·같은 폴더의 다른 세션을 검사
  • 노드 세션은 graph_report로 결과를 보고(요약·커밋·파일·계약). 다음 노드 첫 메시지에 자동으로 붙음
  • 기본은 시작 전 확인([시작]/[나중에]), 동시 실행 3, 실패 시 멈춤. 자동 시작은 동시 5개·그래프당 하루 10회 상한
  • 실패·미보고 시 [다시 시도]/[건너뛰기]/[그래프 멈춤], [끝]/[다시 시키기]/[실패] 카드
  • 개념이 많아 작은 일에는 과함. 노드가 보고를 빠뜨리면 사람이 확인 카드를 처리해야 함

plugins/graph(graph_plan·graph_edit·graph_act·graph_report)

세션 호스트 — 재시작해도 안 끊김

dot은 프로세스 둘로 돕니다. 화면 프로세스(sessions.mjs — 화면·플러그인·세션 관리)와 세션 호스트(session-host.mjs — 실제 Claude·Codex 엔진). 둘은 로컬 IPC로 서로 인증해 연결됩니다. 화면이 없는 동안에도 호스트는 턴을 계속 돌리고, 허락·질문 요청을 쌓아 두었다가 화면이 돌아오면 다시 보여 줍니다. 화면이 60초 넘게 붙지 않으면 호스트도 끝납니다.

고친 파일할 일세션 영향
public/*, 플러그인 client.js브라우저 새로고침없음
플러그인 server.mjs(그 폴더의 다른 .mjs, 새 플러그인 포함)화면 알림의 [적용] 또는 관리자에게 "플러그인 적용해 줘" — 그 플러그인만 다시 불러옴없음
sessions.mjs화면 재시작(restart_dot 기본값)안 끊김. 턴이 그대로 돌고 기다리던 카드가 다시 뜸
engines/*, session-host.mjs, host-link.mjs, platform.mjs, 패키지 갱신전체 재시작(restart_dot full)하던 턴이 끊겼다가 "재시작으로 끊김 → 이어서 진행"으로 자동 이어 감(같은 턴에 최대 2번)

Claude Code 직접

  • 구조가 단순해 "어떤 재시작이 필요한가"를 고민할 일이 없음
  • /resume으로 지난 대화를 골라 이어 감
  • 터미널·프로세스가 죽으면 진행 중이던 턴은 끝남. 이어 가려면 사람이 다시 지시

dot

  • 화면 쪽 코드를 고치고 다시 켜도 작업 세션은 계속 일함
  • 호스트가 죽으면 화면이 dot을 다시 켜고 끊긴 턴을 이어 감
  • 호스트가 예전 엔진 코드로 돌면 관리자에게 "전체 재시작 필요" 알림
  • 무엇을 고쳤느냐에 따라 새로고침 / [적용] / 화면 재시작 / 전체 재시작이 달라 처음엔 헷갈림
  • 재시작 과정의 잔여물(잠금 파일 등)이 플러그인 하나를 조용히 꺼뜨릴 수 있음(사례 가)
  • 자동 이어 가기 때 기다리던 질문은 "잃어버림"으로 보고되어 모델이 다시 물어야 함

README "재시작과 세션" 표, session-host.mjs, host-link.mjs, restart-dot.sh

패널·전체 보기

Claude Code 직접

  • 터미널 분할(tmux 등)로 원하는 대로 배치 가능
  • 텍스트 위주라 가볍고 원격 셸에서도 그대로
  • 상태 요약·잔여량·할 일 같은 보조 정보는 따로 마련해야 함

dot

  • ▦ 전체 보기(관리자 + 모든 세션 + 패널)와 ▤ 하나씩 보기를 오감
  • 24×12 격자 배치. 패널 추가(실시간 미리보기 갤러리), 끌어 옮기기·크기 조절, 기본 배치로
  • 배치는 서버 파일이 정본이라 열린 창 모두에 반영. 화면·관리자 말·명령줄로 바꿀 수 있음
  • 시계·할 일·잔여량 구슬·위키·시스템 자원 등 보조 패널
  • 화면이 좁으면 하나씩 보기로 강제. 패널이 많으면 산만해질 수 있음

plugins/panels, README "전체 보기 패널"

플러그인

Claude Code의 플러그인·스킬·훅·MCP는 dot의 작업 세션 안에서도 그대로 쓸 수 있습니다(하네스에 따라 다름). 여기서 말하는 것은 그 위에 얹힌 dot 자체 플러그인입니다.

Claude Code 직접

  • 공식 플러그인·스킬·훅·MCP 생태계를 바로 사용
  • 훅으로 도구 호출 전후 동작을 세밀하게 제어
  • 플러그인·훅으로 상태 줄 등은 붙일 수 있지만, 여러 세션을 묶는 패널·카드·그래프 화면을 통합해 주지는 않음

dot

  • 기능 하나 = plugins/<이름>/ 폴더(server.mjs, client.js). 패널·관리자 도구·숨은 턴 맥락 주입 등
  • 예: graph(작업 그래프), autonomy(자율 모드), quota·usage(잔여량), trail(기록), stall(멈춤 감지), preview(미리보기), wiki·constellation(위키 연결과 검색), data(데이터 패널), detail(답 길이 1–5), harnesses, remote
  • 서버 코드가 바뀌면 자동 적용하지 않고 [적용]을 기다림 — 편집 자동 허용 세션이 쓴 코드가 사람 확인 없이 돌지 않게 하려는 의도. 적용 실패 시 이전 판 유지
  • [적용]을 놓치기 쉬움. "적용 대기" 알림이 쌓여도 눈에 잘 안 띔
  • 새 도구 목록은 새 세션에만, 관리자에겐 정리하기 뒤에야 보임
  • autonomy처럼 [적용]만으로는 안 되고 전체 재시작이 필요한 플러그인도 있음. 수정이 잦으면 이전 모듈이 캐시에 남아 재시작이 필요

plugin-runtime.mjs, plugins/README.md, docs/autonomy.md

GPT(Codex) 엔진 병행

Claude Code 직접

  • Claude 하나에 집중, 엔진 차이로 인한 혼란 없음
  • 다른 모델로 교차 점검하려면 별도 도구를 따로 다뤄야 함

dot

  • 새 세션마다 Claude / GPT 선택. 용도별(작업·점검·관리자) 기본 모델·노력·권한 지정
  • Codex의 도구 항목을 Claude 도구 이름으로 바꿔 같은 화면으로 표시
  • 한쪽은 고치고 다른 쪽은 점검하는 식의 교차 검증이 쉬움
  • GPT 권한 모드는 세 가지뿐. Windows에서는 샌드박스가 읽기 전용으로 낮아져 허락 카드가 많음
  • OMC·ECC 하네스는 Claude 전용
  • 엔진 자동 전환은 관리자에만 해당, 작업 세션은 처음 엔진을 유지

engines/ 폴더, plugins/engines, README "권한 모드"

하네스

하네스는 작업 세션이 어떤 설정 묶음으로 도는지를 뜻합니다.

하네스내용
기존 전역이 PC의 Claude Code 전역 설정을 그대로 사용(손대지 않음)
기본격리된 설정. 추가 플러그인·자동 메모리·외부 MCP 없음
OMC검토된 스킬·에이전트 묶음 + 위험한 git 조작(push·파괴적 명령)을 막는 훅. Claude 전용
ECC더 큰 에이전트 묶음 + 문서 이름 훅. Claude 전용

Claude Code 직접

  • 전역·프로젝트 설정, CLAUDE.md, 플러그인을 자유롭게 조합
  • 작업마다 설정을 갈아끼우려면 손이 많이 가고, 전역 설정이 모든 세션에 섞여 들어감

dot

  • 세션마다 하네스 id·판을 고정. 같은 PC에서 "깨끗한 세션"과 "전부 갖춘 세션"을 나란히
  • 설치는 고정 태그를 받아 커밋을 확인하고 검토된 파일만 복사, 원본 설치 스크립트를 실행하지 않음. 해시가 다르면 거부
  • 격리 하네스는 이 PC의 전역 MCP·메모리를 못 봐서 "왜 그 도구가 없지?"가 생길 수 있음
  • 관리자에는 작업 하네스를 쓰지 않음

harness.mjs, harness-install.mjs, harness-claude.mjs, plugins/harnesses

권한 모드 + MCP 허용 스위치

Claude Code 직접

  • Shift+Tab으로 즉시 전환, 설정 파일로 도구별 허용·거부 세밀 지정
  • 여러 세션의 권한을 한꺼번에 보거나 맞추는 화면은 없음

dot

  • Claude 여섯 모드(매번 확인 / 편집 자동 허용(새 세션 기본) / 자동 판단 / 계획만 / 미리 허용한 것만 / 모두 허용)를 세션 머리에서 전환, 용도별 기본값
  • MCP 허용 스위치(기본 꺼짐): 모드와 별개로 MCP 도구 호출만 자동 허용. 명령 실행·파일 쓰기에는 영향 없음
  • 허락 카드가 "파일 쓰기/고치기", "명령 실행" 같은 쉬운 말 + 대상 + 미리보기(diff·명령)로 뜸
  • 읽기 전용 명령에도 허락 카드가 줄줄이 쌓일 수 있음(사례 가)
  • MCP 허용 스위치는 관리자·자율 모드 세션엔 없고, 원격 화면에서는 바꿀 수 없음

README "권한 모드", engines/ 폴더(권한 게이트)

토큰·구독 한도 사용

Claude Code 직접

  • 쓴 만큼만 소모. 중간 계층의 추가 비용이 없음
  • 사용량·컨텍스트 확인 명령으로 그때그때 점검
  • 여러 세션의 합계나 남은 한도를 한 화면에서 보기 어려움

dot

  • 관리자 오버헤드: 자동 알림 요약·보고·판단마다 관리자 턴이 돌아 토큰이 듦. 세션이 많고 알림이 잦을수록 커짐
  • 선택 카드 클릭은 무토큰: 관리자가 미리 만든 카드를 누르면 모델 호출 없이 바로 처리
  • 잔여량 패널: Claude의 5시간·7일 사용률과 Codex 한도를 1분마다 합쳐 구슬로 표시. 하루 토큰 합계·컨텍스트 크기
  • 관리자만 한도 시 엔진 자동 전환. 둘 다 막히면 두 쪽의 재개 시각을 보여 주고 60초마다 다시 시도
  • 작업 세션은 한도에 걸려도 엔진이 자동으로 바뀌지 않음
팁토큰을 아끼려면 관리자에게 "선택지를 카드로 줘"라고 요청해 클릭으로 처리하고, 짧은 확인은 작업 세션 카드에 직접 답하세요. 관리자를 거치는 대화가 줄수록 오버헤드가 줄어듭니다.

plugins/quota, plugins/usage, engines/quota.mjs, manager-availability.mjs

컨텍스트 관리

Claude Code 직접

  • /compact(요약 압축), /clear(새로 시작), /context(사용량 보기)로 직접 제어
  • CLAUDE.md로 프로젝트 지침을 매번 실어 줌
  • 긴 세션에서 언제 압축할지 사람이 판단

dot

  • 관리자는 컨텍스트 게이지 + 기준치 도달 시 정리하기(제안 또는 자동)
  • 새 세션 대화상자의 "프로젝트 지침 포함(CLAUDE.md / AGENTS.md)" 선택
  • 숨은 턴 맥락: 매 턴 보이지 않게 필요한 맥락(플러그인 안내 등)을 덧붙임
  • 화면은 최근 400개 항목을 복원, 더 오래된 턴은 기록(trail) 패널에서 서브에이전트 기록까지 읽음
  • 작업 세션은 엔진 자체 압축에 맡김. 관리자 창에서는 CLI 슬래시 명령을 기대하면 안 됨
  • 숨은 맥락만큼 매 턴 입력이 조금 늘어남

plugins/manager(게이지·정리하기), plugins/trail, plugins/detail

디버깅·투명성

Claude Code 직접

  • 터미널 원문 그대로. 무엇이 실행됐는지 바로 보임
  • 숨은 계층이 없어 문제가 생기면 원인 후보가 적음
  • 체크포인트·되감기와 diff 검토는 있지만, 여러 세션의 턴별 변경 파일을 한 화면에 모아 주지는 않음

dot

  • 기록(trail) 패널: 턴별 이력, 도구 호출 펼치기, 검색, 만들거나 고친 파일과 diff(정확/추정 구분)
  • 세션 상태(새로·일하는 중·기다림·쉼·오류·닫힘 + 멈춤 의심·백그라운드)가 화면에 드러남
  • 호스트 로그·재시작 로그. 재시작 로그는 관리자 도구로 읽음
  • 관리자가 dot 자신의 화면 로그 파일은 직접 못 읽어 작업 세션에 시켜야 함
  • 화면·호스트·플러그인·관리자 해석까지 계층이 많아, 이상 동작의 원인을 좁히는 데 시간이 더 걸릴 수 있음

plugins/trail, session-state.mjs, restart-dot.sh(재시작 로그)

학습 곡선

Claude Code 직접

  • 배울 것이 CLI 하나. 공식 문서와 사용 사례가 많음
  • 단축키·슬래시 명령·설정 파일 구조는 익혀야 함

dot

  • 첫 실행 8단계 마법사(환영·Claude·GPT·권한·위키·가이아·배치·완료), [나중에]로 닫고 ⚙에서 첫 설정을 다시 열기 가능
  • 말로 시키면 되니 CLI에 익숙하지 않은 사람도 시작은 쉬움
  • 제대로 쓰려면 관리자·작업 세션 구분, 카드 위치, 화면/전체 재시작, [적용], 하네스, MCP 허용 스위치까지 알아야 함
  • 문제가 생기면 결국 Claude Code와 dot 둘 다 이해해야 함

plugins/setup(첫 설정 마법사), README "빠른 시작"

안정성

Claude Code 직접

  • 부품이 적어 고장 지점이 적음
  • 긴 작업이 멈춰 있는지 감지해 주는 장치는 기본으로는 약함(주로 사람이 확인)

dot

  • 테스트 파일 46개. 점검 명령은 문법 → 단위 테스트 → 새로 받은 사본을 헤드리스 Chrome으로 띄우는 스모크(CDP) → 프로세스 정리 순. 가짜 엔진으로 실제 AI 호출 차단
  • CDP 기반 화면 시험(장시간·반응형·키보드 등)
  • 입력 대기열은 원자적으로 저장, 보내다 끊겨 불확실한 입력은 자동 재전송하지 않음, 대기열 파일이 깨지면 비우지 않고 시작을 거부
  • 멈춤 감지: 진짜 진척 없이 10분(GPT는 두 배)이면 관리자에게 [멈추고 다시]/[멈추기]/[10분 더] 카드. 자동으로 멈추지는 않음
  • 자동 이어 가기는 같은 턴에 최대 2번, 그 뒤엔 대기
  • 움직이는 부품이 많음. 예: 재시작 뒤 남은 잠금 소켓 파일 때문에 자율 모드 플러그인이 조용히 안 켜진 일(사례 가)
  • 재시작하면 플러그인 카드(그래프·멈춤)는 복원되지 않음

tests/ 폴더와 *.test.mjs, plugins/stall, process-watch.mjs, session-input.mjs

어떤 일에 무엇이 나은지

일의 종류추천이유
버그 하나 고치기, 함수 하나 다듬기Claude Code관리자 오버헤드 없이 바로 대화. 결과를 눈앞에서 확인
한 저장소에서 긴 페어 프로그래밍Claude CodeIDE 통합·/compact 등 직접 제어가 유리
서로 다른 저장소 여러 곳 동시 작업dot세션별 폴더·권한·하네스, 요청 한 곳 모음, 요약 보고
A → B → C 순서가 있는 다단계 작업dot작업 그래프로 의존·결과 인계·실패 처리
같은 서버·배포 대상을 여러 작업이 공유dot (단, 미리 알려야 함)관리자가 순서 규칙을 세우고 양쪽에 같은 지시를 보냄
고치는 쪽과 점검하는 쪽을 다른 모델로dotClaude·GPT 세션을 나란히
장시간 작업 중 PC 화면을 껐다 켜야 함dot세션 호스트가 턴을 유지
CI·스크립트 안 자동 실행Claude Codeclaude -p 헤드리스가 표준적
브라우저 확장으로 웹 화면 조작Claude Code대화형 세션에서 브라우저 도구를 붙이기 쉬움. dot 작업 세션엔 없을 수 있음
dot 자체를 고치기·디버깅Claude Code고치는 대상 위에서 돌면 재시작·[적용] 때 스스로 흔들림
밤사이 점검 보고만 받기상황 따라dot 자율 모드가 있으나 아직 제약이 큼(아래 사용법 참고)
토큰을 최대한 아껴야 할 때Claude Code관리자 턴 비용이 없음

3. 실제 사례 (작성일에 있었던 일, 일반화)

같은 날 dot을 쓰며 생긴 세 가지 일을 서버·회사·서비스 이름을 지우고 일반화했습니다. 잘된 점과 걸린 점을 함께 적었습니다.

(가) 관리자 작업 폴더 이동과 자율 모드 잠금 소켓 문제

무슨 일

사용자가 관리자에게 위키·검색 플러그인 연결 상태를 물었고, 관리자는 직접 알 수 없어 조사용 작업 세션을 열었습니다. 원인은 위키 폴더가 아직 연결되지 않은 클라우드 드라이브에 있었던 것. 드라이브를 연결하자 수백 쪽이 몇 분에 걸쳐 색인되고 검색이 됐습니다.

이어서 사용자는 관리자가 홈 폴더가 아니라 공용 작업 폴더에서 열리길 원했습니다. 조사해 보니 새 관리자는 늘 홈 폴더에서 만들어지고 이를 바꾸는 설정·화면이 없었습니다. 관리자 폴더는 세션 목록 파일에 저장되는데, 그 파일은 화면 프로세스가 자주 다시 쓰기 때문에 dot이 켜진 채 고치면 덮어써지고, 관리자 재시작 도구는 수 초 안에 다시 켜서 고칠 틈이 없었습니다.

해결은 스크립트 한 번: 폴더 확인 → 백업 → 화면 프로세스만 멈춤 → 관리자 항목만 수정(폴더 변경, 새 관리자로 시작) → 다른 항목이 그대로인지 확인 → 화면 다시 켬. 끊긴 시간은 몇 초였고, 이 일을 하던 작업 세션은 세션 호스트 덕에 그대로 살아 있었습니다. 대신 이전 관리자 대화는 새 대화로 바뀌었습니다. "코드에 설정으로 넣는" 근본 해결은 제안만 하고 미뤘습니다.

그런데 재시작 뒤 로그에 자율 모드 플러그인이 "주소 사용 중"으로 못 켜졌다는 기록이 남았습니다. 자율 모드는 한 번에 하나만 돌도록 잠금용 소켓 파일을 쓰는데, 종료 신호로 멈춘 이전 프로세스가 그 파일을 남겼고, 새 프로세스는 주인 없는 파일 때문에 자리를 잡지 못한 것입니다. 관리자와 다른 세션은 멀쩡해서 겉으로는 티가 나지 않았습니다.

주인이 없음을 확인하고 남은 파일을 지운 뒤, 테스트를 먼저 쓰는 방식으로 잠금 코드를 고쳤습니다. "주소 사용 중이면 접속을 시도해 보고, 거절되거나 파일이 없으면 남은 찌꺼기로 보고 지운 뒤 한 번만 다시 시도, 살아 있는 주인이 있거나 1초 안에 응답이 없으면 그대로 막음". 강제 종료로 파일을 남기는 시험을 추가해 통과했고, 원래 실패하던 무관한 시험은 변경 전후가 같음을 따로 확인했습니다.

dot이 도운 점
  • 관리자가 모르는 일은 작업 세션에 조사를 맡기고 결과를 요약
  • 선택 카드로 "방법 A / 방법 B", "지금 적용 / 나중에"를 클릭 한 번에 결정
  • 화면 재시작 중에도 작업 세션이 끊기지 않음
  • 재시작 알림을 받은 관리자가 재시작 로그를 확인
걸림돌
  • 관리자가 dot 자신의 화면 로그를 직접 못 읽어 세션에 부탁해야 했음
  • 위키 조사 세션이 읽기 전용 명령마다 허락 카드를 띄워 카드가 쌓임(관리자가 "읽기는 자동 허용"을 제안)
  • 로그에 "서버 코드 바뀜 — [적용] 기다림"이 여러 번 찍혔지만, 실제로 자율 모드를 살린 것은 손으로 지운 파일이었음. 사용자는 "지금 적용"을 골랐는데 관리자는 "기다리는 적용 없음"이라 해, 수정이 실제로 적용됐는지 관리자와 세션의 말이 엇갈린 채 남음
교훈
  • 재시작 뒤에는 로그에서 플러그인 불러오기 실패를 꼭 확인. 조용히 꺼진 플러그인이 있을 수 있음
  • 잠금 파일은 "주인이 살아 있는지"를 확인하는 방식이어야 강제 종료에 견딤
  • [적용] 대기와 실제 적용 여부는 화면 알림과 로그로 직접 확인. 관리자 말만 믿지 않기
  • 설정 파일을 손볼 땐 "백업 → 그 프로세스만 멈춤 → 한 항목만 수정 → 나머지 동일 확인"

(나) 같은 서버에 두 앱 동시 배포 조율

무슨 일

저녁 무렵 몇 분 간격으로 두 요청이 들어왔습니다. 매출 대시보드 새 판(이전 판에 새 기능 몇 가지를 더해 새 경로로)과, 캘린더를 구분 단위별로 나누는 일. 관리자는 세션 두 개를 열었는데, 둘이 같은 저장소·같은 운영 컨테이너를 건드린다는 것을 두 번째 세션을 열 때 알아차리고 "상대가 다시 빌드하는 중이면 기다릴 것"이라는 규칙을 걸었습니다.

중간에 작업 PC에 운영 서버 접근 수단이 없어 세션이 방법을 물었고, 사용자가 공용 접근 수단으로 배포하기로 정했습니다. 사용자가 "내가 해도 되는 건가?"라고 묻자 관리자는 "기술적으로 가능한지는 말할 수 있지만 회사 규정은 판단할 수 없다"고 답했고, 사용자가 진행을 결정했습니다.

두 세션은 각자 운영 서버가 git보다 앞서 있다는 것을 발견했습니다. 그날 서버에서 손으로 고친 파일 몇 개가 커밋되지 않은 채 있었고, 표준 배포(폴더 통째 교체)를 하면 그 수정이 사라질 상황. 두 세션 모두 운영 DB 사본으로 만든 시험 환경에서 검증까지만 하고 멈췄습니다.

사용자가 진행을 지시하자 관리자는 두 세션에 같은 새 지시를 보냈습니다: 운영 폴더 백업 + 돌고 있는 이미지에 태그 → 바뀐 파일만 덮기 → 상대가 빌드 중이면 대기 → 다시 빌드 → 손으로 고친 파일이 그대로인지 해시로 확인. 캘린더가 먼저 배포되어(합계가 맞고 다른 화면 열 개도 정상, 손 수정 기능 유지) 몇 분 뒤 대시보드가 캘린더 빌드를 기다렸다가 배포되어 둘 다 반영됐고, 상태 점검도 정상이었습니다. 요청부터 둘 다 배포까지 20분 남짓이었습니다.

세션들은 로그인 뒤에 있는 공개 주소를 직접 열 수 없어, 관리자가 사용자에게 브라우저 확인을 부탁했습니다. 끝난 두 세션은 곧 닫았습니다.

dot이 도운 점
  • 관리자가 공유 배포 대상을 알아채고 대기 규칙을 걸어 빌드 충돌을 막음
  • 두 세션이 각자 운영과 git의 차이를 발견하고 멈춤 — 덮어쓰기 사고를 피함
  • 두 세션 결과를 한 번에 요약, 되돌릴 준비(백업·이미지 태그)를 갖춘 채 진행
  • 세션들이 확인하지 못한 항목을 정직하게 밝힘
걸림돌
  • 같은 결정이 두 곳에 뜸: 세션 자체 요청 카드와 관리자 카드. 한 세션은 먼저 "기다려"를 받고 뒤이어 관리자의 "진행"을 받았으며, 늦게 온 옛 보고가 섞여 혼란
  • 사용자가 관리자 창에 /resume을 입력했지만 관리자에선 동작하지 않음
  • 한 보고의 숫자는 서브에이전트 결과를 옮긴 것이라 다시 계산하지 않았음(보고에 밝혀 둠)
  • 남은 일: 한 세션은 요청받지 않은 메인 병합을 함(보고됨), 다른 쪽 브랜치는 병합 안 됨, 서버 손 수정 파일은 여전히 git 밖
교훈
  • 여러 세션이 같은 배포 대상을 쓰면 처음부터 관리자에게 알릴 것. 관리자가 알면 순서를 조율함
  • 운영이 저장소보다 앞서 있으면 통째 교체 대신 "백업 + 바뀐 파일만 덮기 + 순차 빌드 + 해시 확인"
  • 결정은 한 곳에서만 답할 것(세션 카드 또는 관리자 카드)
  • 보고의 숫자·병합 여부는 직접 확인. "요청 안 한 병합" 같은 부수 행동을 점검

(다) 외부 판매 채널 수집 장애 조사

무슨 일

상태 화면에 데이터 수집 장애 두 건이 떠 있었습니다. 외부 판매 채널 A는 반나절 가까이 인증 오류, 채널 B는 키 만료. 관리자는 조사 세션을 열며 규칙을 붙였습니다: 통째 교체 배포 금지, 설정 변경 전 백업, 비밀 값은 화면에 띄우지 않기.

몇 분간의 읽기 전용 조사 결과 둘 다 외부 측 문제로 코드 수정이 필요 없었습니다. A는 인증 요청이 "애플리케이션 상태가 유효하지 않음"으로 거절(외부 쪽에서 앱이 정지·미승인), B는 "키 만료". 같은 서버의 다른 계정은 정상이라 서버·네트워크 문제는 배제. 또 키의 원본은 별도 비밀 저장소에 있고 서버로 동기화되므로, 서버만 고치면 덮어써진다는 점도 확인했습니다.

관리자는 외부 관리 콘솔에서 할 일을 단계별 안내로 정리했습니다. 사용자가 "컴퓨터 조작으로 키 발급까지 해 줘"라고 하자, 관리자는 브라우저를 조작할 수 없어 세션에 넘겼고, 세션은 연결된 브라우저 조작 도구가 없음을 확인한 뒤 아무것도 바꾸지 않고 멈춰 세 가지 길을 제시했습니다(추천: 브라우저 확장이 붙은 대화형 세션). 사용자는 "나중에"를 골랐고, 관리자는 상태판에 기록한 뒤 세션을 닫았습니다.

dot이 도운 점
  • 안전 규칙을 붙여 세션을 열어 조사 중 사고 가능성을 줄임
  • 원인이 외부에 있음을 빠르게 가려 불필요한 코드 수정을 막음
  • 보류 결정을 상태판에 남겨 다음에 이어 갈 수 있게 함
걸림돌
  • 관리자도 작업 세션도 브라우저 조작 도구가 없어 마지막 단계(외부 콘솔 조작)에서 멈춤
  • "해 줄 수 있다"는 기대와 실제 도구 구성이 어긋남
교훈
  • 브라우저·컴퓨터 조작이 필요한 일은 약속하기 전에 그 도구가 세션에 붙어 있는지 확인
  • 이런 일은 브라우저 확장을 붙인 Claude Code 대화형 세션이 더 맞을 수 있음
  • 비밀 값의 원본 위치(동기화 원천)를 먼저 확인해야 헛수정을 피함

4. dot 사용법

시작·재시작·업데이트

  1. 준비: Node.js 22.13 이상과 git, 그리고 로그인된 Claude Code(claude → /login). GPT를 쓰려면 dot 폴더에서 npx codex login. dot은 Claude 로그인 화면이나 인증 값에 접근하지 않습니다.
  2. 실행: macOS·Linux는 ./dot.sh, Windows는 dot.cmd(또는 node sessions.mjs). 이 PC 안(localhost)에서만 접속을 받습니다. 첫 실행이면 8단계 마법사가 열립니다. 지금 다 하지 않아도 [나중에]로 닫고, ⚙에서 첫 설정을 다시 열면 됩니다.
  3. 화면 재시작: 관리자에게 "dot 재시작해 줘" → 기본은 화면 프로세스만. 작업 세션은 그대로 일합니다. sessions.mjs를 고쳤을 때 필요합니다.
  4. 전체 재시작: "dot 전체 재시작해 줘" → 세션 호스트까지. 엔진·호스트 관련 파일이나 패키지가 바뀌었을 때. 하던 턴은 끊겼다가 자동으로 이어집니다. 손으로는 restart-dot.sh(Windows restart-dot.ps1)에 full 옵션.
  5. 재시작 뒤 확인: 관리자에게 "재시작 로그 보여 줘"(restart_log). 플러그인 불러오기 실패 줄이 없는지 봅니다.
  6. 원클릭 업데이트: 머리줄의 판 표시에 새 판이 보이면 클릭. dot은 30분마다 확인하고, 바뀐 파일 종류에 따라 전체 재시작 / 패키지 설치 / 화면 재시작 / 플러그인 적용 / 새로고침 중 필요한 것만 합니다. 일하는 세션 수가 변하는 중이거나 작업 폴더가 깨끗하지 않으면 미루고, 실패하면 되돌립니다.

관리자에게 일 시키기

관리자에게는 "무엇을, 어느 폴더에서, 어떤 조건으로"를 말하면 됩니다. 관리자는 관련 세션이 이미 있는지 확인한 뒤 새 세션을 열지 묻습니다.

결제 화면 버그 고쳐 줘. 프로젝트는 쇼핑몰 저장소, 편집 자동 허용으로.
이 두 작업은 같은 서버에 배포해. 한쪽이 빌드 중이면 다른 쪽은 기다리게 해 줘.
지금 기다리는 것만 정리해서 선택 카드로 줘.
끝난 세션은 닫기 카드로 보여 줘.
문서 작성은 GPT 세션으로, 검토는 Claude 세션으로 따로 열어 줘.
A 끝나면 B, B 끝나면 C 순서로 작업 그래프 만들어 줘. 시작은 내가 확인할게.
팁관리자는 사용자가 시킨 경우에만 세션 요청에 대신 답하거나 메시지를 보냅니다. "알아서 허락해 줘"라고 하지 않으면 결정은 사용자 몫으로 남습니다.

세션 열기·닫기·찾기

  1. + 새 세션 대화상자: 작업 폴더(직접 입력 또는 최근 목록 최대 10개, [폴더 선택…]), 엔진(Claude/GPT), 용도(일반 작업/점검), 하네스, 권한 모드, MCP 허용, "프로젝트 지침 포함(CLAUDE.md / AGENTS.md)".
  2. 세션 머리에서 권한 모드·MCP 허용을 바꾸고, [멈춤]으로 턴을 끊고, [닫기]로 닫습니다(확인 뒤).
  3. 입력 방식: "지금"(기본)은 진행 중 턴에 끼어들고, "다음"은 턴이 끝난 뒤 차례로 보냅니다. Enter 보내기, Shift+Enter 줄바꿈(한글 입력 중에도 안전).
  4. 🔍 세션 찾기: 지난 Claude 대화(터미널에서 시작한 것 포함)와 닫은 세션을 골라 이어 엽니다. 관리자 창의 /resume 대신 이것을 씁니다.
  5. [닫기] 카드: 관리자의 닫기 제안 카드에서 [닫기 · 제목] 또는 [모두 닫기]. 일하는 중이거나 기다리는 요청·백그라운드 작업이 있는 세션은 서버가 닫기를 거부합니다.

요청 카드 답하기

  1. 세션 안 카드: 질문(선택지 버튼, 여러 개 선택, "직접 입력", [답 보내기]/[거절]), 계획 승인([계획 승인]/[거절]), 도구 허락("파일 쓰기/고치기" 등 + 대상 + diff·명령 미리보기 → [허락]/[거절]).
  2. 관리자 "기다리는 것" 영역: 모든 세션의 대기 요청이 오래된 순으로 모입니다. 세션 제목(클릭하면 그 세션으로), 시각, "원문 보기", 버튼. 선택지 하나짜리 질문은 클릭 한 번에 전송. 다른 곳에서 답했으면 "이미 처리됨".
  3. 단축키: Ctrl+1…9는 가장 오래된 카드의 N번째 버튼, Ctrl+0은 다음 카드로. 조합 키는 ⚙에서 바꿀 수 있습니다.
  4. 선택 카드(관리자가 만든 것): 추천 선택지가 표시되고, 마우스를 올리면 무슨 일이 일어날지 보입니다. 누르면 관리자 턴 없이 처리되어 "✅ 골랐음"으로 바뀝니다. 필요 없으면 [치우기].
주의같은 결정이 세션 카드와 관리자 카드 두 곳에 뜰 수 있습니다. 한 곳에서만 답하세요. 두 곳에서 다르게 답하면 세션이 엇갈린 지시를 받습니다(사례 나).

작업 그래프

  1. 관리자에게 순서와 조건을 말로 설명합니다. 관리자가 그래프를 만들며 순환·없는 폴더·파일 영역 겹침을 검사하고 알려 줍니다.
  2. 패널 갤러리 → "작업" 탭에서 그래프 패널을 엽니다. 흰 구슬 = 세션 노드, 빈 고리 = 사람 단계, 선 = 의존. 클릭하면 상세 + [시작], 두 번 클릭하면 세션이 열립니다.
  3. 앞 노드가 끝나면 관리자 대기 영역에 "시작" 카드([시작]/[나중에]). 자동 시작으로 정한 노드도 동시 실행·하루 상한·파일 충돌·한도 경고에 걸리면 기다립니다.
  4. 노드 세션은 끝날 때 결과를 보고합니다. 보고 없이 턴이 끝나면 [끝]/[다시 시키기]/[실패], 실패면 [다시 시도]/[건너뛰기]/[그래프 멈춤]. 사람 단계는 [했어요]/[중단] 등.
팁"파일 영역"을 정해 두면 다른 노드 영역에 쓰려 할 때 경고하거나(기본) 막을 수 있습니다. 같은 저장소에서 병렬 노드를 돌릴 때 유용합니다.

패널·전체 보기·미리보기

플러그인 [적용]

  1. 플러그인의 client.js만 바뀌면 오른쪽 아래 "화면 변경됨" [새로고침] — 브라우저 새로고침으로 끝.
  2. server.mjs 등 서버 코드가 바뀌면 "적용 대기" 알림의 [적용](또는 [항상 자동 적용]). 그 플러그인만 다시 불러오며, 실패하면 "적용 실패 · 이전 판 유지".
  3. 관리자에게 "플러그인 적용해 줘"라고 해도 같습니다. 적용은 이 PC 화면에서만 가능하고 원격 화면은 못 합니다.
  4. 바뀐 도구 목록은 새 세션에만, 관리자에겐 정리하기 뒤에 보입니다. 자율 모드처럼 전체 재시작이 필요한 플러그인도 있습니다.

금고·데이터 패널

자율 모드

원격 모드

5. 팁과 흔한 함정

흔한 함정 10가지

  1. 플러그인 서버 코드는 [적용]이 필요 — server.mjs를 고친 뒤 저장만 하면 반영되지 않습니다. client.js는 새로고침이면 충분합니다. 둘을 헷갈리지 마세요.
  2. 화면 재시작과 전체 재시작을 구분 — sessions.mjs는 화면 재시작, engines/*·session-host.mjs·host-link.mjs·platform.mjs·패키지는 전체 재시작. 화면만 다시 켜면 호스트가 예전 코드로 계속 돕니다(관리자에게 알림이 가긴 함).
  3. 재시작 뒤 로그 확인 — 플러그인 불러오기 실패(예: 남은 잠금 파일로 인한 "주소 사용 중")는 화면에 크게 드러나지 않을 수 있습니다. 관리자에게 재시작 로그를 보여 달라고 하고, 화면 로그는 작업 세션에 읽게 하세요.
  4. 도구 목록 변경은 새 세션부터 — 플러그인이 도구를 추가·변경해도 이미 열린 세션은 모릅니다. 작업 세션은 새로 열고, 관리자는 [정리하기]로 새로 시작해야 보입니다.
  5. 결정 카드 중복 — 세션 카드와 관리자 카드가 같은 결정을 물을 수 있습니다. 한 곳에서만 답하세요.
  6. 배포 대상 공유는 미리 알리기 — "이 둘은 같은 서버에 올라간다"를 처음부터 관리자에게 말하면 대기 규칙을 걸어 줍니다. 말하지 않으면 관리자가 늦게 알아챌 수 있습니다.
  7. 브라우저·컴퓨터 조작 도구 확인 — 관리자는 브라우저를 조작하지 못하고, 작업 세션도 그 도구가 없을 수 있습니다. 약속하기 전에 "이 세션에 브라우저 도구 붙어 있어?"부터 묻게 하세요.
  8. 관리자에서는 /resume이 안 됨 — 지난 대화를 이으려면 🔍 세션 찾기를 쓰세요.
  9. 읽기 전용 명령 허락 카드 폭주 — 세션마다 권한 모드를 의도적으로 고르세요(예: 일상 작업엔 "편집 자동 허용"). 같은 읽기 전용 명령이 반복된다면 관리자나 세션에 그 규칙을 분명히 말해 두세요. "자동 판단" 모드는 Claude가 위험도를 판단하게 할 뿐 카드가 줄어든다는 보장은 없습니다. MCP 위주라면 MCP 허용 스위치를 쓰되, 명령 실행·파일 쓰기에는 효과가 없다는 점을 기억하세요. 반대로 "모두 허용"은 믿는 폴더·작업에서만.
  10. 보고는 믿되 확인 — 보고 속 숫자가 서브에이전트 결과를 그대로 옮긴 것일 수 있고, 요청하지 않은 병합 같은 부수 행동이 있을 수 있습니다. 중요한 숫자·배포·병합은 직접 확인하세요. 로그에 뜨는 "권한 확인 우회" 류 경고는 모드 설정에 따른 것일 수 있어 그 자체로 장애는 아닙니다.
팁 — 토큰 절약짧은 확인은 세션 카드에서 직접, 반복 결정은 관리자에게 선택 카드로 달라고 해서 클릭으로. 끝난 세션은 바로 닫아 알림 요약 턴을 줄이세요.
팁 — 설정 파일 손볼 때dot이 켜져 있으면 화면 프로세스가 세션 목록 파일을 자주 다시 씁니다. 손으로 고쳐야 한다면 "백업 → 화면 프로세스만 멈춤 → 한 항목만 수정 → 나머지가 그대로인지 확인 → 다시 켬" 순서를 지키세요. 세션 호스트는 60초 안에 화면이 돌아오면 세션을 유지합니다.

Claude Code 단독이 나은 경우