<?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: Rajaul Uddin</title>
    <description>The latest articles on Forem by Rajaul Uddin (@uddinrajaul).</description>
    <link>https://forem.com/uddinrajaul</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%2F3875284%2F37181ade-79f9-44d1-8360-0169e66b3a95.jpg</url>
      <title>Forem: Rajaul Uddin</title>
      <link>https://forem.com/uddinrajaul</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/uddinrajaul"/>
    <language>en</language>
    <item>
      <title>I Set Up a Personal AI Agent for Free. Here's Exactly What Happened.</title>
      <dc:creator>Rajaul Uddin</dc:creator>
      <pubDate>Sun, 12 Apr 2026 17:47:12 +0000</pubDate>
      <link>https://forem.com/uddinrajaul/i-set-up-a-personal-ai-agent-for-free-heres-exactly-what-happened-4li1</link>
      <guid>https://forem.com/uddinrajaul/i-set-up-a-personal-ai-agent-for-free-heres-exactly-what-happened-4li1</guid>
      <description>&lt;p&gt;No paid API. No cloud bill. Just a free NVIDIA endpoint, an open-source agent framework, and a Telegram bot that now answers my questions.&lt;/p&gt;




&lt;p&gt;I've been watching the OpenClaw hype since it blew up in early 2026 — 350k GitHub stars, people buying Mac Minis in bulk to run agents on them. I wanted to try it. But I wasn't going to pay for an API key just to experiment.&lt;/p&gt;

&lt;p&gt;So I spent an evening figuring out if a genuinely free setup was possible. Here's what I built, what broke, and what actually worked.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is OpenClaw?
&lt;/h2&gt;

&lt;p&gt;OpenClaw is an open-source AI agent that runs on your machine. Unlike a chatbot in a browser tab, it can run shell commands, read and write files, schedule tasks, browse the web, and talk to you through Telegram or Discord.&lt;/p&gt;

&lt;p&gt;It doesn't care which LLM powers it. You point it at any OpenAI-compatible endpoint and it works. That's what makes this whole setup possible.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;What I used&lt;/th&gt;
&lt;th&gt;Why&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Agent framework&lt;/td&gt;
&lt;td&gt;OpenClaw v2026.4.11&lt;/td&gt;
&lt;td&gt;Open source, large ecosystem&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM&lt;/td&gt;
&lt;td&gt;MiniMax M2.7 via NVIDIA&lt;/td&gt;
&lt;td&gt;Free GPU-accelerated endpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Messaging&lt;/td&gt;
&lt;td&gt;Telegram&lt;/td&gt;
&lt;td&gt;Fast to set up, works well with OpenClaw&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server&lt;/td&gt;
&lt;td&gt;Local machine (Pop OS)&lt;/td&gt;
&lt;td&gt;Oracle free tier was full — more on that below&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Total cost: $0.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Need Before Starting
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A machine with at least 4GB RAM&lt;/li&gt;
&lt;li&gt;Node.js v20 or higher&lt;/li&gt;
&lt;li&gt;A free NVIDIA account at &lt;a href="https://build.nvidia.com" rel="noopener noreferrer"&gt;build.nvidia.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Telegram account&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Get Your Free NVIDIA API Key
&lt;/h2&gt;

&lt;p&gt;Sign up at &lt;a href="https://build.nvidia.com" rel="noopener noreferrer"&gt;build.nvidia.com&lt;/a&gt;. Find &lt;strong&gt;MiniMax M2.7&lt;/strong&gt; and grab your API key — it starts with &lt;code&gt;nvapi-&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The model I used is a 230 billion parameter mixture-of-experts model. Only 10B parameters activate per token, so it's faster than the size suggests. It handles coding, reasoning, and general questions well enough for personal use.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Install OpenClaw
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/Projects/openclaw &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; ~/Projects/openclaw
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; openclaw
openclaw &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;span class="c"&gt;# OpenClaw 2026.4.11 (769908e)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll see deprecation warnings from some old npm packages. They're from OpenClaw's dependencies, not your machine. Ignore them.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Initialize the Workspace
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates &lt;code&gt;~/.openclaw/openclaw.json&lt;/code&gt; and sets up the workspace directory. That's it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Connect NVIDIA as Your LLM
&lt;/h2&gt;

&lt;p&gt;Most guides assume you have an Anthropic or OpenAI key. We're not doing that.&lt;/p&gt;

&lt;p&gt;NVIDIA's endpoint is OpenAI-compatible, so we register it as a custom provider:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw onboard &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--auth-choice&lt;/span&gt; custom-api-key &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--custom-base-url&lt;/span&gt; &lt;span class="s2"&gt;"https://integrate.api.nvidia.com/v1"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--custom-model-id&lt;/span&gt; &lt;span class="s2"&gt;"minimaxai/minimax-m2.7"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--custom-api-key&lt;/span&gt; &lt;span class="s2"&gt;"YOUR_NVAPI_KEY_HERE"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--custom-compatibility&lt;/span&gt; openai &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--non-interactive&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--accept-risk&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--skip-channels&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--skip-skills&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;--non-interactive&lt;/code&gt; flag skips the guided wizard, which tries to verify the endpoint and sometimes fails with custom providers. The &lt;code&gt;--accept-risk&lt;/code&gt; flag is required in non-interactive mode — read the &lt;a href="https://docs.openclaw.ai/security" rel="noopener noreferrer"&gt;security docs&lt;/a&gt; if you want to know what that actually covers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5: Fix the Context Window Bug
&lt;/h2&gt;

&lt;p&gt;This is the step that cost me an hour. Read it.&lt;/p&gt;

&lt;p&gt;OpenClaw queries NVIDIA to detect the model's context window. It gets back 16000 tokens. It then reserves 16384 tokens for compaction overhead — leaving negative budget for your actual message. Every message fails with a context overflow error.&lt;/p&gt;

&lt;p&gt;Fix it by editing the config manually:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nano ~/.openclaw/openclaw.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Find the model entry under &lt;code&gt;models.providers&lt;/code&gt; and change it to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"minimaxai/minimax-m2.7"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"contextWindow"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;40000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"contextTokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;40000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"maxTokens"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;4096&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save with &lt;code&gt;Ctrl+O&lt;/code&gt;, exit with &lt;code&gt;Ctrl+X&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Why 40000? MiniMax M2.7 supports 200K context in theory, but NVIDIA's free endpoint has a lower effective limit. 40000 works. You can push it higher and see what happens.&lt;/p&gt;

&lt;p&gt;This is a &lt;a href="https://github.com/openclaw/openclaw/issues/26277" rel="noopener noreferrer"&gt;known issue&lt;/a&gt; with custom providers in OpenClaw. The context window from the API doesn't reach the compaction path correctly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 6: Create a Telegram Bot
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open Telegram, search for &lt;strong&gt;&lt;a class="mentioned-user" href="https://dev.to/botfather"&gt;@botfather&lt;/a&gt;&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Send &lt;code&gt;/newbot&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Follow the prompts&lt;/li&gt;
&lt;li&gt;Copy the token it gives you&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Connect it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw channels add &lt;span class="nt"&gt;--channel&lt;/span&gt; telegram &lt;span class="nt"&gt;--token&lt;/span&gt; &lt;span class="s2"&gt;"YOUR_BOT_TOKEN_HERE"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 7: Start the Gateway
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw gateway run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[gateway] agent model: custom-integrate-api-nvidia-com/minimaxai/minimax-m2.7
[gateway] ready (5 plugins loaded; 2.3s)
[telegram] connected
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open the dashboard in a new terminal tab:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This opens &lt;code&gt;http://127.0.0.1:18789/chat&lt;/code&gt; with your auth token already in the URL.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 8: Test It
&lt;/h2&gt;

&lt;p&gt;Send &lt;strong&gt;"what can you do"&lt;/strong&gt; in the dashboard. You should get a full response from MiniMax M2.7.&lt;/p&gt;

&lt;p&gt;Then message your Telegram bot the same thing. Same response, different channel.&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%2F5knt12wkil8px7wxm6at.png" 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%2F5knt12wkil8px7wxm6at.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  One Thing Worth Knowing
&lt;/h2&gt;

&lt;p&gt;OpenClaw's system prompt is heavy. On a simple "what can you do" message, it used 34% of my context window before I typed a word. That's roughly 13,600 tokens just for framework overhead — tool definitions, skill metadata, workspace files, agent instructions.&lt;/p&gt;

&lt;p&gt;For complex automated tasks, that overhead makes sense. For quick questions, it's wasteful. With a 40000 token limit, you have around 26,000 tokens left per session for actual conversation. Long back-and-forth chats will hit compaction eventually.&lt;/p&gt;

&lt;p&gt;This isn't a dealbreaker. It's just the tradeoff of a framework built for agentic work.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where This Goes Next
&lt;/h2&gt;

&lt;p&gt;The agent works. Now I'm building skills on top of it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NEPSE stock fetcher&lt;/strong&gt; — send &lt;code&gt;/nepse NRIC&lt;/code&gt; to my Telegram bot and get back the live price, 52-week range, and circuit status. Useful since I trade on the Nepal Stock Exchange.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Job application tracker&lt;/strong&gt; — log applications via Telegram, check status anytime. Useful since I'm actively job searching.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Local machine (Pop OS, 11GB RAM)
└── OpenClaw v2026.4.11
    ├── LLM: MiniMax M2.7 via NVIDIA free endpoint
    ├── Gateway: ws://127.0.0.1:18789
    └── Channels: Telegram bot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Total cost:&lt;/strong&gt; $0&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Setup time:&lt;/strong&gt; ~3 hours (mostly the context window issue)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Lines of config written by hand:&lt;/strong&gt; 4&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/openclaw/openclaw" rel="noopener noreferrer"&gt;OpenClaw GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.openclaw.ai" rel="noopener noreferrer"&gt;OpenClaw Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://build.nvidia.com" rel="noopener noreferrer"&gt;NVIDIA Free Endpoints&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://build.nvidia.com/minimaxai/minimax-m2.7" rel="noopener noreferrer"&gt;MiniMax M2.7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/openclaw/openclaw/issues/26277" rel="noopener noreferrer"&gt;Context window bug thread&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Part 2 covers building the NEPSE skill and publishing it to ClawHub.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>openclaw</category>
      <category>claude</category>
      <category>ai</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
