피드로 돌아가기
Hacker NewsHacker News
Infrastructure

Reference-counted assertion 기반 Clamshell sleep 제어 및 50ms 이하 CLI 응답 구현

Show HN: Adrafinil – keep a lid-closed Mac awake only while agents work

2026년 6월 27일6advanced

Context

기존 caffeinate 등 상시 활성 도구는 AI Agent 작업 여부와 관계없이 시스템 전력을 소모하는 한계 존재. 특히 macOS의 public IOPM Assertion으로는 Lid-closed(Clamshell) 상태의 sleep을 방지할 수 없는 OS 제약 사항 발생.

Technical Solution

  • Privileged Helper와 Unprivileged Daemon을 분리하여 Root 권한 최소화 및 setSleepBlocked(Bool) 엔드포인트로 보안 격리 수행
  • pmset disablesleep 1 명령어를 통한 Clamshell sleep 강제 제어 및 Helper respawn 시 상태 리셋 로직으로 설정 누수 방지
  • Reference-counting 메커니즘을 도입하여 다수 Agent 세션의 중첩 발생 시 마지막 세션 종료 시점까지 시스템 각성 상태 유지
  • CPU 온도 임계치 초과 시 Assertion을 강제 해제하는 Thermal Cutout 설계를 통한 하드웨어 과열 및 배터리 손상 방지
  • CLI ↔ Daemon 구간에 full XPC 대신 경량 Socket 프로토콜을 채택하여 런타임 오버헤드 최소화
  • Agent의 Hook 시스템에 통합하여 UserPromptSubmit 시 acquire, Stop 시 release를 호출하는 Activity-scoped 제어 방식 적용

1. Root 권한이 필요한 기능은 최소한의 인터페이스만 가진 Helper 프로세스로 격리했는가

2. 다중 요청이 겹치는 리소스 제어 시 Reference Counting을 통해 상태 일관성을 유지하고 있는가

3. 시스템 제어 도구 설계 시 하드웨어 안전을 위한 Thermal Cutout 등의 Fail-safe 장치를 마련했는가

4. Hot-path에 위치한 CLI 도구의 지연 시간을 줄이기 위해 통신 프로토콜을 최적화했는가

원문 읽기