Skip to content
JakeLim17Public

Repository files navigation

Manage-A — 로컬 프로젝트 관리 대시보드

소개 페이지 · 서비스 지도 체험 · English introduction

한국어 · English

프로젝트 시각화·AI 사용량·방문 통계를 내 컴퓨터에서 확인하세요.

Manage-A는 여러 개발 프로젝트의 코드 구조와 흐름도, 운영 상태, AI 도구 사용량, 방문·검색 통계를 한곳에서 확인하는 로컬 대시보드입니다. Claude·Codex·Cursor 사용량과 Google Analytics 4(GA4)·Search Console 데이터를 각각의 출처와 연결 상태로 표시합니다.

기본적으로 127.0.0.1에서만 실행되며, 탐색한 프로젝트 코드를 업로드하거나 변경하지 않습니다. 각자의 프로젝트 폴더와 계정으로 연결해서 사용합니다.

표시 언어

앱 상단이나 설정의 표시 언어에서 한국어·English를 선택합니다. 메뉴, 서비스 지도 설명, 설정, 사용설명서, AI 연동 요청문을 함께 전환합니다. 선택은 현재 브라우저에 저장하며, 첫 실행은 브라우저 언어를 따릅니다(한국어 외에는 영어).

언어 전환 시 같은 프로젝트·메뉴를 다시 불러옵니다. 미저장 입력이 있으면 버릴지 확인합니다. 프로젝트 이름·설명·메모·직접 입력한 계정 별칭·Git 기록은 원문으로 유지합니다. 알려지지 않은 제공자 오류에는 영어 확인 안내와 원문 진단을 함께 표시합니다. 번역에 외부 API를 사용하지 않습니다.

빠른 시작

필요한 프로그램은 Node.js 24입니다(최소 22.9). 별도 의존성 설치와 빌드가 필요하지 않습니다.

1. 다운로드

Git이 설치되어 있다면 터미널에서 실행하세요.

git clone https://github.com/JakeLim17/Manage-A.git
cd Manage-A

Git 없이 사용하려면 이 저장소의 Code → Download ZIP을 선택하고 압축을 푼 폴더에서 터미널을 엽니다.

2. 프로젝트 폴더 지정

macOS / Linux:

cp .env.example .env

Windows PowerShell:

Copy-Item .env.example .env

복사한 .env 파일에 본인의 프로젝트들이 들어 있는 폴더의 절대 경로를 적습니다. 경로에 공백이 있으면 따옴표로 감싸세요.

# macOS / Linux 예시
PROJECT_ROOT="/Users/your-name/Projects"

# Windows에서는 위 줄 대신 본인의 경로를 사용합니다.
# PROJECT_ROOT="C:/Users/your-name/Projects"
HOST=127.0.0.1
PORT=4310

PROJECT_ROOT를 설정하지 않으면 Manage-A 폴더의 상위 폴더를 탐색합니다. 예를 들어 Projects/Manage-A, Projects/my-app, Projects/my-site 구조로 두면 나란히 놓인 프로젝트가 목록에 표시됩니다.

3. 실행

npm start

브라우저에서 **http://127.0.0.1:4310**을 엽니다. macOS에서는 Start Dashboard.command를 더블클릭해 실행할 수도 있습니다. 이 실행 파일이 차단되면 터미널의 npm start를 사용하세요.

터미널을 켜 둔 동안 대시보드가 동작합니다. 종료하려면 해당 터미널에서 Ctrl+C를 누릅니다. 다음에 사용할 때는 같은 폴더에서 npm start를 다시 실행합니다.

4. 처음 설정하기

  • 설정 → 사용자명: 첫 화면의 인사와 워크스페이스 이름을 바꿉니다.
  • 프로젝트: 탐색된 목록을 확인하고 설명·운영 상태·주요 기능을 입력합니다.
  • AI 사용량: 본인의 CLI 로그인, CSV 또는 Admin API 키로 연결합니다. 구독 한도와 API 비용은 별도로 표시됩니다.
  • 방문·검색: 본인의 Google 인증을 연결하고 해당 프로젝트의 GA4 속성 또는 Search Console 사이트를 선택합니다. ‘통계 가져오기’로 실제 수신을 확인합니다.
  • 사용설명서: 화면별 해석과 연결 방법을 확인합니다.

계정 연동 없이도 프로젝트 구조·흐름·관리 기능을 사용할 수 있습니다. 다른 사용자의 로그인이나 개인 통계는 소스에 포함되지 않습니다. 127.0.0.1은 접속하는 컴퓨터 자신의 주소이므로, 각 사용자가 자신의 컴퓨터에서 실행해야 합니다.

OS별 지원 범위

기본 대시보드는 Node.js로 실행됩니다. Windows / Linux 실행 안내는 제공하지만, 현재 실환경 검증은 macOS에서 수행했습니다. Claude 구독 한도 자동 조회는 macOS와 Python 3가 필요합니다. Codex 자동 조회는 로그인된 Codex CLI가 필요하며, Cursor는 CSV 가져오기와 직접 기록을 지원합니다. CLI가 없거나 로그인되지 않아도 대시보드는 사용할 수 있으며 해당 연동은 미연결로 표시됩니다.

실행 문제 해결

  • node / npm 명령을 찾을 수 없어요: Node.js를 설치하고 터미널을 새로 연 뒤 node --version을 확인하세요.
  • 프로젝트가 보이지 않아요: .env의 PROJECT_ROOT가 프로젝트 폴더들을 포함하는 실제 경로인지 확인한 뒤 서버를 종료하고 다시 실행하세요.
  • 4310 포트를 이미 사용 중이에요: 기존 Manage-A 터미널을 확인하거나 .env의 PORT를 다른 번호로 바꾸고 그 번호의 주소로 접속하세요. macOS 더블클릭 실행 파일은 기본 포트 4310용이므로 사용자 지정 포트에서는 npm start를 사용합니다.
  • Google 연결은 됐는데 통계가 안 와요: OAuth 프로젝트의 세 API 활성화, 계정의 속성 읽기 권한, 프로젝트별 속성 선택을 확인하세요. 로그인 완료와 실제 수신은 별도로 표시됩니다.
  • 폴더 이름이나 서버 설정을 바꿨어요: .env 변경 후에는 서버를 다시 실행하세요. .local/을 보관하면 기존 관리 설정과 마지막 조회 데이터를 유지할 수 있습니다.

데이터 보관과 공유

웹 화면과 로컬 서버가 함께 포함되어 있으며, 프로젝트 탐색과 계정 조회는 실행하는 컴퓨터에서 이루어집니다. 기본 접속 범위는 127.0.0.1입니다. 원격 접근은 아래의 별도 설정을 사용합니다.

.env, .local/, output/, .output/는 Git에서 제외됩니다. 개인 설정, 인증 정보, 실제 통계와 프로젝트 정보가 담긴 화면 캡처를 공개 저장소에 포함하지 마세요. OAuth 클라이언트 JSON과 서비스 계정 키는 저장소 밖에 보관합니다. 데이터 삭제가 필요한 경우 서버를 먼저 종료하고 본인의 .local/을 별도 백업한 뒤 처리합니다.

Manage-A는 MIT 라이선스로 공개합니다. 저작권·라이선스 고지를 유지하면 사용·수정·재배포와 상업적 이용이 가능합니다. 소프트웨어는 보증 없이 제공됩니다.

제공 기능

  • 지정한 프로젝트 폴더의 프로젝트 자동 발견: package.json 기술 스택, README 설명, Git 브랜치·최근 커밋·변경 파일 수, 로컬 주소의 TCP 포트 응답 여부. macOS에서는 수신 프로세스의 작업 폴더도 확인해 다른 프로젝트의 포트를 구분합니다. 포트 응답은 해당 앱의 정상 동작을 보장하지 않습니다.
  • 제한된 소스 파일 탐색으로 API 경로, 페이지, DB/AI 패키지, 사이트맵·robots·메타 파일 발견. 비밀 파일과 심볼릭 링크는 탐색하지 않습니다. 깊이 8단계·3,000개 항목까지 탐색하므로 큰 프로젝트의 결과는 일부일 수 있습니다.
  • 프로젝트 이름·설명·운영 상태·주요 기능·통계 속성 편집과 로컬 저장.
  • 움직이는 흐름도, 단계 선택, 일시정지, 속도 조절, 단계·연결을 입력하는 시각 편집. 기본 구조는 파일·의존성을 참고한 설명용 구조이며 실제 요청이나 정확한 아키텍처를 자동 추적하지 않습니다.
  • Claude·Codex·Cursor 사용량을 확인해 기록: 출처, 입력 시각, 한도 구간, 초기화 예정. Codex는 로그인된 CLI의 공식 account/rateLimits/read를 5분마다 조회하고, 여러 한도가 있으면 각각 표시합니다. CLI 초기화와 계정 읽기만 실행하며 모델 대화는 시작하지 않습니다. Claude는 macOS에서 로그인된 Claude Code의 /usage를 조회합니다. Cursor는 CSV 가져오기와 직접 기록을 지원합니다.
  • GA4 방문자·조회·세션·유입 경로·인기 페이지 및 Search Console 검색어·클릭·노출·CTR·평균 순위 실데이터 조회.
  • 통계 미연결 상태 및 명시적으로 선택하는 예시 데이터 모드.
  • 로컬 SEO 파일 점검: 사이트맵과 robots 파일 존재, 정적 index.html 제목·설명 태그, 동적 레이아웃 파일. 실제 배포·색인·성능 정상 여부를 판단하지 않습니다.
  • Git 활동과 관리 기록, 관리 정보 JSON 내보내기, 60초마다 프로젝트 현황 갱신, 모바일 대응, 키보드 조작, 움직임 줄이기 설정 반영.

운영 상태는 직접 지정한 정보입니다. 폴더가 존재하거나 Git이 연결되어 있다는 이유로 운영 중·정상이라고 표시하지 않습니다. 키와 .env는 프로젝트 수집 대상이 아닙니다.

설정

.env.example을 .env로 복사하여 필요한 값만 설정하세요. .env와 .local/은 Git에서 제외됩니다.

설정 기본값 / 의미
PORT 4310
HOST 127.0.0.1
PROJECT_ROOT Manage-A의 상위 폴더
GOOGLE_APPLICATION_CREDENTIALS 외부에 보관한 서비스 계정 JSON 파일 절대 경로
DASHBOARD_PASSWORD 원격 모드에서 16자 이상 필수
PUBLIC_ORIGIN 원격 모드의 정확한 접속 origin (예: https://control.example.com)
COOKIE_SECURE HTTPS 프록시 사용 시 true 필수

.local/settings.json에 사용자명·직접 입력한 정보·마지막 통계 조회가 저장됩니다. .local/deployments.json은 배포 스냅샷입니다. 백업 시 이 파일을 개인 보관소에 복사하세요. JSON 내보내기에는 비밀 키가 포함되지 않지만 프로젝트 정보가 포함되므로 공유하지 마세요.

프로젝트별 서비스 계정

개요의 프로젝트별 연결 계정에서는 GitHub·Vercel·DB 계정을 함께 볼 수 있습니다. 계정별로 보기로 같은 계정의 프로젝트를 모아 봅니다. 프로젝트 목록과 흐름도의 프로젝트 카드에도 계정 이름이 표시됩니다.

여러 무료 계정을 나누어 쓰는 경우 서비스 계정 → 계정 추가에서 개인①, 개인②, 회사처럼 별칭을 붙여 각각 등록하세요. 프로젝트를 고른 뒤 사용 계정 선택에서 서비스별로 고르고 이 프로젝트 계정 확인을 누릅니다. 자동 찾기는 등록된 연결들을 조회해 정확한 프로젝트 ID가 일치하는 계정을 찾습니다. 직접 계정을 지정하면 다른 로그인으로 넘어가지 않습니다. 등록 계정 관리에서 별칭과 토큰을 변경할 수 있습니다. 별칭은 실제 소유 조직과 다를 수 있으므로 자세한 소속·조회 계정은 확인 내역을 참고하세요.

서비스 계정 화면에서 프로젝트를 선택하고 연결 ID를 검토한 뒤 계정 확인을 누르세요. Git origin, Vercel 프로젝트 설정, Supabase 연결 파일, Wrangler 계정 ID에서 대상을 발견합니다. 연결 ID 편집으로 직접 지정하거나 자동 발견으로 되돌릴 수 있습니다.

GitHub와 Supabase는 로그인된 공식 CLI를 사용할 수 있습니다. Vercel은 macOS의 공식 CLI 로그인 파일을 자동 감지해 토큰을 복사하지 않고 공식 읽기 API를 조회합니다. CLI 로그인이 없거나 다른 계정이라면 토큰 연결로 추가하고, Cloudflare도 읽기 토큰을 등록하세요. Supabase의 프로젝트 찾기는 접근 가능한 실제 목록을 보여주며 직접 선택해야 합니다. 이름으로 자동 매칭하지 않습니다.

소유 계정·조직과 조회에 사용한 로그인 계정은 구분합니다. Supabase는 소속 조직을 표시하며 개인 이메일을 추정하지 않습니다. Cloudflare는 계정 접근만 확인하며 특정 Worker·Pages 배포를 확인하지 않습니다. 실패·ID 불일치는 연결 완료로 표시하지 않고, 성공 결과도 15분 뒤에는 재확인이 필요하다고 표시합니다.

AI 사용량과 서비스 계정 화면의 AI에게 연동 요청은 작업에 맞는 요청문을 만들어 복사합니다. 사용하는 AI 도구에 붙여넣어 연결 작업을 요청할 수 있습니다. 복사만으로 전송하거나 실행하지 않습니다. 토큰을 채팅이나 Git에 붙여넣지 마세요.

토큰 입력은 로컬 모드에서만 가능하며 .local/service-credentials.json에 저장됩니다. 이 파일은 Git에서 제외됩니다. .env.example의 서비스 토큰 환경 변수도 지원합니다. 기존 단일 토큰과 환경 변수도 별도 연결로 선택할 수 있으며, 자동 찾기는 등록된 연결들을 차례로 조회합니다. ID와 계정 메모를 적는 것만으로 실제 연결 확인이 되지는 않습니다.

Google 통계 연결

  1. OAuth 클라이언트의 Google Cloud 프로젝트에서 Analytics Data API, Analytics Admin API, Search Console API를 활성화합니다.
  2. 방문·검색 → Google로 연결에서 OAuth 클라이언트 JSON 파일의 절대 경로를 지정하고 Google 통계 읽기 권한을 승인합니다. 자세한 로컬 콜백·토큰 보관 방식은 아래 ‘Google 로그인으로 방문·검색 통계 연결’을 참고하세요.
  3. 프로젝트와 기간을 고른 뒤 통계 속성 찾기에서 실제 GA4 속성과 Search Console 사이트를 선택합니다. 해당 Google 계정에 속성 읽기 권한이 있어야 합니다.
  4. 방문·검색에서 통계 가져오기를 누릅니다. 인증 완료, 속성 등록, 실제 수신은 각각 표시합니다.

기존 서비스 계정도 연결 창의 ‘서비스 계정 파일로 연결’에서 JSON 파일 절대 경로로 등록할 수 있습니다. 키는 저장소 밖에 보관하고 해당 이메일에 속성 읽기 권한을 부여합니다. 키 내용을 브라우저나 양식에 입력하지 않습니다. .env의 GOOGLE_APPLICATION_CREDENTIALS 경로가 있으면 그 값이 우선합니다. 속성을 직접 입력할 때 도메인 속성은 sc-domain:example.com, URL 접두어 속성은 등록된 정확한 URL(끝 / 포함)입니다.

GA4는 어제까지 7/28/90일을 조회하고 Search Console은 지연을 고려해 3일 전까지 동일한 일수를 조회합니다. GA4 활성 사용자 합계는 날짜별 합산이 아니라 기간 전체 조회 값입니다. 검색어와 유입 경로는 API가 반환한 상위 항목이며 검색어 합계와 전체 합계는 다를 수 있습니다. 조회 실패는 화면에 표시하고 수치를 생성하지 않습니다.

실제 GA4 및 Search Console 계정으로 조회와 수신을 확인했습니다. 각 설치 환경에서는 본인 계정의 권한과 속성 연결을 별도로 확인해야 합니다.

공식 문서: GA4 Data API, Search Console 권한, 검색 실적 조회.

원격 접근 (선택)

로컬 서버를 계속 사용하고 다른 컴퓨터에서 SSH 터널로 보는 방식이 우선입니다. 원격 호스트의 SSH 접근이 이미 설정되어 있어야 합니다.

ssh -L 4310:127.0.0.1:4310 사용자@대시보드컴퓨터

다른 컴퓨터에서 http://127.0.0.1:4310에 접속합니다. 대시보드가 실행되는 컴퓨터는 켜져 있어야 합니다. 무료로 로컬 실행할 수 있으며, 별도 호스팅이 필요하지 않습니다.

웹 서버에 설치하려면 신뢰하는 서버에서 실행하고 HTTPS 리버스 프록시 뒤에 배치하세요. 프로젝트 원본을 외부 서버로 옮길지 여부는 별도 결정이 필요합니다. 정적 무료 호스팅에는 로컬 파일 수집 서버를 그대로 배포할 수 없습니다. 무료 외부 호스팅의 제공 여부와 한도는 이 프로젝트에서 확인하거나 보장하지 않습니다.

HOST=0.0.0.0
DASHBOARD_PASSWORD=본인이-만든-충분히-긴-비밀번호
PUBLIC_ORIGIN=https://control.example.com
COOKIE_SECURE=true

프록시는 Host와 Origin을 보존해야 합니다. 이 설정이 빠지면 원격 실행을 거부합니다. HttpOnly·SameSite 세션 쿠키(8시간), 로그인 시도 제한, Host 검증, 동일 Origin 변경 요청 검증, CSP를 적용합니다. 원격 배포·HTTPS 인증서 발급·포트 개방은 자동으로 하지 않습니다. 인터넷 공개 운영 시 네트워크 접근 통제와 비밀번호 보관도 운영자가 관리해야 합니다.

검증

npm run check
npm test

통합 테스트는 임시 프로젝트와 임시 데이터 폴더, 4319·4320 포트를 사용합니다. 실제 프로젝트나 관리 데이터를 수정하지 않습니다.

v1.1 개선

  • 제품 이름·브라우저 제목·파비콘·로고를 Manage-A로 통일했습니다. 설정의 사용자명을 첫 화면 인사와 워크스페이스 이름에 반영합니다.
  • 첫 화면 설명: 프로젝트 구조, 운영 상태, AI 사용량을 관리하는 대시보드입니다.
  • 개발 언어별 파일 수와 비율, 발견한 페이지/API 수, Git 변경 파일과 로컬 포트, Vercel 배포 연결을 확인합니다. 로컬 포트는 README와 package.json dev/start 명령에서 발견합니다.
  • 코드 연결 구조와 직접 정의한 흐름을 분리했습니다. 기능별 API를 선택하면 메서드·파일·내부 import·DB/AI SDK의 간접 import를 보여줍니다. import 추적은 최대 3단계·25개 파일·40개 연결, 프로젝트 전체 import 캐시는 160개 파일로 제한합니다. 제한에 걸리면 표시합니다.
  • 실선은 확인한 import, 점선은 의존성/설정 기반 추정입니다. import는 실행 순서나 실제 호출을 보장하지 않습니다. 실제 요청 이벤트 수집은 미연결입니다. 정규식으로 구성된 동적 라우트나 런타임 import는 누락될 수 있습니다.
  • 흐름 편집은 JSON 입력 대신 단계 이름·설명과 시작/도착을 입력합니다. 삭제는 저장 전 초안에만 반영됩니다.
  • Codex 공식 CLI 한도는 서버 시작과 5분마다 갱신하며, 실제 사용량 갱신 버튼은 최소 1분 간격으로 읽습니다. 실패하면 마지막 성공값과 오류를 구분합니다. CODEX_BIN으로 실행 파일 경로를 지정할 수 있습니다. 테스트/오프라인 환경에서는 DISABLE_BACKGROUND_SYNC=1로 자동 조회를 끕니다.
  • Claude Code 최근 7일 로그는 메시지 ID로 중복 제거하여 입력·출력·캐시 토큰만 집계합니다. 대화 내용은 화면에 보내지 않습니다. 16 MiB 초과 파일, 전체 64 MiB를 넘는 파일은 제외하며 제외 수를 표시합니다. 이 수치는 계정 전체 사용량·청구액·잔여 한도가 아닙니다.
  • 성공한 GA4/Search Console 조회는 기간별로 보관합니다. 재방문 시 마지막 조회 시각과 함께 불러오고 속성이 바뀌면 이전 캐시를 지웁니다. 계정 권한이 없는 상태에서 임의 수치를 생성하지 않습니다.
  • Vercel의 .vercel/project.json을 자동 발견합니다. 연결 도구에서 읽은 공식 스냅샷과 403/404 상태를 표시합니다. .env에 VERCEL_TOKEN을 설정하면 배포 상태 조회 버튼으로 현재 API 데이터를 읽습니다. 토큰은 UI에서 입력받거나 반환하지 않습니다. 배포나 설정 변경은 실행하지 않습니다.

이름 검색 (2026-10-13)

Manage-A 표기의 동일 대시보드는 이번 웹 검색에서 뚜렷하게 확인하지 못했습니다. 다만 유사한 Managea 이름의 CRM 서비스와 업무 관리 소프트웨어가 존재합니다. 이는 일반 웹 검색 결과이며 이름의 독점성이나 상표 등록 가능 여부를 확인한 결과가 아닙니다. 현재 로컬 제품 이름은 사용자 요청대로 Manage-A를 사용합니다.

Codex 공식 인터페이스: OpenAI App Server 문서.

v1.2 상태 점검과 변경 영향

  • 상태 점검: 발견한 로컬 포트에 GET /를 보내 HTTP 상태·응답 시간·조회 시각을 저장합니다. 다른 프로젝트가 사용하는 포트는 제외하며 외부 주소와 리디렉션 대상에는 접속하지 않습니다. 응답 본문·헤더·쿠키는 저장하지 않습니다. 인증 응답과 리디렉션은 검토 대상으로 구분합니다. 15분이 지난 HTTP 결과는 재점검 대상으로 표시합니다. 루트 페이지 응답은 전체 기능이나 DB의 정상 동작을 보장하지 않습니다.
  • 빌드·테스트 기록: 직접 확인한 통과/실패 결과, 검증 시각, 메모를 로컬에 기록합니다. 명령은 자동 실행하지 않습니다. 기록 시 Git 상태와 소스 파일 메타데이터를 함께 식별해 이후 코드가 바뀌거나 하루가 지나면 재확인을 표시합니다. 파일 크기·수정 시각 기반 비교이므로 내용 해시 검증이나 CI 결과 인증을 대신하지 않습니다.
  • 변경 영향 지도: 기준 파일을 참조하는 파일을 역으로 추적해 직접·간접 참조, 연결된 화면과 API, 최단 참조 경로를 보여줍니다. Git 변경 파일 필터, 소스 검색, 해당 API의 기존 구조 화면으로 이동할 수 있습니다. Git 변경 파일은 공백·한글·이름 변경을 보존하고 최대 100개 표시합니다.
  • 분석 범위: JS·TS·Vue·Svelte의 정적 import/require에서 상대 경로 및 @/ 별칭을 해석합니다. 최대 800개 파일·24MiB·6,000개 연결을 분석하고 범위와 상한 도달 여부를 표시합니다. 동적 import, 다른 별칭, 네트워크 호출, Python·Swift의 연결은 지원하지 않습니다. 구문 기반 발견이므로 주석이나 조건부 코드에 대한 추가 검토가 필요합니다. 코드 참조는 실제 실행 흐름이나 확정된 오류 영향을 의미하지 않습니다.
  • 통계 연결 확인: 인증 경로 등록, 프로젝트 속성 등록, 실제 GA4·Search Console 데이터 수신을 구분합니다. 최근 조회 시도와 마지막 성공 데이터를 보관하며 예시 데이터는 연결 성공으로 반영하지 않습니다. Google 계정 권한이 없으면 실제 통계 연결은 완료되지 않습니다.
  • 확인할 일과 작업 기록: 최근 점검 오류, 배포 연결 문제, 사용량 부족, 변경 영향 검토를 개요에서 해당 프로젝트로 연결합니다. 운영 기록에는 Git·관리 기록 외에 최근 HTTP 점검과 배포 조회도 표시합니다. 디스크 여유 공간이 512MiB 미만이면 저장 실패 가능성을 알려줍니다.

추가 테스트는 import 순환·역방향 경로·무관한 파일 제외, 로컬 HTTP 리디렉션 차단·시간 제한·응답 본문 미보관, 오래된 결과 제외, 검증 기록과 이후 코드 변경, API 인증·저장, Git 파일명 처리를 확인합니다.

v1.3 제공자 연결과 점검 표시

  • Claude 한도 수집: npm run connect:claude는 ~/.claude/settings.json의 공식 statusLine 명령에 로컬 수집기를 연결합니다. 기존 설정은 같은 폴더에 0600 권한으로 백업하며 기존 상태줄 명령은 이어서 실행합니다. Claude CLI 로그인 후 지원하는 구독 계정의 다음 응답에서 제공되는 rate_limits.five_hour, seven_day, spend_limit만 저장합니다. 컨텍스트 사용률을 구독 잔여량으로 사용하지 않습니다. 수집기는 별도 모델 요청·OAuth 토큰 읽기·외부 전송을 하지 않습니다. 대화·세션 ID·전문 경로는 저장하지 않습니다. 로그인/설치/수집기 설정/첫 수신 대기/이전 데이터 상태를 구분합니다. 로그인은 claude auth login으로 사용자가 완료해야 합니다. Claude 공식 상태줄 문서
  • 수집기 경로: 기본 저장 위치는 Manage-A의 .local입니다. 서버 DATA_DIR를 변경했다면 Claude 프로세스에서도 MANAGE_A_DATA_DIR를 같은 경로로 지정해야 합니다. 복원하려면 Claude 설정의 statusLine을 백업 파일의 값으로 되돌리세요. 다른 설정은 변경할 필요가 없습니다.
  • Cursor 개인 계정: 공식 사용량 화면 링크, 잔여 한도 직접 기록, 이벤트 CSV 집계를 지원합니다. Date/Timestamp, Model, Cost/Total Cost 및 Tokens 계열 열을 읽으며 최대 768KiB·10,000행을 지원합니다. 모델별 이벤트·토큰·CSV 기재 비용만 저장하며 원본 CSV·이메일·대화 ID는 저장하지 않습니다. 숫자가 아닌 비용은 미제공으로 처리하고 날짜가 잘못된 행은 제외합니다. 가져온 파일 전체 범위의 기록이며 개인 구독의 실시간 잔여 한도나 확정 청구액을 산출하지 않습니다. 다시 가져오면 이전 집계를 대체합니다.
  • 구독 관리: 제공자별 플랜, 사용/유료 일시 중단/무료/미확인, 과거 플랜 이력, 메모를 직접 기록합니다. 실제 결제나 해지를 실행하지 않습니다. 중단 중인 계정은 이전 한도를 현재 0%/100%로 표시하지 않고 사용량 부족 알림에서도 제외합니다. 플랜 이력과 중단 상태는 사용자가 본인의 계정 정보를 직접 기록합니다.
  • 자동 상태 점검: 5분마다 소유 프로젝트가 확인된 열린 포트에 GET /를 보냅니다. 수동 점검은 발견한 로컬 포트에서 다른 프로젝트 소유 포트를 제외합니다. 응답 대기 상한은 5초입니다. 401/403, 3xx, 루트 404, 시간 초과는 검토/지연으로 구분하고 5xx와 연결 실패는 점검 오류로 표시합니다. 리디렉션을 따라가지 않으며 응답 본문은 저장하지 않습니다. 자동 점검 오류와 마지막 성공 시각도 표시합니다. 이 점검은 루트 응답만 확인하며 DB나 전체 기능 검증을 대신하지 않습니다.
  • 관리 상태와 실행 상태: 개요 지도와 프로젝트 목록은 실제 HTTP 점검/포트 응답을 기본 배지로 표시하고, 직접 입력한 개발/운영/보류 상태는 관리:로 구분합니다. 네이티브 앱이나 로컬 주소가 없는 프로젝트는 HTTP 대상 없음/주소 미등록으로 표시합니다.
  • 긴 글자: SVG 글자의 실제 폭을 측정해 말줄임하고 노드 내부 clipPath로 표시 범위를 제한합니다. 전체 경로는 툴팁·상세 목록에서 확인합니다. 일반 카드의 긴 프로젝트명·패키지명은 줄바꿈합니다.

Claude 계정 및 API 보고서

사용량 화면에서 실제 CLI 로그인 이메일과 구독 종류를 확인합니다. 웹 로그인만으로 상태줄이 호출되지는 않습니다. 수집기 설치 후 Claude Code를 재시작하고 새 응답이 발생해야 하며, Team 좌석에서 한도 필드가 제공되지 않으면 잔여량을 추정하지 않습니다.

Claude API 사용량은 별도 조직 보고서입니다. 로컬 .env의 ANTHROPIC_ADMIN_KEY에 조직용 Admin 자격 증명을 설정하고 서버를 재시작합니다. 키는 브라우저나 응답에 전달하지 않습니다. 최근 완료된 UTC 7일의 조직 전체 토큰과 비용을 조회하며 개인 이메일별 사용량이나 구독 잔여량이 아닙니다. 미연결·권한 오류·불완전 보고서는 0으로 표시하지 않습니다.

사용설명서 메뉴와 각 화면의 '이 화면 사용법' 버튼에서 화면별 안내를 확인할 수 있습니다. 운영 사이트, 로컬 HTTP 응답, Vercel 조회, 빌드·테스트 기록은 서로 독립적인 상태입니다.

Claude와 OpenAI 모두 AI 사용량 화면의 API 자동 연동 버튼으로 Admin 키를 검증·저장할 수 있습니다. 서버 재시작 없이 연결되며 5분마다 조회합니다. 인증은 로컬 모드의 루프백 접속에서만 허용합니다. 키는 .local/api-credentials.json에 0600 권한으로 저장되며 대시보드 응답·관리 정보 내보내기에 포함하지 않습니다. 연결된 키는 환경 변수보다 우선합니다. OpenAI는 모델 응답 토큰과 전체 조직 API 비용을 구분하여 표시합니다. Codex 구독 잔여 한도는 기존 CLI 연결을 계속 사용합니다.

Claude Team 구독 한도 (macOS)

Team/Enterprise 계정은 Pro·Max 전용 상태줄 rate_limits를 기다리지 않고 공식 Claude Code의 /usage 화면에서 구독 한도를 조회합니다. 초기 CLI 로그인과 격리된 빈 조회 폴더(/private/tmp/manage-a-claude-quota-check)의 신뢰 확인이 한 번 필요합니다. 프로젝트 폴더는 신뢰 대상으로 추가하지 않습니다. 설치 환경마다 본인의 CLI 로그인과 최초 설정을 완료해야 합니다.

서버 실행 중 5분마다 도구·MCP·훅·Chrome 연동을 끈 대화형 CLI에서 /usage만 실행합니다. 모델 프롬프트는 전송하지 않습니다. 원시 터미널 출력은 저장하지 않고 인식한 구독 사용률과 초기화 안내만 반영합니다. CLI 화면 형식에 의존하므로 파싱 실패는 조회 실패로 표시합니다. 현재 macOS /usr/bin/script와 Python 3의 표준 라이브러리를 사용합니다. 다른 OS는 별도 터미널 중계기 지원이 필요합니다. 사용량 화면에 제공된 기간만 표시하며 주간 한도가 없으면 생성하지 않습니다.

Google 로그인으로 방문·검색 통계 연결

서비스 계정 외에 사용자 OAuth 로그인을 지원합니다. 방문·검색 → Google로 연결에서 Google Cloud의 OAuth 클라이언트 JSON 파일 경로를 지정합니다. Desktop 클라이언트는 임시 루프백 포트를 쓰며, Web 클라이언트는 파일에 이미 등록된 로컬 HTTP 콜백만 사용합니다. 다른 앱이 포트를 쓰고 있으면 중단하며 그 앱을 종료하지 않습니다.

Google 승인 화면에는 OAuth 클라이언트의 기존 앱 이름이 표시됩니다. 앱과 개발자를 확인하고 Analytics·Search Console 읽기 권한만 승인합니다. 미검증 앱 경고는 사용자에게 판단과 진행을 맡깁니다. 승인 후 통계 속성 찾기로 계정의 GA4 속성과 검증된 검색 사이트를 선택합니다. Google Analytics Data API, Admin API 및 Search Console API가 해당 OAuth 클라이언트 프로젝트에서 활성화되어야 합니다.

인증 정보는 .local/google-oauth.json에 0600 권한으로 보관하며 브라우저로 반환하지 않습니다. PKCE와 단일 사용 state로 로컬 콜백을 검증하고, OAuth 토큰 갱신은 서버에서 수행합니다. Google 로그인·속성 등록과 실제 통계 수신은 각각 구분합니다. 다른 계정으로 연결할 경우 기존 프로젝트의 속성 접근 권한을 다시 확인해야 합니다.

프로젝트를 여러 디스크에 나눠 보관한다면 기본 PROJECT_ROOT 외에 PROJECT_ROOTS='["/another/disk/projects"]'로 추가 경로를 지정할 수 있습니다. 이름이 겹치면 기본 경로가 우선합니다.

Releases

Packages

Contributors

Languages