📈 GH Trending Explorer 🎲 Surprise me

← all repos

s3onghyun / bulchimbeon

git clone https://github.com/s3onghyun/bulchimbeon.git v0.7.0 · 4d ago

🪖 불침번 — Your Mac's night-watch soldier. Keeps your Mac awake only while AI agents work. No hooks, no daemon, macOS 13+.

—
stars, 24h
+36
stars, 7 days · #1,156
+36
stars, 30 days · #7,859
36
★ total · +36% this week
6
forks · 15 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageSwift
LicenseMIT
Created2026-10-13 (7d ago)
Last push3d ago
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
# 🪖 Bulchimbeon (불침번)
> **Your Mac's night-watch soldier.**
> A menu bar app that keeps your Mac awake **only while your AI coding agents are actually working**,
> then salutes *"Shift over!"* and lets it sleep.
>
> **No hooks, no daemon, no installed root helper. One app. macOS 13 and later.**
> On Linux, a small command-line daemon does the same job: see Linux.
*Bulchimbeon* (불침번) is the night-watch duty in the Korean army: someone stays up all night so everyone else can sleep.
A pixel-art private takes that shift for your Mac.
> 🌐 한국어 · 日本語 · 简体中文
| State | The private | When |
|-------|-------------|------|
| 💤 Off duty | Dozing in his helmet, zzz | Nothing to guard |
| 👀 Standing by | Looking around | Waiting for an agent to clock in |
| 🪖 On duty | Flashlight on, on patrol | The Mac won't sleep |
| 🫡 Shift over | `^ ^` salute | Agents went quiet / watch time is up |
| 🥵 Combat rest | Sweating, eyes closed | The Mac is overheating |
### 🚶 Patrol mode
The private patrols just under your menu bar with a flashlight. While standing by he looks around in the corner;
at shift change he salutes with a speech bubble. Clicks pass straight through, he fades when your pointer comes close,
and he stays out of full-screen apps (presentations, screen sharing, video). Size 2× / 3×, or turn him off.
### 🗣️ The private's lines
| When | He says |
|------|---------|
| On watch | "Won't doze off! …probably." · "Sleep tight. I've got this!" |
| Standing by | "Polishing my rifle… standing by." |
| Mac heating up | "Heat advisory! Hydrating 🥵" → "Combat rest! Cooling down 🧊" |
| Low battery | "Reporting to the duty officer 🔋 Battery at 15%… out of strength, standing down." |
| Sleep block lost | "Not AWOL! Back on post! 🫡" |
| You come back | "Handover report! 📋" |
## Why
To leave an agent running overnight I used to do this:
 [code] 
Bulchimbeon stays awake **only while an agent is working** and hands the Mac back to normal sleep when it's done.
## Features
| Feature | What it does |
|---------|--------------|
| 🤖 Agent watch | Detects Claude Code, Codex, Gemini CLI, Cursor Agent, Copilot CLI, Aider, OpenCode (plus your own). **Only counts agents that are actually working**, not sessions that are merely open. Clocks in when one starts working and hands over 5 minutes (adjustable) after everything goes quiet |
| 🪖 Timed watch | 30 min / 1 h / 2 h / 4 h / indefinitely |
| Watch modes | Keep display on (`caffeinate -d`) · Display may sleep, Mac stays awake (`caffeinate -i`) · **Stay awake with the lid closed** (admin) |
| 🔋 Battery stand-down | Stands down when running on battery below your threshold (default 20%) |
| ⚠️ Lid safety net | Restores normal lid sleep (`disablesleep` back to off) when the watch ends or the app quits; after a crash, the next launch offers **Restore lid sleep** in the menu |
| 🌡️ Heat advisory → 🔥 combat rest | Warns when the Mac heats up; when it gets critical, pauses the watch to cool down and **resumes automatically** once it cools (no