Show HN: I built an open-source Rust/TS AI agent runtime with a Next.js-style DX
by solsol94 | 2025-12-02 16:25:41+00:00
Link: https://docs.trysoma.ai/

For the past ~9 months I’ve been building Soma, an open-source AI agent & workflow runtime written in Rust, with a TypeScript SDK (Python coming soon). It’s not a framework; it’s meant to sit underneath whatever agent/tooling code you already write (Vercel AI SDK, LangChain, custom code, etc.). It provides features around your framework + a better DX for building agents. I’ve tried to take a Next.JS model: open-source, good DX, self-deployable.

I originally set out to build a vertical back-office/operations product for SMEs. I needed a way to coordinate multiple AI agents, workflows, and SaaS integrations (Xero, Gmail, Slack, etc.) behind a single chat interface — something that behaves like “one employee”, even though it’s made of many agents under the hood.

It’s very early. The core runtime, MCP server, and TypeScript SDK are usable, but the multi-agent routing layer is still experimental. I’d really appreciate technical feedback, critiques, or use cases the runtime does or doesn’t fit.

Soma aims to make it easy to run long-lived agents and workflows with the plan being to eventually offer a unified UX to route chats to agents and a governance / observability plane. Features:

* Fault-tolerant runtime

* Built-in chat, MCP server debugger

* Generates Google A2A-compliant endpoints to serve agents & chats

* MCP proxy server that handles credentials + encryption

* Strongly-typed generated clients for your MCP tools

* Multi-platform TS SDK

Coming soon (in active development): Python SDK, multi-agent coordination layer, OIDC/API-key auth middleware, and a VM-based compute sandbox.

I hate how a lot of core features in products, like MCP servers with SaaS integrations are paywalled or not being able to self-host code that models your business processes (which is your IP!!) or needing to buy in to very custom DSL's that don't scale with your business... Plain 'ol code tends to be better if pre-AI orchestrators like Temporal (Conductor) & Restate have anything to say about it under free market conditions and developers will most likely fight tooth and nail to avoid custom DSLs (I've got scars from debugging complex AWS step functions). So what's started out as an experiment to create something to unlock a better developer experience and work towards a more unified AI agent UX & observability has led me here.

I've been working on my own on this for a helluva long time and I'm keen to start getting some feedback and understanding people's use case for the project. I have a few alpha testing clients and engagements with potential enterprises but I'm struggling to understand the right customer to go after. If you have that sort of feedback please reach out to me directly but otherwise, I'm interested in hearing the community's thoughts on this and how to shape it moving forward. (Maybe all my opinions are wrong ¯\_(ツ)_/¯ but I'm keen to engage in the dialogue )

Credit to Restate ( https://restate.dev/ ) and Turso / Libsql / Sqlite fork ( https://turso.tech/ ) for doing a lot of the heavy lifting.