KS
Killer-Skills

system-reboot-bringup — how to use system-reboot-bringup how to use system-reboot-bringup, system-reboot-bringup setup guide, automated runbook for tmux, VOICEVOX API management, VacuumTube remote debugging, whisper.cpp automation, Tauri subtitle overlay integration, GOD MODE webcam overlay setup, KDE Plasma compatibility

v1.0.0
GitHub

About this Skill

Ideal for Linux-based AI Agents requiring automated process revival after system reboots, particularly those utilizing tmux-managed processes and tools like VOICEVOX API and VacuumTube. system-reboot-bringup is a runbook designed to restore daily operation processes after a system reboot, managing tmux sessions and ensuring seamless functionality of dependent tools.

Features

Manages tmux sessions for VOICEVOX API, VacuumTube, and whisper.cpp
Automates the revival of critical processes, including whisper-server-ja and whisper-agent-ja
Supports Tauri subtitle overlay and GOD MODE webcam + face recognition overlay
Ensures proper logging and confirmation procedures for dependent tools
Compatible with KDE Plasma desktop environment

# Core Topics

yuiseki yuiseki
[0]
[0]
Updated: 3/3/2026

Quality Score

Top 5%
36
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add yuiseki/ai-secretary/system-reboot-bringup

Agent Capability Analysis

The system-reboot-bringup MCP Server by yuiseki is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion. Optimized for how to use system-reboot-bringup, system-reboot-bringup setup guide, automated runbook for tmux.

Ideal Agent Persona

Ideal for Linux-based AI Agents requiring automated process revival after system reboots, particularly those utilizing tmux-managed processes and tools like VOICEVOX API and VacuumTube.

Core Value

Empowers agents to automate the revival of critical tools such as VOICEVOX API, VacuumTube, whisper.cpp, Tauri, and GOD MODE after a system reboot, ensuring seamless daily operation processes via tmux session management and protocol-specific port monitoring like http://127.0.0.1:50021 and :9992.

Capabilities Granted for system-reboot-bringup MCP Server

Automating the restart of tmux-managed processes like VacuumTube and whisper.cpp after system reboots
Reviving VOICEVOX API and Tauri services to ensure continuous functionality
Debugging and monitoring logs for processes like GOD MODE and caption-overlay-poc to identify potential issues post-reboot

! Prerequisites & Limits

  • Requires KDE Plasma desktop login
  • Limited to specific processes and tools mentioned, such as VOICEVOX API, VacuumTube, whisper.cpp, Tauri, and GOD MODE
  • Dependent on tmux for process management
Project
SKILL.md
14.8 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

system-reboot-bringup Skill

この環境を再起動した後に、日常運用で使っている常駐プロセス群を復旧するための runbook です。
tmux 管理のプロセスを中心に、起動順・確認手順・ログ確認をまとめています。

対象プロセス(このスキルの範囲)

  • VOICEVOX API(http://127.0.0.1:50021
  • VacuumTube(remote debugging :9992、通常 tmux セッション vacuumtube-bg
  • whisper.cpp 音声コマンド待受一式(whisper-server-ja, whisper-agent-ja
  • Tauri 字幕オーバーレイ(caption-overlay-poc または tauri-overlay
  • GOD MODE ウェブカメラ + 顔認識オーバーレイ(god-mode-bg tmux / port 8765)

前提

  • KDE Plasma デスクトップにログイン済み
  • 実際に有効な DISPLAY を確認して GUI 操作できる(再起動後に :0 / :1 が変わることがある)
  • tmux, curl, jq, python3 利用可能

重要ルール

  • 音声待受は listeneragent を同時起動しない(マイク競合)
  • 再起動後はまず VOICEVOXVacuumTube の土台を復旧してから whisper-agent を起動する
  • UX(音声・字幕・VacuumTube 操作)は自動テストだけで保証できないため、最後に必ず手動確認する

推奨の起動順(再起動後)

0) 有効な DISPLAY を確認(重要)

再起動後は DISPLAY:0 になることがあるため、固定値 :1 を前提にしない。

bash
1for d in :0 :1 :2; do 2 echo "== $d ==" 3 DISPLAY="$d" XAUTHORITY="$HOME/.Xauthority" xdpyinfo >/dev/null 2>&1 && echo ok || echo ng 4done

ok になった値を以降のコマンドで使う(例: :0)。

bash
1export DESKTOP_DISPLAY=:0 2export XAUTHORITY="$HOME/.Xauthority"

1) VOICEVOX (VOICEBOX) を起動(tmux 推奨, API :50021)

VOICEVOXtmux で常駐化しておくと、作業セッション終了時に巻き込まれて落ちにくい。

bash
1tmux has-session -t voicevox-bg 2>/dev/null && tmux kill-session -t voicevox-bg || true 2tmux new-session -d -s voicevox-bg \ 3 "bash -lc 'export DISPLAY=${DESKTOP_DISPLAY}; export XAUTHORITY=\"$HOME/.Xauthority\"; exec \"$HOME/.voicevox/VOICEVOX.AppImage\"'"

確認:

bash
1curl -fsS http://127.0.0.1:50021/version 2tmux capture-pane -pt voicevox-bg -S -40 | tail -n 20

補足:

  • VOICEVOX が起動していないと、whisper-agent は音声応答できない(字幕だけになる/フォールバックになる)

2) VacuumTube を起動(tmux 推奨)

bash
1tmux new-session -d -s vacuumtube-bg \ 2 "bash -lc 'export VACUUMTUBE_DISPLAY=${DESKTOP_DISPLAY}; export XAUTHORITY=\"$HOME/.Xauthority\"; exec ~/vacuumtube.sh'"

確認:

bash
1pgrep -af '^/opt/VacuumTube/vacuumtube( |$)' 2curl -fsS http://127.0.0.1:9992/json/version

起動直後の手動操作(必要な場合):

  • アカウント選択画面で YuisekinTV を選択
  • 右上にタイル配置(desktop-windows-layout / vacuumtube スキル手順)

3) Tauri 字幕オーバーレイを起動(tauri-overlay tmux セッション)

字幕・ロック画面オーバーレイを 音声待受とは独立して 起動します。 tmux_listen_only.sh(step 3-b)と重複しても問題ありません(tmux_listen_only.shcaption-overlay-poc セッションで同じバイナリを管理します)。 ロック画面単体をテストしたいときや、音声待受なしで字幕 IPC だけ使いたいときに便利です。

bash
1# 既存セッションがあれば殺してから起動 2tmux has-session -t tauri-overlay 2>/dev/null && tmux kill-session -t tauri-overlay || true 3tmux new-session -d -s tauri-overlay \ 4 "bash -lc 'cd ~/Workspaces/tmp/tauri-caption-overlay-poc/src-tauri && PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig DISPLAY=${DESKTOP_DISPLAY} XAUTHORITY=\"$HOME/.Xauthority\" ./target/debug/caption-overlay-poc 2>&1 | tee /tmp/tauri-overlay.log'"

起動確認(IPC ポート 47832):

bash
1sleep 3 && tail -5 /tmp/tauri-overlay.log 2# 期待: "caption overlay IPC listening on 127.0.0.1:47832"

ロック画面の表示テスト:

bash
1echo '{"type":"lock_screen_show","text":"SYSTEM LOCKED"}' | nc -q1 127.0.0.1 47832 2# 解除テスト 3echo '{"type":"lock_screen_hide"}' | nc -q1 127.0.0.1 47832

補足:

  • バイナリは feature/biometric-lock-screen ブランチで管理(HUD デザイン+生体認証ロック画面)
  • リビルドが必要な場合: cd ~/Workspaces/tmp/tauri-caption-overlay-poc/src-tauri && PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig asdf exec cargo build
  • whisper-agenttauri-overlay とは別に caption-overlay-poc セッション経由でオーバーレイを使う場合は、ポート競合に注意(47832 は1プロセスのみ)

3.5) Chromium ロック画面ブリッジを起動(lock-screen-bridge tmux セッション)

Tauri の代わりに Chromium でロック画面を表示するためのブリッジサーバーです(4K 環境で滑らか)。 ポート 47833 (TCP) + 18766 (WebSocket) + 18765 (HTTP static) を使用します。

bash
1# ブリッジ起動 2tmux has-session -t lock-screen-bridge 2>/dev/null && tmux kill-session -t lock-screen-bridge || true 3tmux new-session -d -s lock-screen-bridge \ 4 "bash -lc 'cd ~/Workspaces/tmp/tauri-caption-overlay-poc && DISPLAY=${DESKTOP_DISPLAY} python3 lock_screen_bridge.py 2>&1 | tee /tmp/lock-screen-bridge.log'" 5sleep 2 6 7# Chromium ロック画面ウィンドウを起動 8DISPLAY=${DESKTOP_DISPLAY} chromium \ 9 --app="http://127.0.0.1:18765/" \ 10 --disable-background-timer-throttling \ 11 --disable-renderer-backgrounding \ 12 --no-first-run --no-default-browser-check \ 13 2>/dev/null &

起動確認:

bash
1# ブリッジログ確認 2tail -5 /tmp/lock-screen-bridge.log 3# 期待: "Lock screen bridge ready." 4 5# ロック画面テスト 6python3 -c " 7import socket, json 8payload = json.dumps({'type': 'lock_screen_show', 'text': 'SYSTEM LOCKED'}) + '\n' 9with socket.create_connection(('127.0.0.1', 47833), timeout=3) as s: 10 s.sendall(payload.encode()); s.shutdown(socket.SHUT_WR) 11 print(s.recv(4096).decode().strip()) 12" 13# 期待: {"ok": true} 14 15# 解除テスト 16python3 -c " 17import socket, json 18payload = json.dumps({'type': 'lock_screen_hide'}) + '\n' 19with socket.create_connection(('127.0.0.1', 47833), timeout=3) as s: 20 s.sendall(payload.encode()); s.shutdown(socket.SHUT_WR) 21 print(s.recv(4096).decode().strip()) 22"

音声待受起動時は WHISPER_AGENT_LOCK_SCREEN_IPC_PORT=47833 を指定:

bash
1WHISPER_AGENT_LOCK_SCREEN_IPC_PORT=47833 \ 2STT_BACKEND=moonshine \ 3... (通常の tmux_listen_only.sh start-agent コマンド)

4) 音声待受(tmux 管理)

tmp/whispercpp-listen/tmux_listen_only.sh が以下をまとめて管理します。

STT バックエンドは STT_BACKEND 環境変数で切り替えます(デフォルト: whisper):

STT_BACKEND起動するセッションレイテンシ精度
whisper(既定)whisper-server-ja + whisper-agent-ja + caption-overlay-poc~4500ms100%
moonshinewhisper-agent-ja + caption-overlay-poc(server不要)~270ms96.6%

whisper バックエンド(既定)

bash
1CAPTION_OVERLAY_DISPLAY="${DESKTOP_DISPLAY}" \ 2CAPTION_OVERLAY_XAUTHORITY="$HOME/.Xauthority" \ 3tmp/whispercpp-listen/tmux_listen_only.sh start-agent

moonshine バックエンド + 声紋認証(推奨構成)

bash
1STT_BACKEND=moonshine \ 2WHISPER_AGENT_SPEAKER_ID=1 \ 3CAPTION_OVERLAY_DISPLAY="${DESKTOP_DISPLAY}" \ 4CAPTION_OVERLAY_XAUTHORITY="$HOME/.Xauthority" \ 5tmp/whispercpp-listen/tmux_listen_only.sh start-agent

moonshine バックエンド(声紋認証なし)

bash
1STT_BACKEND=moonshine \ 2CAPTION_OVERLAY_DISPLAY="${DESKTOP_DISPLAY}" \ 3CAPTION_OVERLAY_XAUTHORITY="$HOME/.Xauthority" \ 4tmp/whispercpp-listen/tmux_listen_only.sh start-agent

moonshine は whisper-server-ja セッションを起動しません。モデルは voice_command_loop.py プロセス内にロードされます。

モデルサイズ変更(既定: base):

bash
1STT_BACKEND=moonshine MOONSHINE_MODEL_SIZE=tiny \ 2WHISPER_AGENT_SPEAKER_ID=1 \ 3tmp/whispercpp-listen/tmux_listen_only.sh start-agent

状態確認:

bash
1tmp/whispercpp-listen/tmux_listen_only.sh status

よく使うログ:

bash
1tmp/whispercpp-listen/tmux_listen_only.sh logs-agent 2tmp/whispercpp-listen/tmux_listen_only.sh logs-agent-tail 3tmp/whispercpp-listen/tmux_listen_only.sh logs-overlay

補足:

  • whisper 既定モデルは ggml-small.bin
  • DJI マイクを明示したいときは WHISPER_MIC_SOURCE=... tmp/whispercpp-listen/tmux_listen_only.sh restart-agent
  • moonshine バックエンドは音声キャプチャに ffmpegparec 不要)を使用します
  • WHISPER_AGENT_SPEAKER_ID=1 で ECAPA-TDNN 声紋認証を有効化(お嬢様のみコマンド実行可能)
    • マスターボイスプリント: tmp/whispercpp-listen/tests/fixtures/master_voiceprint.npy
    • 閾値: WHISPER_AGENT_SPEAKER_THRESHOLD(既定 0.60、ライブマイク実測値 0.63〜0.78)
    • 認証失敗時: 「声紋認証に失敗しました。もう一度お試しください。」と返答してコマンドをブロック
    • マスター再生成: cd tmp/whispercpp-listen && python3 prototype_speaker_id.py

5) GOD MODE(ウェブカメラ + 顔認識オーバーレイ)を起動(tmux 管理)

GOD MODE はリアルタイム映像をデスクトップ上にオーバーレイ表示する「映像表示系」です。

tmp/GOD_MODE/god_mode_restart.shtmux セッション god-mode-bg から実行します。 内部では god_mode.sh restart が各プロセスを nohup で起動し PID を /tmp/god_mode_8765.pids に保存します。 その後 layout --full-screen → --backmost でウィンドウを全画面・最背面(壁紙代わり)に配置します。

bash
1tmux has-session -t god-mode-bg 2>/dev/null && tmux kill-session -t god-mode-bg || true 2tmux new-session -d -s god-mode-bg \ 3 "bash -lc 'cd ~/Workspaces/tmp/GOD_MODE && DISPLAY=${DESKTOP_DISPLAY} XAUTHORITY=\"$HOME/.Xauthority\" bash god_mode_restart.sh; exec bash'"

god_mode_restart.sh の内容(参考):

bash
1./god_mode.sh restart --chromium --port 8765 --cameras 0,2,4 2./god_mode.sh layout --full-screen 3./god_mode.sh layout --backmost

起動確認(起動完了まで 10〜20 秒かかります):

bash
1# tmux セッションのログを確認 2tmux capture-pane -pt god-mode-bg -S -40 | tail -n 20 3 4# video server の HTTP 応答を確認 5curl -fsS http://localhost:8765/status

手動でウィンドウレイアウトを変更したい場合:

bash
1cd ~/Workspaces/tmp/GOD_MODE 2 3# 前面に出す(ウェブカメラが見たいとき) 4DISPLAY=${DESKTOP_DISPLAY} bash god_mode.sh layout --frontmost 5 6# フルスクリーン 7DISPLAY=${DESKTOP_DISPLAY} bash god_mode.sh layout --full-screen 8 9# 左下コンパクト配置 10DISPLAY=${DESKTOP_DISPLAY} bash god_mode.sh layout --left-bottom 11 12# 最背面に戻す(壁紙モード) 13DISPLAY=${DESKTOP_DISPLAY} bash god_mode.sh layout --backmost

停止したい場合:

bash
1cd ~/Workspaces/tmp/GOD_MODE && DISPLAY=${DESKTOP_DISPLAY} bash god_mode.sh stop

補足:

  • GOD MODE は --chromium モードで Chromium ウィンドウを使用(--chromium なし: Tauri モード)
  • --cameras 0,2,4 でカメラ 0・2・4 番を使用(実際のデバイス番号は環境依存)
  • 音声コマンド システム、ウェブカメラが見たい 等でも制御可能(whisper-agent 運用中の場合)

まとめて確認(復旧完了チェック)

bash
1tmux ls | rg 'voicevox-bg|vacuumtube-bg|whisper-server-ja|whisper-agent-ja|caption-overlay-poc|tauri-overlay|god-mode-bg' 2curl -fsS http://127.0.0.1:50021/version 3curl -fsS http://127.0.0.1:9992/json/version 4curl -fsS http://localhost:8765/status 5# Tauri オーバーレイ IPC 確認 6echo '{"type":"notify","text":"bringup OK"}' | nc -q1 127.0.0.1 47832

期待される tmux セッション(通常運用):

  • voicevox-bg
  • vacuumtube-bg
  • tauri-overlay(字幕・ロック画面オーバーレイ / IPC :47832)
  • whisper-server-ja(STT_BACKEND=whisper のときのみ)
  • whisper-agent-ja
  • caption-overlay-poctmux_listen_only.sh が tauri-overlay と 別に 起動する場合 — ポート競合に注意)
  • god-mode-bg(起動スクリプト完了後は idle、GOD_MODE プロセス自体は nohup で稼働中)

注意:

  • whisper-listen-jaagent 運用中は STOPPED が正常
  • god-mode-bg の tmux は起動コマンド実行後に idle になるのが正常(exec bash で待機している)

最小の手動確認(UX)

  1. システム 状況報告 と話しかける
  2. 字幕オーバーレイ + VOICEVOX 応答が出ることを確認
  3. YouTubeを小さくして など簡単なコマンドを試す

トラブルシュート(再起動直後に多いもの)

1) whisper-agent は動いているのに喋らない

  • VOICEVOX が起動していないことが多い
  • 再起動後に DISPLAY を取り違えて VOICEVOX が即終了していることもある
  • 確認: curl -fsS http://127.0.0.1:50021/version

2) VacuumTube の CDP が見えない

  • ~/vacuumtube.sh 起動漏れ or :9992 未設定
  • 確認: curl -fsS http://127.0.0.1:9992/json/version

4) Tauri オーバーレイ(IPC :47832)に繋がらない

  • tauri-overlay セッションが未起動、またはポート競合で落ちている
  • 確認: nc -zv 127.0.0.1 47832
  • ログ確認: tmux capture-pane -pt tauri-overlay -S -40 または tail -20 /tmp/tauri-overlay.log
  • 再起動手順は Step 3 を参照
  • 別プロセスがポートを使用中の場合: lsof -i :47832 で PID を特定して kill

5) GOD MODE の video server に繋がらない

  • god_mode.sh restart が失敗しているか、まだ起動中
  • tmux capture-pane -pt god-mode-bg -S -40 でログを確認
  • DISPLAY が合っていないと Chromium ウィンドウが開かない(step 0 で確認した値を使うこと)
  • 手動で再起動: cd ~/Workspaces/tmp/GOD_MODE && DISPLAY=${DESKTOP_DISPLAY} bash god_mode_restart.sh

6) GOD MODE ウィンドウが前面に出たまま戻らない

  • --backmost の KWin スクリプトが効いていない可能性
  • 手動で最背面に: cd ~/Workspaces/tmp/GOD_MODE && DISPLAY=${DESKTOP_DISPLAY} bash god_mode.sh layout --backmost

関連スキル

  • vacuumtube(VacuumTube の CDP 操作)
  • audio-stt-whisper(whisper-agent 運用)
  • audio-speak-voicebox(VOICEVOX + 字幕オーバーレイ)
  • desktop-windows-layout(VacuumTube の右上配置など)

Related Skills

Looking for an alternative to system-reboot-bringup or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
Communication