agent-session-manager

command module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2026 License: MIT Imports: 6 Imported by: 0

README

Agent Session Manager (ASMGR)

A powerful terminal UI (TUI) application for managing multiple AI coding assistant CLI sessions using tmux. Inspired by Claude Squad.

Go License

Supported AI Agents

  • Claude Code - Anthropic's CLI coding assistant
  • Gemini CLI - Google's AI assistant
  • Aider - AI pair programming in your terminal
  • OpenAI Codex - OpenAI's coding assistant
  • Amazon Q - AWS AI coding companion
  • OpenCode - Open-source AI coding assistant
  • Custom - Any CLI command you want to manage

Features

  • Multi-Agent Support - Run Claude, Gemini, Aider, Codex, Amazon Q, OpenCode, or custom commands
  • Multi-Session Management - Run and manage multiple AI sessions simultaneously
  • Live Preview - Real-time preview of agent output with ANSI color support
  • Session Resume - Resume previous Claude conversations from any project (Claude-specific)
  • Activity Indicators - Visual indicators showing active vs idle sessions
  • Custom Colors - Personalize sessions with foreground colors, background colors, and gradients
  • Prompt Sending - Send messages to running sessions without attaching
  • Session Reordering - Organize sessions with keyboard shortcuts
  • Compact Mode - Toggle spacing between sessions for denser view
  • Smart Resize - Terminal resize follows when attached, preview size preserved when detached
  • Overlay Dialogs - Modal dialogs rendered over the main view with proper Unicode character width handling
  • Fancy Status Bar - Styled bottom bar with highlighted keys, toggle indicators, and separators
  • Rich Help View - Comprehensive help page with keyboard shortcuts and detailed descriptions (F1 or ?)
  • Session Groups - Organize sessions into collapsible groups for better organization

Installation

Prerequisites
Build from Source
git clone https://github.com/izll/agent-session-manager.git
cd agent-session-manager
go build -o asmgr .
Install to PATH
# Linux/macOS
cp asmgr ~/.local/bin/
# or
sudo cp asmgr /usr/local/bin/

Usage

Simply run:

asmgr
Keyboard Shortcuts
Navigation
Key Action
j / Move down
k / Move up
J / Shift+↓ Move session down (reorder)
K / Shift+↑ Move session up (reorder)
Session Actions
Key Action
Enter Start (if stopped) and attach to session
s Start session without attaching
x Stop session
n Create new session
e Rename session
r Resume previous Claude conversation
p Send prompt/message to running session
d Delete session
Groups
Key Action
g Create new group
G Assign session to group
Expand group (when group selected)
Collapse group (when group selected)
Tab Toggle group collapse (when group selected)
e Rename group (when group selected)
d Delete group (when group selected)
Customization
Key Action
c Change session color
l Toggle compact mode
t Toggle status lines (last output under sessions)
y Toggle auto-yes mode (--dangerously-skip-permissions)
Other
Key Action
R Force resize preview pane
F1 / ? Show help
q Quit
Inside Attached Session
Key Action
Ctrl+q Detach from session (quick, works in any tmux session)
Ctrl+b d Detach from session (tmux default)

Note: Ctrl+q is set as a universal quick-detach for all tmux sessions. ASM sessions get automatic resize before detach to maintain proper preview dimensions.

Color Customization

Press c to open the color picker for the selected session:

  • Foreground Colors - 22 solid colors + 15 gradients
  • Background Colors - 22 solid colors
  • Auto Mode - Automatically picks contrasting text color
  • Full Row Mode - Extend background color to full row width (press f to toggle)
  • Gradients - Rainbow, Sunset, Ocean, Forest, Fire, Ice, Neon, Galaxy, Pastel, and more!

Use Tab to switch between foreground and background color selection.

Session Resume

ASM can resume previous Claude Code conversations:

  1. Press r on any session
  2. Browse through previous conversations (shows last message and timestamp)
  3. Select a conversation to resume or start fresh

Session Groups

Organize your sessions into collapsible groups:

📁 Backend ▼ [3]
   ● api-server
   ● database-worker
   ○ cache-service
📁 Frontend ▶ [2]  (collapsed)
   ● misc-session
  • Press g to create a new group
  • Press G to assign the selected session to a group
  • Press to expand a group, to collapse it
  • Press Tab to toggle collapse/expand
  • Press e on a group to rename it
  • Press c on a group to change its color
  • Press d on a group to delete it (sessions become ungrouped)

Sessions without a group appear at the bottom of the list.

Activity Indicators

Sessions show different status indicators:

  • Orange - Active (agent is working)
  • Gray - Idle (waiting for input)
  • Red outline - Stopped

Configuration

Configuration files are stored in ~/.config/agent-session-manager/:

sessions.json

Stores sessions and groups:

  • Session: name, path, color settings, resume ID, auto-yes, group, agent type
  • Group: name, collapsed state, color settings
filters.json (optional)

Customize status line filtering for each agent. Default filters are built-in, but you can override them:

{
  "claude": {
    "skip_contains": ["? for", "Context left"],
    "skip_prefixes": ["╭", "╰"],
    "min_separators": 20
  },
  "opencode": {
    "skip_contains": ["ctrl+?", "Context:"],
    "content_prefix": "┃",
    "show_contains": ["Generating"],
    "show_as": ["Generating..."]
  }
}

Architecture

agent-session-manager/
├── main.go              # Entry point
├── session/             # Session management & tmux integration
│   ├── instance.go      # Instance lifecycle & PTY handling
│   ├── storage.go       # Persistence
│   └── claude_sessions.go  # Claude session discovery
└── ui/                  # Bubbletea TUI
    ├── model.go         # Core model, constants, Init, Update
    ├── handlers.go      # Keyboard input handlers
    ├── views.go         # View rendering functions
    ├── colors.go        # Color definitions & gradients
    ├── styles.go        # Lipgloss style definitions
    └── helpers.go       # ANSI utilities & overlay dialog rendering

Dependencies

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE for details.

Acknowledgments

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL