章节 01
导读 / 主楼:Orbit:面向AI代理与人类协作的本地优先工作流引擎
一个轻量级Rust实现的执行引擎,为AI驱动的软件交付提供核心原语,支持Claude和Codex CLI,实现复杂多步骤AI工作流的本地编排。
正文
一个轻量级Rust实现的执行引擎,为AI驱动的软件交付提供核心原语,支持Claude和Codex CLI,实现复杂多步骤AI工作流的本地编排。
章节 01
一个轻量级Rust实现的执行引擎,为AI驱动的软件交付提供核心原语,支持Claude和Codex CLI,实现复杂多步骤AI工作流的本地编排。
章节 02
随着Claude Code、Codex CLI等AI编程助手的普及,开发者们开始意识到一个新问题:如何让这些AI代理协同工作,完成复杂的软件交付流程?单个AI助手可以编写代码,但从需求分析到测试、审查、合并的完整流程,需要多个代理按顺序协作。
Orbit应运而生。这是一个轻量级的本地优先执行引擎,专门为代理驱动的软件交付设计。它提供了编排复杂多步骤AI工作流所需的核心原语,而且完全在本地开发环境中运行,无需API密钥。
章节 03
Orbit的定位非常清晰:它不是要取代现有的AI工具,而是为它们提供编排能力。想象这样一个场景:你先让Claude分析需求并创建任务,然后让Codex实现代码变更,再自动运行测试,最后提交PR并启动审查流程。Orbit就是让这个流程自动化的"胶水"。
项目的核心设计理念是本地优先。所有配置、任务状态、执行日志都存储在本地文件系统中,用户对自己的数据拥有完全控制权。这与当前许多云原生的AI工作流工具形成鲜明对比。
章节 04
Orbit采用Rust语言实现,这保证了性能和可靠性。项目结构采用分层设计,低层对高层一无所知:
orbit-types(叶子层——共享类型、OrbitError、ID生成)
↑
orbit-policy(RBAC策略评估)
orbit-exec(进程生成、沙箱、超时)
↑
orbit-tools(内置工具注册表:文件系统、git、GitHub、orbit、进程、时间、网络)
↑
orbit-store(基于文件的YAML + SQLite持久化、分层存储)
orbit-agent(代理提供程序抽象:Claude、Codex、mock)
↑
orbit-engine(活动/作业执行、模板渲染、重试逻辑)
↑
orbit-core(运行时引导、配置分层、命令调度、资源种子)
这种分层架构确保了系统的可维护性和可扩展性。每一层都有明确的职责边界,开发者可以独立地改进或替换某一层而不影响其他部分。
章节 05
Orbit围绕三个核心概念构建,它们共同构成了完整的AI驱动工作流:
章节 06
任务可以类比为Jira工单,代表一个离散的工作项(功能、bug修复、杂务、重构)。每个任务都有完整的生命周期:
这种设计让AI代理和人类开发者能够在同一套系统中协作,任务状态对双方都是透明的。
章节 07
活动是自包含的操作单元,具有定义的输入/输出模式。每个活动都有spec_type决定其实现方式(自动化、代理调用、API、CLI命令)。活动可以单独通过CLI运行,也可以作为作业的一部分执行。
示例活动包括:run_tests(运行测试)、review_pr(审查PR)、review_tasks(审查任务)、implement_change(实现变更)。
章节 08
作业是将一个或多个活动串联成工作流的机制,专为自动化和可重复性设计。以下是一个典型的任务流水线作业定义:
schemaVersion: 1
job:
job_id: job_task_pipeline
state: enabled
max_active_runs: 4
default_input:
base: agent-main
steps:
- target_type: activity
target_id: dispatch_task
agent_cli: claude
model: sonnet
timeout_seconds: 1000
- target_type: activity
target_id: create_branch
condition: on_success
timeout_seconds: 60
- target_type: activity
target_id: implement_change
agent_cli: codex
model: gpt-5.4
condition: on_success
timeout_seconds: 2000
- target_type: activity
target_id: run_tests
condition: on_success
timeout_seconds: 600
- target_type: activity
target_id: open_pr
condition: on_success
timeout_seconds: 300
这个作业定义展示了一个完整的AI驱动开发流程:Claude分配任务→创建分支→Codex实现变更→运行测试→提交PR。每个步骤都有超时设置和条件判断(on_success),确保流程的健壮性。