Skip to content

skein-jsRun LangGraph.js agents on your own infrastructure.

An open-source TypeScript runtime that handles the backend around your graphs, so you can focus on your application.

Your application

LangGraph SDK · useStream

Agent Protocol

skein-js

Self-hosted backend

  • API & streaming
  • Persistence
  • Background jobs
  • Console

Your LangGraph.js agent

Graph logic & execution

Your models & tools

Chosen in your graph

LangGraph runs the graph. Skein supplies the backend.

Why skein-js? ​

skein-js is an open-source TypeScript runtime for hosting LangGraph.js agents. LangGraph defines and executes your graphs; Skein provides the API, persistence, streaming, background work, and console around them.

A working graph still needs a backend before people can use it. Skein supplies that infrastructure so you can ship an assistant, research tool, or approval workflow while keeping your graph code, models, and tools. It is an Apache-2.0 alternative to LangGraph Platform (now LangSmith Deployment) that you run on your own infrastructure.

Quick start ​

Use Node 24 (recommended):

bash
npm create skein-js@latest my-agent
cd my-agent
npm run dev

Accept the scaffolder's defaults to install dependencies and try an echo graph that needs no API key, database service, or Docker. Open http://localhost:2024/console and send a message.

Your first agent takes you through adding a model and tools, then deploying. Skein is pre-alpha; see the roadmap for support and known gaps.

Already using LangGraph? ​

Install the CLI in your project with npm install -D skein-js, then replace langgraph dev with skein dev. Keep your langgraph.json, graph exports, and LangGraph SDK clients. CLI compatibility documents supported commands, fields, and limitations.

Run it your way ​

PathUse it forGuide
Standalone serverA shared service with Postgres and RedisServer deployment
Existing backendGraphs alongside your Express, Fastify, NestJS, or Next.js routesEmbedding
Local applicationA desktop app, CLI, or daemon with one Node process owning a SQLite fileLocal deployment

Each path uses the same Agent Protocol engine. The default development server uses memory drivers; choose durable storage when you need persistence beyond development.

See it running ​

The console is served by your own process at /console. Test a graph, follow live runs, review approvals, and browse memory and schedules. It is enabled in development and off by default in production. Test your graph in the console, then save important cases as automated project tests.

Testing a graph in the skein console Playground

Testing a graph in the skein console Playground in dark mode

Where to go next ​

Browse features for capabilities, recipes for practical patterns, or examples for runnable projects. Connect traces and analytics with observability.

LangChain Deep Agents support is experimental: see the Deep Agents recipe.