Lab note

OCT 04 2026

hosti: a self-hosted home for my AI agents' HTML reports

Raw text for LLM All posts Edit on GitHub

hosti is a small self-hosted catalog for the HTML pages my agents make. It’s MIT and it’s on GitHub.

Why I made it

When an agent plans a change, digs into a bug or compares two ways to build something, I ask it for an HTML page. Diagrams, a table, a short “why”, the risky parts marked. I read that way faster than a wall of text in a terminal.

The agents from the box and the loop pick up specced items, open PRs and report to me on Discord. The agent writes report.html on my PC and posts “done, see report.html”. Great, thanks. I’m not at my desk, and the Discord message is just a path.

How it works

The agent pushes a bundle, a folder with an index.html. One command:

$ hosti push ./report --slug flaky-tests --title "Flaky tests"
pushed   revision 1
private  nothing answers at the share URL
admin    https://hosti.example.com/b/flaky-tests

The last line is the owner link. The agent drops it in Discord, I tap it, and the page opens because I’m logged in to hosti. Wherever I am. Toilet included. For anyone without my login that link is a dead end. If the agent pushes the same slug again, it’s a new revision behind the same link, so I just reload.

agent done with a task wrote index.html hosti private /b/flaky-tests Discord "done, here:" the owner link me logged in reading push link tap agent done with a task, wrote index.html hosti private /b/flaky-tests Discord "done, here:" the owner link me logged in reading push link tap
The trip a page takes now.

Goodies

  • Sharing, only when I ask. I hate it when a teammate drops a copy-pasted thread from their Claude chat into Slack. I don’t want to be that guy. Still, sometimes an idea I worked out with an agent is worth showing someone, so I share the page. A link or a PIN, and hosti rotate if a link went further than I meant.
  • Live cards. Every bundle in the catalog is a card, and the card is the real page in a sandboxed iframe, not a screenshot. I find “that thing from last week” by how it looks.
  • The agent never gets my password. It runs hosti login, I check the code it prints and approve. It can delete only if I tick that box myself.
  • A skill. npx skills add JakubSzwajka/hosti and the agent knows how to push, when to share, and to hand me the link exactly as printed.

The hosti catalog: every bundle is a card with its live page inside, marked pin, link or private.

Everything else is in the README.

One rough edge. My agents sometimes make a new slug when they should push a new revision, so I get a second link for the same report. I haven’t taught them to prefer a revision yet.

Anyway. The landing page is hosti.kubaszwajka.com and the code is on GitHub. Ping me if you try it, or if your agents also keep sending you paths to files on a machine you’re not sitting at.