optio
自托管 AI 编码特工编排平台,自动化从 Issue 到 Merged PR 的全流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
自托管 AI 编码特工编排平台,自动化从 Issue 到 Merged PR 的全流程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你的团队每天有十几个 GitHub Issue 待处理,有人在修复 Bug,有人在加功能,有人需要更新依赖——但团队里真正能写代码的人手永远不够。传统的方案是招更多工程师,但成本高、周期长。Optio 给出的答案是:与其招人,不如让 AI 替你干活,而且让一群 AI 协同工作,就像一支训练有素的特工小队。
Optio 由独立开发者 Jon Wiggins 创建(GitHub: jonwiggins),定位是自托管的 AI 工程平台——你的集群、你的特工、你的代码。与 Cursor、Copilot Workspace 等云端方案不同,Optio 完全在本地运行,数据不离开你的基础设施,特别适合对代码安全有严格要求的团队(金融、医疗、企业内部工具)。
项目于 2025 年初发布,GitHub 获得 981 Stars、110 Forks,保持着稳定的维护节奏,最近一次提交在 2026 年 6 月 15 日。核心维护者仅 Jon Wiggins 一人,但项目代码质量极高——TypeScript 严格类型检查、完整 ESLint/Prettier 规范、Turborepo 单仓管理、CI/CD 自动化。
Optio 将 AI 特工工作分为三个层次,共同驱动同一个触发器引擎、日志流和 /api/tasks HTTP 接口:
这是 Optio 最核心的功能:把 GitHub Issue、Linear 工单、Jira 任务或 Notion 页面转化为一笔 Merged PR。完整流程是:
这个反馈循环才是 Optio 的灵魂。传统的 AI 编程工具需要人工盯着循环,而 Optio 把整个 Review → Fix → Merge 的闭环自动化了。
不需要代码仓库的任务:查询 Slack 频道数据、生成报告、审计依赖版本、轮询数据库发告警、发帖到 Slack 等。流程与 Repo Task 相同,但不 checkout 代码仓库,更轻量。
区别于前两者的一次性运行模型(Run = Work),常驻特工是长生命周期服务(Service Model)。每个特工有稳定 slug、收件箱、循环状态机。触发方式包括:
三种 Pod 生命周期模式:always-on(持续运行)、sticky(空闲时休眠但保留内存)、on-demand(按需创建销毁)。特工之间通过内部 HTTP API 互相通信。
Optio 的底层运行在 Kubernetes 上,每个仓库对应一个 Pod(pod-per-repo),Pod 内通过 Git Worktree 实现真正的多任务并行。K8s 的优势在于:
Optio v0.2.0 引入了 Kubernetes Style Reconciliation Loop,这是系统最核心的稳定性设计。在 v0.2.0 之前,状态转换分散在各个 Worker 中:
task-worker 推进 provision 和 runningpr-watcher-worker 推进 PR 状态workflow-worker 推进 Standalone Runrepo-cleanup-worker 标记崩溃 Pod这导致三个问题:事件丢失导致状态卡死、多 Worker 并发冲突、难以单元测试。
Reconciliation Loop 的解决思路:所有状态转换汇聚到一个统一的决策函数。Worker 继续产生事件和执行副作用(创建 Pod、运行 Agent、轮询 GitHub),但 PR 推进、自动合并、自动恢复、Review 启动、Stall 检测等全部通过 Reconciler 集中决策,每次决策都是 Compare-And-Swap,保证并发安全。
| 层次 | 技术 |
|---|---|
| 主语言 | TypeScript / Node.js 22 |
| 基础设施 | Kubernetes(核心)、Docker |
| 数据库 | PostgreSQL 16(主数据)、Redis 7(任务队列/实时) |
| Web UI | React 生态(apps/web) |
| API | apps/api |
| CLI | apps/cli |
| 文档站 | apps/site |
| 单仓管理 | Turborepo + pnpm 10 workspaces |
| 包结构 | 8 个 workspace packages:shared、agent-adapters、container-runtime、ticket-providers |
| AI 集成 | Claude Code、Codex、Copilot、Gemini、OpenCode |
packages/agent-adapters 实现了对多种 AI 编程工具的统一封装,每种适配器标准化了:
这种适配器模式使得在同一个 Optio 实例中混合使用不同 AI 提供商成为可能——可以为不同仓库或不同类型任务选择最合适的特工。
除 GitHub 外,Optio 还支持:
GITLAB_HOSTS 配置)@aws-sdk/client-codecommit。由于 CodeCommit 无原生 CI 和 Issues,所以 getCIChecks 返回空列表,listIssues 返回空列表,reviewTrigger="on_pr" 比默认的 on_ci_pass 更适合。Optio 提供四套 Dockerfile 和 docker-compose.yml 开发环境:
| 文件 | 用途 |
|---|---|
Dockerfile.optio | 轻量级运维特工 Pod(Claude Code + HTTP 工具,无语言/仓库工具链) |
Dockerfile.agent | 完整 Agent Pod(含 Git、SSH、GitHub CLI、Python、多语言 SDK) |
Dockerfile.api | 多阶段构建 API 服务(node:22-slim → production) |
Dockerfile.web | 多阶段构建 Web UI(React 应用) |
docker-compose.yml 提供了开箱即用的本地开发环境,包含 PostgreSQL 16 和 Redis 7,无需手动安装数据库。生产环境则必须对接真实的 K8s 集群。
值得注意的是 Dockerfile.optio 的安全设计:基于 Ubuntu 24.04,以非 root 用户 optio 运行,WORKDIR 在 /home/optio,使用 sleep infinity 作为入口(API Server 通过 exec 进入 Pod 启动对话)。还验证了 Node.js 内置 OpenSSL 版本必须 >= 3.5(用于后量子 TLS X25519MLKEM768)。
Optio 代表了一个正在崛起的技术方向:AI 原生 DevOps。传统 CI/CD 的 Pipeline 是「代码 → 构建 → 测试 → 部署」,而 Optio 将 AI Agent 嵌入了 Pipeline 的「构建」步骤,让 AI 替代人工工程师完成编程任务。
关键趋势信号:
Optio 在 GitHub Trending 上多次出现,issues 和 stars 增长稳定,是该细分领域的标杆项目之一。