Skip to content

v2.1.0 - Remote SSH Session Manager

Latest

Choose a tag to compare

@mattshax mattshax released this 02 Feb 20:59
· 1 commit to main since this release
7ed3697

Major rewrite focused on managing persistent sessions on remote machines via SSH.

New Features

  • SSH config parsing - automatically discovers hosts from ~/.ssh/config
  • Remote tmux sessions - commands persist even if SSH disconnects
  • sm status - dashboard showing all local and remote sessions
  • sm sessions <host> - list tmux sessions on remote host
  • sm kill-remote <host> <session> - kill remote tmux sessions
  • sm test <host> - test SSH connection and check for commands
  • Smart connect - session picker when multiple sessions exist
  • Configurable remote command (default: bash)

Quick Start

# Install
./install.sh

# List available hosts
sm hosts

# Connect to a host
sm dev

# Detach: Ctrl+B, D

# Reconnect
sm dev

Configuration

# ~/.config/session-manager/config
export SESSION_MANAGER_REMOTE_CMD="agent-deck"  # or bash, htop, nvim, etc.
export SESSION_MANAGER_REMOTE_DIR="~"

Architecture

Sessions run in tmux on the remote, so they persist even if SSH disconnects.

Local Machine                     Remote Server
┌──────────────┐    SSH    ┌──────────────────────┐
│ Local tmux   │ ───────── │ Remote tmux          │
│ session      │           │  └── your command    │
└──────────────┘           └──────────────────────┘

Breaking Changes from v1.x

  • Local app registry (claude, opencode, bash) commented out
  • Now focused on remote session management
  • Default command changed to bash (configurable)