hangar-ai
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Basarisiz
- exec() — Shell command execution in demo/backend/model.ts
- exec() — Shell command execution in demo/backend/shell.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Desktop app to run Claude Code, Codex, Gemini CLI and OpenCode side by side, with a shared task board and memory over MCP, and an orchestrator that runs workers in git worktrees. Local, open source.
Hangar.AI
Run Claude Code, Codex and friends side by side, in one window.
Download
Get the latest release, under
Assets:
- Windows — the
.exe, 64-bit. It installs for you alone and asks for no administrator
rights. Being unsigned, SmartScreen shows a warning on first run: More info →
Run anyway. WebView2 is required and ships with Windows 11. - macOS —
.dmg, one universal build for Apple Silicon and Intel. Signed and notarised
with an Apple developer account, so it opens on a double-click like anything else. - Linux —
.AppImageto run without installing, or.deb/.rpmfor a package
manager. WebKitGTK 4.1 is required and every current distribution packages it, aslibwebkit2gtk-4.1-0on Debian and Ubuntu orwebkit2gtk4.1on Fedora.
The app updates itself from there, so this is a one-time download.
What it does
- Tiling panes — 1, 2, 4 or 8 real terminals. Every split resizes on its own, and each
pane picks its shell from whatever is installed: PowerShell, cmd, Git Bash, WSL, MSYS2 and
Nushell on Windows; zsh, bash, fish, Nushell and pwsh everywhere else — opened as login
shells on macOS, so a pane starts with the PATH your terminal has. Zoom one pane to the
whole grid and back, search its scrollback, or drop a file or a screenshot on it to paste
its path. - Workspaces — a project directory plus its pane layout, saved. Reopen one and every
pane comes back with its agent. - Session resume — agents relaunch on the conversation they were in, with no session
ids for you to track. - Shared task board — a kanban board per workspace that the agents themselves read and
write, over MCP. Cards show who holds them and what blocks them, and the board can sit
in a panel beside the terminals. - 3D preview — an agent shows you the model it is working on in a panel beside the
terminals rather than naming a file, and can render it to an image to check its own work. - Agent state at a glance — each pane says whether its agent is working, waiting for
your answer, or done and waiting for you; the sidebar counts the same for every
workspace, so a turn that ends in a workspace you left does not go unnoticed. - Broadcast — one instruction, sent to every pane at once, or held until each agent
is free. - Dictation — hold a key, speak, and it is typed into the focused pane. Runs on this
machine through whisper.cpp, on a checkpoint downloaded once: 99 languages, no key, no
connection, and nothing recorded leaves the computer. Groq's hosted Whisper is there as
a fallback, and an optional pass can tidy the transcript — dropping the hesitations and
spellinguseEffectthe way you would type it. The Groq key is kept in the system
keychain, never in the app's settings file. - 32 themes — ported from the most-installed VS Code palettes, restyling the whole
window rather than just the terminals. Font, size, line height, cursor and padding adjust
live, and the interface has a size of its own. - Rebindable shortcuts, and an interface in English or French.
- Discord Rich Presence — off unless you turn it on.
The task board
Every workspace gets a board, and agents work it over MCP:
| Tool | What it does |
|---|---|
board_list_tasks |
Read the current state of the work |
board_next_task |
Highest-priority free task whose dependencies are done |
board_claim_task |
Take ownership — fails if someone got there first |
board_create_task |
File work for another agent, with priorities and dependencies |
board_update_task |
Move between columns, edit, or release |
board_comment_task |
Leave notes, which is how agents talk to each other |
board_delete_task |
Remove a task |
Claims are atomic: every change goes through a single lock, so two agents racing for the
same task cannot both win it.
The 3D preview
Agents that build game assets show them over MCP too:
| Tool | What it does |
|---|---|
model_show |
Open a model in the panel and report its triangles, materials, animations and size |
model_snapshot |
Render it to a PNG the agent can look at, from a fixed angle |
model_close |
Close one model, or every model the agent's workspace has open |
It reads glTF and GLB, OBJ with its MTL, STL, PLY, FBX and USDZ, up to 256 MB, and only from
the workspace's folders and its git worktrees. A model reloads by itself when its file
changes, so an agent re-exporting it is enough to refresh what you see.
Each workspace has its own preview. A model an agent shows opens in that agent's
workspace: if you are looking at another one, nothing covers it, and the model is waiting
when you get there. The agent is told whether you can see it, and its snapshots render
either way.
The Claude Code bridge
Claude Code panes load a small mod,hangar-bridge, which Hangar writes to ~/.hangar/mods/hangar-bridge and hands to the
panes it starts through CLAUDE_CODE_PLUGIN_DIRS — nothing is installed in Claude Code
itself, and a claude started outside Hangar never sees it. From inside the session it
tells Hangar:
- when a turn starts and ends, and when a permission dialog is waiting for you — the
pane's state and its notification come from there rather than from a guess; - which session the pane is on, so a restart resumes the right conversation;
- the context window's fill and the plan's 5-hour and weekly usage, shown at the bottom
of the sidebar; - which files it edits, so that an agent about to edit a file another pane just changed
asks you first.
It also takes the prompts you broadcast "when free" and submits them once its session is
idle. It needs Claude Code 2.1.287 or later; without it, or in a WSL pane, Hangar falls
back to reading the pane's output as it does for every other agent. Settings → General →
Claude Code bridge turns it off, and Hangar leaves it out by itself where the machine's
managed settings forbid sideloaded plugins. Claude Code sessions
are also named after their pane, so agents can message each other as @<pane>.
Connecting agents
Settings → MCP registers the server in whichever tools it finds, each in its own format:
| Tool | File |
|---|---|
| Claude Code | .mcp.json |
| Codex | ~/.codex/config.toml |
| Gemini CLI | ~/.gemini/settings.json |
| Cursor | .cursor/mcp.json |
| VS Code | .vscode/mcp.json |
Existing configuration is merged rather than overwritten, and a backup is kept on first
write. The API port and its token are resolved at launch and never written into those
files, so the configs stay valid across restarts.
The same panel can drop an agent playbook into AGENTS.md and CLAUDE.md, inside a
delimited block that leaves the rest of the file alone.
Keyboard
Ctrl on Windows, Cmd on macOS:
| Shortcut | Action |
|---|---|
Ctrl/Cmd + 1…8 |
Focus pane N |
Ctrl/Cmd + , |
Settings |
Ctrl+Shift+Z / Cmd+Option+Z |
Zoom the focused pane, and back |
Ctrl+Shift+F / Cmd+F |
Search the focused pane |
| Double-click a split | Reset that boundary to 50/50 |
| Double-click a workspace | Rename |
Everything else is rebindable from Settings → Shortcuts. The defaults differ where the two
platforms do: a Mac copies with Cmd+C rather than Ctrl+Shift+C, splits withCmd+D, and moves between panes with Ctrl+Option+arrow — leaving Option+arrow to
the terminal, which uses it to move by word.
Development
Node 20+, pnpm and a Rust toolchain; on Windows, the MSVC build tools, and on macOS the
Xcode command line tools (xcode-select --install). Linux builds against the system
WebView, so it needs its headers first:
sudo apt install libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev \
libxdo-dev libssl-dev patchelf
pnpm install
pnpm tauri dev # run it
pnpm tauri build # build the installers
The MCP server is the same binary, run with --mcp:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | ./src-tauri/target/debug/hangar-ai --mcp
English is the reference for translations in src/i18n.ts: the French table is typed
against it, so a missing key fails the build instead of falling back at runtime.
Redrawing the logo regenerates three checked-in copies, in this order. The scripts are
PowerShell, so this one is a Windows job — the artwork they produce is checked in, and a
macOS clone never has to run them:
powershell -File scripts/logo.ps1 # the masters, assets/logo.png and .svg
pnpm tauri icon assets/logo.png # the OS icon set
powershell -File scripts/installer-art.ps1 # the installer bitmaps
A fork that wants the Rich Presence badges needs art uploaded to its own Discord
application under the keys agent-claude, agent-codex, agent-gemini andagent-opencode, then its application id set in Settings → Discord. Until then the card
simply shows no badge.
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi