Agent Radar: ein Claude Code Subagent-Monitor über der Eingabe
Pro laufendem Subagent eine Live-Zeile über der Eingabe: Zeit, Tool-Anzahl und aktuelle Aktion, dazu ein /radar-Pane.
Berechtigungen
- Fängt Tool-Aufrufe abSieht jeden Tool-Aufruf von Claude (tool.call / tool.check) und könnte ihn blockieren oder verändern.
- Liest deine PromptsKann sehen, was du eingibst, und den Gesprächsverlauf lesen (prompt.* / session.append / session.messages).
- Verändert die OberflächeZeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).
- Fügt Befehle/Tools hinzuRegistriert neue Slash-Befehle oder Tools, die du oder Claude aufrufen können ($.command.register / $.tool.register).
- getestet mit
- v2.1.291
- zuletzt getestet
- erfordert
- Claude Code ≥ 2.1.287
- Oberflächen
- über dem Prompt, Bereich, Toast
- Quelle
- Hamza Zafar (hamzafer) (MIT)
In Claude Code installieren:
/plugin install agent-radar --marketplace hamzafer/claude-code-modsWas macht diese Mod?
Agent Radar ist eine Community-Mod von Hamza Zafar (hamzafer) aus seiner Sammlung claude-code-mods. Sie ist ein Claude Code Subagent-Monitor: Wenn Claude Arbeit an einen Subagent übergibt, bekommt das Band über der Eingabe eine Live-Zeile dafür, sodass du siehst, was jeder einzelne tut, ohne etwas zu öffnen.
Eine Zeile sieht so aus: ● Read README and all src/ files 4s · 2 tools · searching src/**/*. Sie enthält die Beschreibung des Agents, die verstrichene Zeit, wie viele Tool-Aufrufe er gemacht hat, und ein verständliches Label für den letzten Aufruf. Wenn der Agent fertig ist, wird der Punkt für 30 Sekunden zu einem grünen Haken, und ein Toast wie ✓ sweep runner done (9s · 4 tools) erscheint. Ein fehlgeschlagener oder abgebrochener Agent bekommt ein rotes Kreuz und den Grund.
/radar öffnet ein Pane mit dem Titel „Agent Radar“. Es listet bis zu neun Agents mit je einem Hotkey, zeigt, wie viele laufen und wie viele fertig sind, und lässt dich einen öffnen, um seine letzten sechs Nachrichten zu sehen. Das Pane hat den Button „Clear finished“. Agents, die vor dem Laden der Mod gestartet wurden, werden beim Ausführen von /radar aus der eigenen Agent-Liste der Engine übernommen. Die Mod zeigt weder Token-Zahlen noch Kosten.
Demo
Die Aufnahme zeigt Claude Code 2.1.291 mit Haiku in einem kleinen Demoprojekt. Wir bitten Claude, einen Explore-Subagent namens scan src zu nutzen, der README.md und jede Datei in src/ liest. Claude startet ihn als Hintergrund-Agent, und sofort erscheint eine gelbe Zeile über der Eingabe: ● scan src 4s · 2 tools · searching src/**/*. Zeit und Tool-Anzahl steigen jede Sekunde, und das Label wechselt zu reading src/login.js, während der Subagent von einer Datei zur nächsten geht.
Installation
Der Installationsblock oben fügt den Marketplace des Autors hinzu und installiert das Plugin daraus. Das Band erscheint, sobald das nächste Mal ein Subagent startet. Nach der Installation in eine bereits offene Sitzung führe /reload-plugins aus.
$ install agent-radar
Erfordert Claude Code ≥ 2.1.287
Wird aus dem Marketplace des Autors installiert: hamzafer/claude-code-mods
1.Eine Zeile, direkt in Claude Code
/plugin install agent-radar --marketplace hamzafer/claude-code-modsIn eine laufende Sitzung einfügen (v2.1.275+). Claude Code fragt zuerst, ob der Marketplace hinzugefügt werden soll.
2.Aus deiner Shell
claude plugin marketplace add hamzafer/claude-code-mods claude plugin install agent-radar@claude-code-modsFühre danach in jeder bereits geöffneten Sitzung /reload-plugins aus.
3.Ohne Installation ausprobieren
git clone https://github.com/hamzafer/claude-code-mods claude --plugin-dir ./claude-code-mods/mods/agent-radarLädt die Mod nur für eine Sitzung. An deinen Einstellungen wird nichts geändert.
So funktioniert es
Die Mod hält den Radar-Zustand in drei vom Host gehaltenen $.state-Atomen (agents, selected, now), sodass er einen Hot Reload übersteht. Vier Hooks füttern ihn. agent.spawn fügt einen Eintrag hinzu, tool.call zählt Tool-Aufrufe mit einer agentId, und turn.complete markiert den Agent als fertig oder fehlgeschlagen und löst den Toast aus. Ein Ein-Sekunden-Takt, der bei session.start startet, zeichnet die verstrichenen Zeiten neu, solange eine Zeile angezeigt wird. Der Tool-Call-Hook aus hooks/register.tsx:
on('tool.call', async ($, e, next) => {
if (e.agentId) {
const id = e.agentId
const line = describe(e as unknown as Record<string, unknown>)
await update($, agents, list => list.map(a => (a.id === id ? { ...a, tools: a.tools + 1, last: line } : a)))
}
return next(e)
})Er aktualisiert den Zähler, bevor er den Aufruf laufen lässt, und gibt dann das Ergebnis von next(e) unverändert zurück. Aufrufe des Haupt-Agents, die keine agentId haben, werden ignoriert. describe macht aus einem Aufruf ein kurzes Label: reading und editing plus die letzten zwei Pfadsegmente, searching plus die ersten 30 Zeichen eines Musters, running plus eine Bash-Beschreibung oder die ersten 50 Zeichen des Befehls und browser: click für Playwright-Tools. Das Band wird an der Render-Stelle AbovePrompt gezeichnet, nach dem Inhalt, den andere Mods und Claude Code dort ablegen, und weicht zurück, solange eine Umfrage offen ist.
Anpassen
In /config gibt es keine Optionen. Um das Aussehen zu ändern, bearbeite die Konstanten am Anfang von register.tsx: SHOW_DONE_MS (wie lange eine fertige Zeile bleibt, 30 Sekunden) und BAND_ROWS (wie viele Zeilen das Band zeigt, 4). Die Agent-Liste ist im Hook agent.spawn auf 30 Einträge begrenzt, und Farben und Symbole werden in den Funktionen icon und color festgelegt.
Berechtigungen & Sicherheit
Wir haben jede Datei gelesen, die das Plugin lädt, bevor wir irgendetwas ausgeführt haben: .claude-plugin/plugin.json, hooks/hooks.json, hooks/register.tsx, types/index.d.ts und die Testdatei. Es gibt keine package.json, kein Installationsskript, keine Binärdatei und keinen gebündelten Code, und wir haben keine versteckten oder unsichtbaren Zeichen gefunden. Das Repository hat eine LICENSE unter MIT.
Ändert die UI umfasst das Band, das Pane und die Toasts. Fügt einen Befehl hinzu umfasst /radar. Die Mod nutzt kein Netzwerk, keine Shell-Befehle, keine Dateischreibzugriffe und keine Umgebungsvariablen, und sie speichert nichts außerhalb des Host-Zustands von Claude Code, der im Arbeitsspeicher gehalten wird. Sie startet keinen Hintergrunddienst: Der Ein-Sekunden-Takt gehört zur Sitzung und läuft nur, solange eine Agent-Zeile angezeigt wird. Sie fügt weder Prompts noch Tool-Ergebnissen etwas hinzu und ruft nie das Modell auf.
Die erwähnenswerten Punkte: Die Mod hängt sich ohne Matcher an jedes tool.call und agent.spawn, sieht also Tool-Namen und Eingaben von Subagents, etwa einen Bash-Befehl oder einen Dateipfad, und behält ein kurzes Label des letzten im Speicher. Sie speichert oder sendet sie nicht. Im Pane liest das Öffnen eines Agents seine letzten Nachrichten über $.session.messages und zeigt sie lokal an, jeweils auf 400 Zeichen gekürzt. Schließlich meldete claude plugin validate keine Fehler und keine Warnungen, merkte aber an, dass die Hooks agent.spawn und tool.call kein .catch haben. Beide Hooks reichen das Event mit next(e) weiter, das praktische Risiko ist also ein geworfener Fehler bei einer Statusaktualisierung, kein Blockieren. Die 2 Tests des Autors liefen auf Claude Code 2.1.291 erfolgreich durch.
- Fängt Tool-Aufrufe ab
- Sieht jeden Tool-Aufruf von Claude (tool.call / tool.check) und könnte ihn blockieren oder verändern.
- Liest deine Prompts
- Kann sehen, was du eingibst, und den Gesprächsverlauf lesen (prompt.* / session.append / session.messages).
- Verändert die Oberfläche
- Zeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).
- Fügt Befehle/Tools hinzu
- Registriert neue Slash-Befehle oder Tools, die du oder Claude aufrufen können ($.command.register / $.tool.register).
Kompatibilität & Fehlerbehebung
Geprüft mit Claude Code 2.1.291 unter macOS (validate und Tests). Wenn das Band nicht erscheint:
- Ein Subagent muss in der aktuellen Sitzung starten; das Band listet nur Agents, deren Start es gesehen hat. Führe
/radaraus, um früher gestartete Agents zu übernehmen. - Über der Eingabe ist eine Umfrage offen; das Band kommt zurück, sobald sie schließt.
- Ein anderes Plugin belegt
/radarbereits. Claude Code lehnt den Namen ab, und die Mod läuft ohne den Befehl weiter. - In eine offene Sitzung installiert: Führe
/reload-pluginsaus.
Die Fußzeile „Agent view“ von Claude Code ist unabhängig von dieser Mod und zeigt unter der Eingabe ihre eigene Agent-Liste.
FAQ
- Stellt Agent Radar Netzwerkanfragen oder ruft es das Modell auf?
- Nein. Das Hooks-Modul nutzt keine Netzwerk-, Shell-, Datei- oder Umgebungs-APIs. Es hört nur auf die eigenen Events von Claude Code und zeichnet, was diese melden. Den einzigen Text, den es liest, sind die Nachrichten des Subagents, und zwar nur, wenn du im /radar-Pane einen Agent öffnest.
- Was zeigt die Zeile über der Eingabe?
- Einen Statuspunkt (gelb während des Laufs, grüner Haken bei Abschluss, rotes Kreuz bei Fehler oder Abbruch), die Beschreibung des Agents, seine Laufzeit und Tool-Anzahl und bei einem laufenden Agent ein kurzes Label seines letzten Tool-Aufrufs, etwa 'reading demo-app/README.md' oder 'searching src/**/*'. Es werden höchstens vier Zeilen gezeigt, danach '+N more · /radar'.
- Wie lange bleibt ein fertiger Agent im Band?
- 30 Sekunden. Danach verschwindet die Zeile, aber der Agent bleibt im /radar-Pane, das die 30 neuesten Agents behält, bis du „Clear finished“ drückst.
- Kann es meine Tool-Aufrufe verlangsamen oder blockieren?
- Es blockiert sie nicht. Es hängt sich an jeden Tool-Aufruf eines Subagents, erhöht einen Zähler und lässt den Aufruf dann unverändert durch. Der Hook hat kein .catch, daher würde ein Fehler beim Aktualisieren des Status als Fehler in diesem Aufruf auftauchen; claude plugin validate führt das als Hinweis auf, nicht als Warnung.
- Was, wenn /radar mit einem anderen Befehl kollidiert?
- Claude Code lehnt einen Namen ab, den es schon hat. Die Mod ignoriert diese Ablehnung und startet trotzdem, das Band funktioniert also weiter, nur gibt es dann keinen /radar-Pane-Befehl.
# Ähnliche Mods
EmpfohlenTool-Call-Zähler
Zählt Claudes Tool-Aufrufe pro Turn und Sitzung, zeigt sie neben dem Spinner und ergänzt /tally als Übersicht.
- Spinner
- Verlauf
- Statuszeile
- Fängt Tool-Aufrufe ab
- Verändert die Oberfläche
- Fügt Befehle/Tools hinzu
getestet mit v2.1.310
EmpfohlenFertig-Toast
Toast „Done in 2m 14s“ und kurzer Klang, wenn ein langer Claude-Turn endet, optional mit Desktop-Benachrichtigung.
- Toast
- Führt Befehle aus
- Verändert die Oberfläche
- Spielt Ton ab
getestet mit v2.1.310
Mehr in Panes & Dashboards, Timer, Todos, Standups.