From Zero to AI Agent in One Day

Learning Haskell and Plutus... and writing about it.
I'm not a developer. I work away on mine sites and spend my R&R hours pulling at threads I find interesting. Bittensor is one of those threads — and this week, I finally did something about it.
The idea
The more time I've spent in the Bittensor and TAO ecosystem, the more I've noticed a gap. The technology is genuinely fascinating — but almost nobody's talking about it in a way that normal people can follow. You get either highly technical documentation or hype-filled social posts. There's not much in between.
I wanted to build something to help fix that. An AI agent — running on my own infrastructure, connected to my Telegram — that could research Bittensor subnets, draft educational content, and eventually help me build real products on top of the network. The first product idea that excited me: a simple website powered by the BitMind subnet where anyone can paste a piece of content and find out whether it's real or AI-generated. No technical knowledge required. Just a useful tool for everyday people.
The tool I chose for the agent is OpenClaw — open-source, self-hosted, connects to messaging apps and can run tasks autonomously. Today was day one. Here's the honest account of how it went.
Starting point: a cloud VM
First decision: where to run this thing. Definitely not your personal laptop — OpenClaw runs with elevated privileges and can access files, run commands, and hold API credentials. You want it isolated on its own machine from day one.
⚠️ Important: Don't install OpenClaw on any machine that holds crypto wallets, financial accounts, or sensitive personal data. Use a dedicated cloud VM and treat it as a sandboxed environment from the start.
I have an Oracle Cloud account in the Sydney region. The plan was to use their Always Free ARM instance — VM.Standard.A1.Flex — which is genuinely generous if you can get one. Sydney, it turns out, has almost no capacity. I hit "out of capacity" errors on A1.Flex, then E4.Flex, then E5.Flex in quick succession.
If you're in Australia facing the same wall — skip straight to VM.Standard3.Flex. It's a paid shape, but Oracle's 30-day free trial includes $300 USD in credits so you won't pay anything upfront. 2 OCPUs and 8GB RAM runs OpenClaw comfortably with room to grow.
# What finally worked in Sydney
Shape: VM.Standard3.Flex
OCPUs: 2 | RAM: 8GB | Boot: 50GB
OS: Ubuntu 24.04 (x86_64, standard)
Status: Running ✓
Locking down access with Tailscale
Before touching OpenClaw, I set up Tailscale. This gives you an encrypted private tunnel between your laptop and the VM — so the agent is never directly exposed to the open internet. Takes about five minutes and is absolutely worth doing first.
One gotcha on cloud VMs: the tailscale up command sometimes hangs waiting for an authentication callback that never arrives. If that happens, open a second SSH session, kill the process, then retry with sudo tailscale up --ssh --accept-dns=false. The --accept-dns=false flag stops a common conflict between Tailscale's DNS settings and Oracle's networking.
Also worth adding before you start — a keepalive to your SSH config so idle sessions don't drop mid-install:
# Run on your local machine, not the VM
echo "ServerAliveInterval 60" >> ~/.ssh/config
echo "ServerAliveCountMax 10" >> ~/.ssh/config
Installing OpenClaw
The official install is a single command that handles Node.js, dependencies, and the CLI in one go:
curl -fsSL https://openclaw.ai/install.sh | bash
In theory, seamless. In practice, mine stalled silently on build tools for around 25 minutes. The script wasn't frozen — apt-get had locked up in the background with no indication anything was wrong.
If your installer goes quiet for more than 10 minutes, open a second SSH session and run ps aux | grep install. If you see an apt-get process sitting there with an old timestamp, it's stuck. Kill it by PID, clean up with sudo dpkg --configure -a, and run the installer again. After clearing that, it completed without issue.
The onboarding wizard
Once installed, OpenClaw walks you through setup interactively. A few choices worth flagging:
✅ AI Provider: OpenRouter Gives you access to multiple models — including free ones — through a single API key. No separate AI subscription needed. One tip: don't use openrouter/auto as your default. It occasionally picks a model that doesn't support tool calling, which produces cryptic errors. Pin to something specific like google/gemini-2.0-flash-lite for reliability.
✅ Channel: Telegram The recommended starting point — and for good reason. Two minutes to set up via @BotFather, works perfectly on mobile, and means you can talk to your agent from anywhere. Ideal if you're often away from a desk.
✅ Web Search: Gemini API (free) OpenClaw natively supports Brave Search, but Brave removed their free tier in early 2026. A free Gemini API key from Google AI Studio works as a drop-in replacement — OpenClaw auto-detects it. Get one at aistudio.google.com, no card required.
✅ Skills and Hooks: Skipped for now There are dozens of optional integrations. Skip them all. Get the core running first and add capabilities when you actually have a reason to.
🔐 Security note: During onboarding, your Telegram bot token is stored in plaintext in the config file. If you ever share terminal output or paste that file anywhere, regenerate the token immediately — @BotFather → your bot → Revoke token. Takes 30 seconds and is worth doing the moment you catch it.
First conversation with the agent
This is where it stopped feeling like a setup exercise.
OpenClaw's terminal interface drops you into a chat and sends a "Wake up, my friend!" to the agent. I told it what I was after: educational content about Bittensor and its subnets, aimed at both technical and non-technical readers. The goal isn't to recruit anyone — it's to inform people well enough that they can see the value for themselves and choose to get involved on their own terms.
It created a USER.md file immediately — a persistent profile it references in every future session. Timezone, context, preferences, writing style. The more you put in there early, the less you repeat yourself later.
I asked for a beginner's guide to Bittensor. First draft was decent but read like a Wikipedia article — technically accurate, completely lifeless. I pushed back: write it like you're explaining this to a mate at a pub. The second draft came back with lines like "like a dodgy pint after a long shift" and "it's like the Wild West out there, and we need a sheriff."
That's the tone. That's what I was looking for.
We followed that with a BitMind explainer — fake content as an everyday urgent problem, BitMind as the clever decentralised solution. Same pattern: generic brief gets generic output, specific creative direction gets something worth reading. By the end of the session the agent had adapted to the style and was applying it without being reminded.
💡 What I learned about prompting: Vague instructions produce vague output. "Write a Bittensor explainer" gives you a textbook. "Explain Bittensor to a mate at a pub who's never touched crypto" gives you something people will actually read to the end. Give your agent a scene, not just a topic.
What's still rough
Web research is the weakest point right now. The agent hit access restrictions on several Bittensor subnet pages and fell back on general knowledge rather than current data. For an agent producing content about a fast-moving ecosystem, that's not good enough — it needs reliable, up-to-date sources.
The fix is configuring Tavily — a search API built specifically for AI agents, with a free tier generous enough for personal use. That's the next thing on the list, along with building a curated knowledge base of Bittensor resources the agent can draw from consistently rather than searching from scratch every session.
What's next
Configure Tavily for better web research — Better sources mean better content. This is the priority before anything else.
Build a Bittensor knowledge base — Curated docs, subnet pages, and reference material the agent can use without searching from scratch each time.
Set up a second agent for a completely different use case — Separate context, separate persona, separate purpose. More on that soon.
Start scoping the BitMind verification site — The product idea that started all this. Time to figure out what it would actually take to build — and whether it's viable.
If you're thinking about doing something similar and you're not a developer — it's genuinely doable. The tooling has come a long way. There were frustrating moments today, but none of them were blockers, and by the end of the session the agent was producing content I'd actually consider publishing.
The gap between "I have an idea" and "I have something running" is smaller than it's ever been. You just have to be willing to sit with the rough edges long enough to get through them.
More next time. 🦞
Tags: bittensor, AI, openclaw, web3, oracle-cloud, learning-in-public


