Internal ops tool

Stream Deck / Multi-Machine Launcher

18scripts7machinesSSH · Claude Code · GSD

scripts/D:\Ecosystem\ops\streamdeck\

Machine Map

MachineIPUserNetwork
Windows Desktop100.112.104.120mikemTailscale
Mac Studio100.127.161.25merlinoTailscale
VPS1 srv1310052100.70.90.63rootTailscale
VPS2 srv1319549100.123.201.50rootTailscale
VPS3 Hostinger100.64.135.87rootTailscale
Cloudways45.55.240.198rootPublic
Vultr144.202.24.233rootPublic

All Scripts

Every script with its full contents. Copy any block to create a new launcher.

SSH Connections6
ssh-vps1.batbatch
@echo off
start "" wt.exe new-tab --title "VPS1 srv1310052" -- ssh root@100.70.90.63
ssh-vps2.batbatch
@echo off
start "" wt.exe new-tab --title "VPS2 srv1319549" -- ssh root@100.123.201.50
ssh-vps3.batbatch
@echo off
start "" wt.exe new-tab --title "VPS3 Hostinger" -- ssh root@100.64.135.87
ssh-mac.batbatch
@echo off
start "" wt.exe new-tab --title "Mac Studio" -- ssh merlino@100.127.161.25
ssh-cloudways.batbatch
@echo off
start "" wt.exe new-tab --title "Cloudways" -- ssh root@45.55.240.198
ssh-vultr.batbatch
@echo off
start "" wt.exe new-tab --title "Vultr VPS" -- ssh root@144.202.24.233
Windows Project Launchers6
win-clawcontrol.batbatch
@echo off
set CLAUDE=C:\Users\mikem\.local\bin\claude.exe
start "" wt.exe new-tab --title "ClawControl" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\clawcontrol && "%CLAUDE%""
win-ghl-sop.batbatch
@echo off
set CLAUDE=C:\Users\mikem\.local\bin\claude.exe
start "" wt.exe new-tab --title "GHL SOP" -- cmd /k "cd /d D:\Ecosystem\GoHighLevel\ghl-sop && "%CLAUDE%""
win-mission-control.batbatch
@echo off
set CLAUDE=C:\Users\mikem\.local\bin\claude.exe
start "" wt.exe new-tab --title "Mission Control" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\mission-control && "%CLAUDE%""
win-peerless-plumbing.batbatch
@echo off
set CLAUDE=C:\Users\mikem\.local\bin\claude.exe
start "" wt.exe new-tab --title "Peerless Plumbing" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\peerless-plumbing && "%CLAUDE%""
win-vercel-inventory.batbatch
@echo off
set CLAUDE=C:\Users\mikem\.local\bin\claude.exe
start "" wt.exe new-tab --title "Vercel Inventory" -- cmd /k "cd /d D:\ClaudeDev\00_GITHUB\vercel-inventory && "%CLAUDE%""
win-ecosystem.batbatch
@echo off
set CLAUDE=C:\Users\mikem\.local\bin\claude.exe
start "" wt.exe new-tab --title "Ecosystem" -- cmd /k "cd /d D:\Ecosystem && "%CLAUDE%""
Mac Project Launchers3

SSH to Mac Studio then cd + claude. Requires Tailscale + SSH keys.

mac-ghl-sop.batbatch
@echo off
start "" wt.exe new-tab --title "Mac: GHL SOP" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/ghl-sop && claude"
mac-clawcontrol.batbatch
@echo off
start "" wt.exe new-tab --title "Mac: ClawControl" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/clawcontrol && claude"
mac-mission-control.batbatch
@echo off
start "" wt.exe new-tab --title "Mac: Mission Control" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/mission-control && claude"
GSD Commands3

Types command into the focused terminal via PowerShell SendKeys. Focus your Claude Code window first.

gsd-next.batbatch
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/gsd:next{ENTER}')"
gsd-progress.batbatch
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/gsd:progress{ENTER}')"
gsd-resume.batbatch
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/gsd:resume-work{ENTER}')"

Templates

Copy-paste to add new buttons. Save as .bat in D:\Ecosystem\ops\streamdeck\, wire to Stream Deck via System > Open.

New SSH connectiontemplate
@echo off
start "" wt.exe new-tab --title "MACHINE_NAME" -- ssh USER@IP_ADDRESS
New Windows project launchertemplate
@echo off
set CLAUDE=C:\Users\mikem\.local\bin\claude.exe
start "" wt.exe new-tab --title "PROJECT_NAME" -- cmd /k "cd /d D:\PATH\TO\PROJECT && "%CLAUDE%""
New Mac remote launchertemplate
@echo off
start "" wt.exe new-tab --title "Mac: PROJECT" -- ssh -t merlino@100.127.161.25 "cd /Users/merlino/PROJECT && claude"
New GSD commandtemplate
@echo off
powershell -NoProfile -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('/COMMAND{ENTER}')"

Naming convention: ssh- / win- / mac- / gsd- prefix.

Setup

Prerequisites

  • Windows 11 + Windows Terminal
  • Tailscale active on this machine and all target servers
  • SSH keys configured for passwordless auth to all targets
  • Claude Code installed — claude.exe in PATH
  • Stream Deck XL with Elgato software

Wiring a button

  1. Open Stream Deck software
  2. Drag System > Open onto a button
  3. Set path to the .bat file — e.g. D:\Ecosystem\ops\streamdeck\ssh-vps1.bat
  4. Set the button title and icon
  5. Press the button to test

Verify connections

test-connections.batbatch
ping -n 1 100.127.161.25 && echo Mac Studio OK || echo Mac Studio FAIL
ping -n 1 100.70.90.63  && echo VPS1 OK       || echo VPS1 FAIL
ping -n 1 100.123.201.50 && echo VPS2 OK      || echo VPS2 FAIL
ping -n 1 100.64.135.87  && echo VPS3 OK      || echo VPS3 FAIL
ping -n 1 45.55.240.198  && echo Cloudways OK  || echo Cloudways FAIL
ping -n 1 144.202.24.233 && echo Vultr OK      || echo Vultr FAIL