u/Countlesshrs

GitHub - ashuio/livewall: A live status board your AI agent writes while it works. Send a JSON board spec over MCP, HTTP or the CLI; a browser renders it live over SSE.
▲ 19 r/AutoGPT+1 crossposts

GitHub - ashuio/livewall: A live status board your AI agent writes while it works. Send a JSON board spec over MCP, HTTP or the CLI; a browser renders it live over SSE.

Made an MCP server so my Hermes agent can draw its own progress board while it works

The pattern I kept hitting: agent goes off on a 20 minute task, comes back with a summary. I can't see the middle. I either wait, or I go read its logs.

So I had it build this. Livewall is a small service plus an MCP server. The agent calls a tool with a board spec, a browser renders it live over SSE.

11 tools, all the obvious ones: set_board, update_block, update_board, reset_board, delete_board, list_boards, get_board, get_config, set_config, describe_blocks, and a livewall_ping. The MCP layer validates against the same contract the HTTP API uses, so a malformed block comes back as a named refusal with the fix instead of a 400 the agent has to guess at.

The part that actually matters for an agent is that a board is data, not markup. The agent picks blocks per task:

{"id": "p", "type": "progress", "label": "Migration", "value": 340, "max": 900}

That's a progress bar. Change type to table and it's a table. line gives you a chart. 17 block types, one contract, so nothing to learn beyond the block names. describe_blocks returns the whole vocabulary at runtime if the agent wants to check.

Wiring it in is the normal mcp_servers block:

mcp_servers:
  livewall:
    command: /path/to/livewall/.venv/bin/python
    args: ['/path/to/livewall/mcp/server.py']
    env:
      LIVEWALL_URL: http://127.0.0.1:8470

Couple of things I'd flag:

  • Boards live in memory and are gone on restart. That's deliberate (no database, no migrations) but it will catch you out once.
  • Auth is one shared bearer token, or off. Binds loopback by default. If you're going to expose it past your LAN, the token is the only thing in the way.
  • Never load tested. Built for a few boards and a few viewers. I don't know where it falls over.
  • It's 0.0.1.

Self-hosted, no cloud anything. The CLI is stdlib only, so cron or a systemd timer can push to a board without the agent being involved at all, which is useful for the "is this backup actually running" kind of question.

Client's only runtime deps are react and react-dom. The multi-series line chart is hand-rolled SVG because adding a charting library to draw two lines felt excessive.

Apache-2.0. Repo's in the link. Happy to answer anything about the MCP layer or the contract if you want to build something similar.

github.com
u/Countlesshrs — 4 days ago

I swapped my Hermes fleet from Mnemosyne to Hy-Memory. The init context shrank by ~10k tokens a turn

Five Hermes agents, one problem: they forgot everything about me between sessions. Mnemosyne stored facts fine, but facts just piled up flat. Old preferences sat next to new ones, and nothing remembered why an opinion changed.

I moved the fleet to Tencent's Hy-Memory, released by the TencentDB team under the Hunyuan brand. Six layers, System 1 and System 2, and evolution chains that link each memory to the one it replaced. Hit one node in a chain and the whole causal history comes back. That part is real, and it's the reason I switched.

What surprised me after the move:

  1. The init context shrank by roughly 10k tokens per turn. Mnemosyne shipped 36 memory tools into the system prompt. Hy-Memory ships about five. Same agents, better recall, smaller context.

  2. Extraction is cheap when you benchmark instead of trusting defaults. I ran 12 model configs against production prompts. The vendor's recommended model lost: up to 17% invalid JSON, 50-60 seconds per call, 3x the cost. deepseek-v4-pro with thinking off won at about $0.037 per day.

  3. The silent failures are the real risk. It ran hours in the wrong mode without complaining. A hardcoded 2000-token cap in the reconciler quietly dropped extracted memories. It wrote migrated data into a namespace nothing reads. Everything kept working, just wrong.

Would I do it again? Yes. But budget a day for verification tooling, and know the project has no public repo. The process is closed even though a team at Tencent is behind it.

The full writeup covers the setup, the complete benchmark table, and every pitfall.

ashu.io
u/Countlesshrs — 2 months ago

I got tired of my AI agents getting blocked by every website, so I built an unblockable web access stack with self-hosted Firecrawl, a residential proxy, and Camofox

Every AI agent framework talks about "web access" like it's a solved problem. It's not. My agents were hitting 403s constantly. Cloudflare, Akamai, Datadome — if the site has any bot detection at all, a datacenter IP and a headless browser get blocked immediately.

​

I spent the last few months building a stack that actually works. Five Hermes Agent instances on my homelab, all routing through a residential IP via a Raspberry Pi on a home network. Every request looks like a real person browsing from home.

​

The pieces:

​

  • Firecrawl (self-hosted, 5 Docker containers) handles web extraction and search. SearXNG runs as its search backend — multi-engine aggregation, no rate limits, no API keys.

  • Camofox is a Firefox fork with C++-level fingerprint spoofing. Randomizes canvas, WebGL, audio context, plugins — everything bot detectors look at. Combined with a residential IP, it passes Cloudflare JS challenges, Akamai, Datadome, the works.

  • Privoxy bridges HTTP to SOCKS5 so Docker containers can reach the SSH tunnel.

  • SSH SOCKS5 tunnel to a Raspberry Pi on a home connection via Tailscale.

​

Tested against ESPNcricinfo, Ticketmaster, Nike, Instacart, Amazon, Cloudflare — all return full pages. No more "Access Denied."

​

Total cost: $0/month. Everything is open source. The residential IP is just my existing home internet.

​

ashu.io
u/Countlesshrs — 4 months ago