# @framers/agentos-ext-tool-site-deploy 中文文档

规范地址：https://npmcn.com/package/%40framers/agentos-ext-tool-site-deploy/

版本：0\.2\.0
npm 元数据更新时间：2026-11-11T10:34:48.502Z
中文译文更新时间：2026-11-15T12:21:49.747Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40framers/agentos-ext-tool-site-deploy
原文对照：https://npmcn.com/package/%40framers/agentos-ext-tool-site-deploy/?lang=original
项目主页：https://github.com/framerslab/agentos-extensions/tree/master/registry/curated/tools/site-deploy#readme
源码仓库：https://github.com/framerslab/agentos-extensions

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：115 kB，16 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：0 个
- peer 依赖：@framers/agentos \>=0\.10\.40
- 首次发布：2026-05-02T11:35:21.423Z
- 最新版本发布：2026-11-11T10:34:47.828Z
- 近 30 天下载量：20290（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 7 个）

## 中文简介

站点部署管弦乐工具——从源头向任何云提供商部署,可选域名和DNS配置.

## 安装

```sh
npm install @framers/agentos-ext-tool-site-deploy
```

也可以使用：`pnpm add @framers/agentos-ext-tool-site-deploy`、`yarn add @framers/agentos-ext-tool-site-deploy`、`bun add @framers/agentos-ext-tool-site-deploy`

## README

# 场地部署

这包给探员一个工具, `siteDeploy`,它计划向Vercel, Cloudflare Pages, DigitalOcean, Netlify, Heroku, AWS, Linode, Railway 或 Fly.io 部署, 可选域注册和 DNS 设置,并通过一个工具执行器调用其他工具进行操作.

## 安装

```bash
npm install @framers/agentos-ext-tool-site-deploy
```

同伴依赖 : `@framers/agentos` 有范围 `>=0.10.40`。 。 。 .

## 使用量

```ts
import { AgentOS } from '@framers/agentos';

const agentos = await AgentOS.create({
  extensionManifest: {
    packs: [{ package: '@framers/agentos-ext-tool-site-deploy' }],
  },
});
```

## 工具

| 工具 | 它会做什么 |
| --- | --- |
| `siteDeploy` | 部署来自 Git 仓库或本地目录的站点, 并带有可选的自定义域注册和 DNS 配置 . |

### `siteDeploy` 参数

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `source` | `string` | 对 | Git 寄存器 URL, source tarball URL 或 本地目录路径( 参见下表, 每个提供者需要什么) |
| `cloudProvider` | `string`, enum: (中文(简体) ) `vercel`, (中文(简体) ), `cloudflare`, (中文(简体) ), `digitalocean`, (中文(简体) ), `netlify`, (中文(简体) ), `heroku`, (中文(简体) ), `aws`, (中文(简体) ), `linode`, (中文(简体) ), `railway`, (中文(简体) ), `flyio` | 没有 | 要部署的云提供者( 默认: 自动检测最合适) |
| `projectName` | `string` | 没有 | 供应商上的工程,站点或应用名称,省略时取自来源. 需要用于 Heroku( 现有应用程序) 和 AWS 上的本地目录( S3 桶) . |
| `domain` | `string` | 没有 | 自定义配置域( 可选) 。 如果没有登记,将试图通过下列途径进行登记: `domainRegistrar`。 。 。 . |
| `domainRegistrar` | `string`, enum: (中文(简体) ) `porkbun`, (中文(简体) ), `namecheap`, (中文(简体) ), `godaddy`, (中文(简体) ), `cloudflare` | 没有 | 用于域名购买的域名注册员(如果域名尚未注册则需要) |
| `registrant` | `object` | 没有 | 登记登记登记登记的联系人: `firstName`, (中文(简体) ), `lastName`, (中文(简体) ), `email`, (中文(简体) ), `phone`, (中文(简体) ), `address1`, (中文(简体) ), `city`, (中文(简体) ), `state`, (中文(简体) ), `postalCode`, (中文(简体) ), `country`,可选择 `address2` 财务报告和审定财务报表 `organization`。要求注册在 Namecheap 或 GoDaddy . |
| `framework` | `string`, enum: (中文(简体) ) `nextjs`, (中文(简体) ), `react`, (中文(简体) ), `vue`, (中文(简体) ), `svelte`, (中文(简体) ), `astro`, (中文(简体) ), `static`, (中文(简体) ), `node`, (中文(简体) ), `python`, (中文(简体) ), `auto` | 没有 | 框架/运行时间( 默认: 自动检测) |
| `envVars` | `object<string, string>` | 没有 | 用于部署的环境变量 |
| `buildCommand` | `string` | 没有 | 构建命令覆盖 |
| `outputDirectory` | `string` | 没有 | 输出目录覆盖 |
| `dryRun` | `boolean` | 没有 | 不执行预览部署计划( 默认: 假) |

## 页:1

工厂不附加工具执行器. 主机通过一个 `SiteDeployTool.setToolExecutor` 提供供应商和登记员工具。 如果没有附加回调, 部署失败, 执行器错误 . `dryRun` 返回一个不调用授权工具的计划.

框架检测检查源 URL 或路径字符串. 掉下来了 `static` 当没有图案匹配时。 检测出 Nuxt 源 `node`,因为 Nuxt 默认建立服务器。 自动提供者选择使用Vercel为Next.js,React,Vue和Svelte,Cloudflare为Astro和静态站点,铁路为节点和Python.

为了部署, `siteDeploy` 将部署工具称为经整理的云包登记册,并附有该工具自己的论据:

| 提供者 | 工具 | 来源需要 | 发送的参数 |
| --- | --- | --- | --- |
| `vercel` | `vercelDeploy` | 图形 URL | `gitUrl`, (中文(简体) ), `projectName`, (中文(简体) ), `framework` (单位:千美元)`nextjs` 财务报告和审定财务报表 `astro` 只有凡尔塞能检测其余的事物, `buildCommand`, (中文(简体) ), `outputDirectory`, (中文(简体) ), `envVars` |
| `cloudflare` | `cfDeployPages` | 图形 URL | `gitUrl`, (中文(简体) ), `projectName`, (中文(简体) ), `buildCommand`, (中文(简体) ), `buildOutputDirectory`, (中文(简体) ), `envVars` |
| `digitalocean` | `doCreateApp` | 图形 URL | `name` (单位:千美元)`projectName` 或来源于来源), `gitUrl`, (中文(简体) ), `isStatic`, (中文(简体) ), `buildCommand`, (中文(简体) ), `outputDir`, (中文(简体) ), `envVars` |
| `netlify` | `netlifyDeploySite` | 图形 URL | `gitUrl`, (中文(简体) ), `siteName`, (中文(简体) ), `buildCommand`, (中文(简体) ), `publishDirectory`, (中文(简体) ), `envVars` |
| `heroku` | `herokuDeployApp` | 源归档 URL: a `.tar.gz` gitHub 文档 `/tarball/<ref>` URL 或来自 Heroku 源端的签名 URL; 拒绝 Git 仓库 URL | `appName` (单位:千美元)`projectName`,要求), `sourceUrl`, (中文(简体) ), `configVars` |
| `aws` | git URL 无 |  | 拒绝: Amplify's CreateApp 需要一个寄存器访问令牌, 它 `siteDeploy` 不使用; 调用 `awsDeployAmplify` 与 `oauthToken` |
| `aws` | `awsDeployS3Site` | 已建静态文件本地目录 | `bucketName` (单位:千美元)`projectName`,要求), `sourceDir` (来源与 `outputDirectory`· ; `outputDirectory` 需要,除非 `framework` 实值 `static`) (中文(简体) ). 一个目录持有 `.git`, (中文(简体) ), `.env` 或者说 `.env.*` 因为水桶是公用的 所以被拒绝了 |
| `railway` | `railwayDeployService` | GitHub 網址 | `repo` (单位:千美元)`owner/repo`, (中文(简体) ), `projectName`, (中文(简体) ), `variables` |
| `linode` | 无 |  | 拒绝 : `linodeDeployStackScript` 需要 StackScript 代码、 区域、 计划、 图像和根密码 |
| `flyio` | 无 |  | 拒绝 : `flyDeployApp` 运行 Docker 图像 |

提供者的工具无法取用的来源, 需要缺失 `projectName`,或该工具不接受的选项(`buildCommand` 例如,在Heroku或Railway上),在任何工具被调用之前都会被拒绝,理由在 `error`。模拟报告同样的拒绝,并显示该工具及其论据,环境值取而代之.

对于域, `siteDeploy` 呼叫登记组的工具:

| 书记官长 | 搜索 | 注册( 当有域时) | DNS 数据 |
| --- | --- | --- | --- |
| `porkbun` | `porkbunSearchDomain` 与 `domain` | `porkbunRegisterDomain` 与 `domain`, (中文(简体) ), `years: 1` 编辑 `registrant` 字段( Porkbun 使用账户联系人的其他方式) | `porkbunConfigureDns` 用空添加最高记录 `name` |
| `namecheap` | `namecheapSearchDomain` 与 `domains` | `namecheapRegisterDomain` 与 `domainName`, (中文(简体) ), `years: 1` 财务报告和审定财务报表 `registrant` | `namecheapGetDnsRecords`,则 `namecheapConfigureDns` 加上最高记录 |
| `godaddy` | `godaddySearchDomain` 与 `domain` | `godaddyRegisterDomain` 与 `domain`, (中文(简体) ), `period: 1` 财务报告和审定财务报表 `contactRegistrant` | `godaddyConfigureDns` 添加 `records: [{ type, name: '@', data }]` |
| `cloudflare` | `cfRegGetDomainInfo` 与 `domain` | 无:Cloudflare的登记员只收转账 | `cfRegConfigureDns` 添加由完整域命名的记录 |

DNS唱片是部署主机名的CNAME. 当提供者不返回任何记录时(Railway和Heroku在创建时没有记录) `domainStatus` 实值 `pending_dns`除了在Vercel和Netlife上 记录点到共同的目标 `cname.vercel-dns.com` 财务报告和审定财务报表 `apex-loadbalancer.netlify.com`。 。 。 .

`namecheapConfigureDns` 替换域的每个主机记录, 因此当当前记录无法读取时, 不尝试 DNS 步骤 `domainStatus` 实值 `pending_dns`。当域名已经有一个顶级MX、TXT或一个记录,一个顶级CNAME会打破时,情况也一样(一个CNAME与其他记录相同, [RFC 1034 第3.6.2节](https://www.rfc-editor.org/rfc/rfc1034#section-3.6.2)) (中文(简体) ). 在 Namecheap 或 GoDaddy 有可用的域名没有完整 `registrant` 未登记,以及 `domainStatus` 实值 `registration_failed`。没有登记员,域名设置返回手动 DNS 指令.

部署失败停止域设置 。 返回域注册或 DNS 失败出现于 `domainStatus` 和步骤结果,同时成功的部署使总体结果得以成功.

## 许可证

阿帕奇 - 2.0

## 常见问题

### @framers/agentos-ext-tool-site-deploy 是什么？

站点部署管弦乐工具——从源头向任何云提供商部署,可选域名和DNS配置\.

### 如何安装 @framers/agentos-ext-tool-site-deploy？

在项目目录运行 npm install @framers/agentos-ext-tool-site-deploy，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@framers/agentos（\>=0\.10\.40）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @framers/agentos-ext-tool-site-deploy 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @framers/agentos-ext-tool-site-deploy 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @framers/agentos-ext-tool-site-deploy 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @framers/agentos-ext-tool-site-deploy 可以商用吗？

@framers/agentos-ext-tool-site-deploy 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @framers/agentos-ext-tool-site-deploy 的下载量有多少？

根据 npm 官方下载统计，@framers/agentos-ext-tool-site-deploy 在 2026/10/16 – 2026/11/14 这 30 天内被下载 20,290 次，日均约 676 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @framers/agentos-ext-tool-site-deploy 还在维护吗？

最新版本 0\.2\.0 发布于 2026/11/11（4 天前）；至今共发布 7 个版本，其中过去 12 个月发布了 7 个；首次发布于 2026/05/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

