Orbit — 编码代理任务控制台

面向编码代理的自托管任务控制台。

在自己的机器上运行编码代理,把计划、历史和控制权放在一个自托管的地方。

Pre-1.0,持续开发中 MIT 许可 Web + macOS + iPhone/iPad

控制平面、runner、凭据、TLS、备份和访问控制由你负责。Orbit 不是托管 SaaS,也不是无需设置即可自治的编码服务。

Orbit 产品预览插图,展示持久任务图、在线 runner 和审批卡片
产品预览插图 · 可按公开站点资产契约替换

三个首发场景

让代理工作持续推进,同时不丢失人的上下文。

以下名称和顺序是首发文案的标准版本。每个场景都需要验证,不承诺代理无需审查就能完成工作。

让工作超越一次聊天

把持续数天的迁移、重构或测试救火变成持久任务图。依赖、评论和会话历史可以跨越上下文限制、重启和关闭的浏览器继续存在。

演示
任务列表 → 依赖 → 可恢复会话 → 结果与评论历史

并行代理,避免 checkout 冲突

把待办拆给多个 runner,并为每个会话启用独立 git worktree。审查差异后再决定合并;worktree 只隔离文件冲突,不是安全边界。

演示
分派两个任务 → 隔离 worktree → 审查差异 → 人工决定合并

访问私有基础设施

把 runner 放在它所需的代码仓库、内部 CLI、VPN 或集群旁边。runner 向外轮询,风险命令可以在执行前停在审批卡片处。

演示
私有网络 runner → 命令审批 → transcript 与结果

90 秒演示

三个场景,一个清晰的人工介入点。

使用带标签或明确写出的 commit。录制前请遮盖仓库名、主机名、token、cookie、内部 URL 和 provider 细节。

查看演示脚本

公开录制准备好前,以仓库中的 storyboard 作为事实来源。画面应持续展示 runner、仓库、审批卡和人工合并决定。

预留媒体槽位:可将经过批准的短 GIF 放入 site/assets/product/demo.gif,并配上事实准确的说明。

0:00–0:08
开场项目页面 + 在线 runner。说出产品类别和核心承诺。
0:08–0:32
让工作超越一次聊天任务依赖、可恢复会话、结果与评论历史。
0:32–0:56
并行代理,避免 checkout 冲突两个隔离 worktree、差异和人工合并审查动作。
0:56–1:18
访问私有基础设施runner 心跳、内部工具、审批卡、transcript 和结果。
1:18–1:30
收尾Pre-1.0 边界、带标签的 release、加固指南和限制。

快速开始

从可信主机到第一个在线 runner。

完整的操作路径保留在仓库 README 和 self-hosting 指南中。本页只保留关键决策,让它继续成为小而清晰的公开入口。

1

启动控制平面

克隆仓库,固定一个经过审查的 tag,创建两个独立 secret,并在你控制的主机上运行 Docker Compose。

2

添加 runner

在拥有 checkout、工具、VPN 和 agent 凭据的机器上打开 Infrastructure → Add → Register a machine,然后批准浏览器注册。

3

创建 workspace 和第一个任务

将 workspace 指向 checkout;如有需要先使用小型 demo fixture,然后检查 transcript、审批和结果。

可信主机 · shell
# 部署前固定一个经过审查的 release
git clone https://github.com/jianghailong-xy/orbit.git
cd orbit
git checkout <release-tag>
cp .env.example .env
# 在 .env 中设置唯一的 JWT_SECRET 和 PROVIDER_SECRET_KEY
docker compose up -d --build
docker compose ps

内置 gateway 只有 HTTP,适合作为起点。暴露到网络前请先配置 HTTPS 和访问控制;备份、监控、主机加固和最小权限凭据由 operator 负责。

架构与安全边界

本地执行、可见控制、诚实的限制。

Orbit 负责协调和监督 agent,但不会把 operator 管理的 runner 变成 sandbox,也不提供托管可靠性服务。

组件如何连接

Web / macOS / iOS ── REST + SSE ──▶ 控制平面 + PostgreSQL 任务 · 历史 · 审批 队列 · 审计 · 用量 ▲ │ 向外轮询 │ Runner + 本地 agent runtime 可选 git worktree
  • 控制平面负责用户、workspace、项目、任务、会话、审批、runner 和历史记录。
  • runner 主动向外连接;控制平面不要求向 runner 开放入站访问。
  • worktree 减少 checkout 冲突,但进程仍继承 runner 操作系统账号的权限。

连接敏感基础设施前

重要:worktree 不是安全边界;如果没有审查、审批或人工合并决定,也不能保证 agent 正确完成工作。

  • 使用最小权限的 runner 账号和凭据;需要时隔离主机以满足信任边界。
  • 暴露到网络前使用 HTTPS,保护唯一 secret,限制 gateway,并测试异地备份和恢复。
  • 这不是托管服务、HA 保证、零数据丢失承诺、SLA、合规认证或企业支持合同。
  • provider 计费、模型能力、恢复行为和用量数据因 engine 而异;以 provider 账单为准。

常见问题 FAQ

先了解你正在运行什么。

这里回答首次访问时最重要的问题。仓库文档提供配置和故障排查细节(英文)。

Orbit 是替我托管的吗?

不是。你运行控制平面和 PostgreSQL,决定它在哪里可访问;将内置 HTTP gateway 暴露到网络前,请配置 TLS 和访问控制。

凭据会离开 runner 吗?

支持的 agent CLI 使用 runner 本地配置和凭据。控制平面保存协调所需的元数据和 transcript;provider 行为与计费仍由 provider 负责。

worktree 是安全 sandbox 吗?

不是。它只减少 checkout 冲突。进程以 runner 操作系统账号运行,可以访问该账号能够访问的内容。

runner 或浏览器断开后怎么办?

任务图和会话历史保存在控制平面中。失去心跳的 runner 会被视为离线;具体恢复行为因 engine 和 provider 而异,请验证你需要的行为。

支持哪些 runtime?

控制平面和 runner 认识 Claude Code、Codex、Kimi Code、OpenCode 以及已配置的兼容 provider。请在 runner 上安装并登录 runtime,再从 orbit doctor 开始。

生产环境应该运行什么版本?

Orbit 仍处于 Pre-1.0。部署时固定带标签的 release,阅读升级说明和加固指南;把 main 当作开发分支,而不是受支持的 release。

社区与贡献

带着真实的部署问题来交流。

社区支持由维护者尽力提供。请清理日志,绝不要公开 token、cookie、API key、私有主机名、仓库内容或 runner 配置。

版本与路线图

在做出更大承诺前先通过采用门槛。

路线图方向公开,但不暗示交付日期或生产保证。

当前 release 状态

  • Orbit 是一个处于 Pre-1.0、持续开发中的开源项目。
  • 部署时固定带标签的 release,升级前阅读升级说明。
  • 最新发布版本以尽力而为的方式接收安全修复;main 是开发分支,旧版本不受支持。

请查看仓库的 Releases ↗ 获取准确 tag、校验和、已知限制及验证说明。

方向,不是日期

  • 现在:可重复的 clean-install 证据和一致的版本叙事。
  • 下一步:以截图为主的 onboarding、operator 配置参考、公开 changelog 和更强的社区运营。
  • 之后:定时任务与入站任务源目前只完成设计、尚未实现;v1.0 兼容性取决于证据门槛。

查看 完整路线图(英文)↗ 和 成熟度门槛(英文)↗。

下一步会衡量的漏斗:访问 → 点击快速开始 → runner 上线 → 首次任务。本页不植入 tracking pixel;使用 GitHub/Pages 流量、带标签链接和经过清理的 operator 证据。