{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-17T01:56:13.055Z",
  "lang": "ko",
  "slug": "adrafinil",
  "url": "https://tesign.com/item/adrafinil/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/adrafinil/",
      "json": "https://tesign.com/item/adrafinil/index.json",
      "markdown": "https://tesign.com/item/adrafinil/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/adrafinil/",
      "json": "https://tesign.com/en/item/adrafinil/index.json",
      "markdown": "https://tesign.com/en/item/adrafinil/index.md"
    }
  },
  "name": "Adrafinil",
  "use_label": "에이전트 쓸 때 맥 안 잠들게",
  "one_liner": "AI 코딩 에이전트가 일하는 동안만 맥을 깨워 두는 메뉴 막대 앱 — 끝나면 뚜껑을 닫은 채 정상 잠자기로 돌아갑니다.",
  "text": {
    "why": "밤새 돌아가는 에이전트를 위해 caffeinate나 Amphetamine을 켜 두면 일이 끝나도 맥이 계속 깨어 있는데, Adrafinil은 에이전트 훅이 턴 시작에 acquire, 끝에 release를 호출해 실제로 작업 중인 동안만 잠자기(뚜껑을 닫은 클램셸 잠자기 포함)를 막고 마지막 세션이 풀리면 바로 정상 잠자기로 돌아갑니다. Claude Code·Codex·Cursor·Gemini CLI·Aider·Hermes·OpenCode·Cline·Pi 9개 에이전트에 한 번 클릭으로 훅을 설치하고, CLI 왕복은 50ms 미만이라 에이전트를 지연시키지 않습니다. 뚜껑을 닫은 채 온도가 임계치를 넘으면 모든 유지를 강제 해제하는 열 차단도 있습니다.",
    "take": "'항상 깨어 있기'가 아니라 '일이 있을 때만 깨어 있기'로 문제를 다시 정의한 작은 유틸리티인데, 루트 권한이 필요한 잠자기 제어를 setSleepBlocked 하나만 노출하는 별도 헬퍼에 격리한 설계가 돋보입니다. macOS 26.4 이상이 필요합니다.",
    "build": [
      "훅이 있는 어떤 도구든 `adrafinil acquire` / `release`로 감쌀 수 있고, 훅이 없는 명령은 셸에서 시작·끝을 묶거나 `adrafinil hold --for 2h`로 시간제 유지를 걸 수 있습니다. 번들된 MCP 도구(`adrafinil mcp`)로 에이전트가 긴 빌드·배포 동안 답변이 끝난 뒤에도 깨어 있기를 스스로 요청하는 흐름도 만들 수 있습니다."
    ],
    "who": [
      {
        "role": "밤에 에이전트 작업을 걸어 두는 맥 사용자",
        "situation": "뚜껑을 닫아도 작업 중에만 깨어 있고 끝나면 잠듦"
      },
      {
        "role": "노트북을 가방에 넣고 다니는 사람",
        "situation": "열 차단, 뚜껑 닫힘 차임, 다시 열 때 실행 요약"
      },
      {
        "role": "긴 빌드·배포를 돌리는 개발자",
        "situation": "MCP·CLI로 에이전트가 시간제 유지를 직접 요청"
      }
    ],
    "start": [
      {
        "command": false,
        "text": "brew install --cask adrafinil"
      },
      {
        "command": false,
        "text": "또는 https://github.com/kageroumado/adrafinil/releases/latest 에서 서명·노터라이즈된 DMG를 열어 Adrafinil을 Applications로 드래그 (첫 실행 시 관리자 권한을 1회 요청)"
      },
      {
        "command": false,
        "text": "에이전트 훅은 앱의 설치 화면에서 한 번 클릭으로 연결, 또는 CLI로: adrafinil install-hooks"
      }
    ],
    "caveat": [
      "라이선스 MIT.",
      "macOS Tahoe 26.4 이상 필수(제작자는 26.4에서만 테스트; macOS 15 Sequoia용은 다른 사람이 유지하는 백포트 포크). 표준 설치에 관리자 권한 필요 — 뚜껑 닫힘 잠자기 해제는 root 헬퍼가 `pmset disablesleep`으로 처리.",
      "훅 없는 사용자 정의 에이전트는 자동 감지되지 않으므로 acquire와 release를 짝지어 호출해야 하며, 유휴 해제 타임아웃과 시간제 유지가 안전망."
    ]
  },
  "cta": {
    "type": "install",
    "label": "INSTALL",
    "url": "https://kagerou.glass/adrafinil"
  },
  "ready": "install",
  "categories": [
    "ai",
    "productivity"
  ],
  "categories_confirmed": true,
  "tags": [
    "macos",
    "menu-bar",
    "keep-awake",
    "claude-code",
    "agent-hooks",
    "swift"
  ],
  "platform": [
    "macos"
  ],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "상업 이용·수정·재배포 가능. 저작권 고지는 유지.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "Swift",
  "source_urls": {
    "canonical": "https://kagerou.glass/adrafinil",
    "github": "https://github.com/kageroumado/adrafinil",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "showhn",
        "url": "https://github.com/kageroumado/adrafinil",
        "posted_at": "2026-06-27T20:34:53.000Z",
        "hn_url": "https://news.ycombinator.com/item?id=48701512"
      },
      {
        "source": "github",
        "url": "https://github.com/kageroumado/adrafinil",
        "posted_at": "2026-06-27T23:00:00.000Z",
        "hn_url": null
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "stars": 475,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-15T19:34:39.028Z",
    "stars_observed_since_check": 0,
    "star_delta_24h": null,
    "star_delta_7d": null,
    "star_delta_30d": null,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null,
      null
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": 124,
    "hn_points_observed_at": "2026-09-13T15:42:42.918Z",
    "store": null,
    "method": "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-08-24T01:08:30.000Z",
    "owner_type": "User",
    "open_issues": 2,
    "contributors": 4,
    "releases_count": 14,
    "latest_release": {
      "tag": "v1.7.0",
      "published_at": "2026-08-24T01:08:30.000Z",
      "prerelease": false
    },
    "checked_at": "2026-09-15T19:34:39.028Z",
    "core_checked_at": "2026-09-15T19:34:39.028Z"
  },
  "signals": [
    {
      "kind": "cross",
      "label": "교차 신호",
      "value": "Show HN + GitHub"
    },
    {
      "kind": "back",
      "label": "과거 기록",
      "value": null
    }
  ],
  "images": {
    "og": "https://tesign.com/img/adrafinil-adfd4c6c66.png",
    "cover": "https://tesign.com/img/adrafinil-adfd4c6c66.png",
    "cover_width": 640,
    "cover_height": 558,
    "gallery": [
      "https://tesign.com/img/adrafinil-adfd4c6c66.png",
      "https://tesign.com/img/adrafinil-1f3a02c364.png",
      "https://tesign.com/img/adrafinil-fd7db1a4dc.png",
      "https://tesign.com/img/adrafinil-b98f8f0860.png"
    ],
    "alt": "Adrafinil 메뉴 막대 팝오버의 세 가지 상태: 에이전트가 일하는 동안 깨어 있음(Keep awake / Let it sleep 버튼), 에이전트 없음·정상 잠자기, 15분부터 무기한까지 고르는 수동 유지 시간 선택",
    "tier": 2
  },
  "dates": {
    "first_seen_at": "2026-09-13T08:31:26.639Z",
    "source_created_at": "2026-06-27T20:34:53.000Z",
    "discovery_hours": 1859.9426775,
    "launch_signal_at": "2026-06-27T20:34:53.000Z",
    "kept_at": "2026-09-14T19:27:43.539Z",
    "first_published_at": "2026-09-14T19:27:43.735Z",
    "updated_at": "2026-09-15T07:17:01.025Z",
    "ingestion_mode": "backfill"
  },
  "notes": [
    "이 파일은 tesign.com 항목 페이지와 같은 빌드에서 같은 데이터로 만들어졌습니다. 소개 글은 편집자가 쓴 것이고, 숫자는 저장된 관측값입니다.",
    "JSON의 null은 관측하지 않았다는 뜻입니다 — 0이 아닙니다. 마크다운에서는 [확인 필요]로 적습니다.",
    "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다.",
    "과거 데이터를 되짚어 채운 항목입니다. 라이브 발견이 아닙니다.",
    "요약이며 법적 조언이 아닙니다."
  ]
}
