<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Khasky]]></title><description><![CDATA[Khasky]]></description><link>https://khasky.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6a94a7be1f382d2c90e0f32c/4cd56e88-aca8-4146-b395-693d97298fdd.jpg</url><title>Khasky</title><link>https://khasky.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 13:17:33 GMT</lastBuildDate><atom:link href="https://khasky.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Run DeepSeek Behind Claude Code, Codex CLI, and Other Coding CLIs]]></title><description><![CDATA[The cheapest way to find out whether DeepSeek fits your work is the client you already have open, Claude Code or Codex CLI. Both take it as the model provider, and the editor and the commands stay as ]]></description><link>https://khasky.hashnode.dev/run-deepseek-behind-claude-code-codex-cli-and-other-coding-clis</link><guid isPermaLink="true">https://khasky.hashnode.dev/run-deepseek-behind-claude-code-codex-cli-and-other-coding-clis</guid><category><![CDATA[Deepseek]]></category><category><![CDATA[ClaudeCode]]></category><category><![CDATA[codexcli]]></category><category><![CDATA[vibecoding]]></category><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Sat, 19 Sep 2026 05:46:35 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/8bad38d3-e849-4633-9ea8-04e8a19851c8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The cheapest way to find out whether DeepSeek fits your work is the client you already have open, Claude Code or Codex CLI. Both take it as the model provider, and the editor and the commands stay as they are. ⚡</p>
<h2>Claude Code</h2>
<p>For Claude Code:</p>
<pre><code class="language-powershell">$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_AUTH_TOKEN="sk-YOUR_DEEPSEEK_KEY"
$env:ANTHROPIC_MODEL="deepseek-flash[1m]"

claude
</code></pre>
<p>The published block also maps the default model slots and the subagent model. Those variables belong to one terminal window, which makes the setup easy to walk back.</p>
<h2>Codex CLI</h2>
<pre><code class="language-powershell">irm https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1 | iex
</code></pre>
<p>Codex reaches DeepSeek over the Responses API, and that script writes the provider section, the model catalog and a backup of what it replaced.</p>
<h2>OpenCode</h2>
<p>OpenCode takes DeepSeek from inside its own interface: <code>/connect</code> for the key, <code>/models</code> for Flash or Pro.</p>
<h2>Aider</h2>
<pre><code class="language-powershell">setx OPENAI_API_BASE "https://api.deepseek.com"
setx OPENAI_API_KEY "sk-YOUR_DEEPSEEK_KEY"

aider --model openai/deepseek-flash
</code></pre>
<p>Aider edits the repository directly and commits as it goes, so a rollback is a Git operation.</p>
<h2>LiteLLM</h2>
<p>LiteLLM puts one local endpoint in front of DeepSeek, Claude, GPT and Gemini, with fallback, visible spend and a budget.</p>
<h2>Ollama</h2>
<pre><code class="language-powershell">ollama run deepseek-coder:6.7b
</code></pre>
<p>An 11 GB card handles DeepSeek Coder 6.7B and the 7B and 8B R1 distills, and 14B only in 4-bit and slow.</p>
<h2>Why DeepSeek Flash instead of Claude Sonnet 5 or GPT-5.6 Terra?</h2>
<p>DeepSeek publishes two rates per million tokens, and off-peak is half of peak:</p>
<pre><code class="language-text">Flash, off-peak   $0.15 input (cache miss)   $0.60 output
Flash, peak       $0.30 input (cache miss)   $1.20 output
Pro, off-peak     $0.66 input (cache miss)   $1.98 output
Pro, peak         $1.32 input (cache miss)   $3.96 output
</code></pre>
<p>The standard rung at the two providers a coding CLI reaches for by default:</p>
<pre><code class="language-text">Claude Sonnet 5   $2 input    $10 output
GPT-5.6 Terra     $2 input    $12 output
</code></pre>
<pre><code class="language-text">Flash vs Claude Sonnet 5   ~7-17x cheaper
Flash vs GPT-5.6 Terra     ~7-20x cheaper
</code></pre>
<p>The low end of each range is peak input, the high end is off-peak output, so where a run lands depends on the hour it runs and on how much of it is output. This compares API rates against API rates, so a fixed monthly subscription is not directly comparable.</p>
<p>Flash is a strong default for:</p>
<ul>
<li><p>repository exploration</p>
</li>
<li><p>tests</p>
</li>
<li><p>docs</p>
</li>
<li><p>boilerplate</p>
</li>
<li><p>routine refactors</p>
</li>
<li><p>CI fixes</p>
</li>
<li><p>subagent loops</p>
</li>
</ul>
<p>I would still escalate to a frontier Claude or GPT model for:</p>
<ul>
<li><p>ambiguous architecture</p>
</li>
<li><p>hard debugging</p>
</li>
<li><p>security review</p>
</li>
<li><p>risky migrations</p>
</li>
</ul>
<p>Neither side is universally weaker, and the split is where each one is worth its price.</p>
<h2>Privacy</h2>
<p>Do not casually send API keys, .env files, production credentials or large database dumps to a cloud model. For confidential code, prefer local inference or a provider whose retention policy matches your requirements.</p>
<h2>When the model switched but the traffic did not</h2>
<p>The interface says DeepSeek-Flash and the traffic still goes to the OpenAI Responses endpoint, with no OpenAI key in play. The model catalog changed and the provider section did not.</p>
<pre><code class="language-toml">[model_providers.deepseek]
name = "deepseek"
base_url = "https://api.deepseek.com/"
wire_api = "responses"
experimental_bearer_token = "sk-YOUR_DEEPSEEK_API_KEY"
</code></pre>
<p>Close Codex, ChatGPT Desktop and VS Code completely and open them again, because picking the model in a running window does not reload the provider.</p>
<h2>Reference links</h2>
<ul>
<li><p>Claude Code integration: <a href="https://api-docs.deepseek.com/quick_start/agent_integrations/claude_code/">https://api-docs.deepseek.com/quick_start/agent_integrations/claude_code/</a></p>
</li>
<li><p>Codex CLI integration: <a href="https://api-docs.deepseek.com/quick_start/agent_integrations/codex/">https://api-docs.deepseek.com/quick_start/agent_integrations/codex/</a></p>
</li>
<li><p>DeepSeek pricing: <a href="https://api-docs.deepseek.com/quick_start/pricing/">https://api-docs.deepseek.com/quick_start/pricing/</a></p>
</li>
<li><p>Claude pricing: <a href="https://platform.claude.com/docs/en/about-claude/pricing">https://platform.claude.com/docs/en/about-claude/pricing</a></p>
</li>
<li><p>OpenAI pricing: <a href="https://developers.openai.com/api/docs/pricing">https://developers.openai.com/api/docs/pricing</a></p>
</li>
</ul>
<p>Follow me for more on AI, LLMs, and Software Development: @khasky — LinkedIn / Patreon / GitHub / Bluesky / Mastodon @khaskydev — X / Threads / Instagram / Pinterest</p>
]]></content:encoded></item><item><title><![CDATA[This site visualizes six years of context-window growth]]></title><description><![CDATA[We talk about model context sizes constantly:
32K
128K
200K
1M
2M

But those numbers are difficult to translate into real working material.
One Million Tokens is an interactive visualization built to ]]></description><link>https://khasky.hashnode.dev/this-site-visualizes-six-years-of-context-window-growth</link><guid isPermaLink="true">https://khasky.hashnode.dev/this-site-visualizes-six-years-of-context-window-growth</guid><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Machine Learning]]></category><category><![CDATA[AI]]></category><category><![CDATA[Developer Tools]]></category><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Tue, 15 Sep 2026 01:07:21 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/efc67025-b307-4ee1-8041-3383076ce779.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We talk about model context sizes constantly:</p>
<pre><code class="language-text">32K
128K
200K
1M
2M
</code></pre>
<p>But those numbers are difficult to translate into real working material.</p>
<p><a href="https://www.1millioncontext.com/">One Million Tokens</a> is an interactive visualization built to make that scale intuitive. 🧠</p>
<p>Its core estimate is:</p>
<pre><code class="language-text">1M tokens
~ 750K words
~ 3,000 pages
~ 83 hours of conversation
~ 75,000 lines of code
</code></pre>
<h2>From GPT-3 to million-token models</h2>
<p>The visualization starts in 2020:</p>
<pre><code class="language-text">GPT-3
2,048 tokens
</code></pre>
<p>Then:</p>
<pre><code class="language-text">ChatGPT
4,096

GPT-4 32K
32,768

Claude
100,000
</code></pre>
<p>By 2024, the timeline reaches the million-token range with Gemini 1.5 Pro.</p>
<p>Then it continues into multi-million-token windows. The site's full chart stretches to a cited 10M context window. That is about a <strong>4,883x</strong> increase from GPT-3's 2,048 tokens.</p>
<h2>Why this matters for code</h2>
<p>Longer context changes the unit of reasoning. With small windows, the model sees fragments. With large windows, it can see more relationships at once:</p>
<pre><code class="language-text">function
-&gt; file
-&gt; module
-&gt; subsystem
-&gt; large repository slice
</code></pre>
<p>The site's 75K-lines-of-code comparison is approximate, but it is still useful for intuition.</p>
<p>A million tokens is large enough that "just put the relevant code in context" can mean something very different than it did in 2020.</p>
<h2>But long context does not guarantee long-context quality</h2>
<p>A model's advertised context window tells us how much input it can accept.</p>
<p>It does not tell us how well it uses that input. A 1M-token model can still miss a relevant detail. It can have positional bias. It can struggle with relationships spread across many documents. It can become slower and more expensive as context grows. So I would separate:</p>
<pre><code class="language-text">maximum context capacity
</code></pre>
<p>from:</p>
<pre><code class="language-text">effective retrieval/reasoning quality
</code></pre>
<p>They are related but not identical.</p>
<h2>Longer context also does not eliminate retrieval</h2>
<p>RAG remains useful because it can:</p>
<ul>
<li><p>reduce irrelevant material</p>
</li>
<li><p>lower cost</p>
</li>
<li><p>reduce latency</p>
</li>
<li><p>focus the model on likely-relevant evidence</p>
</li>
</ul>
<p>Long context gives developers more flexibility in choosing where the retrieval/context boundary sits.</p>
<p>That is a better way to think about it.</p>
<h2>Open vs closed models</h2>
<p>The site lets you filter the context-window timeline by open-weight and closed models.</p>
<p>That makes another trend visible: very long context is increasingly available outside closed APIs.</p>
<p>The page was built by Hassan at Together AI.</p>
<p>For me, the best feature is simply that it turns a model-card specification into a physical intuition.</p>
<p>"1M context" sounds technical. "3,000 pages" sounds real.</p>
<p>Do you trust long-context recall, or still chunk your inputs?</p>
]]></content:encoded></item><item><title><![CDATA[TeamAI puts your team's agent config behind a merge request]]></title><description><![CDATA[Prompt configuration gets edited by everyone on a team and reviewed by no one. It is copied by hand into three or four folders per machine and then left there. I have watched this go wrong quietly on ]]></description><link>https://khasky.hashnode.dev/teamai-puts-your-team-s-agent-config-behind-a-merge-request</link><guid isPermaLink="true">https://khasky.hashnode.dev/teamai-puts-your-team-s-agent-config-behind-a-merge-request</guid><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Sun, 13 Sep 2026 18:51:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/2d9288a5-55fc-4e21-9ca1-c743447ebe29.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Prompt configuration gets edited by everyone on a team and reviewed by no one. It is copied by hand into three or four folders per machine and then left there. I have watched this go wrong quietly on every team I have been on: the files start identical, one picks up a convention, and a month later the agent reading the stalest copy argues confidently for conventions nobody holds any more. 😅</p>
<p>Tencent's teamai-cli treats this as distribution rather than discipline.</p>
<h2>The repo is the unit</h2>
<p>One git repo holds the harness: <code>skills/&lt;name&gt;/SKILL.md</code>, <code>rules/*.md</code>, <code>hooks/hooks.yaml</code>, <code>mcp/mcp.yaml</code>, <code>agents/&lt;name&gt;.yaml</code>, <code>docs/</code>, and a <code>culture.md</code> carrying the team's mission and working principles, which lands in each agent's <code>CLAUDE.md</code> or <code>AGENTS.md</code> by itself.</p>
<pre><code class="language-bash">npm install -g teamai-cli
teamai init https://github.com/yourorg/yourrepo
</code></pre>
<p>Project scope is the default, and <code>--scope user</code> installs under your home directory instead. GitHub, GitLab, GitCode, CNB, TGit or your own git server all work as the store.</p>
<h2>The release process</h2>
<p><code>teamai push</code> opens the branch and the merge request. Someone reviews and merges. The next SessionStart hook runs <code>teamai pull</code> and it is there.</p>
<p>A change to a rule now goes through the gate a change to code already goes through. That is the whole idea and it is worth the install on its own, because a bad rule is wrong in every session on every machine at once.</p>
<p><code>teamai roles</code> maps a role to a namespace so a member syncs only the skills their role needs, <code>teamai tags</code> handles subscriptions, and <code>learnings/</code> at the repo root is shared while <code>learnings/&lt;project-id&gt;/</code> stays project-private.</p>
<h2>What I counted before installing it</h2>
<p>The support table decides whether any of this reaches a given machine, so that is what I counted: 11 agents against 13 capability columns. Skills and docs are filled on all 11, hooks and MCP on 8, usage and dashboard on 7.</p>
<p>The automatic delivery runs off a hook, and the OpenClaw, Hermes and DeepSeek Harness rows show a dash in that column. The project draws no conclusion from it. My read is that on those three you are still the sync mechanism.</p>
<h2>The caveat</h2>
<p>The <code>env/</code> row offers "Shared team-level environment variables and switches" and warns you off putting secrets in it. So the settings that cost the most to keep aligned are the ones the repo will not hold. The recall and the dashboards, which are what lift this above a file sync, both carry a beta label from the project.</p>
<p>Repo: <a href="https://github.com/Tencent/teamai-cli">github.com/Tencent/teamai-cli</a></p>
<p>If your team already keeps its agent rules in a repo, who reviews those merge requests: the person who wrote the rule, or someone who has to live with it?</p>
]]></content:encoded></item><item><title><![CDATA[Edge0 streams MoE experts off SSD to fit 35B in 3 GB]]></title><description><![CDATA[One question took me through Edge0: if the 35B model only needs 2.9 GB of RAM, what does the machine actually need? The answer is a disk budget, a cache budget and a context budget, and none of them i]]></description><link>https://khasky.hashnode.dev/edge0-streams-moe-experts-off-ssd-to-fit-35b-in-3-gb</link><guid isPermaLink="true">https://khasky.hashnode.dev/edge0-streams-moe-experts-off-ssd-to-fit-35b-in-3-gb</guid><category><![CDATA[llm]]></category><category><![CDATA[MoE]]></category><category><![CDATA[apple silicon]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[Machine Learning]]></category><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Sat, 12 Sep 2026 05:25:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/2a4c246e-f6f9-4d96-b1b3-921508a45aa0.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One question took me through Edge0: if the 35B model only needs 2.9 GB of RAM, what does the machine actually need? The answer is a disk budget, a cache budget and a context budget, and none of them is in the clip.</p>
<h2>The release in one paragraph</h2>
<p>Edge0-AI open-sourced Edge0 the other day: a streaming inference engine under Apache 2.0, with two preview models built on open sparse MoE bases, Edge0-35B-A3B (Qwen3.5-MoE underneath) and Edge0-8B-A1B (Ling 3.0). In a mixture-of-experts model the router calls only a few experts per token, 4 out of 256 here, about 3B active parameters out of 35B. Edge0 keeps the whole 4-bit checkpoint on the SSD, memory-maps the expert weights and reads only the routed ones as each token comes through, so peak RAM is 2.9 GB for the 35B and 1.0 GB for the 8B at short context on a Mac mini M4 Pro. The clip of a 35B model answering on an iPhone at about 1 GB of peak memory is what made the rounds 🤯</p>
<h2>Budget one: disk</h2>
<p>The checkpoint never leaves storage. It is 19.6 GB for the 35B and 4.55 GB for the 8B by the model cards, and it stays on the SSD for the whole session because that is where the experts are read from. My first sum: 35B at 4 bits is 17.5 GB of weights, so about 2 GB of that checkpoint is kept at higher precision, presumably embeddings, attention and scales. So the first thing I would check is free space on the internal drive, and the second is that the drive is the one the runtime will actually map the files from. Install is a Python package on an Apple Silicon Mac with Python 3.10 or newer:</p>
<pre><code class="language-bash">pip install -e 'git+https://github.com/Edge0-AI/edge0.git#egg=edge0[fetch]'
</code></pre>
<p>The <code>fetch</code> extra pulls the checkpoint. Inside a checkout the project's own line is <code>python3.12 -m venv .venv &amp;&amp; .venv/bin/pip install -e '.[dev,fetch]'</code>.</p>
<h2>Budget two: cache</h2>
<p>Every token routes to 4 experts and reads them off the drive, or so the headline goes. The sum says otherwise. 3B active at 4 bits is about 1.5 GB per token as an upper bound, and at 15 to 18 tokens a second that is over 20 GB/s if every read were cold. No consumer SSD moves that, so most expert reads are being served from the operating system's file cache, and the decode figures, 14.9-17.7 tok/s for the 35B and 23.9-25.3 for the 8B on that M4 Pro, are as much a statement about how much of the checkpoint a 24 GB machine can keep cached as about the GPU. My reading is that "peak active memory" counts the process's resident set and leaves those cached pages out. What I would measure first on my own Mac is decode with something else hitting the disk at the same time, because the project's numbers were taken on a Mac mini with nothing else to do.</p>
<h2>Budget three: context</h2>
<p>The 2.9 GB is a short-context number, and the project says so in a footnote. Expert weights stream off the drive, while the KV cache sits in RAM and grows with the prompt, 3.3 GiB at 3.3k tokens on the 8B. So the working set is the active experts plus whatever the model needs on every token plus the cache, and only the first of those is fixed. If your use is long documents, the RAM figure you plan around is a different one from the headline 🧐</p>
<h2>What is not in the release</h2>
<p>The iPhone. The project says the MLX backend runs on macOS with Apple Silicon and that no other platform is supported yet, with CUDA on the roadmap. The "iPhone 15 Pro and newer" floor in the reposts is absent from the README and from both model cards. The one chip-level mention of an iPhone anywhere in the repo is a troubleshooting note that garbled output on A18 and A18 Pro means an older mlx, and that points at a library version.</p>
<p>Quality is the other gap. Both models are previews, the project's own eval puts the 35B pipeline at 79.2 against 83.2 for the fp16 base, and tool use and multi-step planning are called weak. Fine for a chat model in a small RAM budget, and I would keep agent loops off it for now.</p>
<h2>What I would do with it</h2>
<p>Install the 8B first, since 4.55 GB downloads faster than 19.6 GB, watch peak memory as the prompt grows, and watch how much of the checkpoint stays in the file cache while it decodes. Then decide whether the machine with the biggest drive is now the machine for local models, which is the conclusion the sums pushed me toward. Repo: <a href="https://github.com/Edge0-AI/edge0/">https://github.com/Edge0-AI/edge0/</a> and the 8B card: <a href="https://huggingface.co/Edge0/Edge0-8B-A1B-preview">https://huggingface.co/Edge0/Edge0-8B-A1B-preview</a></p>
<p>For anyone who has run expert offload through another runtime: how much did decode drop when the SSD was busy with something else?</p>
]]></content:encoded></item><item><title><![CDATA[Realtime AI Video Is Becoming a Runtime, Not Just a Generator]]></title><description><![CDATA[I think the most important part of fal's recent H3 Max launch is being hidden by the funniest demo.
The funny demo is infinite AI television.
The important part is that the underlying video model is n]]></description><link>https://khasky.hashnode.dev/realtime-ai-video-is-becoming-a-runtime-not-just-a-generator</link><guid isPermaLink="true">https://khasky.hashnode.dev/realtime-ai-video-is-becoming-a-runtime-not-just-a-generator</guid><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Thu, 10 Sep 2026 03:23:14 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/e7bcfc6b-2491-44a4-a0ae-7bb82f0b502a.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I think the most important part of fal's recent H3 Max launch is being hidden by the funniest demo.</p>
<p>The funny demo is infinite AI television.</p>
<p>The important part is that the underlying video model is now fast enough to support it.</p>
<h2>Faster than playback changes the architecture</h2>
<p>Fal's H3 Max can generate a 5-second video in under 3 seconds.</p>
<p>That changes what can be built.</p>
<p>With slower video models, an interactive application usually looks like:</p>
<pre><code class="language-text">user input
-&gt; wait
-&gt; render
-&gt; receive clip
-&gt; play clip
</code></pre>
<p>With faster-than-playback generation, the next segment can be created while the viewer is still consuming the current one.</p>
<p>The pipeline becomes:</p>
<pre><code class="language-text">play segment N
-&gt; generate segment N+1
-&gt; play N+1
-&gt; generate N+2
</code></pre>
<p>Once that loop stays ahead of playback, continuous AI video becomes possible.</p>
<h2>The first viral experiment became a platform</h2>
<p>Fal engineer Rehan Sheikh hooked H3 Max into an interdimensional-cable style livestream.</p>
<p>It was removed from Twitch.</p>
<p>Then it was removed from Kick.</p>
<p>Fal's response was to build <a href="https://fal.live/">fal.live</a>.</p>
<p>The platform is a live experiment in audience-directed generative video.</p>
<p>There are channels such as Chaos, Sitcom, Anime and Soap Opera.</p>
<p>Instead of a fixed broadcast schedule, the audience influences the next generated scene.</p>
<p>The system can moderate or surface directions, viewers vote, and the next selected direction reaches the model.</p>
<p>📺 It is basically "Twitch Plays" applied to a video generator.</p>
<h2>Infinite Slop turns the audience into the prompt source</h2>
<p>Pieter Levels (@levelsio) built <a href="https://infiniteslop.ai/">Infinite Slop</a> with fal.</p>
<p>The interface is intentionally simple:</p>
<ul>
<li><p>watch the current generated scene</p>
</li>
<li><p>write what you want to see</p>
</li>
<li><p>wait for the queue</p>
</li>
<li><p>see the idea become video</p>
</li>
</ul>
<p>The result is chaotic.</p>
<p>But it demonstrates a useful property: generative media no longer has to be produced before the audience arrives.</p>
<p>The audience itself can become part of the production loop.</p>
<h2>H3 Max Director is more interesting than the livestreams</h2>
<p>The technical release I am watching is <a href="https://fal.ai/h3-max-director">H3 Max Director</a>.</p>
<p>Director does not behave like fal's regular H3 Max text-to-video endpoint.</p>
<p>It opens a realtime WebRTC session and keeps that session alive.</p>
<p>Directions arrive as text while the stream is running.</p>
<p>The model then carries the stream forward.</p>
<p>Fal says each segment continues with 39 frames of context from the previous segment.</p>
<p>The Director also retains prior prompts in its running memory, 12 by default and up to 50.</p>
<p>That means the model has a concept of previous direction rather than treating every generation as a completely independent request.</p>
<p>Public sessions are currently limited to 2 minutes.</p>
<p>Longer sessions are being opened gradually.</p>
<h2>I think "native continuity" is the key idea</h2>
<p>Most multi-scene AI video workflows fake continuity at the application layer.</p>
<p>Generate one clip.</p>
<p>Take its last frame.</p>
<p>Feed that frame into the next request.</p>
<p>Repeat.</p>
<p>This can work, but every request is still basically starting again.</p>
<p>A persistent Director session is a different abstraction.</p>
<p>The context survives within the session.</p>
<p>That allows a new instruction to act more like:</p>
<blockquote>
<p>turn the story this way</p>
</blockquote>
<p>instead of:</p>
<blockquote>
<p>create another clip that looks like the previous clip.</p>
</blockquote>
<p>That difference is what makes interactive video plausible.</p>
<h2>What can developers build with this?</h2>
<p>The obvious answer is AI TV, but I think that is the least interesting long-term answer.</p>
<h3>Interactive games</h3>
<p>A game can convert player actions into the next video direction.</p>
<h3>Generative NPC scenes</h3>
<p>A reasoning model can decide what a character should do, then the video model can render that action continuously.</p>
<h3>Adaptive training</h3>
<p>A tutorial can respond visually to a learner's questions or choices.</p>
<h3>Live simulations</h3>
<p>The rendered environment can evolve based on external state.</p>
<h3>Dynamic marketing</h3>
<p>Viewers can steer branded experiences instead of watching static creatives.</p>
<h3>AI presenters</h3>
<p>A live visual agent can change what it says and does while the stream continues.</p>
<p>The common pattern is simple:</p>
<p><strong>the application keeps sending state into a running visual process.</strong></p>
<h2>The economics are no longer abstract</h2>
<p>H3 Max Director currently costs $0.02 per generated second during its launch promotion.</p>
<p>A continuous feed would therefore cost approximately:</p>
<pre><code class="language-text">1 hour:   $72
24 hours: $1,728
30 days:  $51,840
1 year:   $630,720
</code></pre>
<p>After the promo, the listed rate is $0.08/sec.</p>
<p>That makes the same hypothetical stream 4x more expensive.</p>
<p>These are not small bills.</p>
<p>But they are already within the range where companies can seriously prototype new media products.</p>
<p>And the cost curve of inference rarely stands still.</p>
<h2>The marketing is almost as interesting as the model</h2>
<p>There is also a product lesson here.</p>
<p>Fal could have published an inference chart.</p>
<p>Instead, the internet got:</p>
<ol>
<li><p>an absurd continuous livestream</p>
</li>
<li><p>bans from major platforms</p>
</li>
<li><p>fal's own AI television site</p>
</li>
<li><p>Infinite Slop by @levelsio</p>
</li>
<li><p>a public realtime API underneath it</p>
</li>
</ol>
<p>That is a much better way to explain "faster than realtime."</p>
<p>You do not need to understand tokens, throughput or GPU kernels.</p>
<p>You watch the channel keep going.</p>
<p>The demo proves the benchmark.</p>
<p>⚡ That is excellent developer marketing.</p>
<p>The current shows may be slop.</p>
<p>The new primitive is not.</p>
<p>#ai #generative-video #developer-tools #realtime #machine-learning</p>
]]></content:encoded></item><item><title><![CDATA[How FreeToken Runs 35B and 284B MoE Models on Consumer GPUs]]></title><description><![CDATA[FreeToken is an edge-native serving engine for Mixture-of-Experts models.
Its headline benchmarks are unusual:
Qwen3.6-35B-A3B
RTX 4060 Laptop 8GB
39.3 tok/s

and:
DeepSeek-V4-Flash 284B
RTX 5090
22-2]]></description><link>https://khasky.hashnode.dev/how-freetoken-runs-35b-and-284b-moe-models-on-consumer-gpus</link><guid isPermaLink="true">https://khasky.hashnode.dev/how-freetoken-runs-35b-and-284b-moe-models-on-consumer-gpus</guid><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Tue, 08 Sep 2026 18:27:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/b78b4471-5728-4510-bc6b-24f81b2846f0.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a href="https://github.com/FlashML-org/FreeToken">FreeToken</a> is an edge-native serving engine for Mixture-of-Experts models.</p>
<p>Its headline benchmarks are unusual:</p>
<pre><code class="language-text">Qwen3.6-35B-A3B
RTX 4060 Laptop 8GB
39.3 tok/s
</code></pre>
<p>and:</p>
<pre><code class="language-text">DeepSeek-V4-Flash 284B
RTX 5090
22-25 tok/s
</code></pre>
<p>⚡ The trick is not fitting the entire model into VRAM.</p>
<p>FreeToken treats the whole machine as one inference platform.</p>
<h2>MoE makes the active compute small</h2>
<p>An MoE model stores many experts but routes each token through only a few.</p>
<p>DeepSeek-V4-Flash has 284B total parameters, but FreeToken's paper says only 13B participate in a single token.</p>
<p>This makes the per-token compute much smaller than the headline parameter count.</p>
<p>The complete expert pool still has to be stored, though.</p>
<h2>Host RAM becomes the expert store</h2>
<p>FreeToken keeps the full routed-expert pool in host memory.</p>
<p>Remaining VRAM is used as a shared expert cache.</p>
<p>A cache miss can be handled in two ways:</p>
<pre><code class="language-text">transfer expert to GPU
or
execute expert on CPU
</code></pre>
<p>The engine measures the deployed machine's host-memory and PCIe bandwidth and dynamically divides work between those paths.</p>
<p>This is the project's bandwidth-adaptive <code>q*</code> policy.</p>
<h2>Prefill uses double buffering</h2>
<p>Long prompt prefills touch a much larger portion of the expert set than one decode token.</p>
<p>FreeToken streams the next layer's experts while the GPU computes the current layer.</p>
<p>That overlaps PCIe movement with GPU execution.</p>
<h2>VRAM allocation is elastic</h2>
<p>FreeToken can dynamically resize the memory assigned to expert cache and KV cache without restarting or reloading the whole expert pool.</p>
<p>That matters on consumer PCs where VRAM availability changes while other applications run.</p>
<h2>Agent-aware context caching</h2>
<p>The system also targets coding/tool-use agents.</p>
<p>Semantic anchor checkpoints help preserve reusable state when tool calls or thinking segments edit the context.</p>
<p>This reduces unnecessary re-prefill work in long-running agent sessions.</p>
<h2>Hardware caveat</h2>
<p>The 8 GB RTX 4060 result does not mean the full 35B model needs only 8 GB total memory.</p>
<p>MoE expert weights live in system RAM.</p>
<p>The FreeToken FAQ says Qwen3.6-35B-A3B in BF16 needs roughly 70 GB of free host RAM for experts; quantized checkpoints need significantly less.</p>
<h2>Current support</h2>
<p>The current docs focus on:</p>
<pre><code class="language-text">x86_64
NVIDIA RTX 30-series+
CUDA 13
driver r580+
</code></pre>
<p>Windows/Linux have desktop support.</p>
<p>Linux also has pip/uv installation.</p>
<p>macOS and AMD are on the roadmap.</p>
<h2>Install</h2>
<pre><code class="language-bash">uv pip install "freetoken[accel]"
</code></pre>
<p>Serve:</p>
<pre><code class="language-bash">ft serve --model ~/models/Qwen3.6-35B-A3B
</code></pre>
<p>The server supports OpenAI- and Anthropic-compatible APIs.</p>
<p>It can also configure local coding agents such as Claude Code, Codex, OpenCode, OpenClaw, and DeepSeek Harness.</p>
<p>For me, the bigger lesson is that MoE local inference should not be judged by VRAM alone.</p>
<p>The real resource is the entire memory/computation hierarchy of the machine.</p>
<p>Paper: <a href="https://arxiv.org/abs/2608.16157">https://arxiv.org/abs/2608.16157</a></p>
<p>#localai #moe #llm #developer-tools</p>
]]></content:encoded></item><item><title><![CDATA[Why Anthropic's Tiny ELI5 Skill Is Such a Good Learning Pattern]]></title><description><![CDATA[A good AI explanation is not necessarily a long AI explanation.
In practice, models often optimize for completeness.
If I ask about an unfamiliar topic, I get terminology, edge cases, context, and cav]]></description><link>https://khasky.hashnode.dev/why-anthropic-s-tiny-eli5-skill-is-such-a-good-learning-pattern</link><guid isPermaLink="true">https://khasky.hashnode.dev/why-anthropic-s-tiny-eli5-skill-is-such-a-good-learning-pattern</guid><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Tue, 08 Sep 2026 07:52:56 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/5a1f9e0c-0858-42e1-a0af-15b8af581870.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A good AI explanation is not necessarily a long AI explanation.</p>
<p>In practice, models often optimize for completeness.</p>
<p>If I ask about an unfamiliar topic, I get terminology, edge cases, context, and caveats before I have built a basic mental picture.</p>
<p>The <code>eli5</code> skill for Claude uses a surprisingly small instruction to change that.</p>
<h2>One command</h2>
<pre><code class="language-text">/eli5 &lt;topic&gt;
</code></pre>
<p>Claude produces an HTML artifact with big pictures and very few words.</p>
<p>Skill: <a href="https://github.com/anthropics/claude-plugins-community/tree/main/eli5">eli5</a></p>
<h2>It is only 10 lines</h2>
<p>The actual <code>SKILL.md</code> is 10 lines long.</p>
<p>That matters because it shows what the skill is really doing.</p>
<p>It is not adding new knowledge.</p>
<p>It is changing the teaching format.</p>
<p>🧠 The constraint is the product.</p>
<h2>The first problem in learning is often missing context</h2>
<p>Imagine I ask:</p>
<blockquote>
<p>How does virtual memory work?</p>
</blockquote>
<p>A normal answer might immediately introduce address spaces, page tables, TLBs, page faults, swapping, and MMUs.</p>
<p>Every term is correct.</p>
<p>But I may still not understand the core relationship.</p>
<p>A visual explanation can first establish:</p>
<pre><code class="language-text">program thinks it has memory
        |
OS maps addresses
        |
physical RAM / disk
</code></pre>
<p>Now the detailed terminology has somewhere to go.</p>
<p>That order is much more efficient for someone entering the topic cold.</p>
<h2>ELI5 is not the same as oversimplification</h2>
<p>The phrase "Explain Like I'm Five" can sound like "make everything childish."</p>
<p>I do not think that is the useful interpretation.</p>
<p>The better rule is:</p>
<p><strong>assume zero background, not zero intelligence.</strong></p>
<p>A technical explanation can remain accurate while removing hidden prerequisites.</p>
<h2>The HTML output matters</h2>
<p>The explanation does not have to be a plain chat response.</p>
<p>It can become a visual artifact.</p>
<p>That makes diagrams, spatial relationships, and simple sequences much easier to understand.</p>
<h2>Where I would use it</h2>
<p>For developer topics:</p>
<pre><code class="language-text">/eli5 DNS
/eli5 Git rebase
/eli5 public key cryptography
/eli5 message queues
/eli5 OAuth
</code></pre>
<p>For math and science:</p>
<pre><code class="language-text">/eli5 eigenvectors
/eli5 entropy
/eli5 gradient descent
</code></pre>
<p>For general knowledge:</p>
<pre><code class="language-text">/eli5 inflation
/eli5 utilitarianism
/eli5 game theory
</code></pre>
<p>I can also imagine using the same pattern to understand a codebase or architecture before reading the implementation.</p>
<h2>It should be the first layer, not the final source</h2>
<p>I would not use an ELI5 artifact as proof or as a substitute for primary sources.</p>
<p>Its job is different.</p>
<p>It should help me understand enough to ask better questions.</p>
<p>A useful sequence is:</p>
<pre><code class="language-text">visual intuition
-&gt; vocabulary
-&gt; detailed explanation
-&gt; primary source
</code></pre>
<p>Anthropic's Thariq Shihipar shared the skill and said people at Anthropic had been using it a lot recently.</p>
<p>The skill is tiny.</p>
<p>The improvement in learning flow can be much larger.</p>
<p>#claudecode #learning #developer-tools #ai</p>
]]></content:encoded></item><item><title><![CDATA[A Portable Coding Agent Setup Makes More Sense Than I Expected]]></title><description><![CDATA[💻 I am not especially interested in the novelty of "Claude on a USB drive."
What I do care about is avoiding repetitive setup.
That is why [OpenClaude-Portable](https://github.com/techjarves/OpenClau]]></description><link>https://khasky.hashnode.dev/a-portable-coding-agent-setup-makes-more-sense-than-i-expected</link><guid isPermaLink="true">https://khasky.hashnode.dev/a-portable-coding-agent-setup-makes-more-sense-than-i-expected</guid><dc:creator><![CDATA[Khasky]]></dc:creator><pubDate>Tue, 08 Sep 2026 02:48:12 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a94a7be1f382d2c90e0f32c/1aa247f4-c4a2-4f36-aff0-eb4570979a2b.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>💻 I am not especially interested in the novelty of "Claude on a USB drive."</p>
<p>What I do care about is avoiding repetitive setup.</p>
<p>That is why [OpenClaude-Portable](<a href="https://github.com/techjarves/OpenClaude-Portable">https://github.com/techjarves/OpenClaude-Portable</a>) caught my attention.</p>
<p>It packages an AI coding agent into a self-contained folder and keeps the runtime, settings and persistent data with it.</p>
<h2>One portable setup, multiple model providers</h2>
<p>The project currently supports 9 provider options, including Claude, OpenAI, Gemini, DeepSeek, OpenRouter, NVIDIA NIM, Ollama, LM Studio and custom OpenAI-compatible APIs.</p>
<p>That is useful because I do not have to choose between "portable" and "flexible."</p>
<p>I can use cloud providers when I have connectivity, or use a local Ollama model when I want the setup to keep working offline.</p>
<p>The first setup needs internet, but after that Ollama mode can run without it.</p>
<h2>The state travels with the project</h2>
<p>This is the feature I care about most.</p>
<p>Provider configuration, API keys, logs, session history and agent memory are redirected into the project's own `data` folder.</p>
<p>The repository describes this as a zero-footprint setup because it avoids writing configuration into the host system.</p>
<p>That means the environment can move between machines with much less cleanup or reconstruction. 💾</p>
<p>Windows, Linux and macOS share the same persistent data structure.</p>
<p>For someone who uses more than one computer, that is much more practical than it sounds.</p>
<h2>It has a sensible permission split</h2>
<p>The launcher has two modes.</p>
<p>Normal Mode asks before the agent writes files or runs shell commands.</p>
<p>Limitless Mode removes those approval prompts for a more autonomous workflow.</p>
<p>I like that the distinction is visible and intentional.</p>
<p>My default would be Normal Mode, but having an autonomous option is useful for controlled environments where I already know what I want the agent to do.</p>
<h2>A local model does not have to feel unbearably slow</h2>
<p>Running a coding agent against a small local model is often disappointing because the agent framework sends a very large system prompt.</p>
<p>OpenClaude-Portable adds a proxy that trims that prompt before it reaches Ollama.</p>
<p>The repository reports reducing roughly 10,000 tokens to about 300 on that path, and typical first-token latency on CPU-only hardware improving from 60-120 seconds to around 5-20 seconds.</p>
<p>Those are project-reported numbers rather than independent benchmarks, but the direction is what interests me.</p>
<p>It is a design that takes the weakest part of local coding agents and tries to solve it directly.</p>
<h2>Session resume is another detail I appreciate</h2>
<p>Agent sessions and memory live inside the project folder, and the Windows setup includes a resume command for interrupted sessions.</p>
<p>There is also a browser dashboard if you prefer a ChatGPT-style interface over the terminal.</p>
<p>Those are small features, but they make the portable setup feel less disposable.</p>
<h2>Storage requirements are reasonable</h2>
<p>The base runtime and engine need about 150 MB.</p>
<p>Local Ollama models add roughly 800 MB to 8 GB depending on the model.</p>
<p>The README also warns that first-time installation can be slow on old USB media. I would use USB 3.x or, better, a small external SSD if I planned to work from the drive regularly.</p>
<h2>Where I would use it</h2>
<p>For me, the strongest use cases are:</p>
<p>- travel</p>
<p>- a backup development environment</p>
<p>- temporary machines</p>
<p>- offline coding with Ollama</p>
<p>- testing several providers from one configuration</p>
<p>- recovery when my main workstation is unavailable</p>
<p>The interesting part is not carrying an AI agent in my pocket.</p>
<p>It is carrying the configuration and state that make the agent useful.</p>
]]></content:encoded></item></channel></rss>