Skip to content

Kneo Agent Studio

The development and migration UI for the Kneo Agent Platform.

Studio turns prototype agents built in n8n or Dify into governed, observable, auditable Kneo specs — and tells you, in detail, what it could not carry across. Every construct Kneo has no form for (output parsers, memory, retrieval, inline secrets, branch predicates, prompt variables) becomes a gap card you have to see; blocking cards refuse export until they are resolved.

The split with Kneo Agent Dashboard is by environment: Studio proves a spec compiles, test-runs, and is debuggable in dev / local, then hands it off; the Dashboard's Launch takes it into staging / production and operates it.

Studio creates governed Kneo specs. Dashboard launches and operates them.

Architecture

React/TS SPA  ──/api/*──▶  FastAPI BFF  ──┬──▶ kneo_client.agent ──/v1──▶ kneo-serv
 (frontend)                (backend)      │     (validate/compile/graph/policy)
                                          ├──▶ kneo_client.platform  (read-only pre-flight)
                                          └──▶ importers / normalize / gap  (studio-domain, local)
  • Backend — a thin FastAPI BFF. Platform routes go through kneo_client; the studio-domain importers run locally: each source's adapter reads its own format into a neutral IR, and one lowering turns that IR into a Kneo version: v1 spec. kneo_client is its only Kneo dependency.
  • Frontend — a React + TypeScript SPA. YAML is the source of truth; the graph canvas is a read-only projection of the topology the platform returns.

The pipeline

Import artifact → map nodes/tools/secrets → generate Kneo spec → show gaps
  → add policy/HITL → validate/compile → test run + debug (dev/local) → hand off
                            ↑___________________________|
                              "why did it do that?"

Import — n8n workflows and Dify app exports. Unsupported constructs become "manual mapping required" cards; a workflow that cannot be mapped onto a Kneo family at all is reported as such rather than wrapped.

Debug — the run's graph animated by its live position, the trace, checkpoints and their diff, and Stop. Replay and resume are later cuts.

Hand off — export the governed spec as YAML, or convert it on the Hand-off page into the inline JSON the Dashboard's Launch accepts.

Deployment security

Studio is a multi-user server whose default deployment is your own machine. With the default auth_mode = none it binds loopback, needs no login, and refuses to start on a routable address. To share an instance with a team, set KNEO_STUDIO_AUTH_MODE to static or oidc — see hosting for a team.

Run

The published wheel bundles the built SPA, so a bare install serves the full UI and API same-origin — no container and no database service (SQLite is created for you):

pip install kneo-studio
kneo-studio        # serves UI + /api on 127.0.0.1:8091

A container image (ghcr.io/kneo-agent/kneo-studio) is also published for shared hosts, with PostgreSQL support built in.

Start with the quickstart. The examples are four n8n workflows and one Dify app, with the measured outcome of importing each — import chat-agent.json first, the clean reference.