<div align="center">
JobCtrl
로컬 기반 구직 자동화. 모든 지원서를 사용자가 승인합니다.
라이브 데모 · 문서(Docs) ·
비교(Comparison) ·
도움말 테스트(Help test)
TypeScript CI
Release Privacy Gate
License: AGPL-3.0
<img src="https://raw.githubusercontent.com/ebarti/JobCtrl/HEAD/docs/assets/screenshots/dashboard.png" alt="파이프라인 상태, 활성 작업, 검토 대기열 및 최근 활동을 보여주는 JobCtrl 대시보드 (합성 데이터)" width="880" />
<sub>스크린샷은 합성 데이터를 사용합니다.</sub>
</div
JobCtrl은 채용 공고를 찾고, 각 공고를 사용자 프로필과 비교하여 점수를 매기며, 맞춤형 이력서와 PDF를 작성하고, 검토할 수 있도록 지원서를 준비합니다. 커버레터는 선택 사항이며 기본적으로 비활성화되어 있습니다.
사용자의 데이터는 로컬 머신의 ~/.jobctrl/에 저장되며, 계정이나 호스팅 백엔드는 없습니다.
설치 (Install)
얼리 액세스 버전입니다. 서명된 릴리스는 macOS 15 이상이 설치된 Apple-silicon Mac에서 실행되며 자체 런타임을 번들로 포함합니다.
curl -fsSL https://jobctrl.dev/install.sh | sh
새 터미널에서 jobctrl start를 실행하여 로컬 서비스를 시작하고 앱을 엽니다. 프로필을 생성한 다음, 설정(Settings) → 자격 증명(Credentials) 아래에 LLM 제공업체 (Codex, Claude 또는 Google)를 연결합니다. JobCtrl은 사용자의 자체 제공업체 계정을 사용합니다. Claude나 Google 자격 증명을 저장한 후에는 jobctrl stop과 jobctrl start로 재시작하십시오. 그런 다음 jobctrl setup을 실행하고 보고서에서 'MISSING' 행이 있는 부분을 수정합니다.
첫 번째 구직 활동을 하려면 발견(Discovery) 페이지에서 목표 직무를 설정하고 **파이프라인(Pipelines)**에서 실행을 시작하십시오. 시작하기(Getting Started)에서는 첫 실행 설정을 자세히 다룹니다. jobctrl uninstall은 JobCtrl을 제거하며, --remove-data 옵션을 추가하지 않는 한 ~/.jobctrl/ 폴더는 유지됩니다.
기능 (What It Does)
- Discover: 목표 직무, 위치 및 경력 수준에 맞춰 구인구직 사이트와 설정된 회사 출처를 검색합니다.
- Enrich: 전체 공고와 지원 링크를 가져옵니다. 로컬 워커가 실행되는 동안, 저장된 공고를 재확인하고 저장된 설명이나 자료를 대체하지 않으면서 기한 만료되었거나 불확실한 가용성을 보여줍니다.
- Score: 각 요구 사항을 프로필 증거와 비교하여 적합도를 1점에서 10점까지 평가합니다.
- Tailor: 프로필을 기반으로 이력서를 작성하고, 활성화된 경우 커버레터를 작성합니다. 각 이력서 항목은 그 뒤에 있는 프로필 사실과 연결됩니다. 측정 기준(metric), 날짜, 직책 또는 고용주를 지어내는 초안은 유효성 검사에 실패합니다.
- Review: 지원 검토(Apply review) 페이지에서 이력서를 편집하고 해당 지원을 위한 정확한 버전을 승인합니다.
- Apply: 드라이 런(dry run)은 지원 양식을 검사할 뿐 아무것도 제출하지 않습니다. 이를 위해서는 Claude와 설정(Settings)에서 활성화된 Chrome 또는 Chromium 브라우저가 필요합니다. 사용자가 직접 브라우저 양식에 내용을 채우고 제출해야 합니다. JobCtrl이 자체적으로 제출하는 유일한 지원은, 승인한 수신자와 첨부 파일을 가진 Gmail의 이메일이며, 최대 한 번만 전송됩니다.
단계 1~4는 워크플로우 엔진인 Temporal에서 실행되며, 충돌이나 재시작 후에도 작업을 재개합니다.
JobCtrl은 또한 증거와 함께 게시된 급여 및 시장 추정치를 보여주고, 지원 결과를 기록하며, 연락처를 관리하고, 사용자가 보낼 아웃리치(outreach) 초안을 작성해 줍니다. 로컬 면접 질문 라이브러리 및 직무 준비를 탐색하세요. 이 가이드는 연구 초안이며, 개인 준비는 아직 베타 단계입니다.
안전(Safety)
- 자동 지원 기능(Auto-apply)은 기본적으로 비활성화되어 있습니다. 활성화할 경우, 승인한 이메일 지원서가 전송됩니다. 브라우저 양식은 여전히 사용자가 직접 작성하고 제출하는 것을 기다립니다.
- 특정 공고에 대한 지원이 확정되면 해당 공고로의 추가 지원은 차단됩니다. 동일 고용주가 제공하는 동등 직무는 명시적인 확인(explicit confirmation)이 필요합니다.
- 일일 LLM 예산은 기본 25달러이며, JobCtrl 자체 추정치에 따라 하루 지출액이 이 금액에 도달하면 새로운 LLM 작업이 중단됩니다.
- 로컬 API는 기본적으로 127.0.0.1에 바인딩됩니다. 네트워크에 노출하지 마십시오: 이는 사용자의 프로필, 직무 정보 및 문서를 제공합니다.
- Discover는 기본적으로 Indeed, LinkedIn, ZipRecruiter를 조회하며 robots.txt 파일을 확인하지 않습니다. 자동 접근은 사이트의 약관을 위반할 수 있으므로, 자동으로 조회할 권한이 없는 소스는 모두 비활성화하십시오.
기기 외부로 전송되는 데이터
외부 요청은 해당 단계가 필요할 때 실행되며, 로컬 워커는 저장된 공고를 재확인하는 동안 다음 데이터를 전송합니다:
-
LLM 제공업체: 게시 텍스트, 관련 프로필 증거 및 생성된 텍스트. 오퍼 커뮤니케이션 초안은 또한 설정된 아웃리치 제공업체를 통해 확정된 오퍼 조건 및 출처, 결정 증명서(decision attestation), 기록된 보상 증거를 전송합니다. 선택적 회사 브리핑은 선택된 공개 출처 텍스트와 검토된 회사 신원 정보만을 전송합니다. 옵트인 필수-불렛 코칭은 선택된 저장된 불렛 포인트와 연결된 증거를 설정된 제공업체로 전송합니다. 드라이 런(dry run) 중에도 Claude는 지원 페이지를 볼 수 있지만, 사용자의 프로필이나 문서는 절대 보지 않습니다.
-
채용 게시판 및 기타 사이트: Discover, Enrich, Apply의 드라이 런 요청, 그리고 옵트인 연락처 조사, 회사 브리핑 및 제한된 저장 공고 가용성 확인을 수행합니다. 가용성 확인은 공개 API 또는 익명 브라우저를 사용합니다. 브라우저 확장 프로그램이 연결되고 페어링되면, Discover와 Enrich는 지원되는 제공업체 소유 호스트에 대해 Chrome 세션과 쿠키를 사용합니다. 다른 공고 게시 호스트는 워커의 주소 고정형 공개 전송 수단을 사용합니다.
-
급여 데이터 소스(Salary data sources): 벤치마크가 누락되었거나 일주일 이상 지난 경우, Discover는 Euro Top Tech의 공개 데이터를 가져오며, 필요에 따라 ECB 환율 및 Eurostat 물가 수준을 사용합니다. Levels.fyi 또는 Glassdoor는 활성화한 경우에만 사용됩니다.
-
Gmail (연결된 경우): 인증 코드 및 결과 조회 기능과 승인하는 지원서 이메일을 처리합니다.
-
Google Maps (주소 자동 완성), CapSolver (CAPTCHA 해결), 그리고 Langfuse (기본적으로 메타데이터만 추적; 프롬프트/완성 내용 캡처는 추가적인 명시적 디버깅 옵트인 필요): 구성한 경우에만 사용됩니다.
세부 정보: Data, Privacy & Safety · Security
문서화 (Documentation)
시작하기(Getting Started) ·
일일 워크플로우 및 CLI 참조 ·
설정(Configuration) ·
아키텍처(Architecture) ·
개발자 가이드(Developer Guide) ·
로드맵(Roadmap) · 기여하기(Contributing) ·
보안 정책(Security policy)
개발 (Development)
git clone https://github.com/ebarti/JobCtrl.git && cd JobCtrl
scripts/install
corepack pnpm check
...
로컬 개발(Local Development)을 참조하세요.
라이선스 (License)
AGPL-3.0-only. Copyright (C) 2026 Eloi Barti. NOTICE를 참조하세요.
승인된 이력서 및 커버레터의 소스 연결 번역본은 Reviewed Locale Variants에서 확인하십시오. 용어와 형식은 로케일 승인 및 내보내기 전에 독립적으로 검토됩니다.
검토된 개방형 스크리닝 답변은 Job Detail 및 Apply Review에서 이용 가능합니다. 의도적인 소스 선택, 검토, 재사용 및 수동 사용 기록에 대해서는 Screening Answers를 참조하십시오.