<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: taekim34</title>
    <description>The latest articles on Forem by taekim34 (@taekim34).</description>
    <link>https://forem.com/taekim34</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3911526%2F05766406-74fd-4a70-aa54-8cee12ad9ebe.png</url>
      <title>Forem: taekim34</title>
      <link>https://forem.com/taekim34</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/taekim34"/>
    <language>en</language>
    <item>
      <title>We Need a CatRun for the AI Era</title>
      <dc:creator>taekim34</dc:creator>
      <pubDate>Tue, 05 May 2026 15:36:00 +0000</pubDate>
      <link>https://forem.com/taekim34/we-need-a-catrun-for-the-ai-era-34a0</link>
      <guid>https://forem.com/taekim34/we-need-a-catrun-for-the-ai-era-34a0</guid>
      <description>&lt;p&gt;&lt;em&gt;A 16-pixel hero in your macOS menu bar. Watches LLM traffic. That's it.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  RunCat told us the CPU was busy. Nothing tells us the agent is.
&lt;/h2&gt;

&lt;p&gt;You remember &lt;a href="https://kyome.io/runcat/index.html?lang=en" rel="noopener noreferrer"&gt;RunCat&lt;/a&gt; — the kitten in your menu bar that runs faster when your CPU is busy. Almost a decade old. Adorable. Useful. Asks nothing of you.&lt;/p&gt;

&lt;p&gt;AI-native development needs the same thing for a different signal. Not CPU. &lt;strong&gt;Agent traffic.&lt;/strong&gt; Is there a live LLM request flowing right now, or is everything quiet?&lt;/p&gt;

&lt;p&gt;That's why I built &lt;strong&gt;AgentRunner&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We need a CatRun for the AI era. So I made one.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A 16-pixel hero in your macOS menu bar. Runs when your agent's actually working. Idle when it isn't. That's the whole UI.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7mscgpheaiq6v6t3mxgl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7mscgpheaiq6v6t3mxgl.gif" alt="AgentRunner demo — 23-second walkthrough" width="600" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Seven things it's built around
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. The menu bar is where you already glance.&lt;/strong&gt; Same place as the clock. No extra tab, no extra window, no "I'll open the dashboard later."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Below the noise floor.&lt;/strong&gt; &amp;lt;1% CPU, ~20MB RAM. Native SwiftUI. A monitor that becomes its own monitoring problem is a joke.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Flashy "live agent dashboards" don't last.&lt;/strong&gt; Animated traffic, live token deltas, color-coded latency heatmaps — fun for a week, closed and forgotten by the next sprint. CatRun ran for a decade because it asked you nothing. Same spirit here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Detailed analysis belongs in a different tool.&lt;/strong&gt; Token spend, cache misses, run history — that needs report depth. That's what &lt;a href="https://github.com/ww-w-ai/cc-token-saver" rel="noopener noreferrer"&gt;cc-token-saver&lt;/a&gt; is for, and it gets its own post next. AgentRunner = glance. cc-token-saver = report. Don't make one app try to be both.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Vendor-neutral by design.&lt;/strong&gt; It watches LLM traffic, not Claude traffic. Claude Code, Codex, Cursor, Windsurf, local LLaMA via Ollama, any agent loop hitting a model endpoint over HTTPS. No API key, no per-vendor SDK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Local-only. Zero telemetry.&lt;/strong&gt; Detection happens on your machine. The app does not phone home. No analytics SDK, no event ping. An agent monitor that ships your data anywhere doesn't deserve trust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Idle vs Active. Binary.&lt;/strong&gt; That's the entire UI. CatRun gave us a kitten that ran when CPU spiked. AgentRunner gives you a 16-pixel hero that runs when LLM traffic flows. Same spirit. Useful. Small. Invisible until you glance at it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repo&lt;/strong&gt;: &lt;a href="https://github.com/ww-w-ai/AgentRunner" rel="noopener noreferrer"&gt;https://github.com/ww-w-ai/AgentRunner&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License&lt;/strong&gt;: Apache-2.0&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Requires&lt;/strong&gt;: macOS 13+&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;cc-token-saver post: coming next.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>ai</category>
      <category>macos</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
