DEV Community

Tianshu AI
Tianshu AI

Posted on

I promised an AI agent platform with 3 things fixed. Here's v0.5, delivered.

A few months ago I posted a video saying I'd build an open-source,
self-hostable AI agent platform from scratch. No code yet — just three
things I kept hitting with existing agents that I wanted to fix:

  1. You can't see progress. You give an agent a job, walk away, come back — and it's been sitting on "npm or pnpm?" for 20 minutes. Or it died half an hour ago and never told you.
  2. No real isolation. Most agents are single-user. On a shared box, a leftover browser session means one person's task quietly uses another person's account.
  3. No continuity across devices. Start on your phone, you can't pick it up on your laptop.

This post is me keeping that promise. Tianshu
v0.5
ships all three — here's each, running.

Promise 1 — visible progress

A Kanban board backed by a worker pool. The orchestrator drops tasks
onto Ready; workers pick them up, run them, stream their transcript
live, and move them to Done. A task that dies is marked
awaiting intervention — not a silent screen.

Board with a live worker run

(That screenshot is a real run — I dropped two tasks in, a Coder worker
is mid-flight on one of them.)

Promise 2 — real isolation

Every tenant runs in its own Linux sandbox. The default backend is
OpenShell (Docker), which — unlike a Hypervisor.framework microVM —
barely touches idle CPU on Apple Silicon, and ships a network egress
policy
: the agent can only reach hosts on an allow-list; anything else
is blocked on the spot and logged.

Sandbox network policy

Files are isolated the same way — one workspace per tenant, browsable in
the UI, persisted across sessions. Every row carries a tenant_id from
the first line of code; this was a hard design rule, not a retrofit.

Promise 3 — continuity across devices

A channel system routes messages to the agent regardless of surface.
WeChat is wired first; more channels are on the way.

The bonus round

Things I didn't promise but built anyway:

  • Workforce Studio. Your whole agent config — main agent, every worker, the enabled plugin set, prompt blocks — pulled into one Solution you can edit in a three-pane IDE, diff against what's running, export/import as a file, and activate in one click. Config becomes something you version, diff, and share. You manage your agent the way you manage code.

Workforce Studio

  • Key-free web search (web_search + web_fetch) — no API keys.
  • Point-and-click config for the model provider catalog (keys stay masked and server-side), MCP servers, and per-plugin settings.

Try it

npm install -g @tianshu-ai/tianshu
tianshu setup   # a wizard configures a provider, sandbox, etc.
Enter fullscreen mode Exit fullscreen mode

Open source (Apache-2.0), self-hostable: https://github.com/tianshu-ai/tianshu

⚠️ Heads-up: in v0.5 the admin/Settings pages aren't behind an auth
gate yet — run it as a single trusted operator for now. A proper
auth/role gate is next on the roadmap.

If those three pains sound like your week, I'd love your issues — what's
missing, what I got wrong, what to copy from.

Top comments (0)