HN 표시: jmux – 인간 및 코딩 에이전트를 위한 tmux 기반 개발 환경

hackernews | | 📦 오픈소스
#ai에이전트 #claude #claude code #review #tmux #개발환경 #터미널
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

jmux는 개발자가 터미널 환경에서 클로드 코드(Claude Code), 코덱스(Codex) 등 다수의 AI 코딩 에이전트를 병렬로 실행하고 관리할 수 있도록 돕는 오픈소스 오케스트레이터입니다. 무겁고 특정 플랫폼에 종속되는 기존 GUI 앱과 달리, tmux를 기반으로 제작되어 macOS, Linux, SSH 등 어디서든 가볍게(약 0.3MB) 작동하며 기존 설정 파일을 그대로 사용할 수 있습니다. 사용자는 사이드바를 통해 어떤 에이전트가 작업 중인지, 완료되어 리뷰가 필요한지 상태를 직관적으로 파악할 수 있습니다. 또한 마우스 스크롤, 클릭, 단축키를 통해 여러 세션과 창을 빠르고 자유롭게 전환하며 개발 효율을 높일 수 있습니다.

본문

The terminal workspace for agentic development. Agents, editors, servers, logs. All running. All visible. One terminal. Run Claude Code, Codex, or aider in parallel — jmux shows you which agents are working, which finished, and which need your review. No Electron. No lock-in. Just your terminal. bun install -g @jx0/jmux jmux Requires Bun 1.2+, tmux 3.2+, fzf, and optionally git for branch display. jmux will offer to install tmux and fzf for you on first run. New to tmux? See the Getting Started guide — no prior tmux knowledge needed. GUI agent orchestrators are 100MB+ Electron apps that lock you into their editor, their diff viewer, their Git workflow. They work on one platform. They'll charge you eventually. jmux takes the opposite approach: it's a thin orchestration layer over tmux — the tool you already know. Your editor, your Git workflow, your shell, your tools. jmux just makes them visible and navigable when you're running 10+ agents in parallel. | jmux | GUI orchestrators | | |---|---|---| | Size | ~0.3 MB | ~100+ MB | | Platform | Anywhere tmux runs (macOS, Linux, SSH, containers) | macOS only | | Editor | Yours (vim, emacs, VS Code, whatever) | Built-in (take it or leave it) | | Git | git , gh , lazygit, wtm, your workflow | Built-in GUI (their workflow) | | Agents | Any (Claude Code, Codex, aider, custom) | Bundled subset | | Lock-in | None — it's tmux underneath | Proprietary workspace format | | Cost | Free, open source | Free today, VC-funded | Every session visible at a glance — name, window count, git branch. Sessions sharing a parent directory are automatically grouped under a header. Mouse wheel scrolling when sessions overflow. - Green ▎ marker + highlighted background on the active session - Green ● dot for sessions with new output - Orange ! flag for attention (e.g., an agent finished and needs review) Window tabs auto-name to the working directory. Pane borders show the running command with automatic detection for tools like Claude Code. No more tabs full of zsh or garbled version strings. Ctrl-Shift-Up/Down moves between sessions with zero delay. No prefix key, no menu, no mode to enter. Or just click a session in the sidebar. Indicators only clear when you actually interact with a session — not when you're cycling through. Ctrl-a n opens a two-step fzf flow: fuzzy-search your git repos for a directory, then name the session. Pre-filled with the directory basename. jmux works with your existing ~/.tmux.conf . Your plugins, theme, prefix key, and custom bindings carry over. jmux applies its defaults first, then your config overrides them. Only a small set of core settings are enforced. Use any editor. Any Git tool. Any AI agent. Any shell. jmux doesn't replace your tools — it organizes them. - wtm — Git worktree manager. Create isolated worktrees for each agent, one session per branch. wtm create feature-auth --from main + jmux = parallel agents on parallel branches. - Claude Code — AI coding agent with built-in attention flag support. - lazygit — Terminal Git UI. Run it in a jmux pane alongside your agent. - gh / glab — GitHub and GitLab CLIs for PRs, issues, and reviews without leaving the terminal. Built for running multiple coding agents in parallel. One command sets up attention notifications: jmux --install-agent-hooks When Claude Code finishes a response, the orange ! appears on that session in the sidebar. Switch to it, review the work, move on. Works with any agent that can run a shell command on completion. See docs/claude-code-integration.md for details. | Key | Action | |---|---| Ctrl-Shift-Up/Down | Switch to prev/next session | Ctrl-a n | New session | Ctrl-a r | Rename session | Ctrl-a m | Move window to another session | | Click sidebar | Switch to session | | Scroll wheel (sidebar) | Scroll session list | | Key | Action | |---|---| Ctrl-a j | fzf window picker | Ctrl-a c | New window | Ctrl-Right/Left | Next/prev window | Ctrl-Shift-Right/Left | Reorder windows | | Key | Action | |---|---| Ctrl-a | | Split horizontal | Ctrl-a - | Split vertical | Shift-Left/Right/Up/Down | Navigate panes (vim-aware) | Ctrl-a Left/Right/Up/Down | Resize panes | Ctrl-a P | Toggle pane border titles | | Key | Action | |---|---| Ctrl-a k | Clear pane + scrollback | Ctrl-a y | Copy pane to clipboard | Ctrl-a i | Settings | Config loads in three layers: config/defaults.conf <- jmux defaults (baseline) ~/.tmux.conf <- your config (overrides defaults) config/core.conf <- jmux core (always wins) Override any default in your ~/.tmux.conf — prefix key, colors, keybindings, plugins. Only core settings the sidebar depends on are enforced (mouse on , detach-on-destroy off , window naming, status-left ). See docs/configuration.md for the full guide. Terminal (Ghostty, iTerm, etc.) +-- jmux (owns the terminal surface) +-- Sidebar (26 cols) -- session groups, indicators +-- Border (1 col) +-- tmux PTY (remaining cols) +-- PTY client ---- @xterm/headless for VT emulation +-- Control client - tmux -C for

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →