<?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: zhu feng</title>
    <description>The latest articles on DEV Community by zhu feng (@zf3d).</description>
    <link>https://dev.to/zf3d</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4104141%2Ff63f06dd-30e8-477c-9385-04a12d375c98.png</url>
      <title>DEV Community: zhu feng</title>
      <link>https://dev.to/zf3d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zf3d"/>
    <language>en</language>
    <item>
      <title>I Built an AI Agent Workspace That Runs 400+ Conversations at Once — No JS Frameworks, No Node Modules, Just Python</title>
      <dc:creator>zhu feng</dc:creator>
      <pubDate>Tue, 01 Sep 2026 10:30:54 +0000</pubDate>
      <link>https://dev.to/zf3d/i-built-an-ai-agent-workspace-that-runs-400-conversations-at-once-no-js-frameworks-no-node-oec</link>
      <guid>https://dev.to/zf3d/i-built-an-ai-agent-workspace-that-runs-400-conversations-at-once-no-js-frameworks-no-node-oec</guid>
      <description>&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa2l3o8z9eltxe7jet6a5.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa2l3o8z9eltxe7jet6a5.jpg" alt=" " width="800" height="405"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F45dmbbvo2cjr3442zdwm.jpg" 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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F45dmbbvo2cjr3442zdwm.jpg" alt=" " width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  I Built an AI Agent Workspace That Runs 400+ Conversations at Once — No JS Frameworks, No Node Modules, Just Python
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Cross-post note:&lt;/strong&gt; This project is open source and free. If you like ambitious local-first tools, the repo links are at the bottom.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Most AI chat apps share one limitation: they're built around a &lt;strong&gt;single conversation&lt;/strong&gt;. If you want to run 10 tasks in parallel, you open 10 tabs, babysit each one, and copy-paste context between them.&lt;/p&gt;

&lt;p&gt;I wanted something different: a workspace where the LLM is not a chat partner but a &lt;strong&gt;team of workers on your computer&lt;/strong&gt;. So I built &lt;strong&gt;Zhufeng Agent Unlimited (Infinity)&lt;/strong&gt; — a local-first AI agent workspace for Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is
&lt;/h2&gt;

&lt;p&gt;One infinite canvas + one AI that actually gets things done. It doesn't just chat — it plans, acts, verifies, and repairs itself when it breaks things.&lt;/p&gt;

&lt;p&gt;Highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;400+ simultaneous AI conversations.&lt;/strong&gt; Each conversation is an independent agent with its own model, tools, and context. Agents can delegate, monitor each other, and collect results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;83 built-in tools across 4 categories&lt;/strong&gt; (daily tasks, coding, writing, canvas) — read/write files, run code, fetch the web, Git commits, scheduled tasks, text-to-image, video generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infinite canvas multi-agent graphs:&lt;/strong&gt; create nodes, wire dependencies, run them, fix broken nodes, lock finished ones. Think of it as a visual pipeline where each node is a full agent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Self-healing:&lt;/strong&gt; when an agent hits an error, it re-reads the code, diagnoses the root cause, patches, and verifies. I watched it fix a real bug in its own frontend during testing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long plans:&lt;/strong&gt; tasks longer than one chat session get persisted as shareable plans, so a new conversation can pick up where the last one stopped.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-dependency startup:&lt;/strong&gt; pure Python standard library server. Double-click to run, no &lt;code&gt;pip install&lt;/code&gt;, no Node, no Docker.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why pure Python stdlib?
&lt;/h2&gt;

&lt;p&gt;Because setup friction kills adoption. If a user has to install Node, run three commands, and configure an API key before seeing anything, most of them are gone. With Infinity you download a folder, double-click, and the browser opens.&lt;/p&gt;

&lt;p&gt;The trade-off: no WebSocket frameworks, no async megastack. Instead there's a hand-rolled HTTP layer with keep-alive, a small routing system, and a frontend with zero build step — plain JS files, versioned with cache-busting query params. It's ~6MB of JavaScript with no bundler. Ugly? Maybe. It works, and anyone can read every line.&lt;/p&gt;

&lt;h2&gt;
  
  
  The multi-agent canvas
&lt;/h2&gt;

&lt;p&gt;The most interesting part is the node graph. You describe a goal, and the agent decomposes it into nodes on an infinite canvas — forward decomposition or backward reasoning from the goal. Each node:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Holds its own conversation and context&lt;/li&gt;
&lt;li&gt;Can read results from upstream nodes&lt;/li&gt;
&lt;li&gt;Writes conclusions into a &lt;strong&gt;global context pool&lt;/strong&gt; other nodes can read&lt;/li&gt;
&lt;li&gt;Can be locked ("fixed") when done, so later runs don't redo finished work&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It's a different mental model from linear chat: you stop prompting and start &lt;strong&gt;orchestrating&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is it for?
&lt;/h2&gt;

&lt;p&gt;People who use AI for real work: batch file processing, codebase-wide refactors, content pipelines, research with many parallel threads. If your workflow involves more than 2 chat tabs, this is for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Channel&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🏠 Intro &amp;amp; Download&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.zf3d.com/agent.asp" rel="noopener noreferrer"&gt;https://www.zf3d.com/agent.asp&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🇨🇳 Gitee (fast in China)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://gitee.com/zf3d/zf3d_agent" rel="noopener noreferrer"&gt;https://gitee.com/zf3d/zf3d_agent&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🌍 GitHub (Mirror)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/zf3dzf3dzf3d-ctrl/zf3d_agent" rel="noopener noreferrer"&gt;https://github.com/zf3dzf3dzf3d-ctrl/zf3d_agent&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;MIT licensed, free forever.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;code&gt;ai&lt;/code&gt;, &lt;code&gt;agents&lt;/code&gt;, &lt;code&gt;python&lt;/code&gt;, &lt;code&gt;opensource&lt;/code&gt;, &lt;code&gt;llm&lt;/code&gt;, &lt;code&gt;productivity&lt;/code&gt;, &lt;code&gt;showdev&lt;/code&gt;, &lt;code&gt;devtools&lt;/code&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>workplace</category>
    </item>
  </channel>
</rss>
