Zurück zu den Projekten
Experimentell

CCrab

Ein kleiner Desktop-Begleiter, der zeigt, was Claude Code gerade macht.

Ein nativer macOS-Desktop-Begleiter für Claude Code: eine Pixel-Krabbe auf einem schwebenden Panel, die darauf reagiert, was deine Agent-Sessions gerade tun, dazu ein Menüleisten-Eintrag mit 5-Stunden- und Wochen-Verbrauchsbalken, allen aktiven Sessions und zuletzt genutzten Projekten. In Swift mit AppKit und Core Animation geschrieben. Kein Electron, kein WebView.

Plattform
macOS 14+
Quelle
GitHub-Repository
Aktualisiert
25. Aug. 2026
Stack
Swift · AppKit · Core Animation
~ $ gh repo view jx-grxf/CCrab
CCrab  Ein kleiner Desktop-Begleiter, der zeigt, was Claude Code gerade macht.

status   Experimentell
stack    Swift · AppKit · Core Animation
platform macOS 14+
repo     github.com/jx-grxf/CCrab

~ $ git clone https://github.com/jx-grxf/CCrab.git && cd CCrab
~ $ 
Projektdaten, live aus GitHub beim Build

Problem

Ich wollte sehen, wann ein Coding-Agent arbeitet, ohne ständig das Terminal oder einen Browser-Tab im Vordergrund zu haben.

Was ich gebaut habe

Jede Animation ist eine Core-Animation-Keyframe-Animation über Layer-Contents, damit der Render-Server die Zeitachse besitzt und der Prozess keine Wakeups pro Frame bekommt. Die Ruhepose wird aus Vektor-Rects in CALayer geparst statt als Bitmap dekodiert, und Animationen werden entfernt statt pausiert, sobald das Panel verdeckt ist, das Display schläft oder der Bildschirm sperrt.

Highlights

  • Core Animation übernimmt die Animation, ohne einen eigenen Timer für jeden Frame.
  • Menüleiste mit 5-Stunden- und Wochen-Verbrauchsbalken, Reset-Countdown und jeder aktiven Session.
  • Status kommt über Claude-Code-Hooks an einen Loopback-Endpunkt: kein Polling, keine zusätzlichen API-Aufrufe, kein Token wird gelesen.
  • Der Verbinden-Schritt sichert deine settings.json vorher weg und lässt fremde Hook-Einträge unangetastet.

Entwickler-Setup

clone
git clone https://github.com/jx-grxf/CCrab.git && cd CCrab