One API. Every model. Streaming, skills, tools, memory, webhooks, and open-source adapters for Telegram and WhatsApp. All the plumbing. None of the mess.
npm install @hitheo/sdk - then pick your use case.
OPEN SOURCE · TYPESCRIPT · FULL DOCS
DOCS: SDK REFERENCE →import { Theo } from "@hitheo/sdk";
const theo = new Theo({ apiKey: "theo_sk_..." });
const res = await theo.complete({
prompt: "Explain quantum computing simply",
mode: "auto", // → routes to Theo Flash (quick chat)
});
console.log(res.text);
console.log(res.model); // "theo-1-flash"
console.log(res.cost); // "$0.0003"Same brain, same memory, same skills. Every channel. Open-source adapters.
Every request flows through six stages. Your prompt in, the perfect engine out, automatically.
CLICK ANY STEP TO LEARN MORE
DOCS: ORCHESTRATION PIPELINE →The right model for every message. Every time. Automatically.
Click any model to explore
Docs: Engine Routing →Theo reads every prompt and picks the right engine in the background. No keywords, no configuration, no routing tables to maintain.
Simple questions use fast, cheap models. Complex reasoning gets the premium ones. You save on every routine request, automatically.
Most prompts classify in milliseconds. Quick answers feel instant. Long-running tasks stream so users never wonder if it froze.
If one provider hiccups, Theo slides to the next. Your widget, your app, and your automations keep working. Your users never notice.
Example performance profile for each routing mode. Live numbers replace these automatically once telemetry accumulates.
Open benchmark suite, documented methodology, reproducible results. No cherry-picked numbers.
Read methodologyType a prompt and watch theo decompose it into a multi-model execution chain, routed and run in real time.
TRY A MULTI-MODEL PRESET OR TYPE YOUR OWN
// The same routing happens whether you call it from your app,
// embed the widget, or type in the playground.
theo.ask({
prompt: "Build me a video about a dog on a skateboard and roast me about it",
mode: "auto",
});
// → Theo Code (auto)Your persona. Your skills. theo's engine under the hood.
DOCS: PERSONAS & E.V.I. →Replace Theo's personality with your own brand. Your users never see Theo. They see your AI.
Install marketplace skills for domain expertise. Pass inline tools for your product's actions.
Drag-and-drop skill builder. Connect prompts, models, tools, vision nodes. Compile, test, and publish.
Multi-model routing, intent classification, agent loop, memory, billing, caching: all handled.
const model = pickModel(prompt);
const tools = resolveTools(user);
const system = buildPrompt(persona, skills);
const res = await llmProvider.complete({ model, ... });
const toolResults = await executeTools(res);
const final = await llmProvider.complete({ ... });
await debitCredits(user, res.usage);
await logAudit(user, res);import { Theo } from "@hitheo/sdk";
const theo = new Theo({ apiKey: process.env.THEO_KEY });
const evi = theo.evi({
persona: "You are Eva, AcmeCorp's AI...",
skills: ["insurance-quoting"],
tools: [lookupCustomer, updatePolicy],
});
const res = await evi.complete({ prompt: "..." });ONE API CALL. EVERYTHING HANDLED.
Intent classification. Model routing. Skill injection. Tool execution. Memory. Streaming. Billing. Audit. Caching. All from evi.complete().
An app store for AI capabilities. Install domain skills that give Theo specialized knowledge - or build and publish your own.
BROWSE · INSTALL · PUBLISH
Compare rates across 5+ carriers in real-time. Pre-built data connectors, carrier-specific rate tables, and compliance guardrails.
Analyze PRs for security vulnerabilities, performance issues, and architecture anti-patterns. GitHub, GitLab, Bitbucket.
Multi-step web research with source synthesis. Crawl, read, and produce cited reports, not just summaries.
OCR + structured extraction from PDFs, images, and scanned documents. Returns typed JSON, not raw text.
Blog posts, emails, social copy. Adapts tone to your brand voice. SEO optimization built-in.
Build via code or the visual Canvas. Publish privately, to your org, or to the public marketplace.
import { defineSkill } from "@hitheo/sdk";
export default defineSkill({
name: "inventory-check",
tools: [checkStock, reorderAlert],
knowledge: ["./catalog/*.json"],
});
// npx theo publishDrag-and-drop visual builder. Connect prompts, models, tools, and vision nodes. No code required.
OPEN CANVAS →PUBLISH YOUR WAY
Publish privately (just you), to your organization (team-only), or to the public marketplace. Earn credits for every API call that activates your skill.
One dashboard for everything. Keys, usage, logs, routing config. No more switching between 4 provider consoles.
Channel-agnostic core. Open-source adapters for Telegram and WhatsApp forward webhook updates into Theo; pass the same conversation_id to share memory across channels.
@hitheo/telegram@hitheo/whatsapp@hitheo/sdk@hitheo/telegram@hitheo/whatsapp@hitheo/sdkslack-messenger skill or incoming webhooktheo.completeEvery action in Theo fires a signed event. Route it to Slack, email, your CRM, or any of 5,000+ apps — without writing a backend.
Stream every completion with mode, tokens, and cost into your warehouse.
Theo-Webhook-Signature: v1=…{
"event": "completion.created",
"mode": "fast",
"tokens": 340,
"costCents": 2
}Already shipping with the OpenAI SDK? Point baseURL atapi.hitheo.aiand you're on Theo. Auto-routing, multi-model, same API.
import OpenAI from "openai";
const theo = new OpenAI({
apiKey: process.env.THEO_API_KEY,
baseURL: "https://api.hitheo.ai/v1",
});
const res = await theo.chat.completions.create({
model: "theo-1-auto",
messages: [{ role: "user", content: "Write me a haiku about Miami" }],
stream: true,
});Not a toy. Not a wrapper. Theo is the same infra our own apps run on.
Token-level streaming with tool events, artifacts, and follow-ups. Also speaks the OpenAI chat.completion format natively.
Skills declare their tools in a manifest. Theo plans, calls, observes, and retries with full audit trails.
HMAC-signed deliveries with automatic retries, dead-letter queue, and idempotency keys for safe replays.
Circuit-breaker across OpenRouter, Anthropic, Gemini, and Venice. Users never notice an outage.
Pass a conversation_id and every channel (web, Telegram, WhatsApp) shares the same memory.
Per-token passthrough with unified billing. Daily caps, per-key attribution, and soft/hard limits.
Add funds. Use the API. Simple.
Add dollars to your balance and draw down per token. Passthrough model costs plus a small platform fee. No plans. No subscriptions. No commitments.
CREATE ACCOUNTBilling by OpenCharts Inc., the company behind Theo.
One API key. Ten intelligent engines. Automatic routing. Conversations & memory. Extensible skills. Open-source SDK.
Start free in 30 seconds. No credit card. Your users get better answers. You write less code.