Skip to content

맥의 파일과 경로 ​

이 페이지는 에이전트가 호스트(에이전트가 설치된 맥)에 만드는 파일과 폴더, 그리고 서버가 데이터 폴더에 두는 파일을 빠짐없이 정리해요. 설치와 제거 방법은 시작하기를, 서버 데이터 백업은 서버 올리기를 보세요.

이 페이지는 SPEC 판 1.309 기준이에요.

에이전트 폴더 ~/.claude-bridge/ ​

에이전트 폴더는 CLAUDE_BRIDGE_HOME 으로 바꿀 수 있어요. 설치 스크립트는 늘 ~/.claude-bridge 에 파일을 둬요. 폴더에는 에이전트 키와 모든 세션의 기록이 있어서, 설치 스크립트와 에이전트가 시작할 때마다 권한을 0700 으로 맞춰요.

프로그램과 설정 ​

경로쓰는 쪽권한설명
*.mjs (17개)설치 스크립트, 자동 업데이트—에이전트 프로그램이에요. 목록은 설치 스크립트를 보세요.
agent.json에이전트0600설정과 신원(호스트 id, 에이전트 키 등)이에요. 키는 agent.json 키를 보세요.
sessions.json에이전트0600이 맥의 세션 목록이에요(작업 폴더, 대화 id, 모델, 붙잡은 글 등).
hooks.json에이전트0600브리지 세션의 Claude Code 에만 --settings 로 넘기는 훅·상태 줄 설정이에요. 사람의 ~/.claude/settings.json 은 건드리지 않아요.
hook.header에이전트0600훅이 curl -H @파일 로 붙이는 머리글(x-bridge-key: <훅 키>)이에요. 키를 명령줄에 싣지 않으려고 파일로 둬요.
askpass에이전트0700세션 안의 sudo 가 관리자 비밀번호를 사이트에서 받도록 부르는 스크립트예요.
bin/sudo에이전트0700세션의 PATH 앞에 두는 sudo 래퍼예요. askpass 를 써요.
accounts.json에이전트0600더한 Claude 계정 목록 [{id, name, dir}] 이에요. 기본 계정은 넣지 않아요.
accounts/<id>/에이전트, Claude Code0700더한 Claude 계정의 설정 폴더(CLAUDE_CONFIG_DIR)예요.
accounts-removed/<id>-<ms>/에이전트—뺀 계정의 폴더예요. 지우지 않고 옮겨 둬요.
skill-usage.json에이전트—스킬을 얼마나 썼는지 세어 둔 것이에요. 스킬 메뉴의 순서에 써요.

기록과 사본 ​

경로쓰는 쪽권한크기설명
events/<sid>.jsonl에이전트—돌리지 않음서버가 순번을 매겨 내려보낸 세션 이벤트 기록이에요. 서버는 대화를 저장하지 않고 이 맥이 원본을 가져요.
images/에이전트0700—페이지에서 보낸 그림과 대화 기록 속 그림이에요.
prompts/<sid>.txt에이전트폴더 0700, 파일 0600—세션에 붙이는 지시문(--append-system-prompt)이에요. 세션을 내려놓으면 지워요.
prompts/<sid>.mcp.json에이전트——세션에 넘기는 MCP 설정(--mcp-config)이에요.
overwritten/<sid>-<ms>-<이름>에이전트폴더 0700, 파일 0600—옮기기·다시 열기 때 작업 폴더의 지침 파일(SESSION.md, AGENTS.md, CLAUDE.md)을 덮어쓰기 전에 둔 원래 내용이에요.
trimmed/<conv>-<ms>.jsonl에이전트—원본 그대로"대화 기록 정리" 전의 원본 대화 기록이에요. 에이전트는 지우지 않아요.
handoff.json에이전트——에이전트가 다시 시작할 때 넘겨줄 세션 상태예요. 새 프로세스가 120,000 ms 안에 쓴 것을 읽고 지워요.
cb-<uuid>.txt에이전트0600—긴 글을 터미널에 붙여 넣을 때 쓰는 임시 파일이에요.

로그 ​

경로쓰는 쪽권한크기설명
agent.log에이전트0600돌리지 않음한 줄에 JSON { ts, level, area, text, sid } 하나씩 덧붙여요. 내용은 줄마다 2,000자까지예요.
service.loglaunchd—돌리지 않음서비스 모드에서 에이전트의 표준 출력·오류 그대로예요.
voice.log에이전트0600512 KB 를 넘으면 뒤쪽 절반만 남김음성 입력마다 시각, 받아쓴 원문, 다듬은 글, 걸린 시간을 한 줄씩 남겨요.

실행 중 상태와 내려받은 도구 ​

경로쓰는 쪽크기설명
agent.pid에이전트—돌고 있는 에이전트의 pid 예요.
browser/에이전트, ChromeChrome 프로필 크기헤드리스 연동 모드에서 띄우는 Chrome 의 프로필(--user-data-dir)이에요. 사이트 로그인 쿠키가 들어 있어요.
browser.pid에이전트—헤드리스 Chrome 의 pid 예요. 에이전트가 다시 시작해도 같은 Chrome 을 이어받는 데 써요.
whisper/에이전트모델마다 다름음성 입력용 whisper.cpp 모델(ggml-<이름>.bin), 말소리 감지 모델 ggml-silero-v5.1.2.bin(885 KB), 잡음 줄이기 모델 rnnoise.rnnn, whisper-server.pid 를 둬요.
zeropty/<버전>/에이전트—에이전트가 GitHub 릴리스에서 받아 SHA-256 을 확인한 zeropty(지금 0.1.3)예요. zeropty, zeropty-tty, shim.dylib 이 들어 있어요.
.update-XXXXXX/자동 업데이트—업데이트 파일을 받는 임시 폴더예요. 끝나면 지워요.
.update.XXXXXX/설치 스크립트—설치 파일을 받는 임시 폴더예요. 끝나면 지워요.

에이전트 폴더 밖 ​

경로쓰는 쪽권한크기설명
~/Library/LaunchAgents/dev.claude-bridge.agent.plistservice install——백그라운드 서비스 정의예요. 파일 이름은 CLAUDE_BRIDGE_LABEL 을 따라요. service uninstall 이 지워요.
/etc/sudoers.d/claude-bridge-pmsetawake setup0440, root:wheel—이 사용자가 비밀번호 없이 pmset -a disablesleep 0, pmset -a disablesleep 1 만 실행하게 하는 규칙이에요. awake remove 가 지워요.
~/.zeropty/tty/<해시>/bin/claudezeropty-tty—claude 한 벌 크기(약 260MB)zeropty-tty 가 처음에 만드는 서명을 바꾼 claude 사본이에요. claude 가 바뀌면 다시 만들어요.
~/.zeropty/mux.sockzeropty——zeropty 서버의 소켓이에요(ZEROPTY_SOCK 으로 바꿀 수 있어요). 에이전트가 꺼져도 세션은 남아요.
~/.claude/projects/<폴더>/<conv>.jsonlClaude Code—대화가 길수록 커짐Claude Code 가 쓰는 대화 기록(트랜스크립트)이에요. <폴더> 는 작업 폴더 경로의 영문자·숫자가 아닌 글자를 - 로 바꾼 이름이에요. 에이전트는 이 파일을 읽어 서버로 보내요.
~/.claude-bridge/accounts/<id>/projects/<폴더>/<conv>.jsonlClaude Code—같음더한 Claude 계정으로 연 세션의 대화 기록이에요.

CLAUDE_CONFIG_DIR 을 바꾸면 ~/.claude 대신 그 폴더를 써요. claude auth status 가 projectsDirectory 를 알려 주면 에이전트는 그 경로를 따라요.

주의

대화 기록이 100MB 를 넘으면 사이트에서 글을 보낼 수 없어요(/ 로 시작하는 명령은 예외예요). 세션 메뉴의 "대화 기록 정리"는 원본을 trimmed/ 로 옮기고 마지막 압축 앞부분을 덜어 내요.

서버 데이터 폴더 BRIDGE_DATA ​

서버의 영속 상태는 BRIDGE_DATA(이미지 기본값 /data) 아래 파일뿐이에요. 데이터베이스를 쓰지 않아요. 1.277 부터 서버는 대화 원본 줄·화면 이벤트·대화 그림을 디스크에 쓰지 않아요. 원본은 그 세션의 맥에 있어요. 쓰기 도중에는 <파일>.tmp 가 잠깐 생겨요.

text
BRIDGE_DATA/
├── users.json
├── logins.json
├── access.json
├── login-pins.json
├── hosts.json
├── pid.json
├── vapid.json
├── instance.json
├── handover.json
├── handover.secret
├── retention.json
├── models.json
├── agent-seq.json
├── app-build.json
├── skills-repo.json
├── skills-install.secret
├── report-auto.json
├── reports/
└── u/
    └── <uid>/
        ├── prefs.json
        ├── notices.json
        ├── push.json
        ├── apns.json
        ├── apple.json
        ├── plugins.json
        ├── hosts/<hostId>.log, <hostId>.log.1
        ├── uploads/
        └── s/<sid>/meta.json
경로설명
users.json사용자 목록이에요(GitHub 로그인 이름, 표시 이름, 아바타 주소 등).
logins.json로그인 토큰의 SHA-256 과 만료예요. 토큰 원문은 저장하지 않아요.
access.json접근 요청 기록(처음·마지막 시각, 시도 수, 결정한 운영자)이에요.
login-pins.json로그인 이름 → 처음 쓴 GitHub id 이름표예요. 이름을 바꿔 남의 허용을 얻지 못하게 해요.
hosts.json호스트 목록(이름, 종류, 홈 경로, 에이전트 정보)이에요.
pid.jsonSlack 형식 세션 번호 카운터예요.
vapid.json웹 푸시에 쓰는 VAPID(Voluntary Application Server Identification) 키 쌍이에요. 서버가 처음 켜질 때 만들어요.
instance.json, handover.json, handover.secret끊기지 않는 배포 때 두 서버가 주고받는 표시와 비밀값이에요.
retention.json오래된 항목 정리의 기준 시각이에요.
models.json새 세션 화면의 모델 목록과 마지막 확인 정보예요.
agent-seq.json내준 에이전트 업데이트의 서명 순번 기록이에요.
app-build.jsoniOS 앱의 최신 빌드 번호예요. 운영자의 맥이 보낸 값만 받아요.
skills-repo.json운영 화면에서 정한 스킬 저장소예요(1.294 의 값을 옮기는 데 써요).
skills-install.secret/skills/install.sh 서명 키예요. 처음 시작 때 만들고 0600 이에요.
report-auto.json문제 제보 자동 대응 설정이에요(기본 꺼짐).
reports/문제 제보와 그 그림·영상이에요. 90일 뒤 지워요.
u/<uid>/prefs.json그룹, 기본 프롬프트, 음성 설정, 스킬 저장소 같은 사용자 설정이에요.
u/<uid>/notices.json알림이에요. 새것부터 30개, 30일까지 둬요.
u/<uid>/push.json웹 푸시 구독이에요. 20개까지 둬요.
u/<uid>/apns.jsoniOS 앱 알림 기기 토큰이에요.
u/<uid>/apple.jsonApple 로 로그인한 계정의 정보예요.
u/<uid>/plugins.json플러그인 설정과 상태예요. 비밀 값은 목록 응답에서 •••••••• 로 가려요.
u/<uid>/hosts/<hostId>.log호스트 로그(JSON Lines)예요. 5,242,880 byte(5 MiB)를 넘으면 .log.1 로 돌려요.
u/<uid>/uploads/보낸 영상이에요. 맥이 받으면 바로, 늦어도 24시간 뒤 지워요. 한 개 500 MB 까지예요.
u/<uid>/s/<sid>/meta.json세션 정보(제목, 상태, 맥, 작업 폴더, 통계 숫자 등)예요.

1.277 전에 서버에 저장된 대화 파일(transcript*.jsonl, events.jsonl, fork-skip.txt, u/<uid>/img/)은 운영자가 BRIDGE_PURGE=1 로 켜고 지울 때까지 남아요. 자세한 내용은 접근 관리와 운영 화면을 보세요.

AGPL-3.0-only 라이선스로 배포해요.