Michael Thomson
Agent deployment and orchestration platform

Everagentic

Deploy workspace-scoped router agents, sub-agents, and fine-tuned models, where every prompt, skill, tool, and config is editable from the UI. Agents are built from definitions on disk rather than from code, and an edit takes effect on the next request.

Overview

Most agent code hard-codes the agent. Everagentic treats an agent as data: a definition that can be created, edited, previewed, and validated through an API, with a Node control plane as the only thing that talks to the Python runtime. That separation is what makes a non-engineer able to change an agent's behaviour without a deploy.

What it does
  • 01Agents defined on disk, edited from the UI
  • 02Router, sub-agent, and model endpoints
  • 03Changes take effect on the next request
  • 04Streaming responses over SSE
  • 05Definitions validated without calling a model
  • 06Liveness and readiness treated as different questions

Three services, one repo

agents/
  • Python 3.13, FastAPI
  • LangChain / deepagents
  • Compiles agents from definitions
backend/
  • Node 20+, Express 5, TypeScript
  • MongoDB, JWT auth
  • The only service that talks to agents/
frontend/
  • React 19, TypeScript
  • Every prompt and tool editable
  • Template preview that saves nothing

The API surface

A scope is a workspace. Everything below is scoped to one, and the same call becomes a conversation simply by naming a chat.

Topics
  • POST /api/{scope}/router/{id} — the full routed loop
  • POST /api/{scope}/agent/{id} — one agent directly
  • POST /api/{scope}/model/{id} — one voice directly
  • …/stream — the same, as server-sent events
  • …?chat={id} — makes any of them a conversation
  • POST /api/{scope}/journey/{id} — every step, then a template
  • /admin/api/… — create and edit definitions

Decisions worth defending

Capabilities
  • Without a chat id the response is guaranteed not to end in a question — on a single-response endpoint nobody can answer one
  • /health is liveness, /ready is 'should traffic come here' — a process with no provider key is alive but wants removing from the load balancer, not restarting
  • Every definition can be validated without calling a model, so a broken agent is caught before it costs a request
  • The test suite runs with no API key and no network
Built with
Python 3.13FastAPILangChain / deepagentsNode.jsExpress 5TypeScriptMongoDBReact 19Server-Sent Events