Your agents.
Your system.
Your rules.
Run multiple custom agents on your own machine — with any LLM, cloud or local.
Cloud AI agents were designed for vendor convenience, not yours.
- Your conversations, files, and credentials flow through servers you don't control or audit.
- You're locked to one model per tool. Switching providers means starting over.
- One agent fits all — no way to have a coding agent, a research agent, and a writing agent with their own configs.
- Autonomous background tasks are either expensive add-ons or simply missing.
- Running a local model like Llama or Mistral? Agent tooling that connects to it barely exists.
Install once. Configure once. Just use it.
The omnideck CLI wraps Docker or Podman and handles everything — install, update, health checks. No YAML archaeology required.
Pull and run
One CLI command pulls the container and starts Omnideck. The setup wizard walks you through connecting your LLM providers. Everything runs locally — no accounts, no signup, no cloud dependency.
Create your agents
Build agent profiles — each with its own system prompt, model, skills, and tool access. A coding agent running on a local Llama model. A research agent on GPT-4o. A writing agent on Claude. All in one UI.
Put them to work
Chat with any agent. Switch agents mid-conversation. Watch sub-agents spin up and complete tasks in real time. Set recurring background tasks and get notified when they finish.
switch agents at any point in the conversation →
One workbench.
As many agents as you need.
Most AI tools give you one generic assistant. Omnideck lets you build a team. Each agent is a fully independent configuration — its own model, system prompt, tool access, memory, and inference parameters. Swap between them in any conversation.
And when a task calls for parallel work, the active agent can spin up sub-agents on the fly — dedicated helpers that run autonomously and report back.
- Per-agent model selection — mix cloud and local models in the same session
- Per-agent tool access — lock an agent to only the tools it needs
- Per-agent system prompts, temperature, and context window settings
- Switch the active agent mid-conversation without losing context
- Agents can spawn sub-agents for delegated, parallel workstreams
- Watch sub-agent turns stream live — every tool call, every result
The right model for every job.
Switch models per agent profile in seconds. Route to a local model for anything sensitive. No vendor lock-in, ever.
Cloud and local models, side by side
Point each agent at OpenAI, Anthropic, OpenRouter, Ollama, or any OpenAI-compatible endpoint. Change the model on any agent profile in the settings panel — no restart required.
Long conversations that don't break
When a conversation approaches the model's context limit, Omnideck runs an automatic compaction pass — summarizing history while preserving critical facts. You can even assign a different, cheaper model just for compaction.
→ compacting with gpt-4o-mini…
✓ compacted to 12,200 tokens
✓ ready to continue
Every tool an agent needs, already included.
Real browser automation — structural and visual
A persistent, headed browser handles full web automation. Agents navigate via accessibility trees for structured UIs and fall back to screenshot + vision model analysis for anything custom. Sessions, cookies, and auth state persist across tool calls.
✓ 30 interactive elements found
→ tool: read_page
✓ 3,800 tokens of clean markdown
→ tool: remember "top_story" "..."
✓ memory updated
Write and run code — for real
The agent writes files, runs bash commands with full stdout/stderr streaming, installs packages, and sends output files back to the UI. Execution policy controls what it can and can't touch.
"python analyze.py"
streaming…
rows: 14,832 | anomalies: 3
✓ output: report.csv
Facts that survive session resets
Agents store and retrieve keyed facts across conversations. Atomic writes ensure nothing is lost mid-turn. Private keys are hidden from the UI.
Gmail, Google Workspace, iCloud, and HTTP APIs
Connect Gmail, Google Workspace (Mail, Calendar, Drive, Contacts), iCloud (email and calendar), or any REST endpoint — each integration isolated in its own broker process, credentials never exposed to the agent.
Full filesystem access in the shared space
Read, write, edit, patch, grep, move. Agents work inside the shared file space you define — and only there.
🚫 No access to rest of your filesystem
🚫 No telemetry or tracking
🚫 Agent cannot read the credential vault
The agent is sandboxed. Your system is not its playground.
Omnideck runs entirely inside a container. The agent has no access to your filesystem, processes, or network outside of what you explicitly share. If an agent makes a mistake or goes off-script, the blast radius is the container — not your machine.
Credentials for external services live in an encrypted local vault managed by an isolated supervisor process. The agent itself never handles raw API keys.
- Container boundary prevents filesystem and process access beyond the shared space
- Credentials encrypted at rest (AES-256-GCM), never visible to the agent or the LLM
- Three-UID process model — the agent's OS user literally cannot open the credential vault
- Execution policy controls which bash commands the agent is allowed to run
- No outbound connections to tracking servers — your data stays on your machine
Set it. Forget it.
Get notified.
Define goals with ordered task lists and recurring schedules. The task engine runs them in the background, using the same agent loop and tool access as interactive conversations. When a run completes — or fails — you get a notification with output files attached.
- Cron-style or one-off scheduling with full timezone support
- Concurrent goal execution with configurable limits
- Crash-safe: tasks stuck in "running" reset automatically on restart
- Full goal, run, and result history persisted to disk
"You shouldn't have to choose between a capable AI agent and owning your own data. Omnideck is the workbench that doesn't make you pick."
Your agents. Your models.
Your machine.
Omnideck is open source and free to run. Pull the container, connect your LLMs, and have your first agent working in under five minutes.