AI-native open-source alternative to Vercel + Sentry + PostHog + Pingdom + Resend + E2B. 440+ CLI operations with drop-in skills for Claude Code, Codex & OpenCode — deployments, analytics, session replay, error tracking, OpenTelemetry, email, sandboxes & AI gateway in one self-hosted Rust binary.
$ npx -y skills add gotempsh/temps --agent claude-code
Repo: gotempsh/temps
What's inside
Website · Docs · Discussions
curl -fsSL https://temps.sh/deploy.sh | bash
Every operation in the dashboard is also a CLI command — 440+ of them across 69 groups — and Temps ships the skills that teach an agent how to use them. Drop them into Claude Code, Codex, OpenCode, or any harness that reads .claude/skills/, and your agent can deploy, inspect traces, run migrations, or add a domain without you writing the glue.
bunx @temps-sdk/cli projects list
bunx @temps-sdk/cli deploy my-app --environment production
bunx @temps-sdk/cli analytics ai-agents -p my-app --period 7d
Temps runs those agents for you too: workflow sandboxes execute Claude Code, Codex, or OpenCode against your repository, with platform-wide skills and MCP servers injected automatically.
Ask about your project and the answer comes from your data — traces, metrics, alarms, deployments, and revenue — not from a generic model guess. It is read-only by default: write actions are opt-in, and even then the assistant proposes the change and waits for you to confirm.
Bring your own provider keys (OpenAI, Anthropic, xAI, Google Gemini) and call them all through one OpenAI-compatible endpoint — swap the base URL, keep the SDK you already use. Keys stay encrypted on your server, and every request is attributed: tokens, latency, error rate, and estimated cost per model.
Web analytics with funnels, visitor tracking, and session replay (rrweb) built in — no external services, no data leaving your servers. This is what no other self-hosted PaaS has.
Uptime monitors with status timelines, plus alerts for deploy failures, runtime crashes, certificate expiry, and backup health. Get notified before problems reach users.
Drop-in Sentry replacement: point the official Sentry SDK at your Temps DSN and get error groups, stack traces with source context, and alerts. No per-event pricing.
Every HTTP request logged with method, path, status, response time, and routing metadata — including per-AI-crawler traffic (OpenAI, Anthropic, Perplexity, Google…). Runs on Cloudflare's Pingora engine with auto TLS via Let's Encrypt (HTTP-01 & DNS-01).
Add sender domains with DKIM records through the UI and send via @temps-sdk/node-sdk — or plug in AWS SES, Scaleway, or any SMTP relay.
Point any OTLP exporter at Temps and get distributed traces, metrics, and structured logs in the same place as everything else. Traces show per-span latency and errors across services; metrics keep your golden signals; alerts fire off those metrics and land in one queue you can acknowledge or resolve. No Grafana, Prometheus, Jaeger, or Loki to run.
Real hardware-level isolation, not just containers. Sandboxes run on Firecracker microVMs — the same tech behind AWS Lambda — with a Docker backend as the default. Run temps firecracker setup and Temps routes sandboxes to microVMs automatically; each one gets its own kernel, so untrusted agent-generated code never shares a kernel with your host.
Experimental: microsandbox (libkrun) microVMs. A second microVM backend that boots in ~150 ms from a cached image, pulls OCI images natively and also runs on Apple Silicon Macs. Run temps microsandbox setup, restart temps serve, and pick it per sandbox (backend: "microsandbox") or as the host default. It is meant for trusted and agent workloads; keep Firecracker for hostile multi-tenant code. Interactive terminals (temps sandbox shell) work on it once the guest terminal agent is staged — temps microsandbox setup --pty-agent-bin <path>, or ship temps-pty-agent next to the temps binary. Not included in the musl container image. See ADR-050.
A drop-in SDK. @temps-sdk/sandbox is compatible with the @vercel/sandbox shape — switch providers by changing the import and base URL:
import { Sandbox } from '@temps-sdk/sandbox'
const sandbox = await Sandbox.create({
source: { type: 'git', url: 'https://github.com/example/repo.git', revision: 'main' },
})
const { stdout } = await sandbox.exec(['npm', 'test'])
const url = sandbox.domain(3000) // live preview of a dev server inside the VM
Password-protected previews. Every sandbox port can be exposed on a public preview URL and locked behind a generated password:
bunx @temps-sdk/cli sandbox password sbx_abc123 --rotate --length 32
bunx @temps-sdk/cli sandbox password sbx_abc123 --clear # open it back up
Share a running branch without shipping it to the world.
Also available via CLI and REST API. What you'd otherwise pay E2B, Daytona, or Vercel Sandbox for.
Each sandbox gets a shell, a preview URL template for any port it binds, and a timeline of everything that happened to it:
Visitors, errors, deployment status, and monitoring health per project — one place instead of six browser tabs.
Push to Git and Temps builds, deploys, and creates preview URLs with zero-downtime rollouts — any language, auto-detected. Provision Postgres, Redis, S3 (MinIO), and MongoDB alongside your apps; creation, backups, and teardown are handled for you.
Showing a partial view of a very large repo.
FAQ
temps is a Claude Code plugin with 13 hand-picked skills for operations work, indexed on Flowy. Install it with the command on its page. It includes add-custom-domain, add-error-tracking, add-node-sdk. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it