English | 简体中文
用 Git 和 YAML 管理、审查并迁移云端 AI Agent。
面向托管 AI Agent 的开源 IaC 控制平面。
Important
OpenAgentPack 目前处于 Beta 阶段。公开 API 和 agents.yaml Schema 在 1.0 前仍可能发生不兼容变更,详见 更新日志。
agents.yaml → validate → plan → apply:先把 Agent 带回 Git,审查将要发生的变更,再更新远端资源。
一份 agents.yaml 定义 Agent 的环境、模型、指令、工具、技能、MCP、Vault 和凭据。每次变更都能在 PR 中审查,用 plan 预览后再执行,不必在控制台里重复搭建同一个 Agent。
- 可审查的 Agent 资产 —— Prompt、工具、Skill 和配置进入 Git,可复用、回滚和交接。
- 可预期的变更 ——
validate → plan → apply会在修改远端资源前预览创建、更新和删除。 - 可移植的核心声明 —— 面向百炼、Qoder、Claude和火山方舟,并通过明确的 Provider 能力契约 表达差异。
npm install -g @openagentpack/cli
agents init
# 配置一个 Provider 的凭证后:
agents validate && agents plan5 分钟快速开始 · 查看 Provider 支持 · 浏览可运行示例 · Roadmap
▶ 观看 Playground 演示:切换 Provider,运行同一个 Agent 场景
Agent 正在从个人工具变成企业的数字员工。但企业真正重要的东西 —— Prompt、技能、知识文件、工具和运行配置 —— 现在主要只存在于云厂商控制台里。
这些是企业的业务资产。它们不该只活在某个控制台里,而应该像代码、数据和文档一样,可以被管理、被审查、被交接、被复现,也可以自由迁移。
OpenAgentPack 在 Agent 和云平台之间建立一个声明式控制平面。企业拥有自己的声明,不同平台通过各自的 Adapter,把同一份声明渲染成百炼、Qoder、Claude 或火山方舟中的真实 Agent。
我们的目标,是让 Agent 成为企业可掌控、可迁移、可传承的数字资产。
借鉴 Docker 的声明思想,把所有决定 Agent 是什么的东西 —— 模型、指令、工具、技能、环境、文件和凭据引用 —— 收敛到一份 agents.yaml 图纸里。这份图纸可以进入 Git、接受 PR 审查、复现 Agent,也可以迁移到不同 Provider。
借鉴 Terraform 的状态驱动思想,明确区分期望配置、本地状态和远端状态。plan 告诉你即将创建、更新和删除什么;apply 按依赖拓扑顺序安全执行;控制台被手动修改后可以发现 Drift;回到之前的稳定声明即可重新收敛。
图纸再精确,也不如走进样板间体验。Playground 从同一份声明运行真实 Session,让团队在不同 Provider 上执行同一个场景。多平台对比不再只是一张能力矩阵,而是可观察、可体验的真实结果。
OpenAgentPack 借鉴 Docker 的声明思想绘制 Agent 图纸,借鉴 Terraform 的状态驱动思想管理施工与验收,再用 Playground 作为样板间完成效果验证 —— 让企业像管代码一样管 Agent。
具体机制包括一份 agents.yaml、validate → plan → apply 工作流、内容哈希增量检测、依赖拓扑排序和 Drift 恢复。YAML 始终是事实来源。心智模型见 Agents as code,精确词汇见 CONTEXT.md。
- 声明式 —— 一个
agents.yaml描述整套 Agent 基础设施。提交它、在 PR 里审查它、随时回滚它。 - Terraform 式工作流 ——
validate → plan → apply,每一次 create / update / delete 执行前都能预览。 - 多 Provider —— 核心声明可复用于百炼、Qoder、Claude 和火山方舟;能力契约 会明确表达 native、emulated 和 unsupported 差异。
- 增量变更 —— 基于内容哈希检测差异,只更新真正变化的资源,不做无意义的 API 调用。
- 依赖自动解析 —— Environment → Skill → Agent 按拓扑序创建;依赖失败会跳过下游,而不是留下半成品状态。
- Drift 恢复 —— 检测远程配置与声明的漂移并收敛回来。YAML 始终是唯一事实来源。
agents init # 交互式向导生成 agents.yaml
agents validate # 离线校验,不发起 API 调用
agents plan # 预览 create / update / delete
agents apply -y # 执行变更
agents destroy # 销毁托管资源运行 agents playground 可启动本地 WebUI,并通过 --provider 指定 bailian、qoder、ark 或 claude。你可以在同一份声明上切换 Provider、运行真实 Session,并观察工具调用和 Artifact。
最小配置:
version: "1"
providers:
bailian:
api_key: ${DASHSCOPE_API_KEY}
workspace_id: ${BAILIAN_WORKSPACE_ID}
defaults:
provider: bailian
environments:
dev:
config:
type: cloud
networking:
type: unrestricted
agents:
assistant:
description: "通用编程助手"
model: qwen3.7-max
instructions: |
你是一个编程助手。
environment: dev
tools:
builtin: [bash, read, glob, grep]密钥通过 ${VAR_NAME} 语法引用,从 .env 加载 —— 绝不写进配置文件本身。完整流程见 快速开始。
全局安装 CLI:
# 使用 Bun
bun add -g @openagentpack/cli
# 或使用 npm
npm install -g @openagentpack/cli安装后即可使用 agents 命令。若想从源码运行,见 贡献指南。
Beta 用户可以安装 @openagentpack/cli@beta;固定版本及切回稳定版的方法见 发布指南。
| Feature | 百炼 | Qoder | Claude | 火山方舟 |
|---|---|---|---|---|
| Environment | native | native | native | native |
| Vault | native | native | native | native |
| Skill | native | native | native | native |
| Agent | native | native | native | native |
| MCP Server | native | native | native | native |
| Memory Store | unsupported | native | unsupported | native |
| Multi-Agent | unsupported | unsupported | native | native |
| Deployment | emulated | native | native | emulated |
| Session | native | native | native | native |
完整能力矩阵与各 Provider 差异见 Provider 参考。
| 文档 | 内容 |
|---|---|
| 快速开始 | 从安装到跑通一个 session 的最短路径。 |
| 配置指南 | 从最简到完整的渐进式教程。 |
| 配置参考 | agents.yaml 全部字段、类型与说明。 |
| CLI 参考 | 所有 agents 命令、选项与行为。 |
| Provider 参考 | 能力矩阵与各 Provider 配置。 |
| 工作原理 | 状态管理、依赖图、增量检测。 |
| 示例 | 按目标索引的可运行配置。 |
文档首页 按读者目标组织其余内容:概念、指南、参考、架构与贡献。
examples/ 目录包含每个 Provider 的可运行配置,从最简 Agent 到全特性组合(技能、MCP、Vault、多 Agent、Deployment)。建议从 examples/bailian/basic/ 开始。
CLI 的全部能力都可通过 @openagentpack/sdk 以编程方式调用:
import { resolveProjectConfig, planProjectContext } from "@openagentpack/sdk";
const config = await resolveProjectConfig({ configPath: "agents.yaml" });
const plan = await planProjectContext(config);
console.log(plan);公开 API 见 SDK 参考。
apps/webui 是一个 Vite 单页应用,用于浏览 playbook 和驱动 Agent Session;apps/server 通过 OpenAPI 暴露 SDK。从仓库根目录同时启动两者:
bun install
bun run dev # 同时启动 server + webui或用 agents playground --provider <bailian|qoder|ark|claude> 启动打包的本地 UI。
欢迎贡献。请阅读 CONTRIBUTING.md 了解开发环境搭建、合并要求以及如何新增 Provider。所有参与者需遵守我们的 行为准则。
使用 GitHub Discussions 提问或提交设计建议,使用 GitHub Issues 报告可复现问题和认领已接受任务。当前优先级见 公开 Roadmap。
发现漏洞?请按 SECURITY.md 的流程处理 —— 不要公开提 issue。
基于 Apache License, Version 2.0 开源。

