๐Ÿš€ Remote Jobs

Bifrost job queue with real-time streaming output. Fire-and-forget agent execution.

What It Does

The Remote Jobs page manages the Bifrost execution queue. Submit a job from Inbox Compose, Remote page, or Task Modal, and it runs autonomously on the Bifrost server. The page shows pending, running, and completed jobs with real-time SSE output streaming.

Job Types

See Bifrost โ†’ Job Types for detailed prompt templates and payloads.

Type Purpose Output
research Deep-dive investigation on a topic HTML report published to /reports/
clara Run Clara modes remotely (sweep, tidy, focus, align) Task/feedback updates in D1, commit to git
workflow Multi-step agent workflow (custom prompt) Varies โ€” code changes, reports, data updates
session Full interactive-equivalent session on a task Code changes, commits, logs
autopilot Autonomous multi-task execution Multiple commits, task status updates

Job Lifecycle

Full lifecycle with timeouts, auto-retry, and scheduled jobs: Bifrost โ†’ Job Lifecycle

Submit from Inbox โ†’ POST to Bifrost API โ†’ Queued (pending) โ†’ Running (SSE output) โ†’ Done / Failed

Status Flow

Status Meaning
pending Job queued, waiting for execution slot
running Claude CLI is executing the job. SSE output streams in real-time
done Job completed successfully
failed Job failed (error in output)
cancelled Job manually cancelled via UI or API

Bifrost Architecture

Bifrost is a Node.js Express server managed by PM2, running on the local machine at bifrost.mipos.io:4003.

Component What
Server apps/bifrost-api/server.js โ€” Express app, PM2-managed
Job controller apps/bifrost-api/controllers/jobs.js โ€” queue, execute, stream
Execution Spawns claude CLI with the job prompt. Captures stdout via SSE
Persistence Jobs stored in D1 via portal API. Bifrost is stateless
Rate-limit auto-retry (A83): If Claude returns a rate-limit error, Bifrost automatically retries the job after a cooldown period. The portal shows a countdown timer during the retry wait. See Job Lifecycle and Troubleshooting for details.

LLM Model Selection (A88)

Each job can specify which LLM provider and model to use. Configure defaults in Settings, or override per-job. See Bifrost โ†’ LLM Providers for full model list, effort budgets, and CLI flags.

Provider Models
Anthropic (Claude) claude-sonnet-4-6, claude-opus-4-6, claude-haiku-4-5
Google (Gemini) gemini-2.5-pro, gemini-2.5-flash
Default behavior: If no model is specified, the job uses the default from Settings (gear icon in sidebar). The Bifrost settings panel in Settings lets you configure provider and model globally.

UI Features

Feature Description
Tab filters Pending / Running / Done tabs to filter the job list
SSE output viewer Click a running job to see real-time streaming output from Claude
Cancel button Stop a running or pending job
Feedback + Comments Leave feedback or comments on any job (same as tasks and reports)
Job details View prompt, model used, duration, and full output log

For Agents

Relevant APIs: POST /api/remote-jobs โ€” create a job (fields: type, prompt, workspace, model, provider). GET /api/remote-jobs โ€” list jobs. PATCH /api/remote-jobs โ€” update status. Bifrost API: POST bifrost.mipos.io:4003/jobs to submit directly. See Remote Job entity for full schema.