Orbital 是 AI Skill Hub 本期精选Agent工作流之一。综合评分 7.5 分,整体质量较高。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
为你的智能代理提供一个项目,而不是一个提示。Orbital是一种更高级的AI工作流,允许你为你的智能代理提供一个具体的项目,而不是一个模糊的提示。这种方法可以帮助你更好地控制你的智能代理的行为和结果。
Orbital 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
为你的智能代理提供一个项目,而不是一个提示。Orbital是一种更高级的AI工作流,允许你为你的智能代理提供一个具体的项目,而不是一个模糊的提示。这种方法可以帮助你更好地控制你的智能代理的行为和结果。
Orbital 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install orbital
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install orbital
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/zqiren/Orbital
cd Orbital
pip install -e .
# 验证安装
python -c "import orbital; print('安装成功')"
# 命令行使用
orbital --help
# 基本用法
orbital input_file -o output_file
# Python 代码中调用
import orbital
# 示例
result = orbital.process("input")
print(result)
# orbital 配置文件示例(config.yml) app: name: "orbital" debug: false log_level: "INFO" # 运行时指定配置文件 orbital --config config.yml # 或通过环境变量配置 export ORBITAL_API_KEY="your-key" export ORBITAL_OUTPUT_DIR="./output"
<p align="center"> <strong>English</strong> · <a href="README.zh-CN.md">简体中文</a> </p>
<p align="center"> <img src="docs/subagent-dispatch.gif" alt="Delegating work to Claude Code from inside an Orbital project" width="800"> </p> <p align="center"><em>You assign work to the project. The agent plans, delegates to Claude Code, and reports back.</em></p>
<p align="center"> <img src="docs/approval.gif" alt="Claude Code requests approval to create a folder — approved from phone" width="800"> </p> <p align="center"><em>Consequential action — approval request to your phone — work continues.</em></p>
The project workspace you and your agent share — with memory that persists,
sandbox boundaries you set, and approvals you control.
<p align="center"> <a href="https://github.com/zqiren/Orbital/releases/download/v0.5.1/Orbital-Setup-1.0.0.exe"><strong>Windows Installer (.exe)</strong></a> · <a href="https://github.com/zqiren/Orbital/releases/download/v0.5.1/Orbital-1.0.0-macOS.dmg"><strong>macOS Installer (.dmg)</strong></a> · <a href="https://www.youtube.com/watch?v=ranTQFmW6vU"><strong>Watch the demo</strong></a> </p> <p align="center">Set up in under 5 minutes. No Python or Node required.</p>
<p align="center"> <img src="docs/screenshots/orbital-logo.png" alt="Orbital" width="80"> </p>
<details> <summary><strong>Orbital Is / Is Not</strong></summary>
| Orbital **IS** | Orbital **IS NOT** |
|---|---|
| A project workspace where you and your agents share the same files, history, and context | A cloud service — everything runs on your machine |
| A sub-agent coordinator: Claude Code, Codex, Gemini CLI (supports [ACP](https://agentcommunicationprotocol.dev/) transport) + [claude-agent-sdk](https://github.com/anthropics/anthropic-sdk-python) | An OpenClaw fork — custom agent loop, built from scratch |
| Remote supervision: approve actions, browse workspace files, upload from phone | A chat wrapper — agents run continuously via cron and file watchers |
| Budget controls, autonomy presets, credential management (OS keychain) | Fully autonomous God Mode (yet) — scheduler-driven today, full autonomy on the roadmap |
</details>
<details> <summary><strong>Project & Workspace Model</strong></summary>
Each project maps to a workspace directory and maintains its own sessions, triggers, and configuration.
<p align="center"> <img src="docs/screenshots/files.png" alt="File explorer — browse and upload files in the project workspace" width="800"> </p> <p align="center"><em>Browse, preview, and upload files in each project's workspace</em></p>
{workspace}/
+-- orbital/ # Operational metadata
+-- sessions/
| +-- {session_id}.jsonl # Append-only session log
+-- instructions/
| +-- project_goals.md
| +-- user_directives.md
+-- skills/ # Project skills
+-- sub_agents/ # Sub-agent transcripts
+-- tool-results/ # Tool output artifacts
+-- output/ # Agent work artifacts
| +-- screenshots/ # Browser screenshots
| +-- pdfs/ # Saved PDFs
| +-- shell-output/ # Shell command output
+-- PROJECT_STATE.md # Current task state
+-- DECISIONS.md # Decision log
+-- LESSONS.md # Learned patterns
+-- SESSION_LOG.md # Last 3 session summaries
+-- CONTEXT.md # External reference material
~/orbital/ # Home global (daemon infrastructure)
+-- daemon.pid # Singleton enforcement
+-- daemon-state.json # Agent heartbeat state
+-- device.json # Device identity
+-- browser-profile/ # Shared browser profile
+-- credential-meta.json # Credential metadata
Session format: One JSON line per message (role, source, content, timestamp, tool_calls). Append-only with file locks. Never modified except during compaction.
</details>
<details> <summary><strong>Quick Tasks</strong></summary>
The sidebar includes a Quick Task section for fire-and-forget interactions. Scratch projects skip the full project creation flow — useful for one-off tasks that don't need a dedicated workspace.
<p align="center"> <img src="docs/screenshots/quick-task.png" alt="Quick Task — browsing Hacker News and returning structured results" width="800"> </p>
</details>
<details> <summary><strong>Autonomy & Approval System</strong></summary>
Three autonomy presets control how much supervision agents receive:
| Preset | Shell | File Write | Browser | Description |
|---|---|---|---|---|
| **Hands-off** | Auto | Auto | Auto | Maximum autonomy. Only request_access requires approval. |
| **Check-in** | Approval | Approval | Write only | Balanced. Default for external agents. |
| **Supervised** | Approval | Approval | All except read | Maximum oversight. |
<p align="center"> <img src="docs/screenshots/budget.png" alt="Project settings — autonomy presets and budget controls" width="700"> </p> <p align="center"><em>Pick an autonomy level and set budget limits per project</em></p>
Approval flow: 1. Interceptor catches tool call based on autonomy rules 2. Frontend shows an Approval Card with tool name, arguments, and context 3. User can Approve, Deny, or Auto-approve for 10 minutes 4. Per-action bypass: same tool+args auto-approved for 60 seconds
<p align="center"> <img src="docs/screenshots/5B2-mobile-approval-card.png" alt="Mobile approval card — approve agent actions from your phone" width="350"> </p> <p align="center"><em>Approve agent actions from your phone — with full context and optional guidance</em></p>
</details>
<details> <summary><strong>Sub-Agent Delegation</strong></summary>
Orbital is not tied to a single AI tool. The management agent plans and delegates, while specialized sub-agents execute. Any CLI-based agent can be registered via a manifest file.
<p align="center"> <img src="docs/screenshots/3A-chat-file-creation.png" alt="Management agent creating a plan and delegating to sub-agents" width="800"> </p> <p align="center"><em>The management agent creates an implementation plan...</em></p>
<p align="center"> <img src="docs/screenshots/3B-subagent-delegation.png" alt="Sub-agent executing delegated work and reporting back" width="800"> </p> <p align="center"><em>...delegates Phase 1 to @claudecode, monitors progress, and reviews the result</em></p>
Transport types:
| Transport | Use Case |
|---|---|
| **Pipe** | stdin/stdout subprocess, JSON streaming |
| **PTY** | Pseudo-terminal for interactive agents — Gemini CLI, Codex, Copilot CLI, Cline, Goose |
| **SDK** | Direct Claude SDK integration |
| **ACP** | [Agent Communication Protocol](https://agentcommunicationprotocol.dev/) — supported but not the current default |
Note: ACP transport is implemented in the daemon but agent manifests currently default to PTY for stability. Switching any ACP-compatible agent (Gemini CLI, Codex, Copilot CLI, Cline, Goose) to ACP is a one-line manifest change — see docs/acp-migration.md (coming soon).
</details>
<details> <summary><strong>Built-in Tool Suite</strong></summary>
The management agent has access to these tool categories:
| Category | Tools | Description |
|---|---|---|
| **Shell** | shell | Command execution with network-aware detection |
| **File** | read, write, edit, glob, grep | File operations and search within workspace |
| **Browser** | 26 actions via Patchright | Navigate, click, type, extract, screenshot, multi-tab, PDF, web search, URL fetch |
| **Triggers** | create_trigger, list_triggers, update_trigger, delete_trigger | Schedule and file-watch triggers via natural language |
| **Credentials** | request_credential | Agent-initiated credential request — opens secure modal |
| **Delegation** | agent_message | Route tasks to sub-agents |
| **Access** | request_access | Request sandbox portal to a path outside the workspace |
</details>
<details> <summary><strong>Browser Automation</strong></summary>
Built on Patchright (a Playwright fork with anti-bot-detection):
snapshot returns an accessibility tree with [ref=eN] element references for reliable interaction<p align="center"> <img src="docs/screenshots/5A-mobile-browsing-activity.png" alt="Agent browsing arxiv.org and scanning research papers" width="350"> </p> <p align="center"><em>An agent browsing arxiv.org — scanning for AI reasoning papers on a daily schedule</em></p>
</details>
<details> <summary><strong>Continuous Operation & Triggers</strong></summary>
Agents run continuously via triggers — no manual intervention needed. Create triggers through natural language in the chat:
"Watch the uploads/ folder for new .jpg files and analyze them" "Run a research scan every morning at 6 AM"
The management agent translates this into a create_trigger tool call with the appropriate type and parameters.
Trigger types:
| Type | Configuration | Example |
|---|---|---|
| **Schedule** | Cron expression + timezone | 0 6 * * * (daily at 6 AM) |
| **File Watch** | Path + glob patterns + debounce | uploads/*.jpg, 5s debounce |
<p align="center"> <img src="docs/screenshots/file-watch-trigger.png" alt="File watch trigger — monitoring auth/ directory for .py changes" width="800"> </p> <p align="center"><em>File watch trigger: monitors auth/ for .py changes, runs tests on every save. 22 runs so far.</em></p>
<p align="center"> <img src="docs/screenshots/scheduled-trigger.png" alt="Scheduled trigger — daily research scan at 6 AM" width="800"> </p> <p align="center"><em>Scheduled trigger: scans arxiv, Hacker News, and tech blogs every day at 6 AM. 12 runs.</em></p>
Real-world example — Health Tracker with file watch:
<p align="center"> <img src="docs/screenshots/4B-mobile-meal-chat1.jpg" alt="Setting up a meal photo file watcher from phone" width="350"> <img src="docs/screenshots/4B-mobile-meal-chat2.jpg" alt="Agent automatically analyzing a meal photo" width="350"> </p> <p align="center"><em>Left: "Watch uploads/ for meal photos and track calories." Right: Drop a photo, get instant nutritional analysis.</em></p>
</details>
<details> <summary><strong>Context Management & Compaction</strong></summary>
Five workspace files maintained by the LLM at session boundaries:
| File | Purpose |
|---|---|
PROJECT_STATE.md | Current task, in-progress work |
DECISIONS.md | Decision log with rationale |
LESSONS.md | Learned patterns and pitfalls |
SESSION_LOG.md | Last 3 session summaries |
CONTEXT.md | External references, API docs |
Cold resume: On session start, these files are assembled into the system prompt to reorient the agent — no context lost between sessions.
Compaction (when context usage exceeds 80%): memory flush, LLM-driven summarization of older messages, recent messages kept intact, post-compaction reorientation with project goals and current state.
Prefix caching (v0.4.2): the system prompt is split into static, semi-stable, and truly-dynamic sections so up to ~95% of input tokens hit the provider's prefix cache on follow-up turns. See the v0.4.2 release notes for benchmark numbers.
</details>
<details> <summary><strong>Mobile Remote Control</strong></summary>
Control agents from your phone on the local network or via a cloud relay.
<p align="center"> <img src="docs/screenshots/4A-mobile-dashboard.png" alt="Mobile dashboard — all projects at a glance" width="350"> <img src="docs/screenshots/5C-mobile-approved.png" alt="Agent completing work after mobile approval" width="350"> </p> <p align="center"><em>Left: Project dashboard on phone. Right: Agent completes its research after you approve from anywhere.</em></p>
Local network: Scan the QR code in Settings to open Orbital on your phone via LAN.
<p align="center"> <img src="docs/screenshots/qr-code-lan-pairng.png" alt="QR code for mobile access on local network" width="700"> </p> <p align="center"><em>Scan to open Orbital on your phone — same Wi-Fi network required</em></p>
Cloud relay (optional): Deploy a relay server for access outside your home network. Push notifications for approval requests, budget alerts, and agent status changes.
</details>
<details> <summary><strong>Cost Controls & Budget Limits</strong></summary>
Per-project budget limits prevent runaway spending:
| Setting | Description |
|---|---|
Budget Limit (USD) | Maximum spend for the project |
Budget Action | ask (pause and prompt user) or stop (halt the agent) |
Spent | Running total with reset option |
The agent loop tracks cumulative token usage and computes cost using per-model pricing from the provider registry. When the budget threshold is reached, the configured action fires and a push notification is sent.
</details>
<details> <summary><strong>Credential Management</strong></summary>
<p align="center"> <img src="docs/screenshots/credential-store.png" alt="Credential store — website passwords stored in system keychain" width="700"> </p> <p align="center"><em>Website credentials stored in your system keychain. Agents always ask permission before using them.</em></p>
keyring), masked in API responses, per-project BYOK overridecredential-meta.json, values in OS keychain. The request_credential tool lets agents request credentials mid-session via a secure modal — credentials never appear in chat history.</details>
<details> <summary><strong>LLM Provider Routing & BYOK</strong></summary>
13 providers supported out of the box:
Anthropic, OpenAI, DeepSeek, Moonshot (Kimi), Groq, Google Gemini, xAI, Mistral, Together, OpenRouter, Zhipu, Qwen, plus a custom entry for any OpenAI-compatible endpoint (e.g., Ollama, Azure OpenAI, self-hosted models).
</details>
<details> <summary><strong>Loop Safety Guards</strong></summary>
The agent loop includes multiple safety mechanisms to prevent runaway execution:
| Guard | Threshold | Behavior |
|---|---|---|
| **Token budget** | 100M tokens (configurable) | Hard stop on cumulative usage |
| **Repetition detection** | 5 identical action hashes | Forces different approach |
| **Ping-pong detection** | 3 identical consecutive pairs | Breaks alternating cycles |
| **Circuit breaker** | 2 consecutive identical errors | Blocks tool until new user message |
| **Context overflow** | 3 consecutive overflows | Hard stop after progressive reduction |
</details>
<details> <summary><strong>Desktop App & System Tray</strong></summary>
Orbital ships as a desktop application bundled with PyInstaller:
pywebview — no browser neededSetThreadExecutionState), re-allows when idleSkills system: Agents create reusable skills from multi-step workflows and consult matching skills before starting similar tasks. Skills are stored as SKILL.md files in the workspace and managed through the Settings UI.
<p align="center"> <img src="docs/screenshots/skills.png" alt="Skills — operational patterns the agent follows" width="700"> </p> <p align="center"><em>Skills like Efficient Execution, Learning Capture, and Task Planning shape how the agent works</em></p>
</details>
---
pip install -e ".[desktop]"
cd web && npm install && cd ..
Step 1 — LLM Provider: Connect your API key. Supports Anthropic, OpenAI, Moonshot, DeepSeek, and a dozen other providers.
<p align="center"> <img src="docs/screenshots/apikey-setup.png" alt="Setup wizard step 1 — configure your LLM provider and API key" width="700"> </p>
Step 2 — Sandbox: Orbital creates an isolated user account so agents can't access your personal files or network without permission.
<p align="center"> <img src="docs/screenshots/sandbox-setup.png" alt="Setup wizard step 2 — sandbox isolation confirmation" width="700"> </p>
Step 3 — Browser Warm-up: Sign into sites your agents will need (Google, GitHub, etc.) so they can browse without getting blocked by CAPTCHAs.
<p align="center"> <img src="docs/screenshots/browser-warm-up.png" alt="Setup wizard step 3 — browser warm-up for agent web access" width="700"> </p>
<p align="center"> <img src="docs/screenshots/new-project-setting.png" alt="New project creation with workspace and autonomy settings" width="700"> </p>
---
<p align="center"> <img src="docs/screenshots/2A-dashboard-all-running.png" alt="Orbital dashboard with multiple projects running in parallel" width="800"> </p> <p align="center"><em>Multiple projects running in parallel — each with its own workspace, triggers, and session history</em></p>
<p align="center"> <img src="docs/screenshots/5B2-mobile-approval-card.png" alt="Mobile approval card — approve agent actions from your phone" width="350"> </p> <p align="center"><em>Approve agent actions from your phone — with full context and optional guidance</em></p>
<p align="center"> <img src="docs/screenshots/3B-subagent-delegation.png" alt="Sub-agent executing delegated work and reporting back" width="800"> </p> <p align="center"><em>Management agent delegates Phase 1 to @claudecode, monitors progress, and reviews the result — all inside the same project workspace</em></p>
---
bash scripts/restart-daemon.sh curl http://localhost:8000/api/v2/projects ```
Known pre-existing test notes: - test_consumer3_wiring.py — requires Windows sandbox user configuration - test_e2e.py, test_user_stories.py — require a real LLM API key set via AGENT_OS_TEST_API_KEY
---
| Orbital | Claude Projects | OpenClaw | Claude Cowork | |
|---|---|---|---|---|
| Project lives on your machine | ✅ (workspace is a folder you own) | ❌ (cloud-hosted) | ✅ (agent workspace) | Partial (folder access, VM-sandboxed) |
| Agent can update the project | ✅ (memory, decisions, lessons maintained by the agent) | ❌ (human-only edits) | Partial (MEMORY.md, no structured state) | ❌ (session-scoped) |
| Structured project state across sessions | ✅ (PROJECT_STATE.md, DECISIONS.md, LESSONS.md) | ❌ | Partial | ❌ |
| Delegate to external CLI agents | ✅ (Claude Code, Codex, Gemini CLI, any CLI agent) | ❌ | Partial (child sessions, not external CLI) | ❌ (internal Claude sub-agents only) |
| Multiple agents share one workspace | ✅ | ❌ | ❌ | ❌ |
| Approval workflow with mobile oversight | ✅ (configurable autonomy, phone approval) | ❌ | Partial (exec-only, IM inline buttons) | ❌ |
| Per-project budget caps (real USD) | ✅ | ❌ | ❌ | ❌ (subscription-based) |
| Sandboxed execution by default | ✅ (Windows sandbox user, macOS Seatbelt) | N/A (cloud) | Opt-in (Docker, not default) | ✅ (VM, Computer Use runs outside it) |
| Triggers (cron + file watch) | ✅ | ❌ | ✅ (openclaw cron) | ✅ (/schedule) |
| Open source | GPL-3.0 | ❌ | MIT | ❌ |
The short version: Claude Projects proved the mental model. OpenClaw proved local agents work. Cowork proved people want agents to run autonomously. Orbital is all three in one place, on your machine, where agents can actually update the project and collaborate inside the same workspace.
---
Orbital是一种有潜力的AI工作流,允许你为你的智能代理提供一个具体的项目。然而,它还需要进一步的开发和测试来提高其稳定性和可用性。
该工具使用 NOASSERTION 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
📄 NOASSERTION — 请查阅原始协议条款了解具体使用限制。
经综合评估,Orbital 在Agent工作流赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | Orbital |
| 原始描述 | 开源AI工作流:Give your agents a project, not a prompt。⭐25 · Python |
| Topics | workflowacpagent-managementai-agentautonomous-agentsclaude-codepython |
| GitHub | https://github.com/zqiren/Orbital |
| License | NOASSERTION |
| 语言 | Python |
收录时间:2026-05-21 · 更新时间:2026-05-22 · License:NOASSERTION · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端