Somnus v2 に対応
Somnus は、Windows の PC の眠りを Claude(Claude Code)の仕事に合わせる常駐アプリです。次の 4 つをします。
動く環境:Windows 10・11 の PowerShell 5.1(Windows に入っているもの)。外から起こすには、Cloudflare のアカウント(無料で足ります)と、スマホのブラウザ(iPhone の Safari など)を使います。
開き方:PC にサインインすると、タスクトレイに Somnus の丸いアイコンが出ます(入れ方は 3-1)。スマホのページは、郵便受けの住所をブラウザで開きます(3-3)。
寝ている PC は連絡を受け取れないので、連絡は「いつも起きている郵便受け」が預かり、PC が決まった間隔で起きて見に行きます。連絡してから起きるまで、最長で見回りの間隔(既定 30 分)かかります。
| 色 | 意味 |
|---|---|
| 緑 | Claude(または Codex)が作業中。寝かせない |
| 青 | メニューの「今は寝かせない」がオン |
| 灰 | 待っている(寝てよい)。アイコンにマウスを載せると、あと何分でスリープするかが出ます |
| 橙 | まもなくスリープ(カウントダウン中。マウスかキーを触ると止まる) |
色は、寝ている=藍、預かり中=緑、起きている=日の黄。アイコン(月・時計・太陽)と見出しの文も状態ごとに違うので、色が見分けにくくても読めば分かります。表示はスマホの設定(ライト・ダーク)に合わせて変わります。
powershell -ExecutionPolicy Bypass -File ".\somnus-v1.ps1" -Installできた印:「登録しました: Somnus-常駐」「登録しました: Somnus-朝の起床」と出て、タスクトレイに丸いアイコンが出る。郵便受けを用意した後なら「登録しました: Somnus-郵便受け」も出る
-Hook hold と -Hook release)。登録の仕方は Somnus のフォルダの README にあります。
できた印:Claude Code に何か頼むと、トレイのアイコンが緑になるnode mailbox\deploy.mjs node mailbox\set-secrets.mjsできた印:「配りました:https://…workers.dev」と出る。
_private\remote.json ができる(中身は人に見せない)-Install を流して、見回りのタスクを登録します。
できた印:「登録しました: Somnus-郵便受け(07:00-24:00 の間 30 分ごと・スリープ解除あり)」と出る起きている 60 分が過ぎても、スマホから Claude に頼んでいる間は寝ません。最後にやりとりしてから、PC を触らない時間が 20 分続くと、いつもどおり寝ます(4-5)。
Claude Code が作業を始めると Somnus に知らせが来て、終わるまで PC を寝かせません(画面は消えてかまいません)。作業の区切りのあとも、裏でサブエージェントなどが動いている間(会話の記録が 5 分以内に書かれている間)は寝かせません。抑止が続きすぎたとき(既定 480 分)は、念のため自動で外します。
作業が無く、PC を触らない時間が 20 分続くと、60 秒のカウントダウンのあとスリープします。カウントダウンの間にマウスかキーを触れば止まります。スリープから起きた直後の 30 分は寝かせません。
毎朝決めた時刻(既定 7:55)に PC を起こし、そこから 30 分は寝かせません。常駐が止まっていたら、このとき起動し直します。
決めた時間帯(既定 7:00〜24:00)の間、決めた間隔(既定 30 分)で PC を起こし、郵便受けを見に行きます。
夜中(時間帯の外)は見回りません。その間に預けた連絡は、朝の最初の見回りで読みます。
PC の前で誰も触っていないのに Claude に人からの頼みが届いたときは、外(スマホの Claude アプリなど)から使っているとみなします。その頼みの始まりと終わりを「操作」に数えるので、返事を読んで次の文を考えている間に PC が寝ることはありません。定期実行や、ほかのセッションからの連絡は数えません。
| 項目 | すること |
|---|---|
| 今は寝かせない(手動) | オンの間はずっと寝かせない(動画を見るときなど) |
| 仕事が終わったら自動でスリープ | オフにすると、Somnus は自分では寝かせない |
| 今すぐスリープ(10秒後) | 10 秒後にスリープ(触れば止まる) |
| スマホをつなぐ(接続コード) | スマホのページの住所と接続コードを出す(3-3) |
| ログを開く・設定を開く・設定を読み直す | 記録と設定のファイルをメモ帳で開く。設定を直したら「読み直す」 |
| Somnus を終了 | 常駐を止める(翌朝の起床でも起こし直さない。もう一度起動すれば元に戻る) |
画面の上に PC の様子、下の親指の届くところに操作があります。開いている間は 20 秒ごとに読み直します。
| 画面 | 出ること・できること |
|---|---|
| 寝ている | 「PC は寝ています」(最後の見回りで寝直した)か「PC は起きていました」(最後の見回りのとき使われていた)。最後に見に来た時刻と次の見回り。「なぞって起こす」で連絡を預ける |
| 預かり中 | 預けた時刻と起きる見込み(次の見回り)。「取り消す」で連絡を取り消す |
| 起きている | 残り時間(「あと N 分」・「HH:MM まで」・ゲージ)と起きた時刻 |
右上の「…」(メニュー)から、状態を読み直す・ヘルプ・ショートカットリスト・バージョン情報・この端末の接続を外す、が選べます。
「見回りが遅れています」と出たときは、予定の時刻を 10 分過ぎても見回りが来ていません。PC の電源やネット、サインインを確かめてください(9)。
スマホのページを、キーボードのある機器で開いたとき(アプリのショートカットリストと同じ中身です)。
設定は Somnus のフォルダの somnus-settings.json。トレイの「設定を開く」で開き、直したら「設定を読み直す」。見回りの間隔・時間帯を変えたときは -Install をもう一度流します(タスクを登録し直すため)。
| キー | 既定 | 意味 |
|---|---|---|
idleMinutesBeforeSleep | 20 | 触らない時間が何分続いたら寝かせるか |
countdownSeconds | 60 | 寝る前のカウントダウン(秒) |
postWakeGraceMinutes | 30 | 起きた直後に寝かせない時間(0 にしない) |
maxHoldMinutes | 480 | 寝かせないのを続ける上限 |
autoSleepEnabled | true | 自動でスリープするか |
wakeTime | 07:55 | 朝に起こす時刻 |
mailCheckEnabled | true | 郵便受けを見回るか |
mailCheckMinutes | 30 | 見回りの間隔(分)。見回りは 1 日 48 回まで(時間帯が 07:00-24:00 なら 22 分以上) |
mailCheckHours | 07:00-24:00 | 見回りの時間帯(両端を含む。日をまたいでもよい) |
remoteHoldMinutes | 60 | スマホから起こされたあと起きている長さ |
| 何 | どこ | 中身 |
|---|---|---|
| 記録(ログ) | Somnus のフォルダの state\somnus.log | いつ寝かせた・起きた・見回りの結果。30 日より古い行は消える |
| 作業中の印 | state\locks\ | Claude の作業の始まりと終わり。自動で消える |
| 郵便受けの住所と合鍵 | _private\remote.json | 住所・接続コード・合鍵。人に見せない・送らない・控えを作らない(無くしたら 作り直す) |
| スマホの合鍵 | スマホのブラウザの中 | つないだときに受け取ったもの。メニューの「この端末の接続を外す」で消える |
| 郵便受けの中 | Cloudflare(D1) | 時刻だけ(起こしての時刻・見に来た時刻・次の見回り・起きている期限・寝直したか)。文や名前は入れない |
控えを取る必要があるのは somnus-settings.json だけです。ほかは作り直せます。
state\somnus.log で「スマホから起こされました。HH:MM まで寝かせません」が出ているかを見ます。出ていなければ、見回りが連絡を読めていません(「見回り:郵便受けに届きませんでした」の行に理由があります)。node mailbox\set-secrets.mjs --new を流します。今までつないでいたスマホは、どれも接続コードを入れ直すことになります。PC は次の見回りから新しい合鍵を使います。mailCheckHours(時間帯)と mailCheckMinutes(間隔)を変えて -Install を流し直します。間隔を短くすると、そのぶん PC が起きる回数が増えます。見回りは 1 日 48 回までで、超える組み合わせは -Install が理由を出して断ります(07:00-24:00 のままなら間隔は 22 分以上。もっと短くしたいときは時間帯を縮めます)。powershell -ExecutionPolicy Bypass -File ".\somnus-v1.ps1" -Status を流すと、作業中の印・見回りの設定・最後の見回り・スマホからの待機が出ます。