项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-22 · 当前星标 ★ 1094
技术标签
使用教程
环境要求
- 已安装 git 和 Docker(含 Docker Desktop)
- 本地 Kubernetes 集群(如 Docker Desktop Kubernetes)
- 已安装 Helm(生产部署时需要)
- 生产环境需自备 PostgreSQL 与 Redis,或使用 chart 内置实例
- 生产部署需可用的 Kubernetes 集群和域名/Ingress
安装与启动步骤
-
1克隆仓库
把 Optio 源码拉到本地并进入项目目录,后续所有命令都在该目录执行。
git clone https://github.com/jonwiggins/optio.git && cd optio -
2运行一键安装脚本
脚本会安装依赖、构建 API/Web/Agent 预设的 Docker 镜像,并通过 Helm 把整套栈部署到本地 Kubernetes,同时安装 metrics-server。耗时较长,请保持网络畅通。
./scripts/setup-local.sh -
3访问 Web UI
打开 http://localhost:30310 进入 Web 界面,API 监听在 http://localhost:30400。Docker Desktop Kubernetes 下这些是 NodePort,需通过 kubectl p
-
4完成初始化向导
在 Web UI 的 setup wizard 中依次配置 GitHub 访问、Agent 凭据(API key、OAuth token、Vertex AI 或 Max/Pro 订阅),并添加第一个仓库。
-
5创建第一个会话
点击 New session,可选择 Open a PR、Interactive chat、Scheduled run、Persistent agent 等预设,或按五个属性自行组合。
-
6添加 Helm 仓库(生产)
生产环境部署时先把 Optio 官方 Helm 仓库加入本地并更新索引,获得最新的 chart 版本。
helm repo add optio https://jonwiggins.github.io/optio helm repo update -
7Helm 安装到集群
用外部 PostgreSQL 和 Redis 安装到 optio 命名空间,并开启 Ingress。请把数据库、Redis 连接串和域名替换成你自己的真实值。
helm install optio optio/optio -n optio --create-namespace \ --set encryption.key=$(openssl rand -hex 32) \ --set postgresql.enabled=false \ --set externalDatabase.url="postgres://..." \ --set redis.enabled=false \ --set externalRedis.url="redis://..." \ --set ingress.enabled=true \ --set ingress.hosts[0].host=optio.example.com -
8从 OCI 仓库安装(可选)
也可以直接从 GHCR 的 OCI registry 安装 chart,参数与从 Helm 仓库安装一致。
helm install optio oci://ghcr.io/jonwiggins/optio -n optio --create-namespace \ --set encryption.key=$(openssl rand -hex 32) \ --set postgresql.enabled=false \ --set externalDatabase.url="postgres://..." \ --set redis.enabled=false \ --set externalRedis.url="redis://..."
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
encryption.key | 是 | 集群加密密钥,用 openssl rand -hex 32 生成 | $(openssl rand -hex 32) |
postgresql.enabled / externalDatabase.ur | 是 | 关闭内置 PostgreSQL 并指定外部数据库连接串 | postgres://user:pass@host:5432/optio |
redis.enabled / externalRedis.url | 是 | 关闭内置 Redis 并指定外部 Redis 连接串 | redis://host:6379 |
ingress.enabled / ingress.hosts[0].host | 否 | 开启 Ingress 并设置对外访问域名 | optio.example.com |
github.app.id | 否 | GitHub App ID,来自 App 设置页 | 123456 |
github.app.clientId / clientSecret / ins | 否 | GitHub App 的客户端凭据、安装 ID 与 PEM 私钥,用于用户 OAuth 登录和服务端令牌 | Iv1.abc123 |
如何确认成功
浏览器打开 http://localhost:30310 能看到 Web UI,说明本地栈部署成功;API 地址为 http://localhost:30400。
常见问题
Q:本地部署后访问 localhost:30310 打不开怎么办?
A:在 Docker Desktop Kubernetes 上这两个端口是 NodePort,需要通过 kubectl port-forward 转发到本地后才能访问。
Q:没有配置 GitHub App 可以吗?
A:可以。未配置 GitHub App 时,Optio 会回退使用 GITHUB_TOKEN 这个 PAT 进行 GitHub 操作。
Q:配置 GitHub App 有什么好处?
A:可获得用户级权限(遵循 CODEOWNERS、分支保护与仓库权限)、令牌自动刷新,以及更清晰的 PR/提交归属。
Q:生产环境必须外接数据库和 Redis 吗?
A:README 的示例中关闭了内置实例并指定外部连接串;如果不设置 postgresql.enabled=false 等参数,则使用 chart 内置实例。
注意事项
- 快速开始脚本会构建全部 Docker 镜像并部署到本地 Kubernetes,首次执行耗时较长。
- 本地访问 30310/30400 端口通常需要 kubectl port-forward。
- 生产部署务必替换示例中的数据库、Redis 连接串和 Ingress 域名,不要照抄 postgres://... 这类占位值。
- 所有会话、Agent 与代码都运行在你自己的集群和机器上,凭据不出集群。
核心亮点
- 统一编排多种主流编码 Agent,避免为每个工具单独写胶水脚本
- 支持并行与串行混合的工作流,适合代码生成、审查、修复等多阶段协作
- 基于 Kubernetes 的调度思路,便于在容器环境中批量运行和扩展 Agent 任务
不足之处
- 项目处于早期成长阶段,API 和工作流定义可能频繁变动
- 实际生产案例和社区最佳实践较少,文档深度有待观察
适用场景
- 在 CI/CD 中自动调用多个 AI Agent 完成代码生成、审查与修复
- 团队内部搭建 AI 编码助手调度平台,统一管理不同厂商的 Agent
- 批量处理重复性编码任务,如批量重构、测试补全和文档生成
替代项目
LangGraph、CrewAI
上一篇:docker-android
下一篇:meshgen
同类项目推荐
iphone-use
开源
让 AI agent 直接上手真 iPhone 点按滑输
响应快 省Token, Let AI agents (Claude Code, Codex, any MCP client) drive a real iPh···
pagesift
开源
把网页和文档洗成干净 Markdown,直接喂给 AI
Self-hosted web scraper, crawler and document parser for AI agents: URLs, PDFs with ···
ai-shortVideo-pipeline
开源
一键搭建稳定可控的AI短视频生产流水线
End-to-end AI short-video production pipeline. FastAPI orchestration + Spring Boot g···
comfyUI-workflows
开源
拿来即用的 ComfyUI 工作流合集,省去从零搭节点
Some ComfyUI workflows I've made
ad4m
开源
让社交数据归用户所有,多个 dApp 互通身份与内容
Agent-centric social network and interoperability dApp framework
rustwright
开源
用 Playwright 写法直连 Chromium,省掉驱动子进程
Playwright's API on a Rust CDP engine — Chromium browser automation for Python & No···
excalidraw-cli
开源
一句话或一段 JSON,直接生成可编辑 Excalidraw 图表
Generate editable Excalidraw diagrams from text or JSON for agents and developer wor···
flowcraft
开源
用 DAG 编排 AI 智能体,让复杂任务像搭积木一样简单
A lightweight workflow engine
NoCaptcha-Ai-Browser-Extension
开源
浏览器装个扩展,验证码自动填,流程不中断
qCAPTCHA Solver, reCaptcha v2, OCR Captcha. Chrome-Firefox Extension
