# @framers/agentos-ext-cloud-digitalocean 中文文档

规范地址：https://npmcn.com/package/%40framers/agentos-ext-cloud-digitalocean/

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

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

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

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

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

## 中文简介

DigitalOcean云扩展——通过DigitalOcean REST API管理App平台应用,Droplets,DNS记录和部署.

## 安装

```sh
npm install @framers/agentos-ext-cloud-digitalocean
```

也可以使用：`pnpm add @framers/agentos-ext-cloud-digitalocean`、`yarn add @framers/agentos-ext-cloud-digitalocean`、`bun add @framers/agentos-ext-cloud-digitalocean`

## README

# 数字海洋云

此包提供了代理工具来创建 App Platface app和 Droplets, 触发部署, 列出或删除资源, 以及管理域和 DNS 记录. 它使用DigitalOcean REST API,具有无记名签名认证.

## 安装

```bash
npm install @framers/agentos-ext-cloud-digitalocean
```

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

## 使用量

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

const agentos = await AgentOS.create({
  extensionManifest: {
    packs: [
      {
        package: '@framers/agentos-ext-cloud-digitalocean',
        options: {
          token: process.env.DIGITALOCEAN_TOKEN ?? process.env.DO_API_TOKEN,
        },
      },
    ],
  },
});
```

## 配置

| 选项 | 秘密编号 | 环境变量 | 需求 | 默认 |
| --- | --- | --- | --- | --- |
| `token` | `digitalocean.token` | `DIGITALOCEAN_TOKEN`,则 `DO_API_TOKEN` | 对 | 空字符串 |
| `secrets` |  |  | 没有 | `context.secrets`,则 `{}` |

明确选项优先于秘密,然后是环境变量. `options.secrets` 优先于 `context.secrets`。 。 。 .

## 工具

| 工具 | 它会做什么 |
| --- | --- |
| `doCreateApp` | 从 Git 仓库创建 App 平台服务或静态站点. |
| `doCreateDroplet` | 创建带有指定区域、大小、 OS 图像和可选设置字段的 Droplet. |
| `doListResources` | 列出应用, Droplets, 或两者兼有, 并带有可选 Droplet 标签过滤器. |
| `doDeployApp` | 触发对现有应用程序的部署,可选的完整重建. |
| `doManageDns` | 列出或添加域并创建,读取,更新或删除 DNS 记录. |
| `doDeleteResource` | 永久删除 App 平台应用程序或 Droplet . |

### `doCreateApp`

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `name` | 字符串 | 对 | 使用小写字母和连字符的 App 名称. |
| `gitUrl` | 字符串 | 对 | Git 仓库克隆 URL . |
| `branch` | 字符串 | 没有 | 要部署的 Git 分支, 默认 `main`。 。 。 . |
| `region` | 字符串 | 没有 | 区域 sattle, 默认 `nyc`。 。 。 . |
| `buildCommand` | 字符串 | 没有 | 构建命令覆盖 . |
| `runCommand` | 字符串 | 没有 | 运行服务命令 . |
| `outputDir` | 字符串 | 没有 | 静态站点输出目录. |
| `isStatic` | 布尔 | 没有 | 部署为静态站点, 默认 `false`,它部署一个服务. |
| `envVars` | 对象 | 没有 | 环境变量作为键值对. |
| `instanceSizeSlug` | 字符串 | 没有 | 弹壳大小. |

### `doCreateDroplet`

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `name` | 字符串 | 对 | 滴滴主机名 . |
| `region` | 字符串 | 对 | 区域弹丸. |
| `size` | 字符串 | 对 | 大小弹. |
| `image` | 字符串 | 对 | 图像弹或ID. |
| `sshKeys` | (弦或数) \[\] | 没有 | SSH 密钥标识或指纹嵌入 Droplet. |
| `userData` | 字符串 | 没有 | Cloud-init 用户数据脚本用于自动设置. |
| `backups` | 布尔 | 没有 | 启用每周备份, 默认 `false`。 。 。 . |
| `ipv6` | 布尔 | 没有 | 启用 IPv6 网络, 默认 `false`。 。 。 . |
| `tags` | 字符串 \[\] | 没有 | 用于组织和过滤的标记. |

### `doListResources`

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `resourceType` | 字符串 : `apps`, (中文(简体) ), `droplets`, (中文(简体) ), `all` | 没有 | 要列出的资源类型, 默认 `all`。 。 。 . |
| `page` | 编号 | 没有 | 页面编号,默认 1. |
| `perPage` | 编号 | 没有 | 每页项目,默认为20个,计划描述上限为200个. |
| `tag` | 字符串 | 没有 | 通过标签名称过滤 Dropplets . |

### `doDeployApp`

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `appId` | 字符串 | 对 | 要部署的 App ID, 可从 `doListResources`。 。 。 . |
| `forceBuild` | 布尔 | 没有 | 强制进行完整的重建,而不是新建,默认 `false`。 。 。 . |

### `doManageDns`

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `action` | 字符串 : `list-domains`, (中文(简体) ), `add-domain`, (中文(简体) ), `list`, (中文(简体) ), `add`, (中文(简体) ), `update`, (中文(简体) ), `delete` | 对 | 执行DNS的动作. |
| `domain` | 字符串 | 没有 | 域名, 除 `list-domains`。 。 。 . |
| `recordId` | 编号 | 没有 | 记录身份,更新和删除需要. |
| `recordType` | 字符串 | 没有 | DNS 记录类型, 例如 `A`, (中文(简体) ), `AAAA`, (中文(简体) ), `CNAME`, (中文(简体) ), `MX`, (中文(简体) ), `TXT`, (中文(简体) ), `SRV`, (中文(简体) ), `NS`,或 `CAA`。 。 。 . |
| `name` | 字符串 | 没有 | 记录名或主机名. |
| `data` | 字符串 | 没有 | 记录数据或值,例如IP地址,CNAME目标,或MX服务器. |
| `ttl` | 编号 | 没有 | 以秒计的时对活,计划描述默认为1800. |
| `priority` | 编号 | 没有 | MX和SRV记录优先. |
| `port` | 编号 | 没有 | SRV记录端口. |
| `weight` | 编号 | 没有 | SRV记录的重量. |

### `doDeleteResource`

| 参数 | 类型 | 需求 | 说明 |
| --- | --- | --- | --- |
| `resourceType` | 字符串 : `app`, (中文(简体) ), `droplet` | 对 | 要删除的资源类型 . |
| `resourceId` | 字符串 | 对 | 应用 UUID 或数字 Droplet ID 来删除 . |

## 页:1

缺少符号时激活失败, 通过获取账户信息来验证所提供的符号 .

App和Droplet创建提供远程资源. 服务应用程序使用固定环境 swit `node-js` 默认大小 `basic-xxs`。没有 `outputDir` 将构建文件夹保存到 App 平台,该平台正在寻找 `_static`, (中文(简体) ), `dist`, (中文(简体) ), `public` 财务报告和审定财务报表 `build` (单位:千美元)[应用程序光谱](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)) (中文(简体) ). App 变量使用类型 `GENERAL` 有范围 `RUN_AND_BUILD_TIME`。 。 。 .

部署触发了远程建设,并在不等待完成的情况下返回阶段。 资源删除是永久的,并根据删除工具的描述来销毁相关数据. 当数字返回出错时无法解析 Droplet ID .

DNS动作会添加域并添加,更新或删除记录. 所有动作,但 `list-domains` 需求 `domain`; 添加记录也要求 `recordType`, (中文(简体) ), `name`,以及 `data`; 需要更新或删除 `recordId`。请求代码省略 `ttl` 当它不存在时; 反应映射使用计数描述在反应省略时的默认.

资源列表会获取请求的页面, 而不执行 schema 描述 `perPage` 上限。 域和记录列表不遵循页码.

## 许可证

阿帕奇 - 2.0

## 常见问题

### @framers/agentos-ext-cloud-digitalocean 是什么？

DigitalOcean云扩展——通过DigitalOcean REST API管理App平台应用,Droplets,DNS记录和部署\.

### 如何安装 @framers/agentos-ext-cloud-digitalocean？

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

### @framers/agentos-ext-cloud-digitalocean 支持 TypeScript 吗？

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

### @framers/agentos-ext-cloud-digitalocean 支持 ESM 还是 CommonJS？

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

### @framers/agentos-ext-cloud-digitalocean 需要什么版本的 Node\.js？

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

### @framers/agentos-ext-cloud-digitalocean 可以商用吗？

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

### @framers/agentos-ext-cloud-digitalocean 的下载量有多少？

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

### @framers/agentos-ext-cloud-digitalocean 还在维护吗？

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

