# @craftsamo/cloudflare-tools 中文文档

规范地址：https://npmcn.com/package/%40craftsamo/cloudflare-tools/

版本：0\.8\.1
npm 元数据更新时间：2026-11-09T13:41:01.499Z
中文译文更新时间：2026-11-10T23:08:14.346Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40craftsamo/cloudflare-tools
原文对照：https://npmcn.com/package/%40craftsamo/cloudflare-tools/?lang=original
项目主页：https://github.com/craft-agent/cloudflare-tools#readme
源码仓库：https://github.com/craft-agent/cloudflare-tools

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

- 包体积（解压后）：4.2 MB，36 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24
- 运行依赖：0 个
- 首次发布：2026-11-06T17:33:54.894Z
- 最新版本发布：2026-11-09T13:41:01.189Z
- 近 30 天下载量：2952（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 13 个）

## 中文简介

用于编码剂的云浮工具:区,DNS,分析,工人,Pages,存储和地道.

## 安装

```sh
npm install @craftsamo/cloudflare-tools
```

也可以使用：`pnpm add @craftsamo/cloudflare-tools`、`yarn add @craftsamo/cloudflare-tools`、`bun add @craftsamo/cloudflare-tools`

## README

# 云纹工具

用于编码剂的云浮工具:区,DNS,分析,工人,Pages,存储和地道.

| 节奏 | 交付 | 被钉住 |
| --- | --- | --- |
| 打开代码 V2 | 本地插件( npm 包, 有技能) | 软件包中的版本 |
| 打开代码 V1 | 本地插件( npm 软件包, 无技能) | 软件包中的版本 |
| 克劳德代码 | 插件: MCP 服务器和技能 | 释放标记,作为参考 |
| 代码 | 插件: MCP 服务器和技能 | 释放标记,作为参考 |
| Grok 构建 | 插件: MCP 服务器和技能 | 释放标签, 如 `@ref` |
| 反重力 | 插件: MCP 服务器和技能 | 释放标记树 URL |
| 赫尔墨斯探员 | 本地插件( Python, 调用命令行) | 释放承诺,如SHA |
| 其他 MCP 主机 | Npm 的 MCP 服务器 | 软件包中的版本 |

工具需要 [节点.js](https://nodejs.org/) 24岁或后. [`docs/conventions.md`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/docs/conventions.md) 描述工具的名称 他们的行为.

## 安装

从释放中安装, 绝不从默认分支安装: 释放是一个标签 承诺背负建造 `dist/`,而默认分支则没有。 在那个 下方的命令, `<version>` 是一个发行版本( e)`1.2.3`和 `<sha>` 这是 输入标签名称 :

```sh
gh api repos/craft-agent/cloudflare-tools/commits/v<version> --jq .sha
```

### 打开代码

OpenCode V2 在 `opencode.json`数字 :

```json
{
  "plugins": [{ "package": "@craftsamo/cloudflare-tools@<version>", "options": { "read_only": false } }],
  "permissions": [{ "action": "cloudflare_*", "resource": "*", "effect": "ask" }]
}
```

OpenCode V1 将软件包作为字符串,或与其选项相配:

```json
{
  "plugin": [["@craftsamo/cloudflare-tools@<version>", { "read_only": false }]],
  "permission": { "cloudflare_*": "ask" }
}
```

OpenCode 允许任何没有规则名的动作, 因此该插件的请求获得批准 除非规则说 `ask`。阅读工具从不问,所以 `cloudflare_*` 阴影 这是安全的.

选择是 [设置](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-settings)。默认关闭的工具集是 打开了,把它列入 `toolsets` 比如说那些要保存的 `"options": { "toolsets": ["account", "zones", "dns", "workers", "pages", "email"] }`。 。 。 .

V1没有技能。 解开包并复制其 `skills/*` 文件夹进入 `~/.config/opencode/skills/`数字 :

```sh
npm pack @craftsamo/cloudflare-tools@<version>
tar -xzf craftsamo-cloudflare-tools-<version>.tgz
mkdir -p ~/.config/opencode/skills
cp -r package/skills/* ~/.config/opencode/skills/
rm -rf package craftsamo-cloudflare-tools-<version>.tgz
```

### 克劳德代码

```sh
claude plugin marketplace add craft-agent/cloudflare-tools#v<version>
claude plugin install cloudflare-tools@craft-agent
```

### 代码

```sh
codex plugin marketplace add craft-agent/cloudflare-tools --ref v<version>
codex plugin add cloudflare-tools@craft-agent
```

代码旋转 `-` 输入 `_` 在服务器名称中,它显示为 `mcp__cloudflare_tools__cloudflare_*`在插件中启动 MCP 服务器 安装目录, 这绝不是呼叫者的工作树 .

### Grok 构建

```sh
grok plugin install craft-agent/cloudflare-tools@v<version> --trust
```

Grok在会话工作目录中启动MCP服务器.

### 反重力

从释放标记的树上安装, 绝不从默认分支中安装, 而该分支 没有构建 `dist/`; 反重力克隆标记 `~/.gemini/config/plugins/cloudflare-tools`。 。 。 .

```sh
agy plugin install https://github.com/craft-agent/cloudflare-tools/tree/v<version>
```

### 赫尔墨斯探员

Hermes 安装承诺而非标记,插件安装禁用:

```sh
hermes plugins install craft-agent/cloudflare-tools --ref <sha>
hermes plugins enable cloudflare-tools
```

Hermes在安装插件时扫描插件. 从v. 7.0起,判决是 `caution`: 隧道工具名称为“ 标志性许可账户 ” 接通器:被云飘出,而赫尔墨斯将这个词评为隧道服务. `hermes plugins install` 然后在安装前询问,而不能询问的地方(否) 终端),添加 `--force`,它优先于 `caution` 判决,没有其他.

如果一个 Hermes 网关已经运行, 请重新启动它(`hermes gateway restart`改为: 装入插件.

### 任何其他 MCP 主机

将服务器添加到主机的MCP配置中. 旗帜进入 `args`数字 :

```json
{
  "mcpServers": {
    "cloudflare-tools": {
      "command": "npx",
      "args": ["-y", "@craftsamo/cloudflare-tools@<version>", "--read-only"]
    }
  }
}
```

## 工具和技能

每个工具箱都有一个技能 告诉一个特工如何使用工具.

### 账户(`account`(中文(简体) )

账户证书、凭证核查和审计记录.

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_account_read` | `view` 账户细节和符号状态, `list` 已配置账户或查询 `audit` 日志 | 读取 |

技术是 [`cloudflare-account`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-account/SKILL.md),显示为 `cloudflare-tools:cloudflare-account` 在克劳德法典和 `cloudflare-tools:account` 在赫尔墨斯.

### 区(`zones`(中文(简体) )

区搜索,设置(读取和更改),通用SSL,证书,和DNSSEC.

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_zone_read` | `list` 区域, `view` 细节,读取 `settings`通用 `ssl` 状态,或 `dnssec` | 读取 |
| `cloudflare_zone_setting_edit` | 更改 1- 20 区设置顺序; 拒绝降低保护的更改 | 覆盖 |
| `cloudflare_zone_setting_weaken` | 更改区域设置, 降低访客的保护; 总是先询问 | 行政 |
| `cloudflare_zone_cache_purge` | 清除一个区域内最多100个URL、主机、前缀或标签的缓存副本 | 专有 |
| `cloudflare_zone_cache_purge_all` | 清除一个区域的全部缓存; 总是先询问 | 行政 |
| `cloudflare_zone_dnssec_enable` | 打开 DNSSEC 区域; 在登记员公布DS记录之前无害 | 专有 |
| `cloudflare_zone_dnssec_disable` | 关闭 DNSSEC 区域; 要求首先删除登记员的 DSS | 行政 |

技术是 [`cloudflare-zones`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-zones/SKILL.md),显示为 `cloudflare-tools:cloudflare-zones` 在克劳德法典和 `cloudflare-tools:zones` 在赫尔墨斯.

### DNS (英语:`dns`(中文(简体) )

DNS记录:列表,完整读取一,导出区文件,增加记录,修改,删除.

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_dns_read` | `list` 记录, `view` 完全一个,或 `export` bIND 格式的区域文件 | 读取 |
| `cloudflare_dns_record_add` | 在一个全或全无批次中增加1-20个8种记录 | 添加 |
| `cloudflare_dns_record_edit` | 更改 1 - 20 个记录, 由 id 在一个全或全无的批次中进行; 从来没有记录的类型 | 覆盖 |
| `cloudflare_dns_record_delete` | 以 id 删除 1 - 20 记录, 替换在同一批中; 总是先询问 | 行政 |

技术是 [`cloudflare-dns`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-dns/SKILL.md),显示为 `cloudflare-tools:cloudflare-dns` 在克劳德法典和 `cloudflare-tools:dns` 在赫尔墨斯.

### 分析(`analytics`(中文(简体) )

分析:每日读取一个区的流量(请求,带宽,缓存点击,威胁,页面浏览和独有的访客),最需要的路径,客户国和响应状态,安全特性(不在"自由计划"上)以及最新的安全事件,以及账户的工人引用,错误和CPU时间,在最近的时间范围内. 此工具集默认关闭; 打开 `toolsets` 设置(见 [设置](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-settings)) (中文(简体) ).

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_analytics_read` | `traffic` 世界协调时每一天;最高 `paths`, (中文(简体) ), `countries` 财务报告和审定财务报表 `statuses`· ; `security` 财务报告和审定财务报表 `security_events`· ; `workers` | 读取 |

信使需要区域 分析 区域 区域 区域; `workers` 需要帐户 帐户分析 阅读.

技术是 [`cloudflare-analytics`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-analytics/SKILL.md),显示为 `cloudflare-tools:cloudflare-analytics` 在克劳德法典和 `cloudflare-tools:analytics` 在赫尔墨斯.

### 工人(`workers`(中文(简体) )

工人:列出他们,读取一个人的设置和捆绑,部署和版本,一个区的工人路线,自定义域,克龙触发器和秘密名称和类型,并翻出一个工人回到以前服务的版本. 建置、上传和部署新代码停留在Wrangler; 路由、自定义域和克龙触发器在此被读取并更改 `wrangler.toml`。 。 。 .

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_workers_read` | `list`, (中文(简体) ), `view`, (中文(简体) ), `deployments`, (中文(简体) ), `versions`, (中文(简体) ), `routes`, (中文(简体) ), `domains`, (中文(简体) ), `schedules`, (中文(简体) ), `secrets` (只有名称) | 读取 |
| `cloudflare_workers_rollback` | 将一个工人带回以前服务过的版本; 总是先问 | 行政 |

该标志需要工人脚本读取; `routes` 还需要阅读工人路线; `routes`,以及 `domains` 与 `zone`需要读取区域。 回滚需要工人脚本写作.

技术是 [`cloudflare-workers`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-workers/SKILL.md),显示为 `cloudflare-tools:cloudflare-workers` 在克劳德法典和 `cloudflare-tools:workers` 在赫尔墨斯.

### 页数(`pages`(中文(简体) )

页: 列出项目,读取其构建设置,环境可变名称和绑定,制作和预览部署,包括哪个是活的,一个构建的日志,以及自定义域;将一个项目的生成向后或向后切换到一个成功构建的部署;并添加或删除其自定义域. 构建和部署新代码与Git和Wrangler;自定义域名的DNS记录与DNS工具一起保留.

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_pages_read` | `list` 项目, `view` 一、导 言 `deployments`一栋楼 `logs`,自定义 `domains` | 读取 |
| `cloudflare_pages_rollback` | 将生产切换为成功构建的部署; 总是先询问 | 行政 |
| `cloudflare_pages_domain_add` | 在工程中添加自定义域, 不创建 DNS 记录; 总是先询问 | 行政 |
| `cloudflare_pages_domain_remove` | 从工程中删除自定义域, 删除没有 DNS 记录; 总是先询问 | 行政 |

符号需要页面读取权限 。 写作需要Pages Write,而域名工具的DNS检索需要Zone Read和DNS Read.

技术是 [`cloudflare-pages`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-pages/SKILL.md),显示为 `cloudflare-tools:cloudflare-pages` 在克劳德法典和 `cloudflare-tools:pages` 在赫尔墨斯.

### 储存`storage`(中文(简体) )

存储:按名称,大小和日期列出一个账户的R2桶和一个桶的对象和文件夹,并读取一个桶是否公有(它的r2.dev域和自定义域),它的CORS规则和删除其对象的生命周期规则;列出工人 KV 命名空间及其密钥名称;列出D1数据库并读取一个大小和计划;创建一个空桶,命名空间或数据库,并删除一个被证明是空的. 一个对象的正体,一个KV值和一个表行从不被读取,D1 schema来自一个固定的语句,只列出默认管辖权. Cloudflare删除一个带有其内容的KV命名空间或D1数据库,因此删除工具首先证明商店是空的;清空一个商店会留在用户那里. 此工具集默认关闭; 打开 `toolsets` 设置(见 [设置](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-settings)) (中文(简体) ).

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_storage_read` | 资源2 `buckets`页:1 `bucket`细节,它的 `objects`; KV 软件 `namespaces`他们 `keys`页:1 `databases`页:1 `database`计划 | 读取 |
| `cloudflare_storage_create` | 从名称创建空 R2 桶、 KV 命名空间或 D1 数据库 | 添加 |
| `cloudflare_storage_delete` | 仅在证明为空时删除桶、 命名空间或数据库; 总是先询问 | 行政 |

令牌需要账户 → 工人 R2 存储 → 读取, 工人 KV 存储 → 读取或 D1 → 读取, 用于所读的商店; 创建和删除需要相同的权限编辑.

技术是 [`cloudflare-storage`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-storage/SKILL.md),显示为 `cloudflare-tools:cloudflare-storage` 在克劳德法典和 `cloudflare-tools:storage` 在赫尔墨斯.

### 隧道(`tunnels`(中文(简体) )

地道:按名称,状态和连接时间列出一个账户的"云浮"地道,并读取一地道的主动连接器,边缘连接器,colos和公-宿主名入地道通路规则. 一个隧道的运行符从未被曝光,连接器的内部ID和源IP地址从未被读取,被删除的隧道被忽略. 对于当地管理的地道,入侵规则保存在主机上,不能在这里读取. 一个主机名可以通过一个由仪表板管理的地道发布到一个本地服务:该工具增加了规则和它需要的代理的CNAME,拒绝一个拥有其他DNS记录的主机名,并且总是先问. 另一个工具更改一个已公布主机名前往的服务,一个将主机名取出,当没有其他规则使用时删除它的CNAME到隧道中,从不触及其他记录;两者总是先问. 此工具集默认关闭; 打开 `toolsets` 设置(见 [设置](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-settings)) (中文(简体) ).

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_tunnel_read` | `tunnels` 账户; 1 `tunnel`地位和入侵 | 读取 |
| `cloudflare_tunnel_route_add` | 通过隧道发布主机名( 和可选路径) 到本地服务; 总是先询问 | 行政 |
| `cloudflare_tunnel_route_edit` | 更改已公布主机名的服务, 命名当前; 总是先询问 | 行政 |
| `cloudflare_tunnel_route_remove` | 从隧道取出主机名并删除其 CNAME 到隧道; 总是先询问 | 行政 |

道具需要账号 ^ Cloudflare One Connector: 云浮-读取. 发布或退出主机名需求 账号 ^ Cloudflare One Connector: 云浮 → Edition and Zone → DNS → Edit; 更改需要哪里 账号 – Cloudflare One Connector: cloudflared – Edition, and Zone – DNS – 读取其报告的记录. 每个公共主机也说 零信任访问应用程序是否与其匹配, 需要账户 – 访问 : 应用和政策 – 阅读;没有它,覆盖范围是: `unknown`。匹配不是一个 保证每个访客都签入: 一项旁通政策仍能让他们通过.

技术是 [`cloudflare-tunnels`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-tunnels/SKILL.md),显示为 `cloudflare-tools:cloudflare-tunnels` 在克劳德法典和 `cloudflare-tools:tunnels` 在赫尔墨斯.

### 电子邮件搜索( E)`email`(中文(简体) )

电子邮件路由:读取一个区的电子邮件路由是否开启,它的路由规则和call-all(每个规则都匹配一个地址并转发到一个经核实的地址,将其丢入或交给一个工人),以及账户的目的地地址是否每个地址都经过核实;加,更改或删除一个地址的路由规则,更改call-all,并添加或删除一个目的地地址. 一条规则是 Worker's Wrangler 配置管理器被标记为这样,一个有电子邮件运行的区没有邮件。 地址,姓名和工人姓名是用户的数据,作为数据返回,从不指示. 此工具集默认关闭; 打开 `toolsets` 设置(见 [设置](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-settings)) (中文(简体) ).

| 工具 | 它会做什么 | 类 |
| --- | --- | --- |
| `cloudflare_email_read` | 区域 `routing` 设置和覆盖 `rules`;账户 `addresses` | 读取 |
| `cloudflare_email_rule_add` | 添加一条规则,将一个地址转发到已核实的目的地, 将其丢弃或交给工人( Cloudflare 拒绝不存在的地址); 拒绝已有规则的地址 | 添加 |
| `cloudflare_email_rule_edit` | 更改规则的地址、动作、名称或是否在上, 命名当前动作; 拒绝全面规则和由Wrangler管理的规则 | 覆盖 |
| `cloudflare_email_rule_delete` | 删除一条规则, 指定其邮件接下来的去向; 拒绝覆盖规则和Wrangler管理的规则; 总是先询问 | 行政 |
| `cloudflare_email_catchall_edit` | 更改 call- all( mail no rule matches) 的动作或打开或关闭, 指定当前状态; 拒绝 Wrangler 管理的 call- all; 总是先询问 | 行政 |
| `cloudflare_email_address_add` | 添加目的地地址; Cloudflare 发送其所有者的链接以确认, 任何规则都无法转发到它, 直到他们遵循它; 总是先询问 | 行政 |
| `cloudflare_email_address_delete` | 删除目的地址; 在账户中任何区域的规则或全部规则被转发到时拒绝; 总是先询问 | 行政 |

信使需要Zone – 电子邮件路由规则 – 读取,和账户 – 电子邮件路由地址 – 为地址读取. 添加,更改或删除一条规则,并更改"包干",需要"区" – 电子邮件出行规则 – 编辑,并添加或更改"前行需要"账户 – 电子邮件出行地址 – 读取以检查. 添加或删除一个目的地址需求账户 → 电子邮件运行地址 → 编辑,并删除一个也需要 Zone → 电子邮件运行规则 → 在账户的每个区域读取.

技术是 [`cloudflare-email`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/skills/cloudflare-email/SKILL.md),显示为 `cloudflare-tools:cloudflare-email` 在克劳德法典和 `cloudflare-tools:email` 在赫尔墨斯.

## 添加工具

1.  将字符串写入 `src/core/<domain>/<verb>.ts` 与 `defineTool`: 身份证 `<prefix>_<domain>_<verb>`,标题和描述,Zod论点和 输出计划、工具套和写作类,以及 `execute(args, context)`。 。 。 . 写入工具还给出 `targets(args, context)`:电话写给什么, 作为许可规则,它应该命名.
2.  测试它旁边的光谱( T)`<verb>.test.ts`),呼唤它通过 `invoke` 作为 切入点有 运行程序的工具被测试为假冒 程序打开 `PATH`;没有达到真正的测试.
3.  列进去 `src/tools.ts`。一个新的工具集进入 `toolsets` 内 `src/project.ts` (和 `defaultToolsets` 当它缺席的时候 变量 工具除设置外读取 `toolVariables`。 。 。 .
4.  添加或更新工具集的技能, `skills/<prefix>-<toolset>/SKILL.md`。 。 。 .
5.  运行 `pnpm run build && pnpm run manifests` 列表中的工具 `plugin.yaml` 然后在下方描述 "工具与技能".

[`docs/conventions.md`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/docs/conventions.md) 每一步都有规则.

## 阅读和写作

每个读取的工具都命名 `<prefix>_<domain>_read`. 阅读可不经询问而运行; 写作由绳子证实.

| 节奏 | 阅读而不询问 |
| --- | --- |
| 打开代码 | 总是; 插件仅在写前询问 |
| 克劳德代码 | 规则 `mcp__plugin_cloudflare-tools_cloudflare-tools__*_read` 内 `permissions.allow` 联 合 国 `~/.claude/settings.json` |
| 代码 | 总是; Codex 运行宣布的工具 `readOnlyHint` 未询问, 如读取工具所做的 |
| Grok 构建 | `grok --allow 'MCPTool(cloudflare-tools__*_read)' --allow 'MCPTool(cloudflare_*_read)'` (两项规则;见下文) |
| 反重力 | 规则 `mcp(cloudflare-tools_cloudflare-tools/<tool id>)` 内 `permissions.allow`,每个已读工具一个 |
| 赫尔墨斯 | 总是; 插件仅在写前询问 |

凡所问之作文,而所不取之作文:

-   **打开代码** 不允许任何动作没有规则名称, 因此未询问写入运行, 除非 规则要求: `cloudflare_*` 规则如下 [打开代码](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-opencode)。 。 。 .
-   **代码** 下级 `codex exec`,以及 **Grok 构建** 下级 `grok -p`,拒绝 除非事前允许,否则他们不能写信询问.
-   **Grok 构建** 通过插件调用工具 `use_tool` 工具,以及 代理常常在不首先使用其服务器的情况下命名工具 。 格罗克检查规则 与给定的名称相对应,所以仅服务器合格规则不符合 这是第一个电话。 第二条规则与短名相匹配; 仍然写着 没有匹配.
-   **反重力** 在任何 MCP 工具之前询问 规则不允许、 读取包含,以及 命名插件的服务器 `cloudflare-tools_cloudflare-tools` (插图, 然后是服务器). `agy -p` 拒绝它不能要求的工具.
-   **赫尔墨斯** `hermes chat -q` 拒绝它不能要求的写作; `hermes -z` 财务报告和审定财务报表 `--yolo` 跳过批准, 所以写然后运行未询问.

## 设置

每个切入点都采用相同的设置. 旗帜胜过环境 变量,而选项或设置也胜过变量.

| 设置 | 旗帜 | 变量 | 含义 |
| --- | --- | --- | --- |
| `toolsets` | `--toolsets` | `CLOUDFLARE_TOOLS_TOOLSETS` | 打开的工具,或 `all`; 默认为 `src/project.ts` 名称 |
| `read_only` | `--read-only` | `CLOUDFLARE_TOOLS_READ_ONLY` | 没有记录写入的工具; 胜过其他设置 |
| `tools` | `--tools` | `CLOUDFLARE_TOOLS_TOOLS` | 用 ID 添加的单个工具, 不管它们的工具集 |
| `exclude_tools` | `--exclude-tools` | `CLOUDFLARE_TOOLS_EXCLUDE_TOOLS` | 用 ID 删除的单一工具; 胜出 `tools` 财务报告和审定财务报表 `toolsets` |
| `confirm` | `--confirm` | `CLOUDFLARE_TOOLS_CONFIRM` | 只有 MCP 服务器 : `harness` (违约)或 `elicitation`如公约所说 |
| `language` | `--language` | `CLOUDFLARE_TOOLS_LANGUAGE` | 仅本地插件: 批准提示的语言, 如 `ja` |

列表在旗帜或变量中被逗号分隔. 每根绳子都会读出:

-   **打开代码** 选择插件 `options` 列表为数组和 `read_only` 像个布尔人 回到变量上.
    
-   **赫尔墨斯** 带 `plugins.entries.cloudflare-tools.settings` 内 `config.yaml`数字 :
    
    ```yaml
    plugins:
      entries:
        cloudflare-tools:
          settings:
            read_only: false
            exclude_tools: []
    ```
    
    没有 `language` 设定,批准卡跟随赫尔墨斯自己的 `display.language` (或 `HERMES_LANGUAGE`),其核准的语文 按钮,其他则使用英文.
    
-   **Claude Code, Grok 建筑和反重力** 启动插件的服务器,无需 标记并传递客户端的环境,所以将变量设置在 环境 绳子运行在.
    
-   **代码** 仅通过插件的 MCP 服务器的几个基本变量( 如 `PATH` 财务报告和审定财务报表 `HOME`)和插件的显示名称,即 以上变量:将其设置在环境代码运行中。 变量 除设置外还读取的工具 `toolVariables` 内 `src/project.ts`· ; `pnpm run manifests` 在仪表上加载它 设置变量。 传递旗帜,或给服务器一个变量 软件包不命名, 将服务器添加到 `[mcp_servers]` 在代码x中 `config.toml` 而不是使用插件, 标记在 `args` 编辑 要前进的变量 `env_vars`,作为 [全权证书](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-credentials) 显示.
    

每一个拉带从哪里取出变量,什么时候需要重启 看到一个变化,是下 [全权证书](https://npmcn.com/package/%40craftsamo/cloudflare-tools/#readme-credentials)。 。 。 .

### 全权证书

工具叫 Cloudflare 有API 符号从环境读取,从来没有 从背景或论据。 每一个符号都带有一个的ID 其行为如下:

| 变量 | 选取的 |
| --- | --- |
| `CLOUDFLARE_API_TOKEN`, (中文(简体) ), `CLOUDFLARE_ACCOUNT_ID` | `account` 被排除在外,或 `account: "default"` |
| `CLOUDFLARE_API_TOKEN_<LABEL>`, (中文(简体) ), `CLOUDFLARE_ACCOUNT_ID_<LABEL>` | `account: "<label>"`,小写中的标签 |

-   未贴标签的一对有Wrangler读取的名字. 标签是 1 到 24 小写字母、数字和 `_`,以变量写入首府 (单位:千美元)`my_site` → `CLOUDFLARE_API_TOKEN_MY_SITE`) (中文(简体) ).
-   与 `account` 左出后,一个呼叫会占用未标记的对,或者唯一的标签 当没有未标记的对; 有多个标签, 没有未标记的对 它失败并列出它们.
-   A 类 `CLOUDFLARE_API_TOKEN` 未设置 `CLOUDFLARE_ACCOUNT_ID`,作为导出 对Wrangler来说 仍然是没有标签的对: 一个离开的电话 `account` 输出失败, 即使设置了完整的标签对 。 过 `account`,或者取消错误的标志.
-   使用一个 API 令牌, 范围为工具应该做什么 ; 全球 API 密钥是 拒绝.

设定每个带启动工具的变量 :

-   **打开代码 V2** 运行其背景服务中的插件,该服务保留 它从环境开始: 设置服务起始位置, 然后重新启动 编号(`opencode service restart`在设置或更改后. **打开代码 五一号** 运行插件在它自己的进程中,所以它运行的环境是 够了.
    
-   **Claude Code、反重力和格罗克建筑公司** 通过插件的服务器 环境 绳子运行在.
    
-   **赫尔墨斯** 传递它运行的环境, 但一个已经运行的网关 保留它开始的那个: 重新启动它( k)`hermes gateway restart`之后 设置或更改.
    
-   **代码** 仅通过插件服务器的几个基本变量( 如 `PATH` 财务报告和审定财务报表 `HOME`)和设置的变量,其显示的名称,从不 证书。 将同名服务器添加到 `~/.codex/config.toml`,哪个 占据插件服务器的位置(插件的技能保留),并命名 要前进的变量 `env_vars`。 。 。 . `startup_timeout_sec` 给 `npx` 时间 在第一个开始时获取软件包 :
    
    ```toml
    [mcp_servers.cloudflare-tools]
    command = "npx"
    args = ["-y", "@craftsamo/cloudflare-tools@<version>"]
    env_vars = ["CLOUDFLARE_API_TOKEN_<LABEL>", "CLOUDFLARE_ACCOUNT_ID_<LABEL>"]
    startup_timeout_sec = 120
    ```
    
-   **任何其他 MCP 主机** 带他们去 `env` 的服务器条目.
    

## 版式

-   `src/project.ts` ——包名,工具ID前缀,设置前缀, 工具和其他变量读取工具.
-   `src/core/` - 工具合同和工具,不受任何操纵和操纵 工程名称.
-   `src/tools.ts` 每个入境点登记的每一工具的清单.
-   `src/words.ts` ——按语言翻译工具用词 本地插件在批准提示中使用 .
-   `src/mcp/` —— MCP 服务器,用于 `dist/mcp.js` 运行于 `cloudflare-tools`。 。 。 .
-   `src/opencode/` —— OpenCode 插件,构建为 `dist/opencode.js`。 。 。 .
-   `src/cli/` ——赫尔墨斯插件调用的命令行,构建为 `dist/cli.js` 运行于 `cloudflare-tools-cli`。 。 。 .
-   `src/hermes/`, (中文(简体) ), `plugin.yaml` 财务报告和审定财务报表 `__init__.py` ——赫尔墨斯插件.
-   `skills/` - 每个工具箱一个技能, `skills/<name>/SKILL.md`,每个 从软件包或插件根取出技能负载的绳索.
-   `.claude-plugin/`, (中文(简体) ), `.codex-plugin/`, (中文(简体) ), `.agents/plugins/`, (中文(简体) ), `.mcp.json`, (中文(简体) ), `.antigravity-plugin/` 财务报告和审定财务报表 `mcp_config.json` ——插件显示 其他绳子。 代码读取 `.codex-plugin/plugin.json`; 一个根 `plugin.json` 使其装入插件为代理插件,其工具 预算隐藏了超过固定大小的工具。 词根 `.mcp.json` 这是 配置 Grok 构建读取( 使用 `${CLAUDE_PLUGIN_ROOT}`变量 grok Build 和 Claude 代码扩展) Claude Code 拒绝它从文件提供的MCP服务器项目.

如何释放是在 [`RELEASING.md`](https://npmcn.com/package/%40craftsamo/cloudflare-tools/RELEASING.md)。 。 。 .

## 许可证

[麻省理工学院](https://npmcn.com/package/%40craftsamo/cloudflare-tools/LICENSE)

## 常见问题

### @craftsamo/cloudflare-tools 是什么？

用于编码剂的云浮工具:区,DNS,分析,工人,Pages,存储和地道\.

### 如何安装 @craftsamo/cloudflare-tools？

在项目目录运行 npm install @craftsamo/cloudflare-tools，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cloudflare-tools、cloudflare-tools-cli，可以用 npx cloudflare-tools 直接运行。

### @craftsamo/cloudflare-tools 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/craftsamo\_\_cloudflare-tools 是否存在。

### @craftsamo/cloudflare-tools 支持 ESM 还是 CommonJS？

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

### @craftsamo/cloudflare-tools 需要什么版本的 Node\.js？

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

### @craftsamo/cloudflare-tools 可以商用吗？

@craftsamo/cloudflare-tools 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @craftsamo/cloudflare-tools 的下载量有多少？

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

### @craftsamo/cloudflare-tools 还在维护吗？

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

