karakaGitHub

Control your product from chat.

Karaka connects your Node backend to a separate agent. Users ask, “Repeat last month’s order, but ship it Friday.” The agent calls only the tools you expose. Your backend keeps the data, permissions, and business logic.

Orders

Karaka connected

Repeat last month's order, but ship it Friday.

findLastOrder()
createOrder()
scheduleDelivery("Friday")

Done. Order #4812 will ship Friday.

Your backend authorizes every call.

Three packages.

They connect your Node backend to a separate DSH agent without folding the runtime into your app.

@karaka/clisetup

Scaffolds the agent project, Karaka configuration, and first agent preset.

@karaka/sdkyour backend

Streams chats, cancels runs, and exposes functions such as createOrder() as authenticated MCP tools.

@karaka/harnessagent process

Runs the DSH agent with persistent sessions and access to the backend tools you allow.

Use case

Let users run your product from chat without moving its logic or permissions out of your backend.

Does the agent need its own process?

Keep it in your backend if one request finishes the job. Separate it if runs stream, wait, persist, or must survive deploys.