localmesh
v0.1.0
Published
Local-first AI model router SDK for Ollama — route, run, and stream with automatic model selection
Maintainers
Readme
localmesh
Standalone SDK for the LocalMesh router engine. Route each prompt to the best local Ollama model, optionally escalate or run multi-model workflows, and get a structured result.
Install (monorepo)
pnpm --filter localmesh buildWhen published:
npm install localmeshQuick start
import { LocalMesh } from "localmesh";
const mesh = new LocalMesh();
const result = await mesh.run("Create a React authentication hook");
console.log(result);
// {
// model: "qwen2.5-coder:1.5b",
// task: "coding",
// complexity: "medium",
// response: "..."
// }API
new LocalMesh(options?)
| Option | Default | Description |
|---|---|---|
| ollamaBaseUrl | http://localhost:11434 | Ollama endpoint |
| config | hybrid defaults | Router strategy, scoring, escalation, workflows |
| think | true | Ask models for a thinking trace when supported |
| escalate | true | Retry once on a weak answer |
| useWorkflow | true | Auto-match multi-model pipelines for complex prompts |
mesh.route(prompt)
Classify intent / complexity and pick a model without generating.
mesh.run(prompt, options?)
Route + generate. Returns:
{
model: string;
task: "coding" | "debugging" | ...;
complexity: "simple" | "medium" | "complex";
response: string;
routing: RoutingDecision;
latencyMs: number;
// plus tokens, escalation, workflow metadata
}mesh.stream(prompt, options?)
Async generator of events: routing → token* → optional escalation / workflow → done.
mesh.health() / mesh.listModels()
Talk to Ollama directly.
Example
pnpm --filter localmesh example
pnpm --filter localmesh exec tsx examples/basic.ts "Fix this React bug"Publish
From the monorepo root (after npm login):
pnpm publish:sdk:dry # preview
pnpm publish:sdk # publishes only `localmesh` (engine is bundled)No @localmesh npm organization is required — @localmesh/shared, ollama, and router stay private workspace packages and are compiled into this package.
What’s inside
This package wraps the monorepo engine packages:
@localmesh/router— rules, AI classify, scoring, escalation, workflows@localmesh/ollama— Ollama HTTP client@localmesh/shared— shared schemas / types
The LocalMesh app (apps/web + apps/server) continues to use those packages directly; localmesh is the extractable SDK surface for other Node projects.
