Game-style HUD overlay for AI agents. Live cards for every running agent, drawn over your desktop. One-line drop-in for LangChain, OpenAI Agents SDK, Claude Agent SDK, CrewAI, AutoGen. Skin marketplace where creators publish + earn.
The missing observability layer for the AI-agent era. Live, visual, gorgeous, open.
Agent runtimes are everywhere β LangChain, OpenAI Agents SDK, Claude Agent SDK, CrewAI, AutoGen, Hermes, custom Grok wrappers, your in-house framework. Each one rips through thousands of tool calls per minute, burning tokens, racking up dollars, occasionally failing silently.
The dashboards built for this look like accounting software. Boring web UIs. Dropdowns. Charts. Nothing about them inspires anyone to actually watch what their agents are doing.
AgentHUD takes the opposite angle. Game-HUD energy over your desktop. Every agent gets its own card β animated, themed, dragged anywhere you want β showing live TPS, tokens, latency, cost, success rate, last tool call, sparkline of throughput, and whatever else you push. Cards can be anime, matrix code rain, holographic foil, Iron Man HUD rings, Dead Space spine RIG, Borderlands cel-shaded, Cyberpunk glitch, Persona 5 pop-art, steampunk brass plates, neon, RGB hue-cycle β and that's just the 14 skins we ship.
Anyone with Photoshop / Blender / After Effects / Midjourney can ship a custom skin. Anyone with Rust / Go / C / a plot engine can drop a binary plugin in. Anyone publishing through the community registry can earn from their work.
It's how observability for the agent era should feel.
pip install agenthud[overlay]
python -m agenthud.overlay & # start the overlay (one terminal)Then in your agent code, pick the adapter matching your framework:
# LangChain
from agenthud.adapters.langchain import AgentHUDCallbackHandler
executor.invoke({"input": "..."}, config={"callbacks": [AgentHUDCallbackHandler(name="Research")]})
# OpenAI Agents SDK
from agenthud.adapters.openai_agents import AgentHUDHooks
await Runner.run(agent, input="...", hooks=AgentHUDHooks(name="Research"))
# Claude Agent SDK
from agenthud.adapters.claude_agent import agenthud_hooks_config
ClaudeAgentOptions(hooks=agenthud_hooks_config(name="Coder"))
# CrewAI
from agenthud.adapters.crewai import enable_agenthud
enable_agenthud(per_agent=True) # one card per role
# AutoGen v0.4+
from agenthud.adapters.autogen import AgentHUDObserver
obs = AgentHUDObserver()
async for evt in team.run_stream(task="..."): obs.handle(evt)Or just the raw SDK if you're on a custom / proprietary framework:
from agenthud import HUD
hud = HUD(agent_id="my_agent", name="My Agent", color="#00d4ff", icon="π₯")
hud.task_start("T1", "Refactoring user module")
hud.tool_call("read_file", target="src/user.py")
hud.metric("tps", 145.3)
hud.metric("cost_usd", 0.012)
hud.task_done("T1", summary="Refactored 4 files")The SDK is fail-silent β your agent never crashes because the overlay isn't running. Events queue and ship when the overlay appears.
Plus: matrix (live cascading katakana code rain), holographic (Pokemon-card foil shimmer), jarvis (Iron Man ring HUD with yellow progress arc), deadspace (segmented spine RIG health bar), cyberpunk (RGB-shift glitch lines), borderlands (comic burst on task done), tactical (military scan arc + corner brackets), neon / rgb / amber / ghost (clean gradient defaults).
Each agent shows:
- Identity β name, role, icon, status dot, sub-agent label (rename inline by double-clicking)
- Throughput β TPS, tokens (split in/out), TTFT, latency
- Health β task success rate %, failed count, avg time per task
- Cost β
cost_usdlive, derived per provider rates - Activity β last tool name + target, total tool calls, calls/min
- Sparkline β rolling 32-point graph of any metric
All field-configurable per skin β designers pick what shows where. Push any custom field via hud.metric("brain_temp", 87.3) β show it with a manifest text entry. No allow-list.
Click the chip (β‘) β Theme and just hover any skin name. Cards morph in place to preview that skin β agents stay on screen, just the look changes. Click to commit; click outside to revert.
The Theme list is auto-organized:
- Built-in β ships with AgentHUD (neon / rgb / amber / ghost + 10 polished asset skins)
- Your skins β folders you made yourself in
~/.agenthud/skins/ - Community β installed via the registry browser. Skins added in the last 24 hours get a
[24hr]badge.
Per-agent skin override: right-click any card β pick a skin just for THAT agent. CORE_DEV runs on matrix, REVENUE on persona5, HERMES on jarvis β your whole team gets its own personality.
Open β‘ β Skins β π Browse community skinsβ¦ to browse and one-click install skins published by the community via IAMMARBIT/agenthud-skins.
Free skins: install directly. Tip the creator via the manifest's tip_url.
Paid skins: click "Buy" β opens the creator's own Stripe Payment Link / Gumroad / Ko-fi checkout. AgentHUD takes 0% in v1. Creators keep 100%.
Want to publish your own? Manifest + zip + PR. Publishing guide β
A creator skin is a folder with a manifest.json and some assets. We don't gate the assets:
| You make in⦠| Ships as⦠| Plays in AgentHUD |
|---|---|---|
| Photoshop / Figma / Procreate | PNG / JPG | β static card background |
| After Effects / Premiere | GIF / WebP / MP4 / WebM / MOV / ProRes 4444 (alpha) | β animated / looped video bg |
| Blender / C4D / Houdini | rendered MP4 or sprite-sheet PNG | β AAA-grade backgrounds |
| Midjourney / Grok / DALL-E / SD | PNG | β AI-generated art |
| QML + JavaScript | .qml files loaded via QQuickWidget |
β declarative animation |
| GLSL shaders | via QOpenGLWidget plugin |
β bloom, scanlines, chromatic aberration, CRT |
| Rust / Go / Zig / C / C++ / Node / Bash | standalone binary in the skin folder | β native_plugin β zero Python required |
| Python | widgets/*.py plugin file |
β full QPainter + Qt access |
The native_plugin type spawns your binary, sets AGENTHUD_FRAME_PATH + AGENTHUD_STATE_PATH env vars, and reads PNG frames your binary writes (atomic rename). 30 lines of Rust, you ship an AAA HUD. Rust + Go starter code β
Your agent can generate a skin from a user prompt and apply it immediately, no menu clicks:
hud = HUD(agent_id="my_agent", name="My Agent")
# Let the LLM design + drop a custom skin folder
my_llm.generate_skin_folder(
prompt="cyberpunk red+cyan dashboard",
output_dir="~/.agenthud/skins/my_custom/"
)
# Apply it
hud.switch_skin("my_custom") # global β all cards morph
hud.set_card_skin("anime") # pin THIS agent's card to anime
hud.rename_card("PRIMARY OPERATOR") # relabelThat's the killer demo: "Claude, build a cyberpunk dashboard for my swarm and apply it" β done in one prompt.
The $200B AI infrastructure market has built dashboards for AI operators. AgentHUD is the missing visual layer between an AI engineer and what their agents are actually doing.
Three reasons it'll stick:
- Drop-in for the frameworks devs already use. 5 adapters cover ~90% of the agent dev market.
pip install agenthud+ 3 lines of code = working HUD. - Beautiful by default. 14 polished bundled skins set the bar so creators want to one-up them. The skins are the demo.
- Creator-economy hook from day one. Anyone can publish + earn. Tip URLs in v1, Stripe Connect 70/30 marketplace planned for v2.
The boring observability tools (Langfuse / LangSmith / Helicone / AgentOps / Phoenix) own the enterprise dashboard space. AgentHUD owns the live-visibility-on-your-desktop space + the creator economy around it. Different market, different feel, complementary not competitive.
βββββββββββββββββββββββ
β YOUR AGENT CODE β β LangChain / OpenAI Agents / Claude SDK /
β β CrewAI / AutoGen / Hermes / Grok / custom
β hud = HUD(...) β
β hud.task_start() β
β hud.tool_call() β
β hud.metric() β
ββββββββββββ¬βββββββββββ
β
β WebSocket events (localhost:8765)
β JSON: agent_spawn / task_* / tool_call / metric / ...
βΌ
βββββββββββββββββββββββ
β agenthud.overlay β β PyQt6 transparent always-on-top windows
β β
β βββββ βββββ βββββ β β one card per agent, drawn per active skin
β β A β β B β β C β β drag anywhere, double-click to rename,
β βββββ βββββ βββββ β right-click for per-agent skin override
β β
β chip (β‘) + watermark (live TOK/s counter)
βββββββββββββββββββββββ
- Localhost-only WS by default (
127.0.0.1:8765). No remote traffic unless you explicitly install a community skin. - No telemetry, no analytics, no phone-home. Full threat model β
- Fail-silent SDK. Overlay down? Your agents don't even notice.
| Topic | Where |
|---|---|
| Framework adapters install | docs/ADAPTERS.md |
| Build / publish a skin (free or paid) | docs/PUBLISHING.md |
| Manifest format + asset skin system | docs/SKINS.md |
| Plugin widgets (Python) | docs/PLUGINS.md |
| No-ceiling extensibility (Rust / Go / GLSL / video / sprite sheets / sound) | docs/EXTENSIONS.md |
| Security model | SECURITY.md |
- v0.2 (now) β core overlay, 14 skins, 5 adapters, community registry browser, native plugins, video bg
- v0.3 β Hermes / OpenClaw / Grok adapter PRs, more compact-strip skins, sound effect library
- v1.0 β Stripe Connect 70/30 marketplace, hosted team dashboards (enterprise)
- future β multi-monitor coordination, OBS / Twitch streaming integration, mobile remote display
PRs welcome. The codebase is intentionally readable + the plugin / skin system means most contributions don't even need code changes β just drop a folder in the registry.
git clone https://github.com/IAMMARBIT/AgentHUD
cd AgentHUD
pip install -e ".[overlay,dev]"
python -m agenthud.overlay &
python examples/demo_three_agents.py # 3 agents working liveTo bake a custom skin into the registry, see PUBLISHING.md.
#ai-agents #agent-observability #llm-monitoring #agent-dashboard #langchain-dashboard #openai-agents #claude-agent-sdk #crewai #autogen #hud #pyqt6 #overlay #developer-tools #ai-infrastructure #open-source
MIT Β© AgentHUD contributors.
Built by IAMMARBIT. Companion repo: agenthud-skins (community registry).




