One copy, many links
Duplicates are detected and collapsed into a canonical store, then linked per platform.
symlink · junction · hardlink
A local agent console
No more one copy of the same skill per agent. Collapse everything into a canonical store, link it per platform, and distribute MCP and instruction files from one place — every write is planned first and rolls back as a batch.
16
agents detected
11
modules
1
canonical copy
0
broken links
01 / Capabilities
Not another shell on top. Every module works on its own, and every module is covered by the same plan-and-rollback path.
Duplicates are detected and collapsed into a canonical store, then linked per platform.
symlink · junction · hardlink
JSON, TOML or YAML generated per target agent, with a diff before anything is written.
claude · codex · gemini · hermes
One tab, one session. Launch any detected agent CLI straight from the current directory.
PTY · xterm.js · Unicode 11
Direct, routed or aggregated routing on loopback only; upstream keys never land in agent configs.
21 built-in channels · /v1
Read-only parsing of session logs, aggregated by agent, provider and model. Unpriced models are never shown as zero.
5 sources · cached by file
Two phases, atomic writes, batch backups and one-click rollback. Read-only zones are never touched.
atomic · batch backup · rollback
02 / Interface
Six screens captured from the current build. Light and dark share one set of semantic tokens; switching themes swaps variables only.
Overview One graph for the whole setup: the canonical store links out to every agent, and each edge is coloured by state.
Skills Duplicates grouped by name, with a live footer showing what is selected and how much it would save.
Agents CLI, app bundle and config-directory detection for 16 agents; anything adaptable can be taken over in one click.
Providers Agents on the left, provider pool on the right — switching writes config and probes connectivity immediately.
Usage Six ranges, three counters, grouped by agent, provider and model. Unpriced models are labelled, never zeroed.
Changes Review every create, overwrite and delete before it lands — and apply only the rows you tick.
03 / Change safety
Every write follows one path: plan it, apply it, roll it back. There is no direct-overwrite option.
Every file to be created, overwritten or deleted, with its diff. Apply only the rows you want.
Atomic replace, automatic backup, and the original content recorded for the whole batch.
Restore a batch or a single entry. Links are rebuilt toward their original targets, never left dangling.
04 / Compatibility
Detection covers CLI, app bundles, Store packages and config directories for 16 agents. Adoptable ones join management with one click; the rest get copyable install steps — detection only, never installation.
Hover for names
05 / Download
macOS and Windows, fully local, no account, no telemetry.
Apple Silicon · Intel
Installers are published on GitHub Releases
Download for macOSx64
Installers are published on GitHub Releases
Download for Windows06 / FAQ
No. Every write enters a plan drawer listing target files and diffs, with automatic backups before applying and batch rollback afterwards. Read-only skills shipped by an agent are not taken over by default.
Junctions first, then hard links, then copies. Any single skill can override the strategy — precedence is per-skill > global default > platform default.
No. Skills, MCP and instruction files stay local. The gateway binds loopback only, logs status codes and latency but never payloads, and clears its buffer on restart.
Providers are one of eleven modules. AgentHub governs skill convergence, MCP distribution, instruction files and the rollback path; provider config goes through the same plan and apply flow.
The canonical store can be kept or removed. Before uninstalling, generate a plan that restores the original layout by replacing links with real files.
Six are fully adapted: Claude Code, Codex, CodeBuddy, Hermes, Gemini CLI and OpenCode. Ten more are detected with install guidance, and every path can be overridden in settings.