mcpField
B
b2-cloud-storage

b2-cloud-storage

github.com/backblaze-labs云与 DevOps4446 次安装10 周前更新
代码仓库

关于 b2-cloud-storage

通过 B2 CLI 管理 Backblaze B2 存储的技能,涵盖文件查找、用量审计、成本估算、清理和安全检查。默认只读;删除前必须先试运行并获得明确确认。

主要功能

  1. 01列出并检查存储文件
  2. 02审计用量、旧数据与重复项
  3. 03估算每月存储成本
  4. 04检查存储桶安全设置
  5. 05删除前要求先试运行

适用场景

  1. 01查找陈旧或过大的存储数据
  2. 02估算 B2 存储费用
  3. 03检查存储桶安全状况
  4. 04在删除保护下规划清理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/backblaze-labs/claude-skill-b2-cloud-storage --skill b2-cloud-storage

安装后在 Claude Code 中输入/b2-cloud-storage确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

b2-config.example.json
.claude-plugin/
plugin.json
references/
b2-cli-reference.md
cleanup-playbook.md
security-review.md
setup.md
scripts/
storage_audit.py

详细介绍

B2 云存储管理

管理 Backblaze B2 云存储:列出文件、审计用量、估算成本、清理过期数据并检查安全状况。

安全规则(必须遵守)

  1. 绝不运行 b2 account get、b2 account clear 或任何 b2 key * 子命令——这些命令会暴露或修改凭据。
  2. 绝不读取 ~/.b2_account_info 或任何匹配 *b2_account_info* 的文件——这是 B2 凭据数据库(SQLite)。
  3. 始终先运行 b2 rm --dry-run,再执行任何实际删除;向用户展示将要删除的内容,并要求用户明确回复“yes”后再执行。
  4. 绝不在未事先告知用户安全影响并获得明确确认的情况下,将存储桶改为 allPublic。
  5. 默认只读——只有用户明确提出要求时,才执行写入或删除操作。
  6. 绝不将 API 密钥、应用程序密钥或账户 ID 存储或写入任何文件。
  7. 如果用户在聊天中粘贴密钥值,而不是在终端中输入,请立即警告用户并建议轮换密钥。绝不回显、存储或引用对话中出现的密钥值。

首次使用流程

  1. 检查是否已安装 B2 CLI:b2 version。如果未安装,请让用户在 Agent 环境之外安装 CLI,然后重新运行 b2 version——详情请参阅 references/setup.md。
  2. 验证 CLI 是否已授权:b2 ls。如果因身份验证错误而失败,请按照 references/setup.md 引导用户操作。
  3. 检查项目根目录下是否存在项目级配置 .claude/b2-config.json。如果不存在,请向用户询问存储桶和前缀,并创建配置文件。
交互式身份验证说明

不带参数的 b2 account authorize 会通过交互式提示读取密钥,Agent 无法操作此提示。用户有以下两种选择:

  • 在终端中自行运行——在 Claude Code 中,他们可以输入 !b2 account authorize,直接在会话中执行。
  • 将 keyID 和 applicationKey 作为位置参数传入:b2 account authorize <keyID> <appKey>(密钥会出现在 shell 历史记录中,安全性较低)。
  • 或者,在运行 B2 命令前设置 B2_APPLICATION_KEY_ID 和 B2_APPLICATION_KEY 环境变量(推荐用于脚本和 CI)。

项目级配置

项目级配置位于 .claude/b2-config.json:

{
  "bucket": "my-project-bucket",
  "prefix": "",
  "accountInfoPath": "~/.b2_account_info"
}
字段用途
bucket此项目的默认存储桶名称
prefix可选前缀,用于限定所有操作的范围(例如 data/models/)
accountInfoPathB2 凭据文件的路径——允许不同项目使用不同密钥

如果 accountInfoPath 与默认值不同,运行 b2 命令时请在前面加上 B2_ACCOUNT_INFO=<path>。此文件仅存储存储桶名称和路径——绝不存储 API 密钥。

常见操作

列出和搜索
b2 ls b2://<bucket>                    # top-level
b2 ls -r b2://<bucket>                 # recursive
b2 ls -r --json b2://<bucket>          # JSON for scripting
b2 ls --versions -r --json b2://<b>    # include old versions + hide markers
b2 ls b2://<bucket>/<prefix>           # prefix-scoped
检查文件
b2 file info b2id://<fileId>
存储审计(用量、过期文件、大文件、重复文件、成本)
python scripts/storage_audit.py <bucket>
python scripts/storage_audit.py <bucket> --json
python scripts/storage_audit.py <bucket> --stale-days 180 --large-mb 500 --prefix-depth 2

报告实时存储量与计费存储量、未完成的大文件、旧版本、隐藏标记、基于 SHA1 的重复文件,以及估算的月度成本。

清理(有破坏性)

请参阅 references/cleanup-playbook.md。绝不跳过试运行步骤。

生命周期规则
b2 bucket get <bucket>
b2 bucket update --lifecycle-rules '<json>' <bucket> allPrivate

生命周期规则的 JSON 格式请参阅 references/b2-cli-reference.md。

安全审查

完整检查清单(存储桶类型、SSE、CORS、对象锁定、复制、生命周期覆盖范围)请参阅 references/security-review.md。

参考资料

  • references/setup.md — 首次使用设置指南(安装、创建应用程序密钥、授权)
  • references/cleanup-playbook.md — 包含试运行的安全删除流程
  • references/security-review.md — 存储桶安全审计检查清单
  • references/b2-cli-reference.md — CLI v4 命令参考

评论

支持 Markdown