Agnostic agent cartography and visualization.
Run as many coding agents as you like. Cargento tells you which ones need you, which ones are fine, and when it is safe to walk away. One local screen, every harness you use, and nothing leaves your machine that you cannot switch off.
It answers five questions, in the order a working day hits them. Which of my agents are running. What is each one doing, and when should I come back. Is anything waiting on me. Will I hit the quota wall before the work finishes. Did anything die quietly. What Cargento promises states each answer, names the shipped capability behind it, and says where it stops.
Under that, Cargento maps live coding-agent activity on your machine into a single local dashboard. It shows sessions, subagents, task progress, turn ETAs, quota windows, and token output rate across ten harnesses: Claude Code, Codex, Pi, Gemini CLI, Antigravity CLI, GitHub Copilot CLI, OpenCode, Cursor CLI, Goose, and Factory Droid. Gemini CLI stopped serving consumer accounts in June 2026 and Antigravity CLI succeeds it there, but enterprise and API-key use continues, so that row reads either historical or live sessions depending on the account.
This repo contains one plugin, cargento, the agent cartography dashboard skill.
- Python 3.11+. The server is stdlib-only, so there is nothing to install alongside it.
- To install it as a plugin: Codex, Claude Code, Antigravity/AGY, or Gemini CLI.
You do not need all four. The dashboard maps every harness it finds on the machine regardless of which one launched it, and it runs standalone with no client installed at all:
python3 cargento/skills/cargento/server.py --port 4553 --daemon--daemon detaches so the dashboard keeps running after this shell exits. Stop it with --stop;
drop --daemon to run it in the foreground instead.
Cargento is listed in the shared Spacedock marketplace, so if you already have that marketplace you only need the second line.
# Add the Spacedock marketplace (one-time setup, shared with the other Spacedock plugins)
claude plugin marketplace add spacedock-dev/marketplace
# Install the cargento plugin
claude plugin install cargento@spacedockRestart Claude Code after installation.
# From a local checkout, install the native AGY plugin
agy plugin install "$PWD/cargento"Restart AGY after installation.
# From a local checkout, install the native Gemini CLI extension
gemini extensions install "$PWD/cargento-gemini"Restart Gemini CLI after installation.
Gemini installs from its own directory rather than from cargento/. Both Claude Code and Gemini CLI
load extension hooks from <root>/hooks/hooks.json and neither lets that path be moved, so one shared
root would hand each harness the other's event names. cargento-gemini/ carries the Gemini manifest,
Gemini's hooks, and the two hook scripts they run.
# Add the marketplace from a local checkout, then install the plugin
codex plugin marketplace add .
codex plugin add cargento@cargento-marketplaceRestart Codex after installation.
Installing the plugin is most of the setup. What is left is configured by hand, because a plugin cannot write it for you: the ask-lane MCP server, Claude's lifecycle hooks, Antigravity's status line. See HOW_TO_USE.md for one procedure per task.
| Skill | What it does | Standalone invocation |
|---|---|---|
cargento |
Live agent-cartography dashboard: maps sessions, subagents, task progress, ETAs, and token rate across ten coding-agent harnesses, with input-wait notifications (native on macOS, browser notifications elsewhere) | /cargento:cargento |
In Codex, invoke it as $cargento. In any harness you can also just ask: "open cargento" or "monitor my agents".
The skill starts a stdlib-only Python server: cargento/skills/cargento/server.py is a small
launcher, and the dashboard itself lives in the importable cargento_runtime package beside it. The
server reads local harness session stores read-only, meaning transcripts, task files, and SQLite
databases, and assembles the HTML, CSS and JavaScript under cargento_runtime/web/ into a
self-refreshing dashboard at http://127.0.0.1:4553/. The server binds to 127.0.0.1 unless you ask
for another address with --host, which has no authentication behind it. Session content stays on
the machine by default. The quota poll requires disclosure consent, carries a vendor token and no
session content, and can be disabled with --no-usage. The optional observer model is the one path
that can send session content off the machine through the installed Codex CLI. It requires
--observer-model and separate disclosure consent; --no-observer-model overrides enablement.
The Console tab carries that disclosure for one exact session, keeps the answer in this browser,
and sends nothing until the reader asks for a summary.
Dashboard assets, including the optional terminal's vendored xterm files, need no external fetch.
A third outbound pathway, counts-only nudges to an operator-supplied endpoint, remains documented
and unimplemented. See SECURITY.md for all three, and before you use --host.
The dashboard opens on Projects, grouping sessions by the label their harness publishes. Each
project opens a cockpit with a Scope rail, a persistent assignment/execution/command briefing,
and Now, Course, Decisions and Console tabs, plus a Held to tab once one session is in focus. There
you type the goal and the expected output you are holding that session to, and ask for one reading
against them. Console collects delegation, waiting requests,
capacity and browser-local tripwires. The terminal bridge and semantic history remain prototypes;
the cockpit design contract records their limits.
Sessions puts active work above recent history and gives each active session the same four facts: where it
is, what it is doing now, what it does next, and whether it is blocked.
Attention collects what needs a human, and the Intent log lists every session you have typed words
against, including ones that have left the board. Keyboard shortcuts s, p and a reach
Sessions, Projects and Attention; the Intent log is a nav link with no shortcut.
Escape returns from a session to its project and otherwise to Projects. The route lives in the
URL fragment so a reload or a pasted link comes back to the same view.
See cargento/skills/cargento/SKILL.md for data sources, session states, options, and troubleshooting.
The canonical pre-PR suite lives in AGENTS.md: lint, types, frontend-asset lint, the contract validator, tests under coverage, and the native plugin validators. Contributors should start from CONTRIBUTING.md, which walks through setting it up.
See COMPATIBILITY.md for the cross-platform contract.
Contributions are welcome, and new harness support is especially useful. Start with CONTRIBUTING.md for setup, validation, and PR conventions. This project follows the Contributor Covenant Code of Conduct. Please report security issues privately, as described in SECURITY.md.
Cargento's code and documentation are licensed under the Apache License 2.0. See
NOTICE for attribution. The bundled Space Grotesk and Space Mono font subsets retain their
SIL Open Font License notices in cargento/skills/cargento/cargento_runtime/web/fonts/.