New
Apps 1,323Makers 1,321This week 1,323
Promote your app−30%
Personal Agents screenshot 1
1views in
the last 30 days

Personal Agents

Slack bot where multiple agents act as PM, backend dev, code reviewer and CTO.

Built with Claude Code

by jsl107 · Unclaimed · from KRSouth Korea · added Oct 29, 2026
no ratings0 comments

🤖 이대리 · personal_agents

Slack 에서 PM · 리뷰어 · PO · CEO 를 1인 개발자가 부리는 멀티 에이전트 업무 자동화 봇

수동 슬래시 · 자연어 멘션 · GitHub Webhook · 자동 Cron 을 한 백엔드로 묶는다.

무엇을 하나 · 아키텍처 · 만든 것 · 빠른 시작 · 인터페이스 · 설정 · 앞으로 만들 것 · 명령어


✨ 무엇을 하나

GitHub · Notion · Slack · 증권 시세를 연결해 회사 롤플레이 역할(PM · Work Reviewer · Code Reviewer · PO · CEO …), 개인 업무(이직 메이트 · 지원 추적 · 휴가 · 블로그), 투자 라인(종목 감시 · 모의투자 추천·채점)을 함께 수행하는 1인 개발자용 비서 백엔드.

🗣️ 두 가지 진입 Slack slash command, 또는 @이대리 오늘 plan 짜줘 자연어 멘션·DM
🎭 회사 롤플레이 한 사람이 PM · 리뷰어 · PO · CEO 역할을 LLM 워커로 분담
⚡ 자동 실행 출근/퇴근/주간 cron + GitHub webhook 으로 사용자 입력 없이 돈다 — 대부분은 Slack 으로 보고하고, 뒷정리·폴링 성격의 4슬롯은 처리한 게 있을 때만 알린다
📈 투자 라인 KRX 전종목을 훑어 후보를 추리고, 가상 계좌로 사고팔아 추천 규칙의 성적을 남긴다
🧠 장기 기억 과거 작업을 pgvector 의미검색으로 회상해 분류·리뷰 품질 강화
🔁 자기 학습 PR 리뷰의 채택/기각을 수확해 다음 리뷰 프롬프트에 되먹인다
🛡️ 승인 게이트 외부 시스템 쓰기는 항상 Slack ✅/❌ 확인 후 실행

자동화 규칙 AGENTS.md · 코드 컨벤션 CODE_RULES.md · 한국어 기술 블로그 채점표 docs/korean-it-tech-blog-scorecard.md


🧩 아키텍처

flowchart TD
    subgraph IN["진입점"]
        direction LR
        S["슬래시 커맨드"]
        M["@이대리 멘션·DM"]
        W["GitHub Webhook"]
        C["Autopilot Cron"]
    end

    R["Router<br/>Intent Classifier"]
    MR["Model Router<br/>codex CLI · 격리 spawn"]
    WK["Dispatch Workers (자연어·슬래시)<br/>+ 내부 자동화 에이전트<br/>PM · Reviewer · PO · CEO<br/>이직 메이트 · 지원 추적 · 휴가 · 블로그"]
    IV["투자 라인<br/>screener · market-data<br/>paper-trading · backtest"]
    PG{"Preview Gate<br/>✅ / ❌"}
    EXT["Slack · Notion · GitHub"]
    EM[("Episodic Memory<br/>pgvector")]
    AR[("AgentRun<br/>PostgreSQL")]
    MD[("시세·모의계좌<br/>PostgreSQL")]

    S --> R
    M --> R
    R -. few-shot .-> EM
    R --> MR --> WK
    W --> WK
    C --> WK
    C --> IV
    IV --> MD
    IV --> AR
    WK --> PG --> EXT
    WK --> AR
    WK -. 기록 .-> EM

도메인마다 같은 DDD/Hexagonal 레이어를 쓴다.

src/{domain}/
  domain/         # 엔티티, Port 인터페이스, 도메인 검증
  application/    # 유스케이스
  infrastructure/ # Port 어댑터 (DB · 큐 · 외부 API)
  interface/      # Controller, DTO, 큐 Provider
src/common, src/config, src/prisma   # 공통 · env 검증 · PrismaService(Global)
prisma/schema.prisma                 # DB 단일 소스 (상당수가 시세·모의투자 모델)

✅ 만든 것

🏗️ 기반

NestJS 11 + DDD/Hexagonal · Prisma 6 + PostgreSQL · Redis/BullMQ · Slack Bolt 4(Socket Mode).

Model Router 는 모든 에이전트의 primary 요청을 codex(ChatGPT) CLI 로 보내고, 실패하면 허용된 요청에 한해 Claude CLI 로 한 번 재시도한다. noFallback 요청과 출력 스키마·이미지가 있는 요청은 fallback 없이 실패를 전파한다. 프롬프트는 argv 가 아닌 stdin 으로 넘겨 ps aux 노출을 막는다.

모든 실행은 AgentRun 에 기록되고 근거는 EvidenceRecord 로 따라붙는다. 외부 쓰기는 Preview Gate 하나가 공통으로 승인을 받는다.

🧠 장기 기억 (Episodic Memory)

과거 작업을 pgvector 로 의미 검색하고, 오래된 기록일수록 점수를 낮춘다(@huggingface/transformers, Xenova/multilingual-e5-small 384dim).

주로 두 곳이 읽어 간다. Intent Classifier 는 비슷한 과거 작업을 예시로 앞에 붙여 분류 정확도를 올린다. PM 은 비슷한 과거 계획을 찾아 오늘 계획에 참고로 붙인다 — 한국어는 전문검색 매칭이 약해 의미검색 쪽을 우선한다.

코드 리뷰의 기각 학습은 여기를 쓰지 않는다. 의미검색으로 사례를 찾아 넣어도 행동이 바뀌지 않아 규약 경로로 옮겼다(아래 «스스로 배우는 코드 리뷰»).

⚡ 자동화 (Autopilot)

출근·퇴근·주간 cron 이 엔진 하나를 공유한다. 무엇을 언제 돌릴지는 선언형 "워크데이 플레이북"에 적고, 오케스트레이터는 그 선언을 실행만 한다(시간표).

읽기 작업은 바로 발송하고 외부 쓰기는 Preview Gate 를 거친다. 여러 대상에 fan-out 하거나 한 묶음(digest)으로 보낼 수 있고, 같은 날 두 번 돌아도 결과가 같으며, 활동이 0 이면 건너뛴다. 전체 on/off 는 AUTOPILOT_OWNER_SLACK_USER_ID 한 값.

🔀 자연어 라우터 (V3 Hierarchical Manager)

멘션 하나가 워커에 닿기까지 LLM 호출은 한 번뿐이다. Intent Classifier 가 의도를 분류해 등록된 워커 중 하나로 넘긴다(목록은 router.module.ts 의 inject 배열).

직전 대화를 기억한다 — 사용자·채널·스레드 단위로 5턴, TTL 30분(Redis, 실패 시 in-memory fallback). 그래서 "그거 분배해" 같은 지시대명사가 직전 실행을 자동으로 가리킨다.

워커끼리 넘긴 기록은 AgentRun.parentId 로 남아 체인 전체를 추적할 수 있다.

📈 투자 라인

축이 둘이다. 실계좌 감시는 평일 장 마감 뒤 토스증권 잔고를 읽어 급등락·평단 대비 손익이 임계에 닿으면 알린다. 모의투자는 KRX 전종목(유니버스)을 훑어 후보를 추리고, 가상 계좌로 사고팔아 추천 규칙의 성적을 남긴다 — 실제 주문은 나가지 않는다.

추천은 스스로를 채점한다. 지난 회차 성적을 다음 회차 프롬프트에 되먹이고, 벤치마크(코스피) 대비 초과 수익으로 규칙의 값어치를 잰다. pnpm backtest 는 같은 규칙을 과거 구간에 재생해 LLM 없이 결정론으로 성적을 낸다.

목표와 현재 위치는 tasks/goals-invest-line.md 에 있다 — 모의투자 고도화 → 실거래 → 추천 서비스 3단계.

🔁 스스로 배우는 코드 리뷰

봇이 PR diff 를 읽어 인라인 코멘트로 지적을 달고(PR_REVIEW_INLINE_REPOS allowlist — 본인 PR 만. 리뷰 봇 계정을 켜면 GITHUB_REVIEW_BOT_REPOS 의 레포는 누가 올린 PR 이든 리뷰한다), 사람이 남긴 👍/👎·답글을 스윕이 수확해 채택/기각을 판정한다.

기각된 지적은 자기 저장소에 한해 그 기각 이유가 규약이 되어 다음 리뷰의 프롬프트에 실린다(유효기간이 지나면 저절로 빠진다). 예시로 덧붙이기만 하던 이전 방식은 같은 지적이 3연속 기각되고도 계속 나왔다 — 그래서 예시가 아니라 규약이다. 사례를 쌓던 episodic 경로는 읽는 곳이 사라져 걷어냈다.

🎭 에이전트

전체 AgentType 은 내부 자동화까지 포함하며, 종수와 최신 표는 자동 생성 문서 docs/agent-catalog.md 가 기준이다. 아래는 사용자가 직접 체감하는 것만 추린 것이다.

  • 회사 롤플레이 — PM /today · Work Reviewer /worklog · Code Reviewer /review-pr · PO Shadow /po-shadow · Impact Reporter /impact-report · PO_EVAL /po-eval · CEO /ceo-review
  • 승인형 실행 — 사용자 승인 기반 branch + commit + PR open preview (문서 감사 · 블로그 발행)
  • 개인 업무 — 이직 메이트(merged PR 합성 → 역량 프로필 → 이력서/포트폴리오, JD 갭 분석) · 지원 추적 CRM(등록/상태/넛지 cron) · 휴가 /휴가(입사일 기반 결정론 계산) · 블로그 릴레이(Hermes tistory-blog 스킬 → Notion 초안)
  • 투자 — INVEST(보유 종목 감시, LLM 미사용) · PAPER_RECOMMEND(후보 추천) · PAPER_TRADE(가상 계좌 매매) — 셋 다 cron 발화, PAPER_TRADE 만 자연어 dispatch 가 있다
  • 내부 자동화 — Humanizer · Subconscious Gate · Contradiction Judge · Docs Audit Optimizer/Evaluator · Preference Learning · Evening Retro Publish · Ops Supervisor · Review Reply Judge · CTO Study

🔌 외부 연동

  • GitHub — issue/PR 이벤트를 webhook 으로 받아 자동 발화 (이벤트별 매핑)
  • Notion — Daily Plan append · PR careerLog 일별 자식 페이지 누적 · 📌 reaction → to-do 적재
  • 증권 시세 — 토스증권에서 잔고·일봉·코스피 지수를 읽어 온다(읽기 전용, 주문 API 없음)
  • 운영 — /search-runs(성공 run ILIKE 검색) · /retry-run(실패 run 재실행) · docs-sync-audit · 인증/cron 실패 owner DM 알림

🚀 빠른 시작

pnpm install          # Prisma Client 생성 (DATABASE_URL 불필요)
cp .env.example .env  # 부팅 전 필수
pnpm db:up            # PostgreSQL(5434) + Redis(6381) 컨테이너 기동
pnpm db:push          # 스키마 동기화 (synchronize, 마이그레이션 파일 X)
pnpm dev              # watch 모드 기동

사전 요구사항 — Node 22.13+, pnpm 9+, Docker, 로그인된 codex CLI(ChatGPT). CLI 는 prompt-injection 방지를 위해 임시 디렉토리 + env allowlist 로 격리 실행한다(cli-process.util.ts).

검증 — 로컬은 pnpm lint:check && pnpm test && pnpm build 3중 green + node --env-file=.env scripts/check-di.cjs(DI 배선). CI 는 여기에 check:env · docs:check · check:invariants · test:e2e 를 더 돌린다.


🔌 인터페이스

진입 무엇 인증·게이트
슬래시 커맨드 에이전트 호출 · 휴가 · 운영 Slack Socket Mode
자연어 멘션·DM Router 가 워커 중 하나로 분류·dispatch app_mention + message.im 구독
GitHub Webhook issue/PR 이벤트로 자동 발화 HMAC 서명 검증
Autopilot cron 출근·퇴근·주간 정기 실행 AUTOPILOT_OWNER_SLACK_USER_ID
macOS 콘솔 앱 Slack 없이 회사 전체를 보고 조작 CONSOLE_OWNER_SLACK_USER_ID
슬래시 커맨드
Command 설명 모델
/today /worklog /po-shadow /impact-report /review-pr /po-eval /ceo-review 전체 에이전트 (계획 · 회고 · PR 리뷰 · PO · CEO) 🟢 ChatGPT(codex)
/휴가 연차 계산 / 등록 / 취소 (결정론, LLM 미사용) ⚪ —
/blog-publish [제목일부] Notion 초안 익명화 → 승인 후 GitHub 블로그 발행 🟢 ChatGPT(codex)
/sync-plan /sync-context /quota /ping /retry-run /search-runs /review-feedback 동기화 · 운영 · 검색 · 피드백 ⚪ —
자연어 멘션 · DM

@이대리 …(채널) 또는 DM 으로 보내면 Router 가 워커 중 하나로 분류해 dispatch 한다. 결과는 thread 답글로 오고 푸터에 agentRunId 가 붙는다.

  • VIDEO_WATCH — @이대리 이 영상의 핵심을 설명해줘 https://youtu.be/<video-id>처럼 유튜브 URL과 질문을 함께 보내면 자막·화면 프레임을 분석하고 근거 시각 링크를 답한다. 준비: brew install yt-dlp ffmpeg, git clone --branch v0.3.2 --depth 1 https://github.com/bradautomates/claude-video.git ~/.idaeri/vendor/claude-video, 그리고 .env의 WATCH_SCRIPT_PATH를 해당 skills/watch/scripts/watch.py 절대 경로로 설정한다. 실행은 로컬 엔진과 --no-whisper만 사용한다.

  • BLOG · 이직 메이트 · 지원 추적 — 자연어 전용. 기존 Notion 초안 발행은 BLOG_PUBLISH가 자연어와 /blog-publish를 모두 지원

  • VACATION — /휴가 와 자연어 둘 다 지원

필요한 이벤트 구독과 Bot scope 는 아래 Slack 봇 최초 설정에 모아 두었다.

아이디어 판정은 평일 09:00 KST에 IDEA_CHANNEL_ID의 최근 최상위 글을 최대 10건 읽어 개발 가치를 판단한다. 판정 답글과 개발 대상의 ✅/❌ 일정 승인 카드는 원글 스레드에 붙는다. ✅ 승인 뒤 내부 ScheduleItem에 일정이 등록된다. 봇을 해당 채널에 초대해야 한다.

GitHub Webhook (POST /v1/agent/github · /v1/agent/trigger)

/github 는 X-Hub-Signature-256(GITHUB_WEBHOOK_SECRET) 으로, /trigger 는 자체 HMAC(WEBHOOK_SECRET) 으로 검증한다. GITHUB_WEBHOOK_DEFAULT_SLACK_USER_ID 가 없으면 200 OK 만 반환하고 자동 발화는 건너뛴다.

이벤트 발화 추가 활성 env
issues.opened Impact Reporter —
pull_request.opened Impact Reporter / (조건부) Code Reviewer GITHUB_WEBHOOK_OWNER_LOGIN
pull_request.closed (merged) PR careerLog → Notion PR_CAREERLOG_AUTO_ENABLED + CAREER_LOG_NOTION_PAGE_ID
Autopilot cron 시간표 (항목별 timezone)

AUTOPILOT_OWNER_SLACK_USER_ID 한 값으로 전체가 켜지고, 없으면 전부 비활성이다. 선언의 정본은 autopilot.playbook.ts(기본 시각은 autopilot.playbook-defaults.ts)이고, 아래는 그것을 성격별로 묶은 것이다.

하루 리듬 — 같은 시각의 항목은 digest 로 묶여 메시지 1개로 온다.

시간 (Asia/Seoul) 동작
💼 평일 07:00 · 07:30 백엔드 채용공고 수집 → 상위 매칭 갭 분석 (JOB_FEED_ENABLED) — 새 공고는 아침 한 통에 실린다
🌄 매일 07:30 · 08:05 · 08:10 오늘의 공부 브리프 → 적용 판정 · 딥다이브(블로그 초안) — 채널에는 안 보내고 아침 한 통에 한 줄로 실린다
🌅 매일 08:30 아침 한 통 — 할 일(승인 대기·장애·새 공고) + 투자·회사(PM 계획 최우선)·공부·어제 포트폴리오 한 줄씩. PM 계획 전문·공고 목록은 스레드. 비서실 결산은 콘솔 원장
💡 평일 09:00 아이디어 채널 판정 (IDEA_CHANNEL_ID) — 원글 스레드에 답글과 일정 승인 카드
🚦 매일 09:10 CUJ 점검 — 전날과 오늘 아침의 여섯 핵심 여정이 깨진 경우에만 Slack 알림
🕐 매일 13:00 PO Shadow — 오전 동안 계획이 틀어졌을 때만 발송(조용한 날은 원장에만)
🌆 매일 19:40 저녁 마감 한 통 — 오늘 머지·회고 핵심 / 투자(수익률·체결·다음 체결일 예정) / 넘어가는 것 한 줄씩. 회고 전문·발행 후보는 스레드, 승인 카드(블로그·경력·GitHub)는 바로 아래. Worklog·Daily Eval 은 콘솔 원장. 모의투자 추천(19:30) 뒤에 둔다
🌙 매일 23:00 포트폴리오 사이트 발행 — 보고는 콘솔 원장, 다음 날 아침 한 통의 "어제" 줄

투자 — 종목 감시·모의계좌 평가·유니버스 수집에는 각각 STOCK_MONITOR_ENABLED · PAPER_TRADING_ENABLED · SCREENER_ENABLED 가 필요하다(기본 OFF). 나머지 슬롯은 전용 스위치 없이 돌되 대상 데이터(열린 계좌·미체결 주문·채점할 알림)가 없으면 조용히 건너뛴다.

시간 동작
🇺🇸 평일 16:30 ET 미국 보유 종목 모니터링
🇰🇷 평일 17:10 국내 보유 종목 모니터링
평일 17:40 모의계좌 일일 평가
평일 18:00 급등락 알림의 사후 성적 채점
매일 18:30 KRX 유니버스 동기화 · 증분 시세 수집
평일 19:00 스크리닝 결과의 사후 성적 채점
평일 19:30 다음 거래일 추천 종목 선정
평일 09:00~15:00 (10분) 미체결 모의 주문 체결 처리
평일 09:30~15:20 (5분) 모의계좌 장중 손절 — 손절선 이탈이면 그 시점 현재가로 즉시 청산
📅 금 20:10 추천 성적표 집계 (벤치마크 대비)
📅 금 20:20 스크리닝 주간 성적 카드 ("산 것 / 안 산 것" 대조)

주간 · 월간

시간 동작
📅 금 17:00 Weekly Summary (Worklog 1주 + CEO meta)
📅 토 09:00 Impact Report (--recent, 본인 머지 PR 종합)
📅 일 10:00 / 11:00 / 12:00 Knowledge-Lint · Docs Audit · Preference Learning
📅 일 09:00 Memory Vacuum (세션 기억 색인 청소 — 색인 백업 후 손실 없는 정리만)
📅 일 18:00 CEO Meta
📅 월 05:00 한국 공휴일 동기화 (KOREAN_HOLIDAY_API_KEY 없으면 건너뜀)
📅 월 09:00 Run-Retro (주간 실행 통계 회고)
📅 월 09:15 PO Shadow 주간 목표 점검 (owner DM)
📅 월 09:30 블로그 수정률 주간 보고
📅 월 10:00 윤문 규칙 연구 dry-run (HUMANIZE_RESEARCH_ENABLED)
📅 매월 1일 09:00 Ops Supervisor (운영 점검)
🗂️ 매일 19:00 AI CLI 환경 스냅샷 내보내기 (sync repo 설정 시)
🗂️ 매일 10:00 다른 PC의 AI CLI 환경 스냅샷 감지·승인 카드 생성 (sync repo 설정 시)

상시 스윕 — 뒷정리·폴링이라 평소엔 조용하다. 다만 처리한 게 있으면 Slack 으로 보고한다 — 정리한 카드·좀비 run 이 0건이면 침묵하고 1건이라도 있으면 알리며, 워밍업은 연속 실패가 임계에 닿을 때만 알린다.

주기 동작
3분마다 PR 리뷰 스윕 (지적 게시 · 채택/기각 수확)
10분마다 Preview Gate 만료 카드 정리
매시 50분 좀비 run 정리
08~23시 10분마다 포트폴리오 사이트 워밍업

스케줄·타임존은 AUTOPILOT_<ID>_SCHEDULE / _TIMEZONE 으로 덮어쓴다. 여기서 <ID> 는 그룹명이 아니라 그룹의 첫 항목 id 다(morning 그룹은 SECRETARIAT, noon 그룹은 PO_SHADOW, evening 그룹은 WORK_REVIEWER).

주식·모의투자 알림은 플레이북에서 line: 'invest' 로 묶여 있어 AUTOPILOT_INVEST_TARGET 하나로 전용 채널에 보낼 수 있다. 미설정 시 AUTOPILOT_TARGET(없으면 owner DM)을 그대로 쓴다. 채널로 보내려면 봇이 그 채널에 초대돼 있어야 한다.

채용공고 수집(job-feed)과 갭 분석(job-feed-gap)은 같은 방식으로 line: 'career' 이며 AUTOPILOT_CAREER_TARGET 을 쓴다. 다만 둘 다 콘솔 경로라 Slack 에는 나가지 않고, 새 공고는 아침 한 통(공통 대상)에 실린다. PR 리뷰 스윕 요약(pr-review-sweep)은 line: 'review' 로 AUTOPILOT_REVIEW_TARGET 을 쓴다.

macOS 콘솔 앱 (clients/idaeri-console)

Slack 없이 회사 전체를 눈으로 보고 조작하는 네이티브 관제 앱(SwiftUI). Xcode 프로젝트 없이 Swift Package 로 빌드한다.

탭 내용
캘린더 (기본) 일정과 등록 폼
대시보드 에이전트 28종 카드 · 최근 run · 승인 대기 · 로컬 CLI 세션
보고서 업무 보고와 요약
에이전트 직원별 상태와 상세 정보

오피스 화면은 2026-10-21 제거했다.

  • 읽기 — GET /v1/console/{snapshot,agents,runs,approvals,briefing,ledger} + GET /v1/console/stream(SSE) 로 실시간 반영. 같은 머신(loopback)은 그대로 통과하고, 원격에서 읽으려면 CONSOLE_REMOTE_TOKEN 과 같은 값을 x-console-token 헤더로 보내야 한다(미설정이면 원격은 아예 막힌다). 스냅샷에 세션 경로·pid 가, 스트림에 워커 산출물이 실려 나가기 때문이다.
  • 쓰기 — POST /v1/console/command(지시) · approvals/:id/{apply,cancel}(승인·거절) · sessions/:sessionId/inject(유휴 CLI 세션에 작업 주입). 기존 dispatch·PreviewGate usecase 에 위임하므로 Slack 경로와 판정이 갈리지 않는다. CONSOLE_OWNER_SLACK_USER_ID 가 없으면 쓰기는 503 으로 막힌다.
  • 앱 안에는 지능 로직을 두지 않는다. 상태 판정은 전부 백엔드가 하고 앱은 표시·조작만 한다.
cd clients/idaeri-console
swift build
IDAERI_CONSOLE_URL=http://127.0.0.1:3002 swift run IdaeriConsole
swift run ConsoleCoreTests    # CLT 환경이라 XCTest 가 아닌 실행형 러너

./scripts/build-app.sh                # .app 번들로 감싸 Finder 에서 열 수 있게
./scripts/build-app.sh /Applications  # 만든 뒤 설치까지

.app 은 Dock 고정과 더블클릭 실행을 위한 껍데기다. 백엔드 주소는 Finder 실행에 셸 env 가 닿지 않으므로 굽는 시점에 번들에 새긴다(IDAERI_CONSOLE_URL, 없으면 .env 의 PORT). 코드사인·공증은 하지 않는다 — 직접 빌드한 앱은 Gatekeeper 가 막지 않는다.


🔧 설정

환경변수

단일 source-of-truth 는 app.config.ts 의 EnvironmentVariables (class-validator 강제). 전체 목록은 자동 생성 문서 docs/env-catalog.md 에 있고 pnpm docs:sync 로 갱신한다. .env.example 동기 확인은 pnpm check:env.

아래는 처음 띄울 때 실제로 만지는 것만 추렸다.

키 필수 설명
DATABASE_URL · REDIS_HOST / REDIS_PORT ✅ PostgreSQL(5434) · Redis(6381)
SLACK_BOT_TOKEN / _APP_TOKEN / _SIGNING_SECRET ⭕ 3개 모두 있어야 봇 활성 (Socket Mode)
GITHUB_TOKEN · NOTION_TOKEN / NOTION_TASK_DB_IDS ⭕ 미설정 시 해당 연동 skip
GITHUB_REVIEW_BOT_TOKEN / _LOGIN / _REPOS ❌ PR 리뷰 봇 전용 계정. _REPOS 에 적힌 레포에서만 PR 쓰기를 봇으로 한다. 미설정 시 GITHUB_TOKEN 계정
WATCH_SCRIPT_PATH ⭕ Video Watch의 watch.py 경로. 미설정 시 유튜브 분석 워커 비활성화
*_WEBHOOK_SECRET · GITHUB_WEBHOOK_* ⭕ webhook 검증 · 자동 발화 가드
AUTOPILOT_OWNER_SLACK_USER_ID · AUTOPILOT_TARGET ⭕ cron 전체 게이트 · 발송 대상(콤마 다중)
HUMANIZE_RESEARCH_ENABLED ❌ 윤문 규칙 연구 주간 dry-run. true 일 때만 자동 수집·제안을 실행하며 기본 OFF
HUMANIZE_RULES_REPO_PATH ❌ 윤문 규칙 정본 저장소 경로. 기본 ~/.claude/skills/humanize-korean
SUBCONSCIOUS_GATE_MODE ❌ legacy(기존 LLM) · shadow(Jev 비교만) · hybrid(확신 높은 Jev 우선). 기본 legacy
TYPESAFE_API_KEY · SUBCONSCIOUS_JEV_MODEL ⭕ Jev 게이트를 켤 때 필요한 TypeSafe 인증키와 모델 버전
SUBCONSCIOUS_JEV_API_URL ⭕ Jev 호환 엔드포인트. 로컬 Kev(pnpm kev:start)로 shadow 비교할 때 지정, 로컬 주소면 키 불필요
SUBCONSCIOUS_DROP_SAMPLE_RATE · _DAILY_CAP ⭕ legacy 가 버린 변경을 사람 판정 카드로 올릴 비율·하루 상한. 기본 0.1·3, 0 이면 끔
AUTOPILOT_INVEST_TARGET ⭕ 투자 라인(주식·모의투자 10항목) 전용 발송 대상. 미설정 시 AUTOPILOT_TARGET
AUTOPILOT_CAREER_TARGET ⭕ 커리어 라인(채용공고 수집·갭 분석) 전용 발송 대상. 미설정 시 AUTOPILOT_TARGET
AUTOPILOT_REVIEW_TARGET ⭕ 리뷰 라인(PR 리뷰 스윕 요약) 전용 발송 대상. 미설정 시 AUTOPILOT_TARGET
SAJU_FORTUNE_RECIPIENTS · SAJU_FORTUNE_CRON ❌ 매일 사주 운세 DM(사람마다 발송 시각 지정 가능). 받는 사람은 U123|이름|丙寅 辛卯 壬戌 庚子|07:30 을 ; 로 잇는다(기둥은 만세력 확인값, 시각 모르면 3개 · 끝의 발송 시각(KST)을 생략하면 SAJU_FORTUNE_CRON, 기본 0 8 * * *). 실패 알림은 CRON_FAILURE_ALERT_OWNER_SLACK_USER_ID 로 간다
IDEA_CHANNEL_ID ⭕ 평일 09:00 KST 아이디어 판정 대상 Slack 채널 ID(C.../G...). 미설정 시 해당 task 건너뜀
CONSOLE_OWNER_SLACK_USER_ID ❌ 콘솔 지시·승인 주체 — 없으면 콘솔 쓰기 503
KOREAN_HOLIDAY_API_KEY ❌ 공공데이터포털 특일 정보 디코딩 서비스키 — 없으면 달력에 공휴일이 안 뜬다
VACATION_HIRE_DATE · VACATION_FIRST_YEAR_ADVANCE_DAYS ❌ 휴가 계산 입사일(YYYY-MM-DD)과 1년차 선지급 일수(1~11). 선지급을 설정하면 1년차 부여가 그 값으로 고정되고 2년차 15일은 그대로 — 없으면 한 달에 1일씩 계산
CAREER_LOG_NOTION_PAGE_ID · CAREER_*_NOTION_PAGE_ID ⭕ careerLog · 이력서/포트폴리오 Notion 적재 대상
BLOG_PUBLISH_REPO · BLOG_PUBLISH_BRANCH · BLOG_MASK_FORBIDDEN_TERMS · BLOG_NOTION_STATUS_DRAFT_VALUE · BLOG_NOTION_STATUS_HOLD_VALUE · BLOG_GITHUB_PUBLISH_ENABLED ⭕ /blog-publish 대상 저장소·브랜치·익명화 금지어·Notion 초안/보류 상태값과 저녁 GitHub 발행 승인 카드 스위치. 금지어 목록이 비면 발행 차단. 보류 상태값 기본은 보류 — 편집 단계가 발행 부적합으로 판정한 초안이 여기로 옮겨져 큐를 막지 않는다
PORTFOLIO_SITE_URL ⭕ 포트폴리오 사이트 주소. autopilot 이 08~23시 10분마다 /backend/health 를 불러 무료 플랜에서 잠든 API 를 깨운다. 비우면 워밍업 슬롯이 꺼진다
AUTOPILOT_PORTFOLIO_WARMUP_SCHEDULE · _TIMEZONE ⭕ 워밍업 발화 시각 override(기본 */10 8-23 * * *, Asia/Seoul). 24시간으로 넓히면 Render 무료 플랜 월 시간 한도를 넘는다
PORTFOLIO_AUTOMATION_TOKEN ⭕ 포트폴리오 사이트 발행용 자동화 토큰(사이트 쪽 AUTOMATION_TOKEN 과 같은 값). 비우면 발행 슬롯이 꺼진다
PORTFOLIO_ANONYMIZED_OWNERS ⭕ 공개 포트폴리오에 저장소 이름을 남기지 않을 GitHub owner 목록(쉼표 구분). 해당 성과는 slug 가 company-<해시>-pr-<번호> 가 되고 PR 링크를 싣지 않는다. 비우면 익명화하지 않는다
AUTOPILOT_PORTFOLIO_PUBLISH_SCHEDULE · _TIMEZONE ⭕ 발행 발화 시각 override(기본 0 23 * * *, Asia/Seoul)
EPISODIC_EMBED_MODEL / _DIM ❌ 임베딩 모델·차원 (기본 384dim)
ART_JOB_FEED_TARGET · ART_JOB_FEED_MENTION_USER_ID ❌ 게임잡 원화(2D 캐릭터 원화·컨셉) 공고를 게시할 채널과 머리 메시지 멘션 대상. 채널이 비면 기능 꺼짐. 공고마다 게임 이미지(구글 플레이 → 회사 사진 → 없으면 구글 이미지 검색 링크). 공고 버튼은 멘션 대상과 운영자(AUTOPILOT_OWNER_SLACK_USER_ID)가 누를 수 있고, 「관심 있음」을 누른 공고는 마감 전날 09:00·13:00 KST 에 누른 사람에게 DM 으로 알린다
KAKAO_REST_API_KEY ❌ 원화 공고 피드에서 플레이스토어에 없는(미출시) 게임의 참고 이미지를 카카오 이미지 검색으로 찾는다. 게임 매체 기사 이미지만 채택하고 출처를 표시. 비우면 건너뜀
ART_JOB_FEED_CRON · _TIMEZONE ❌ 게시 시각 override(기본 0 9,18 * * *, Asia/Seoul)
JOB_FEED_ENABLED ❌ 백엔드 채용공고 자동 수집(점핏·랠릿·원티드) 마스터 스위치. true 가 아니면 수집·채점·알림 자체가 skip
JOB_FEED_YEARS · JOB_FEED_LOCATIONS ❌ 연차(0~50)·지역(쉼표 구분) 매칭 축. 미설정 시 각 축을 중립으로 채점
JOB_FEED_MATCH_THRESHOLD ❌ 알림·상세수집 최소 매칭 점수(0~100, 기본 80)
JOB_FEED_GAP_ANALYSIS_TOP_N ❌ 상위 매칭 몇 건을 커리어 갭 분석 후보로 넘길지(0~2, 기본 1). 실행 시간 예산 때문에 한 회차에 사실상 1건만 처리된다
JOB_FEED_DETAIL_LIMIT ❌ 실행당 상세 페이지를 가져올 최대 건수(1~100, 기본 20)
JOB_FEED_AVOID_SKILLS ❌ 기피 기술(쉼표 구분). 사전에서 빼지 않고 저장은 그대로 두되, 하나라도 요구하는 공고를 알림 후보에서만 뺀다(설정을 바꾸면 다시 보인다)
STUDY_DIAGRAM_WIDTH_PX · STUDY_DIAGRAM_MIN_FONT_PX · STUDY_DIAGRAM_MAX_HEIGHT_PX ❌ 오늘의 공부 그림(STUDY_DIAGRAM_ENABLED)의 캔버스 폭 · 최소 글자 높이 · 세로 상한(px)
STUDY_APPLY_ISSUE_REPO ❌ 오늘의 공부 적용 판정(매일 08:05)이 APPLY 일 때 승인 카드 → issue 를 만들 레포(owner/repo). 미설정이면 판정만 저장한다

기본 OFF 인 기능 스위치 — 'true' 로 켠다. STOCK_MONITOR_ENABLED(보유 종목 모니터링) · PAPER_TRADING_ENABLED(모의투자 평가) · SCREENER_ENABLED(KRX 유니버스·시세 수집) · SUBCONSCIOUS_ENABLED(proactive engine) · `PR_REVIEW_LOOP_ENABL

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#slack · #agents · #korean