<?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>DEV Community: Ask Solutions</title>
    <description>The latest articles on DEV Community by Ask Solutions (@ask-sol).</description>
    <link>https://dev.to/ask-sol</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%2F3897334%2F411c7114-d397-4ea3-a55b-6825edc16ebd.png</url>
      <title>DEV Community: Ask Solutions</title>
      <link>https://dev.to/ask-sol</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ask-sol"/>
    <language>en</language>
    <item>
      <title>My first post! It's also one of my first &amp; most maintained OSS projects. Check it out if you're interested in oss alternatives to Claude Code.</title>
      <dc:creator>Ask Solutions</dc:creator>
      <pubDate>Sat, 25 Apr 2026 11:08:43 +0000</pubDate>
      <link>https://dev.to/ask-sol/my-first-post-its-also-one-of-my-first-most-maintained-oss-projects-check-it-out-if-youre-3o1b</link>
      <guid>https://dev.to/ask-sol/my-first-post-its-also-one-of-my-first-most-maintained-oss-projects-check-it-out-if-youre-3o1b</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ask-sol/cutting-my-ai-spend-to-zero-with-an-open-source-claude-code-alternative-647" class="crayons-story__hidden-navigation-link"&gt;Cutting my AI spend to zero with an open-source Claude Code alternative&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ask-sol" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3897334%2F411c7114-d397-4ea3-a55b-6825edc16ebd.png" alt="ask-sol profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ask-sol" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ask Solutions
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ask Solutions
                
              
              &lt;div id="story-author-preview-content-3549513" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ask-sol" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3897334%2F411c7114-d397-4ea3-a55b-6825edc16ebd.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ask Solutions&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ask-sol/cutting-my-ai-spend-to-zero-with-an-open-source-claude-code-alternative-647" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Apr 25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ask-sol/cutting-my-ai-spend-to-zero-with-an-open-source-claude-code-alternative-647" id="article-link-3549513"&gt;
          Cutting my AI spend to zero with an open-source Claude Code alternative
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/openagent"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;openagent&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/claude"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;claude&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ask-sol/cutting-my-ai-spend-to-zero-with-an-open-source-claude-code-alternative-647" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;12&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ask-sol/cutting-my-ai-spend-to-zero-with-an-open-source-claude-code-alternative-647#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Cutting my AI spend to zero with an open-source Claude Code alternative</title>
      <dc:creator>Ask Solutions</dc:creator>
      <pubDate>Sat, 25 Apr 2026 11:05:26 +0000</pubDate>
      <link>https://dev.to/ask-sol/cutting-my-ai-spend-to-zero-with-an-open-source-claude-code-alternative-647</link>
      <guid>https://dev.to/ask-sol/cutting-my-ai-spend-to-zero-with-an-open-source-claude-code-alternative-647</guid>
      <description>&lt;p&gt;I pay &lt;strong&gt;AUD$155/month&lt;/strong&gt; for Claude Max. I have a MacBook Pro that runs large models fine. Two things bugged me about Claude Code:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Even though Max was paid for, the API billed separately when I wired in third-party tools.&lt;/li&gt;
&lt;li&gt;My laptop sat idle while every refactor went to a remote API.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So I built &lt;strong&gt;OpenAgent&lt;/strong&gt;. Terminal coding agent, 12+ providers, direct Max-subscription support, runs local models without a key.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/ask-sol" rel="noopener noreferrer"&gt;
        ask-sol
      &lt;/a&gt; / &lt;a href="https://github.com/ask-sol/openagent" rel="noopener noreferrer"&gt;
        openagent
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Open-source agentic coding CLI for your terminal. Multi-provider (OpenAI, Anthropic, Gemini, Mistral, Groq, DeepSeek, xAI, Ollama, OpenRouter), token-efficient, with web search, MCP server  support, local session resume, and built-in Reddit/X posting.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;OpenAgent&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;
  &lt;strong&gt;The open-source Claude Code alternative that works with any AI provider.&lt;/strong&gt;&lt;br&gt;
  Use your existing Claude Max subscription, OpenRouter, GPT-5, Gemini, Ollama, or any of 12 providers
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/ask-sol/openagent/stargazers" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0a92a9b047501e3fb5161132e2718d7a2f9d44b708b2abae73bee7b3c967b6cd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f61736b2d736f6c2f6f70656e6167656e743f7374796c653d666f722d7468652d626164676526636f6c6f723d79656c6c6f77" alt="Stars"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/ask-sol/openagent/releases" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/06132783b0ecd4cee664cf3ffdf7604dff6d1187fb8b05c7e26f79186486eec1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f61736b2d736f6c2f6f70656e6167656e743f7374796c653d666f722d7468652d626164676526636f6c6f723d677265656e266c6162656c3d76657273696f6e" alt="Version"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/ask-sol/openagent/blob/main/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/62c7c888e968416e85f35f3274da8a53256f630b39b2701d1a6a85ba37a27353/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f61736b2d736f6c2f6f70656e6167656e743f7374796c653d666f722d7468652d626164676526636f6c6f723d626c7565" alt="License"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c5767f31d12f2018239b6059b1705ad187746528e1c4c2bbbe3d591e9be5ff83/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f61736b2d736f6c2f6f70656e6167656e743f7374796c653d666f722d7468652d626164676526636f6c6f723d79656c6c6f77266c6162656c3d7374617273"&gt;&lt;img alt="GitHub stars" src="https://camo.githubusercontent.com/c5767f31d12f2018239b6059b1705ad187746528e1c4c2bbbe3d591e9be5ff83/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f61736b2d736f6c2f6f70656e6167656e743f7374796c653d666f722d7468652d626164676526636f6c6f723d79656c6c6f77266c6162656c3d7374617273"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/26a172944d7b8ca006c966ced52f296d24cc384a697138d94a004b8c5ffdc130/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636c6f6e65732d312532433538302d3962353962363f7374796c653d666f722d7468652d6261646765"&gt;&lt;img alt="Total clones" src="https://camo.githubusercontent.com/26a172944d7b8ca006c966ced52f296d24cc384a697138d94a004b8c5ffdc130/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636c6f6e65732d312532433538302d3962353962363f7374796c653d666f722d7468652d6261646765"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b0cf33dcd7b85e5579d6399c43f53a355d61738733da9c700cf2a2eaa39bb274/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f756e6971756525323075736572732d3534352d6563343839393f7374796c653d666f722d7468652d6261646765"&gt;&lt;img alt="Unique users" src="https://camo.githubusercontent.com/b0cf33dcd7b85e5579d6399c43f53a355d61738733da9c700cf2a2eaa39bb274/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f756e6971756525323075736572732d3534352d6563343839393f7374796c653d666f722d7468652d6261646765"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Tracking since 2026-04-19 • 1,580 clones and 471 unique users in the last 14 days • updated 2026-04-25&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/ask-sol/openagent/assets/demo.gif"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fask-sol%2Fopenagent%2FHEAD%2Fassets%2Fdemo.gif" alt="OpenAgent Demo" width="700"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/ask-sol/openagent#install" rel="noopener noreferrer"&gt;Install&lt;/a&gt; •
  &lt;a href="https://github.com/ask-sol/openagent#why-openagent" rel="noopener noreferrer"&gt;Why OpenAgent&lt;/a&gt; •
  &lt;a href="https://github.com/ask-sol/openagent#providers" rel="noopener noreferrer"&gt;Providers&lt;/a&gt; •
  &lt;a href="https://github.com/ask-sol/openagent#features" rel="noopener noreferrer"&gt;Features&lt;/a&gt; •
  &lt;a href="https://github.com/ask-sol/openagent#commands" rel="noopener noreferrer"&gt;Commands&lt;/a&gt; •
  &lt;a href="https://github.com/ask-sol/openagent#contributing" rel="noopener noreferrer"&gt;Contributing&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why OpenAgent?&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Already paying for Claude Max?&lt;/strong&gt; OpenAgent lets you use your existing subscription directly — no separate API key, no extra cost. Just log in and code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want provider freedom?&lt;/strong&gt; Switch between GPT-5, Claude, Gemini, Grok, DeepSeek, or local models with one command. No lock-in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want something open?&lt;/strong&gt; OpenAgent is Apache 2.0 licensed. Fork it, extend it, self-host it.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;OpenAgent vs Claude Code&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;br&gt;
&lt;thead&gt;
&lt;br&gt;
&lt;tr&gt;


&lt;th&gt;&lt;strong&gt;OpenAgent&lt;/strong&gt;&lt;/th&gt;
&lt;br&gt;
&lt;th&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;&lt;/th&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;/thead&gt;
&lt;br&gt;
&lt;tbody&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;&lt;strong&gt;Providers&lt;/strong&gt;&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;12+ (OpenAI, Anthropic, Gemini, Groq, Mistral, DeepSeek, xAI, Bedrock, Alibaba, Ollama, OpenRouter)&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;Anthropic only&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;&lt;strong&gt;Use Max/Pro subscription&lt;/strong&gt;&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;✅ No API key needed&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;✅ Built-in&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;&lt;strong&gt;Run&lt;/strong&gt;&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;/tbody&gt;
&lt;br&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/p&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ask-sol/openagent" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h2&gt;
  
  
  How the Max plan works
&lt;/h2&gt;

&lt;p&gt;Anthropic ships a &lt;code&gt;claude&lt;/code&gt; CLI that uses your subscription session. OpenAgent spawns it with &lt;code&gt;--output-format stream-json&lt;/code&gt; and parses the result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;child&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;spawn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;claude&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;-p&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;--model&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;modelAlias&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;--output-format&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;stream-json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;--verbose&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each &lt;code&gt;assistant&lt;/code&gt; event has cumulative token usage. The final &lt;code&gt;result&lt;/code&gt; event has the real &lt;code&gt;total_cost_usd&lt;/code&gt; from billing. No proxy, no OAuth dance, no scraped tokens. The CLI was always there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Local models on Apple Silicon
&lt;/h2&gt;

&lt;p&gt;Three local runtimes wired in: &lt;strong&gt;Ollama&lt;/strong&gt;, &lt;strong&gt;LM Studio&lt;/strong&gt;, &lt;strong&gt;MLX&lt;/strong&gt;. OpenAgent installs them for you.&lt;/p&gt;

&lt;p&gt;If you have an M5 Mac, Ollama crashes with &lt;code&gt;llama runner process has terminated: %!w(&amp;lt;nil&amp;gt;)&lt;/code&gt;. That's an upstream bug (&lt;a href="https://github.com/ollama/ollama/pull/15581" rel="noopener noreferrer"&gt;PR #15581&lt;/a&gt;, unmerged). OpenAgent's MLX provider skips Ollama and talks to &lt;code&gt;mlx_lm.server&lt;/code&gt; directly, which doesn't have the bug.&lt;/p&gt;

&lt;p&gt;Pick MLX in setup, it runs &lt;code&gt;pip install mlx-lm&lt;/code&gt;, downloads &lt;em&gt;Gemma 4 E4B&lt;/em&gt; (3 GB), starts the server. Two minutes, &lt;strong&gt;$0&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Live cost tracking that isn't fake
&lt;/h2&gt;

&lt;p&gt;Most agents estimate tokens by counting response characters and dividing by 4. That undercounts by ~60% because file contents and tool results never make it in.&lt;/p&gt;

&lt;p&gt;OpenAgent reads the real &lt;code&gt;usage&lt;/code&gt; field from each stream event, computes deltas, and reconciles against &lt;code&gt;total_cost_usd&lt;/code&gt; at message end:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;deltaIn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;totalInputTokens&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;lastEmittedInput&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;deltaOut&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;totalOutputTokens&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;lastEmittedOutput&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;deltaIn&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;deltaOut&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;deltaCost&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;deltaIn&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;rate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;deltaOut&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;rate&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;out&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="nx"&gt;_000_000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;yield&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;done&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;usage&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;inputTokens&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;deltaIn&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;outputTokens&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;deltaOut&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;costUsd&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;deltaCost&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The number ticks up live and matches Anthropic's billing to four decimal places.&lt;/p&gt;

&lt;h2&gt;
  
  
  Token efficiency
&lt;/h2&gt;

&lt;p&gt;Two-layer concise mode:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The system prompt strips filler ("no thank-yous, no flattery, no recap") and bans decorative markdown.&lt;/li&gt;
&lt;li&gt;Streamed text is filtered client-side to drop &lt;code&gt;&amp;lt;persisted-output&amp;gt;&lt;/code&gt; blocks and other internal markers before they ever reach your terminal.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;About &lt;strong&gt;30% fewer output tokens&lt;/strong&gt; vs. an unfiltered session on the same Next.js refactor. Same code quality, less spend on conversational glue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;

&lt;p&gt;macOS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;ask-sol/openagent/openagent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Linux:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/ask-sol/openagent/main/scripts/install-remote.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Repo: &lt;a href="https://github.com/ask-sol/openagent" rel="noopener noreferrer"&gt;github.com/ask-sol/openagent&lt;/a&gt;&lt;br&gt;
Docs: &lt;a href="https://ask-sol.github.io/openagent/" rel="noopener noreferrer"&gt;ask-sol.github.io/openagent&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Apache 2.0. Issues and PRs welcome.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's your setup?
&lt;/h2&gt;

&lt;p&gt;I'm curious, how are you all handling AI costs for local development? Are you sticking with hosted APIs, or have you made the jump to local models on your workstation? &lt;/p&gt;

&lt;p&gt;If you try OpenAgent, let me know if you run into any issues or have ideas for providers I should add next!&lt;/p&gt;

</description>
      <category>openagent</category>
      <category>ai</category>
      <category>opensource</category>
      <category>claude</category>
    </item>
  </channel>
</rss>
