<?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: Thanksgiver233</title>
    <description>The latest articles on DEV Community by Thanksgiver233 (@thanksgiver233).</description>
    <link>https://dev.to/thanksgiver233</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%2F4235176%2F9c2b2a85-f5e4-4975-bfb6-dc0e2167b2c0.png</url>
      <title>DEV Community: Thanksgiver233</title>
      <link>https://dev.to/thanksgiver233</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thanksgiver233"/>
    <language>en</language>
    <item>
      <title>I gave an open-source AI agent its own cloud PC</title>
      <dc:creator>Thanksgiver233</dc:creator>
      <pubDate>Mon, 09 Nov 2026 12:55:01 +0000</pubDate>
      <link>https://dev.to/thanksgiver233/i-gave-an-open-source-ai-agent-its-own-cloud-pc-4d4</link>
      <guid>https://dev.to/thanksgiver233/i-gave-an-open-source-ai-agent-its-own-cloud-pc-4d4</guid>
      <description>&lt;p&gt;Most AI agents run on your own machine. I wanted mine to have a computer of its own: one it can break, bill by the second, and throw away.&lt;/p&gt;

&lt;p&gt;So I forked nanoMuse, an open-source personal agent, and built a cloud PC toolset for it. In the v1.0.9 release the agent can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;provision a cloud machine on Daytona or InstaBox&lt;/li&gt;
&lt;li&gt;run commands, move files, take screenshots&lt;/li&gt;
&lt;li&gt;operate a real graphical desktop (click, type, open pages)&lt;/li&gt;
&lt;li&gt;destroy the machine when the job is done&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two design choices I care about:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A provider protocol, not a vendor hack.&lt;/strong&gt; One CloudProvider interface, two implementations. The desktop on InstaBox does not use VNC at all: it rides the exec channel with DISPLAY=:1, xdotool and scrot, which I verified by reading the official TypeScript SDK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost safety is a feature, not a hope.&lt;/strong&gt; Every action passes a safety approval layer. Spend is written to a local ledger at published rates and reconciled against vendor metering (0.31% error against InstaBox per-second usage in my test). A monthly budget gate can block new machines before any provider call, and an idle sweeper destroys machines that sit unused, so nothing bills by accident.&lt;/p&gt;

&lt;p&gt;The cloud PC runs on your own free-tier provider account (both vendors work without a card). The software ships no machines.&lt;/p&gt;

&lt;p&gt;Downloads for Windows, Android, macOS and Linux:&lt;br&gt;
&lt;a href="https://github.com/Thanksgiver233/nanoMuse/releases/tag/v1.0.9" rel="noopener noreferrer"&gt;https://github.com/Thanksgiver233/nanoMuse/releases/tag/v1.0.9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code (GPL-3.0): &lt;a href="https://github.com/Thanksgiver233/nanoMuse" rel="noopener noreferrer"&gt;https://github.com/Thanksgiver233/nanoMuse&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If this is useful to you, a star on GitHub helps a lot. Issues and feedback welcome.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>opensource</category>
      <category>ai</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
