We just released Persistent Storage Volumes and Public IP management 💽
You can now attach persistent disks to virtual machines and create public IP addresses directly in the console.
That makes it easier to run databases, keep data across reboots, move storage between instances, and manage network identity without rebuilding infrastructure 👇
Same, I have a similar setup. A mix of Obsidian, Cursor (for md), and vibe-coded web terminals as front-end.
Since I do a podcast, the number/diversity of research interests is very large. But the knowledge-base approach has been working great.
For answers, I often have it generate dynamic html (with js) that allows me to sort/filter data and to tinker with visualizations interactively.
Another useful thing is I have the system generate a temporary focused mini-knowledge-base for a particular topic that I then load into an LLM for voice-mode interaction on a long 7-10 mile run. So it becomes an interactive podcast while I run, where I ask it questions and listen to the answers to learn more.
Anyway, heading out for a run now, thanks for the write-up 👊
🆕Imagine hundreds of agents working in parallel, handing off to one another and building on each other's work.
Every finding becomes a cryptographically anchored Knowledge Asset: verifiable, permanent, owned by the publisher, and queryable by any agent on the network.
Enter Decentralized Knowledge Graph v9, already powering AI agent swarms to be:
→ up to 60% faster
→ up to 40% cheaper
than markdown handoffs.
The advantage compounds as the swarm grows.
Build something exciting—or simply run a hello-world OriginTrail multiplayer game to try it!
LLM Knowledge Bases
Something I'm finding very useful recently: using LLMs to build personal knowledge bases for various topics of research interest. In this way, a large fraction of my recent token throughput is going less into manipulating code, and more into manipulating knowledge (stored as markdown and images). The latest LLMs are quite good at it. So:
Data ingest:
I index source documents (articles, papers, repos, datasets, images, etc.) into a raw/ directory, then I use an LLM to incrementally "compile" a wiki, which is just a collection of .md files in a directory structure. The wiki includes summaries of all the data in raw/, backlinks, and then it categorizes data into concepts, writes articles for them, and links them all. To convert web articles into .md files I like to use the Obsidian Web Clipper extension, and then I also use a hotkey to download all the related images to local so that my LLM can easily reference them.
IDE:
I use Obsidian as the IDE "frontend" where I can view the raw data, the the compiled wiki, and the derived visualizations. Important to note that the LLM writes and maintains all of the data of the wiki, I rarely touch it directly. I've played with a few Obsidian plugins to render and view data in other ways (e.g. Marp for slides).
Q&A:
Where things get interesting is that once your wiki is big enough (e.g. mine on some recent research is ~100 articles and ~400K words), you can ask your LLM agent all kinds of complex questions against the wiki, and it will go off, research the answers, etc. I thought I had to reach for fancy RAG, but the LLM has been pretty good about auto-maintaining index files and brief summaries of all the documents and it reads all the important related data fairly easily at this ~small scale.
Output:
Instead of getting answers in text/terminal, I like to have it render markdown files for me, or slide shows (Marp format), or matplotlib images, all of which I then view again in Obsidian. You can imagine many other visual output formats depending on the query. Often, I end up "filing" the outputs back into the wiki to enhance it for further queries. So my own explorations and queries always "add up" in the knowledge base.
Linting:
I've run some LLM "health checks" over the wiki to e.g. find inconsistent data, impute missing data (with web searchers), find interesting connections for new article candidates, etc., to incrementally clean up the wiki and enhance its overall data integrity. The LLMs are quite good at suggesting further questions to ask and look into.
Extra tools:
I find myself developing additional tools to process the data, e.g. I vibe coded a small and naive search engine over the wiki, which I both use directly (in a web ui), but more often I want to hand it off to an LLM via CLI as a tool for larger queries.
Further explorations:
As the repo grows, the natural desire is to also think about synthetic data generation + finetuning to have your LLM "know" the data in its weights instead of just context windows.
TLDR: raw data from a given number of sources is collected, then compiled by an LLM into a .md wiki, then operated on by various CLIs by the LLM to do Q&A and to incrementally enhance the wiki, and all of it viewable in Obsidian. You rarely ever write or edit the wiki manually, it's the domain of the LLM. I think there is room here for an incredible new product instead of a hacky collection of scripts.
After a month of watching my fellow builders set up their @openclaw , I finally took the plunge this past week.
Last night my agent ran overnight on a project we came up with together, and it was ready for review when I woke up this morning.
It has its own GitHub account. Its own email. Its own Twitter. It runs 24/7 on an old MacBook Pro with the lid closed. And it has enough tools connected to actually do real work.
But the magic moment wasn't the overnight build. It was something way simpler.
I told it to message me at 7:30 AM with a daily plan. And it just did it. Figured out how to do it on its own. That "figure it out" mentality from an agent that actually has access to tools and a computer felt different than anything I've used before. For the first time, it felt like something capable of doing real stuff. Not a chatbot. Something else.
And I'm just scratching the surface.
It took me about 8 hours to get here. I want to help you get there faster. Here's everything I learned along the way, plus a prompt you can copy and paste into your OpenClaw once you're set up.
Getting started
I set it up on an old MacBook Pro. Dedicated device. You want this running independently so it does not have access to your data. Having a virtual device on @Hetzner_Online is also good.
Installation took about an hour. Then I spent the next two hours having Codex tighten the security before training it anymore. Sandbox commands. Whitelist only what you need. Do this first.
Then I hit a wall. It felt like a chatbot. Limited permissions. Couldn't access tools. Couldn't browse. It took another 2-4 hours to get terminal access and Playwright browser control working.
I used Caffeinate in terminal to keep it running with the lid closed.
I set up dedicated accounts. GitHub, email, Twitter. Give it its own identity so it can operate independently.
Training it
- Keep your Heartbeat.md lean. It gets read every session and burns tokens if it's bloated. Identity, active projects, key preferences. That's the hot cache.
- Install a memory plugin early (ClawVault, Supermemory, or Lumen Notes). Persistent memory across sessions is what takes it from chatbot to something that knows your work.
- Build skill files for recurring output. Emails, social posts, documents. Each gets its own file with format, voice rules, examples, and a checklist. It follows these like playbooks.
- Define your agent's persona and tone. I built out voice files based on what I'd already created in Cowork and the output quality jumped immediately.
- Point it at your existing repos. It can pull context from anything you give it access to. If you've already built structure somewhere, don't rebuild it. Reference it.
Best advice I got from experienced OpenClaw builders
Force plan before execution. Make it tell you what it's going to do before it does it. Saved me from multiple rabbit holes.
Back up your repo to GitHub every night. Your config files, skills, and memory directory are the training. Lose them and you're starting over.
Think in workflows, not one-off tasks. This compounds fast.
I also applied the same repo structure from my Cowork setup guide:
Your-Workspace/
├── Heartbeat.md
├── Brain/
│ ├── about-me.md
│ ├── brand-voice.md
│ └── working-preferences.md
├── Skills/
├── Projects/
└── Memory/
I'm about a week in. Still early. But I can see where this is going and I wish I'd started sooner.
If you're just getting started, here's the prompt I'd paste in on day one to fast-track the whole setup:
--
You are going to help me set up my workspace so that every future session starts with full context about who I am, what I do, and how I work. We're building the files and structure that make you useful from the first message.
Interview me in phases. Ask questions, then build files based on my answers. Don't rush. Don't assume. Ask before you build.
Phase 0: Foundation
Check if I have a Heartbeat.md file. If not, create one. Keep it lean. Recommend a memory plugin for persistent context. Ask what tools I use daily and help me connect them. Recommend sandboxing and whitelisting commands from the start.
Phase 1: Identity
Interview me to create Brain/about-me.md. Ask about my work, background, what I'm building, and positioning. Show the file. Get approval before moving on.
Phase 2: Voice
Interview me about how I want my agent to sound. Phrases I use. Phrases I'd never use. Tone shifts by context. Create Brain/brand-voice.md. Get approval.
Phase 3: Working Preferences
What I want help with. Communication style. Workflow pain points. Output preferences. Create Brain/working-preferences.md. Get approval.
Phase 4: Skill Files
For each type of recurring output, create a skill file in its own folder under Skills/. Each gets: format, voice rules, examples, quality checklist. Ask what I create most often before building.
Phase 5: Active Projects
Current projects, goals, deadlines. Individual files in Projects/.
Phase 6: Memory System
Update Heartbeat.md with a summary of everything we built. Create Memory/ directory with subfolders for people, projects, context. Add glossary.md.
Phase 7: Reference Sources
Any existing repos, docs, or files I want referenced. Organize access.
Rules: One phase at a time. Show each file before saving. If unsure, ask. Concise files. Lowercase, hyphens, .md format.
Start with Phase 0.
The next step for autoresearch is that it has to be asynchronously massively collaborative for agents (think: SETI@home style). The goal is not to emulate a single PhD student, it's to emulate a research community of them.
Current code synchronously grows a single thread of commits in a particular research direction. But the original repo is more of a seed, from which could sprout commits contributed by agents on all kinds of different research directions or for different compute platforms. Git(Hub) is *almost* but not really suited for this. It has a softly built in assumption of one "master" branch, which temporarily forks off into PRs just to merge back a bit later.
I tried to prototype something super lightweight that could have a flavor of this, e.g. just a Discussion, written by my agent as a summary of its overnight run:
https://t.co/tmZeqyDY1W
Alternatively, a PR has the benefit of exact commits:
https://t.co/CZIbuJIqlk
but you'd never want to actually merge it... You'd just want to "adopt" and accumulate branches of commits. But even in this lightweight way, you could ask your agent to first read the Discussions/PRs using GitHub CLI for inspiration, and after its research is done, contribute a little "paper" of findings back.
I'm not actually exactly sure what this should look like, but it's a big idea that is more general than just the autoresearch repo specifically. Agents can in principle easily juggle and collaborate on thousands of commits across arbitrary branch structures. Existing abstractions will accumulate stress as intelligence, attention and tenacity cease to be bottlenecks.
For nearly three years, I've witnessed Selldone's extraordinary journey unfold. Their design philosophy isn't just impressive, it's revolutionary, compelling me to invest in their LTDs without a second thought 2 years ago. Selldone stands as a testament to what happens when two visionary minds unite: a rare gem in the tech world, where raw talent meets unwavering determination to transform possibilities into reality.