A local web UI for managing Amp AI coding agent threads β monitor, interact with, and organize multiple concurrent agent sessions from your browser.
Sortable, filterable table view with bulk operations, labels, and status tracking.
Conversation view with rich message rendering, syntax highlighting, and a minimap for navigation.
Organize threads across status columns β Active, Blocked, Paused, and Done.
- Node.js 24+ (needed to compile native modules like
better-sqlite3andnode-pty) - pnpm 10+ β install with
npm install -g pnpm - Amp CLI installed and authenticated (
ampcommand available)
pnpm install
pnpm devWhen working with multiple Amp threads simultaneously β across repos, features, and tasks β it's hard to keep track of what's running, what's blocked, and what each thread has done. This tool gives you a single dashboard to manage it all.
- Run multiple Amp threads side-by-side with tabs, split views, and grid layouts
- Real-time streaming of agent output via WebSocket
- Rich message rendering with syntax highlighting for code and tool outputs
- Conversation minimap for navigating long threads
- Auto-reconnect on connection drops with output resumption
- Table view β sortable, filterable thread listing with bulk operations
- Card view β detailed cards grouped by date
- Kanban view β organize threads across status columns (Active, Blocked, Paused, Done)
- Thread status tracking with blocker relationships between threads
- Labels and linked issue URLs for organization
- Handoff support to create continuation threads
- Thread chains β visualize parent/child handoff relationships
- Related threads β find threads that touched the same files
- Git activity β see commits, branches, and PRs correlated to each thread
- Source control β view uncommitted changes per workspace with inline diffs
- Content search β full-text search across all thread messages
- Shell terminal β integrated xterm.js terminal sessions
- Command palette (
βO) β quick access to all actions - Skills management β list, add, and remove Amp skills
- MCP status β view connected MCP servers
- Image viewer β view images attached to or generated by threads
- 30+ theme presets β Cyberpunk 2077, Dracula, Tokyo Night, Nord, Catppuccin, Gruvbox, and more
- Adaptive theme system that derives a full UI from just 3 colors (bg, fg, accent)
- Light and dark themes supported
- Configurable layouts and view preferences
- Notification sounds for completed tasks
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React 19) β
β src/ β
β βββ components/ # UI components β
β β βββ terminal/ # WebSocket terminal + messages β
β β βββ ThreadList/ # Table view with bulk selection β
β β βββ sidebar/ # Workspace tree navigation β
β β βββ Toolbar/ # Search, filters, view switching β
β βββ hooks/ # Data fetching + state hooks β
β βββ commands/ # Command palette registry β
β βββ lib/ # Theme system, utilities β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Shared (shared/) β
β types.ts, websocket.ts, validation.ts, cost.ts, β
β utils.ts, constants.ts β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
HTTP + WebSocket
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Backend (Node.js) β
β server/ β
β βββ websocket.ts # Per-thread session management β
β βββ shell-websocket.ts # Shell terminal PTY sessions β
β βββ routes/ # REST API handlers β
β β βββ threads.ts # Thread CRUD + search + discovery β
β β βββ metadata.ts # Status, labels, blockers β
β β βββ git.ts # Git status + diffs β
β β βββ skills.ts # Amp skills + MCP management β
β β βββ artifacts.ts # Notes + image storage β
β βββ lib/ # Core logic β
β βββ threadCrud.ts # Thread CRUD operations β
β βββ threadSearch.ts # Search + related threads β
β βββ threadExport.ts # Markdown + image export β
β βββ threadChain.ts # Handoff chains β
β βββ database.ts # SQLite for local metadata β
β βββ amp-api.ts # Amp internal API client β
β βββ git.ts # Git operations β
β βββ git-activity.ts # Commit/branch correlation β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
ββββββββββββββ΄βββββββββββββ
β β
~/.local/share/amp/ ~/.amp-thread-manager/
βββ threads/*.json βββ threads.db (SQLite)
(Amp thread data) βββ artifacts/
| Location | Purpose |
|---|---|
~/.local/share/amp/threads/ |
Amp's thread JSON files (read by the server) |
~/.amp-thread-manager/threads.db |
Local SQLite for status, blockers, linked issues |
~/.amp-thread-manager/artifacts/ |
Saved images and notes per thread |
| Shortcut | Action |
|---|---|
Ctrl/β+O |
Command palette |
Alt+N |
New thread |
Ctrl/β+R |
Refresh threads / prompt history |
Ctrl/β+W |
Close current thread |
Ctrl/β+B |
Toggle sidebar |
Ctrl/β+H |
Handoff current thread |
Ctrl+T |
Open shell terminal |
Ctrl+M |
Thread map |
Alt+D |
Toggle deep mode |
Alt+L |
Toggle layout |
Alt+[ / Alt+] |
Switch tabs |
j/k or β/β |
Navigate thread list |
Enter |
Open focused thread |
x |
Toggle selection |
Esc |
Close modal / clear focus |
| Command | Description |
|---|---|
pnpm dev |
Start dev server (Vite frontend + Node backend) |
pnpm build |
Build for production |
pnpm start |
Build and serve production |
pnpm check |
Format check + lint + typecheck + build |
pnpm lint |
ESLint |
pnpm typecheck |
TypeScript type check |
pnpm test |
Run tests (Vitest) |
pnpm test:watch |
Run tests in watch mode |
| Environment Variable | Default | Description |
|---|---|---|
PORT |
3001 |
Backend server port |
AMP_HOME |
$HOME |
Base directory for Amp data |
AMP_BIN |
auto-detected | Path to the amp CLI binary |
This is a local development tool. The server binds to localhost only and is not accessible from other devices. See SECURITY.md for details.
These packages require compilation. Make sure you have:
- macOS: Xcode Command Line Tools (
xcode-select --install) - Linux:
build-essential,python3 - Node.js 24+ (check with
node -v)
If builds fail, try: pnpm rebuild
Make sure amp is in your PATH, or set AMP_BIN to the full path of the binary.
Set a different port: PORT=3002 pnpm dev
- Frontend: React 19, TypeScript, Vite
- Backend: Node.js with raw
httpmodule (no Express) - Database: SQLite via better-sqlite3
- WebSocket:
wsfor real-time agent streaming - Terminal: xterm.js + node-pty for shell sessions
- Testing: Vitest, Testing Library
- Styling: CSS custom properties (no UI framework)


