Your backend
findCustomer()createOrder()issueRefund()Karaka is the open-source bridge between your Node backend and a separate DSH process. It adds chats, streaming, ownership, and authenticated backend tools without locking the DSH plugin tree.
findCustomer()createOrder()issueRefund()DSH is an application runtime. Your backend is a request server. They do different jobs.
A DSH profile boots a plugin tree, runs model loops, and owns long-lived sessions. Its lifecycle should not be tied to your web server.
Consumer apps need to create and resume chats, stream responses, cancel work, and keep each chat bound to the right application, tenant, and user.
Orders, billing, and user data do not need to move into the agent process. The agent should call narrow, authorized functions where they already live.
Enough product glue to connect your backend and the DSH process.
Create chats, send prompts, stream responses, read history, change models, and cancel work from your Node backend.
Register selected callbacks on your existing HTTP server. Karaka calls them through authenticated MCP with trusted application, tenant, user, and chat context.
karaka start launches a DSH profile that mounts agent presets, keeps durable sessions, and runs separately from your backend.
Karaka owns the connection. DSH still owns the agent runtime.
Because the harness is plugins all the way down.
Model adapterChange the model provider.
Agent loopChange the orchestration.
Session log + persistenceChange how agent history is stored.
Tools + skillsAdd or restrict capabilities.
Filesystem + sandboxChoose where work runs.
Credentials + policy + telemetryChoose the surrounding platform services.
Karaka preserves this. Every agent is still a DSH Agent Preset with its own Cordis composition. Change the plugins; the backend SDK and MCP bridge stay the same.
Karaka is not the right default for every agent.
Karaka is alpha software for teams that want to evaluate and shape a self-hosted agent runtime.
Explore the sourceNot a managed platform.