Skip to main content
Glama

job-resume-agent

증거 기반(evidence-grounded) 이력서 맞춤화 시스템입니다. 브라우저에서 감지된 채용 공고와 사용자가 정리한 구조화된 경험 은행(experience bank) 을 바탕으로, 모든 불릿이 사용자가 제공한 증거로 추적 가능한 ATS 호환 LaTeX/PDF 이력서를 생성합니다. 모델이 추론하거나 일반화하거나 재표현한 문구는 명시적으로 표시되며, 내보내기 전에 사용자의 승인을 받아야 합니다.

이 제품은 사실을 지어내지 않습니다. 필요한 기술이나 성과가 증거로 뒷받침되지 않으면, 그렇게 말할 뿐 만들어내지 않습니다.

상태: 개념 증명(proof of concept). 이 저장소에는 결정적(deterministic) MCP 서버, 증거 연결기(evidence linker), 안전한 LaTeX 렌더러, CLI, 테스트가 포함되어 있습니다. 아직 Chrome 확장 프로그램이나 외부 LLM 공급자 어댑터는 포함되어 있지 않습니다.

빠른 시작

Python 3.11+ 필요.

python -m pip install -e ".[dev]"
resume-agent tailor --bank docs/example-experience-bank.yaml --jd path/to/job-description.txt --json
resume-agent tailor --bank docs/example-experience-bank.yaml --jd path/to/job-description.txt --export --out ./out

stdio로 MCP 서버를 실행하려면:

resume-agent serve

개인용으로 사용하려면 RESUME_AGENT_BANK_PATH를 자신의 정보가 담긴 로컬 은행으로 지정하세요. 작성된 이력서와 개인 은행은 .private/ 아래에 두세요. 이 디렉터리는 Git에서 무시됩니다. 커밋된 예제 은행은 자리 표시자 연락처 정보를 사용하며 게시해도 안전합니다.


왜 이런 프로젝트인가

대부분의 "AI 이력서 맞춤화" 도구는 키워드 매칭과 문단 유창성을 사실적 무결성보다 우선시합니다. 사용자가 주장한 적이 없는데도 "10명 팀을 이끌었다" 또는 "지연 시간을 40% 개선했다"를 기꺼이 추가합니다. 이는 사용자에게는 경력상의 위험이고, 받는 사람에게는 신뢰 문제입니다.

이 프로젝트는 정반대의 입장을 취합니다. 모델은 사용자 자신의 증거에 대한 검색기이자 재작성기이지, 성과를 생성하는 생성기가 아닙니다. 맞춤화란 선택, 재정렬, 재표현을 의미하며 — 결코 창작이 아닙니다. 이를 구체화한 수용 기준은 docs/product-requirements.md를 참조하세요.

제품 구성

느슨하게 결합된 세 가지 구성 요소:

  1. Chrome 확장 프로그램. 활성 탭이 지원되는 사이트(LinkedIn, Greenhouse, Lever, Ashby, Workday, 일반 텍스트)의 채용 공고인지 감지합니다. 맞춤 이력서 생성 작업을 제공합니다. JD를 로컬 백엔드로 보내고, 초안이 준비되면 검토 UI를 엽니다.

  2. 로컬 백엔드 + 웹 앱. 경험 은행, 맞춤화 파이프라인, 증거 매트릭스, LaTeX/PDF 렌더러를 소유합니다. 기본적으로 localhost에서 실행됩니다. 검토 UI를 제공합니다: 기본 이력서와의 나란히 비교 diff, 불릿별 증거 링크, 키워드 커버리지 히트맵, 뒷받침되지 않는 주장 경고, 불릿별 승인/거부/편집.

  3. 공급자 어댑터(BYO 계정). 사용자는 자신의 OpenAI, Anthropic 또는 로컬(Ollama) 계정을 연결합니다. 우리는 자체 서버를 통해 프록시하지 않으며, 로컬 우선 모드에서는 공급자 키를 호스팅된 DB에 저장하지 않습니다 — docs/security-and-privacy.md 참조.

공개 참조 LaTeX 템플릿은 templates/resume.template.tex에 있으며 렌더러의 시각적/구조적 대상으로 사용됩니다. 개인 식별 정보(이름, 이메일, 링크, 전화, 시민권)는 템플릿에서 매크로로 선언되어 개인 오버레이로 재정의할 수 있습니다. 실제 개인정보가 포함된 관리자 본인의 이력서 소스는 .private/alan-resume-source.tex에 있으며 git에서 무시됩니다 — 이는 템플릿이 채워진 모습의 표준 작업 예시로 취급하되, 저장소와 함께 배포되는 파일이 아닙니다. 해당 개인 소스에서 파생된 최소 경험 은행은 docs/example-experience-bank.yaml에 있습니다.

비목표(v1)

  • 지어내기 지원 없음. "했을 법한 불릿 제안"이나 "그럴듯한 지표 채우기" 없음.

  • 호스팅된 멀티테넌트 SaaS 없음. MVP는 로컬 우선. 클라우드 동기화는 연기됨(로드맵 참조).

  • 자동 지원 없음. 지원서 제출, 리크루터 메시지, 자기소개서 작성은 하지 않습니다. 범위 밖.

  • 게이트 잡 보드 스크래핑 없음. 확장 프로그램은 사용자 브라우저 세션에서 현재 열린 페이지를 읽을 뿐, 크롤링하지 않습니다.

  • v1에서 서버 측 공급자 API 키 저장 없음. 키는 OS 키체인 또는 확장 프로그램 로컬 저장소에 보관됩니다.

  • 이력서 "점수" 없음. 숫자 ATS 점수는 ATS가 루프에 없으면 사이비과학입니다. 우리는 등급이 아닌 키워드 커버리지와 증거 커버리지를 보여줍니다.

  • 경험 은행 시드를 위한 LinkedIn 스크래핑 없음. 가져오기는 수동 또는 사용자가 업로드한 PDF/LaTeX에서만 가능합니다.

문서 맵

파일

목적

docs/product-requirements.md

사용자 스토리, 수용 기준, 비목표, UX 원칙

docs/technical-architecture.md

시스템 다이어그램, 구성 요소, 공급자 어댑터 인터페이스, LaTeX 검증

docs/data-model.md

경험 은행 스키마, 증거 링크, 맞춤 이력서 아티팩트 스키마

docs/security-and-privacy.md

위협 모델, 확장 프로그램 권한 근거, 키 저장, 데이터 흐름

docs/roadmap.md

M0(스켈레톤)부터 M5(다중 사용자 클라우드)까지의 단계별 빌드 계획

docs/adr/001-local-first-provider-agnostic.md

기초 아키텍처 결정 기록

docs/example-experience-bank.yaml

관리자의 개인 .private/alan-resume-source.tex에서 파생된 샘플 은행

CONTRIBUTING.md

개발 원칙, 코딩 표준, 리뷰 자세

저장소 구조(목표)

job-resume-agent/
├── templates/
│   └── resume.template.tex       # public, PII-free reference LaTeX template
├── .private/                     # git-ignored; maintainer's real resume source lives here
├── README.md
├── CONTRIBUTING.md
├── docs/                         # (this repo, today)
├── apps/
│   ├── extension/                # Chrome MV3 extension (TS)
│   ├── backend/                  # FastAPI (Python) + SQLite
│   └── web/                      # React review UI
├── packages/
│   ├── providers/                # provider adapter interface + impls
│   ├── tailoring/                # retrieval, rewrite, evidence-matrix builder
│   ├── latex/                    # renderer, validator, PDF pipeline
│   └── schema/                   # shared Zod/Pydantic schemas
└── tests/
    └── fixtures/                 # JD samples, expected evidence matrices

현재 추적된 트리에는 templates/resume.template.tex, README.md, CONTRIBUTING.md, docs/만 존재합니다. .private/는 관리자의 로컬 체크아웃에 있지만 git에서 무시되며 배포되지 않습니다. 나머지는 M1 단계의 목표입니다(로드맵 참조).

기록된 가정

이 설계가 사용자에게 묻지 않고 합리적으로 가정하는 사항들입니다. 변경하려면 ADR을 여세요.

  1. 로컬 우선, 단일 사용자 MVP. 클라우드/다중 사용자는 v2 관심사입니다. docs/adr/001-local-first-provider-agnostic.md 참조.

  2. BYO 공급자 계정. 우리는 LLM을 서비스로 제공하지 않습니다. 사용자가 OpenAI, Anthropic 또는 Ollama를 선택하고, 우리는 그들의 자격 증명으로 호출합니다.

  3. LaTeX는 맞춤 아티팩트의 소스 오브 트루스입니다. PDF는 빌드 산출물입니다. 사용자의 기본 템플릿(templates/resume.template.tex, 선택적으로 .private/alan-resume-source.tex 같은 개인 파일로 오버레이)이 레이아웃 범위를 정의합니다.

  4. Python 백엔드, TypeScript 확장 프로그램 + 웹 UI. 백엔드의 ML/LaTeX 생태계와 프론트엔드의 브라우저 플랫폼에 부합합니다.

  5. Chrome 우선. 표면이 안정되면 Firefox/Safari는 MV3 호환성을 통해 따라올 수 있습니다.

  6. 은행은 사용자 소유입니다. 사용자는 언제든지 전체 은행을 YAML로 내보낼 수 있고, 한 명령으로 로컬 DB를 삭제할 수 있습니다.

  7. 모든 생성된 불릿은 출처를 지닙니다. 맞춤 이력서 아티팩트에 최소 하나의 evidence_id 참조 없이는 어떤 불릿도 PDF에 도달하지 않습니다.

열린 질문

docs/roadmap.md#open-questions에서 추적됩니다.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Tailor resumes, generate cover letters, render CVs as PDF, and browse 22+ templates.

  • Turn a description into a shareable, editable PDF — invoices, certificates, reports, resumes.

  • A personal RAG database you build from chat, so AI creates work that sounds like you.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Bao-and-Banh-Mi/job-resume-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server