Skip to content

Repository files navigation

Agent Ecosystem Map

npm version License: BSL 2.0 Beta Raycast Store

One dashboard for every AI coding tool you use. Discover and manage skills, agents, MCP servers, and rules across Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf, GitHub Copilot, and Continue.dev. Browse past sessions across all agents in one place. Track live subscription usage and rate-limit windows so you never get blocked mid-flow.

Agent Ecosystem Map — Web UI

Agent Ecosystem Map — macOS App

Why

You use multiple AI coding assistants. Each has its own config format, its own credentials directory, its own way of defining skills and agents. You wrote a great prompt for Claude — now you want it in Codex and Gemini too. You added an MCP server somewhere — where else is it configured? Yesterday's session disappeared into one of seven different log formats. You're about to hit Claude's 5-hour window and Copilot's monthly chat cap and you have no idea.

Agent Ecosystem Map answers all of that. It auto-discovers everything, shows you the full picture, lets you connect assets between tools, browse every past session, and watch live usage across all your subscriptions.

Three Ways to Use

macOS App CLI / Web UI Raycast Extension
Install Download DMG npx agent-ecosystem-map Install from Raycast Store
Best for Local daily use VPS, remote, headless Keyboard-first search and quick actions
UI Native SwiftUI React SPA in browser Raycast command palette
Agent Auto-launches on start Manual aem command Reads local Agent Ecosystem Map data/config

Supported Tools

Tool What AEM scans
Claude Code ~/.claude/commands/, ~/.claude/agents/, ~/.claude/rules/, ~/.claude/projects/, .mcp.json, CLAUDE.md
Codex CLI ~/.codex/skills/, ~/.codex/agents/, ~/.codex/sessions/, auth.json, AGENTS.md
Gemini CLI ~/.gemini/skills/, oauth_creds.json, GEMINI.md
Cursor ~/.cursor/rules/, ~/.cursor/projects/*/agent-transcripts/, state.vscdb
Windsurf ~/.windsurf/rules/, .windsurfrules
GitHub Copilot gh keychain, .github/copilot-instructions.md
Continue.dev ~/.continue/config.json
Plus 11 more for usage tracking Amp, JetBrains AI, Grok, Kimi, Perplexity, OpenCode, Antigravity, Z.ai, MiniMax, Factory, Synthetic

Key Features

Ecosystem Map

  • Auto-discovery across 7 AI coding tools, local and remote
  • Provider copies — each tool owns an independent copy, while matching assets are still grouped with multi-provider badges
  • Command Center dashboard — jump between the map, sessions, usage, projects, running agents, servers, bundles, and policies
  • Library Workbench — Chops-style collections, registry import, diagnostics, and install-to-provider flow
  • Filterable sidebar — by type, provider, category. Hide what you don't need, settings persist
  • Smart search — find any asset by name, description, or tags (fully client-side, instant)
  • Auto-categorization — Development, DevOps, Security, Content, SEO, UX, and more

Sessions Browser

  • All agents in one place — Claude, Codex, Cursor, OpenCode, Qwen, Pi, Kiro, Kilo, and Copilot logs unified
  • Replay any session — timeline/replay mode with token usage per turn
  • Live process tracking — PID, cwd, uptime, CPU, and RAM where available
  • Cost analytics — per-session and aggregate spend, broken down by model
  • Activity heatmap — GitHub-style contributions across 17 weeks + current/max streak
  • Search across messages — indexed deep text search through all your conversations
  • Advanced filters — date range, model, cost, and token thresholds
  • Star, label, export — pin important sessions, tag them, export markdown handoffs

Usage Tracking

  • 18 providers — live rate-limit windows, weekly caps, credit balances
  • Provider-native APIs — calls Anthropic, OpenAI, Cursor, GitHub directly using local OAuth tokens
  • Brand-coloured cards with progress bars that turn amber at 80% and red at 95%
  • Aggregate hero stats — average utilisation, peak limit, near-cap count
  • Provider controls — enable/disable providers, reorder cards, configure refresh interval
  • OpenUsage-compatible API/v1/usage, /v1/usage/:provider, /v1/providers
  • Plugin runtime — load trusted local OpenUsage-style plugin.json + plugin.js providers
  • Stale fallback cache — keeps the last successful snapshot when a live probe fails
  • Proxy metadata — persisted proxy settings exposed to usage plugins
  • Menu-bar summary + shortcut — compact macOS usage summary and ⌘⇧U Usage panel shortcut

Connect & Sync

  • One-click connect — copy a Claude skill into Codex, Gemini, and other providers instantly
  • Copy-based by default — connecting creates an independent provider-owned copy, not a symlink
  • Scoped disconnect/delete — removing a copy from one provider does not delete it from the others
  • Legacy symlink conversion — reconnecting an older symlinked asset converts it to an owned copy
  • Copy protection — provider copies are protected from accidental cross-provider deletes

Remote / VPS Command Center

  • Remote sidecar flow — preview or apply an optional aem --headless install on a VPS
  • SSH tunnel manager — build/start local tunnels to remote sidecars and MCP endpoints
  • Remote session scan — Claude, Codex, Cursor, OpenCode, Qwen, and Kiro logs over SSH
  • Remote process monitor — live agent/runtime processes, including OpenClaw, Hermes, and Germias profiles
  • Remote usage probe — reads sidecar OpenUsage snapshots when available and falls back to credential hints
  • Remote MCP runtime view — checks configured remote MCP commands/HTTP endpoints and shows tool-view readiness
  • Safe remote sync — dry-run/apply/rollback copy sync is exposed as a first-class server capability
  • Topology overview — local machine, VPS, projects, providers, assets, and running agents in one graph

Create & Import

  • Create new skills, agents, MCP servers, and rules from the UI
  • Collections — group skills, agents, MCP servers, and rules without moving or changing source files
  • Registry import — scan a local folder or GitHub repo for installable skills, agents, rules, and MCP servers
  • Provider-targeted install — copy an imported asset into a specific provider so every tool owns its copy
  • Editor upgrade — frontmatter fields, markdown preview/syntax view, and diff-before-save
  • Diagnostic export — redacted JSON bundle for debugging support without leaking SSH keys or provider paths
  • Import from file — drag in an existing .md, .json, or .yaml — type auto-detected
  • Edit inline — modify file content with save/revert directly in the app
  • Delete with downstream impact warnings (shows what will break)

History & Rollback

  • Full audit trail — every create, connect, disconnect, delete is logged
  • One-click undo — revert the last change
  • Rollback any entry — restore a specific historical state

Real-Time

  • File watcher — config changes detected instantly
  • WebSocket sync — UI updates live across web and macOS
  • SQLite persistence — state survives restarts

Theming

  • Dark / Light / System themes, cycle with one click in the header

Quick Start

macOS App

Download from GitHub Releases, open the DMG, drag to Applications. Requires Node.js (brew install node).

Raycast Extension

Install from the Raycast Store to search skills, agents, MCP servers, and rules directly from Raycast.

CLI

npx agent-ecosystem-map

Opens the web UI at http://localhost:3000.

Install Globally

npm install -g agent-ecosystem-map
aem                    # Start web UI

Usage

# Web UI (default)
aem                        # Start on port 3000, open browser
aem -p 8080                # Custom port
aem --headless             # API only, bound to localhost
aem --host 0.0.0.0         # Network bind; bearer auth is required
aem --no-open              # Don't auto-open browser

# Static HTML (one-shot)
aem scan                   # Print summary to stdout
aem scan -o map.html       # Generate self-contained HTML file

# Sessions CLI
aem sessions search auth
aem sessions show <id>
aem sessions export <id>
aem sessions handoff <id>
aem sessions convert <id> codex

Aliases

aem is the short alias. The full name agent-ecosystem-map also works.

VPS / Remote

# On your VPS:
aem --headless -p 3000

# Access from local machine:
ssh -L 3000:localhost:3000 user@your-vps
open http://localhost:3000

By default the HTTP API binds to 127.0.0.1 and rejects cross-origin browser requests. Prefer the SSH tunnel flow above for remote access. If you explicitly bind to a public interface with --host 0.0.0.0, the CLI requires Bearer-token authentication and prints the generated token at startup.

In the Servers view, use Inspect Remote to scan VPS sessions, live processes, usage, MCP runtimes, sidecar status, tunnel commands, and remote sync safety.

Keyboard Shortcuts

Shortcut Action
Cmd+F Focus search
Cmd+N Create new asset
Cmd+R Rescan ecosystem
Cmd+Z Undo last change
Cmd+1…9, Cmd+0 Switch view (Command Center, Library, Map, Sessions, Usage, …)
Escape Close panel / clear search

Architecture

agent-ecosystem-map/
├── bin/cli.js          # CLI entry (aem / agent-ecosystem-map command)
├── agent/
│   ├── server.js       # HTTP + WebSocket server
│   ├── router.js       # REST API (60+ endpoints)
│   ├── scanner/        # Multi-tool asset discovery (provider-copy grouping, folder-as-asset)
│   ├── connector/      # Connect/disconnect via provider-owned copies
│   ├── sessions/       # Session browser (claude, codex, cursor, opencode parsers)
│   │   ├── parsers/    # Per-agent .jsonl parsers
│   │   ├── pricing.js  # Per-model cost calculation
│   │   ├── live.js     # Live process detection
│   │   └── analytics.js # Heatmap, streaks, daily totals
│   ├── usage/          # Live subscription usage tracking
│   │   ├── host.js     # Plugin host: keychain, sqlite, http, fs, env, log
│   │   └── providers/  # 18 providers (claude, codex, cursor, copilot, …)
│   ├── library.js      # Collections/registry import helpers
│   ├── diagnostics.js  # Redacted diagnostic export
│   ├── remote-command-center.js # VPS sidecar, tunnel, sessions, usage, process, MCP probes
│   ├── sync.js         # Cross-provider sync engine
│   ├── health.js       # Asset health checks
│   ├── drift.js        # Drift detection across copies
│   ├── snapshots.js    # Rollback snapshots
│   └── store/          # SQLite persistent state
├── desktop/            # macOS SwiftUI app (Xcode)
├── ui/                 # React + TypeScript + Tailwind
└── template/           # Static HTML fallback

API

All endpoints under /api/. Highlights:

Endpoint Method Description
/api/assets GET List assets (filters: type, provider, category, q)
/api/assets/:id/diff POST Diff-before-save preview for asset edits
/api/connect / /api/disconnect POST Connect / disconnect asset to a tool
/api/rescan POST Full ecosystem rescan
/api/collections GET/POST Non-destructive asset collections
/api/collections/:id/items POST Add asset to collection without changing source files
/api/registry/scan POST Scan a local folder registry
/api/registry/github/scan POST Clone/fetch and scan a GitHub registry
/api/registry/install POST Provider-targeted copy install from registry candidate
/api/diagnostics/export GET Redacted support/debug export
/api/sessions GET All sessions across agents + heatmap + totals
/api/sessions/detail?path=…&agent=… GET Full session with messages
/api/sessions/search?q=… GET Deep full-text search across session messages
/api/sessions/timeline?path=…&agent=… GET Replay timeline + launch/resume command metadata
/api/sessions/live GET Currently-running agent processes
/api/sessions/star / /api/sessions/label POST Pin and tag sessions
/api/usage GET Probe all 18 providers in parallel
/api/usage/:provider GET Single provider probe
/api/usage/settings GET/PUT Provider enabled/order settings and proxy (plugin dirs are file/env only)
/api/usage-providers GET Usage provider manifests
/api/servers/:id PUT Update remote server SSH/display settings
/api/servers/:id/sidecar GET/POST Remote AEM sidecar status, install preview/apply
/api/servers/:id/sessions GET Scan remote agent sessions over SSH
/api/servers/:id/processes GET Remote agent/runtime process monitor
/api/servers/:id/usage GET Remote sidecar usage probe with credential hints fallback
/api/servers/:id/mcp-runtimes GET Remote MCP runtime/config health and tool-view seed
/api/servers/:id/sync/status GET Remote copy-sync preview/apply/rollback capabilities
/api/servers/:id/tunnels/preview POST Preview SSH tunnel command
/api/servers/:id/tunnels POST Start SSH tunnel for sidecar/tools
/api/tunnels GET List SSH tunnels managed by this AEM process
/v1/usage GET OpenUsage-compatible cached snapshots
/v1/usage/:provider GET OpenUsage-compatible single cached snapshot
/v1/providers GET OpenUsage-compatible provider list
/api/history GET Audit trail
/api/undo POST Undo last change

WebSocket at /ws pushes assets:updated events on any file change.

Beta Notice

This is a beta release (v0.2.0). Core functionality is stable, but expect rough edges. Advanced views (Projects, Running Agents, Servers, Bundles, Policies) are now available from the Command Center and main navigation while they continue to mature. If you encounter bugs, please open an issue.

Contributing

Contributions welcome:

  • Bug reportsopen an issue with repro steps
  • Feature requests — describe your use case, we'll discuss
  • Pull requests — fork, branch, open a PR
  • New provider support — want Aider, Roo Code, or another tool? PRs welcome
  • Documentation — improvements to README, API docs, or inline comments

Development

git clone https://github.com/spyrae/agent-ecosystem-map.git
cd agent-ecosystem-map
npm install
npm run dev          # Start agent without opening browser
npm run dev:ui       # Start Vite dev server for UI hot-reload

macOS app: open desktop/AEM.xcodeproj in Xcode, build & run.

Requirements

  • macOS App: macOS 14+, Node.js >= 18
  • CLI: Node.js >= 18, any OS
  • At least one AI coding tool configured

License

BSL 2.0 — free to use, modify, and self-host. Cannot be sold as a competing product. Converts to MIT on 2030-04-06.


Built by @spyrae. If you find this useful, star the repo.

About

Interactive visual map of your Claude Code ecosystem: skills, agents, MCP servers — auto-discovered from .claude/ config

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages