January 28, 2026 (5mo ago)
Written by Temps Team
Last updated January 28, 2026 (5mo ago)
Temps ships AI-powered deployment agents that autonomously deploy, debug, and fix your applications — not just suggest actions, but execute them inside your own infrastructure. Unlike GitHub Copilot Autofix or generic AI chat tools, Temps agents run on a cron schedule, read live logs and error traces, open pull requests, and roll back bad deploys — all without leaving your self-hosted environment.
Most tools that call themselves "AI-powered" give you a chatbot or autocomplete. Temps AI agents are different: they are autonomous background workers defined in YAML, stored at .temps/agents/*.yaml in your repository, and executed by the AgentCronScheduler inside the Temps binary (verified in crates/temps-agents/src/services/cron_scheduler.rs).
When a cron fires, the scheduler emits an AutopilotTrigger job onto the internal JobQueue. The executor picks it up, spins up the configured AI CLI — claude_cli, codex_cli, or opencode (all three are real providers verified in crates/temps-agents/src/ai_cli/) — streams output line by line, and persists the run in the agent_runs table. The agent can read your deployment logs, query error-tracking data, push code to a branch, and open a pull request — all autonomously.
| Capability | Manual CI/CD | GitHub Copilot Autofix | Temps AI Agents |
|---|---|---|---|
| Autonomous scheduling | No (manual trigger) | No (PR-scoped only) | Yes — cron or deploy trigger |
| Reads live runtime logs | No | No | Yes — access to Temps log store |
| Reads error tracking data | Requires external tool | Limited (PR diffs) | Yes — built-in error tracking |
| Opens pull requests automatically | No | Yes (PR suggestions) | Yes — full branch + PR creation |
| Rolls back bad deploys | Manual / scripted | No | Yes — rollback trigger |
| Self-hosted, no data leaves your server | Partial (vendor CI) | No (GitHub SaaS) | Yes — single binary, your infra |
| AI provider flexibility | N/A | GitHub Copilot only | claude_cli, codex_cli, opencode |
| Cost | CI minutes (billed per min) | Copilot subscription | Included in Temps; self-host free |
1. Agents are defined in repository YAML with a proven schema
Your agent configuration lives in .temps/agents/ at the root of your repo. The AgentYamlConfig struct (in crates/temps-core/src/repo_config.rs) defines the exact fields:
name: error-fixer
description: Detects and fixes new error groups automatically
on:
schedule:
cron: "0 */6 * * *"
error:
new_issue: true
system: |
You are an automated error fixer. Analyze the error, find the root cause,
write a fix, and open a pull request. Use {{error_type}} and {{error_message}}
as context variables.
ai_provider: claude_cli
max_turns: 20
branch_prefix: fix/agent-
deliverable: pull_request
The system: field (not system_prompt:) is the system prompt. max_turns controls how many AI turns run before the agent stops (verified: crates/temps-agents/src/ai_cli/claude.rs passes --max-turns to the CLI when max_turns > 0).
2. AgentCronScheduler is a real service, not marketing copy
The AgentCronScheduler struct (line 17 of crates/temps-agents/src/services/cron_scheduler.rs) polls AgentConfigService for scheduled agents and emits AutopilotTrigger jobs when a cron expression fires. It uses minute-aligned polling, the same pattern as the database cron config service. Runs are recorded in the agent_runs table; agent configs come from the project_agents table. Both are Sea-ORM entities, not in-memory state.
3. Three AI CLI providers are fully implemented
Temps supports three AI CLI backends in production code:
claude_cli — wraps Claude Code CLI, passes --max-turns, streams JSON output line-by-line (crates/temps-agents/src/ai_cli/claude.rs)codex_cli — wraps OpenAI Codex CLI, same streaming interface (crates/temps-agents/src/ai_cli/codex.rs)opencode — wraps the OpenCode CLI, configured via opencode auth add (crates/temps-agents/src/ai_cli/opencode.rs)No specific model is hardcoded in source — the ai_model field lets you pick the model within the chosen provider, or leave it null to let the CLI use its default.
When your AI agent runs inside a third-party SaaS, it can only see what the platform exposes through its API. Temps agents run inside your own server, with direct access to:
This is the core architectural difference: the AI agent is not a layer on top of your infrastructure. It is a first-class component inside the same binary that runs your proxy, analytics, and error tracker.
Beyond scheduled autonomous agents, Temps ships an interactive Autofixer for error groups surfaced in the dashboard. The flow is two-phase:
You can approve, reject, or ask follow-up questions. When approved, the agent opens a branch and pull request. The Autofixer uses the same agent_runs infrastructure as autonomous agents, with SSE streaming so you see the AI output in real time.
Temps is Apache 2.0. Self-hosting is free. Temps Cloud (managed Hetzner) costs approximately $6/month (Hetzner cost + 30% margin, no per-seat fees).
# Install Temps (single binary — replaces Vercel, Sentry, PostHog, FullStory, Pingdom, and managed DBs)
curl -fsSL https://temps.sh/install.sh | bash
# Deploy your first app
bunx @temps-sdk/cli deploy my-app -b main -e production -y
# Enable AI agents — add a YAML file to your repo and redeploy
mkdir -p .temps/agents
cat > .temps/agents/error-fixer.yaml << 'EOF'
name: error-fixer
on:
error:
new_issue: true
system: |
Analyze this error and open a pull request with a fix.
ai_provider: claude_cli
max_turns: 15
branch_prefix: fix/agent-
deliverable: pull_request
EOF
git add .temps/agents/error-fixer.yaml && git commit -m "feat: add error-fixer agent" && git push
On the next deployment, Temps reads .temps/agents/, upserts the config into project_agents, and the AgentCronScheduler starts watching for triggers.
Temps is a single Rust binary that self-hosts all of these:
| Tool | Replaced by |
|---|---|
| Vercel / Railway | Temps deployments + Pingora proxy |
| PostHog / Plausible | Temps web analytics |
| FullStory | Temps session replay |
| Sentry | Temps error tracking (feeds AI agents directly) |
| Pingdom | Temps uptime monitoring |
| Managed Postgres / Redis | Temps managed databases |
| Transactional email | Temps email |
The AI agents benefit directly from this integration: there is no API boundary between the agent and the error tracker, the session replay data, or the deployment system. When the agent fixes a bug, it can immediately see whether the next deployment resolves the error — without a webhook, a third-party integration, or an API key.
Agent capabilities are part of the active development sprint. The feat/autopilot branch has been merged and is shipping in upcoming releases.