通过命令行运行 BCMS 内容操作。一个轻薄的 CLI(封装官方 @thebcms/client SDK),供代理创建、更新、删除和列出条目。
BCMS Content CLI. 坎尼科复制件: 编辑此文件时使用ai/chills/bcms-content/SKILL.md...
功能概述
BCMS Content CLI. 坎尼科复制件: 编辑此文件时使用ai/chills/bcms-content/SKILL.md...是一项面向实际任务的技能,主要用于Claude代码和光标插件通过在ai/producers/*/plugin/chills/bc下的共鸣链接将同一文件包装.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
- 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
使用与执行
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
BCMS 内容 CLI
权威副本:请在 ai/skills/bcms-content/SKILL.md 文件中编辑本内容。Claude Code 和 Cursor 插件通过符号链接将同一文件打包至 ai/providers/*/plugin/skills/bcms-content/ 目录下。
该技能附带一个轻量级可执行 CLI(cli/bcms.mjs),用于执行内容操作:创建 / 更新 / 删除 / 列出条目,以及上传媒体文件。它封装了官方的 @thebcms/client SDK,因此条目的 meta 字段会被自动转换为后端所期望的原始属性格式(而直接调用原始 REST 接口时不会进行此项转换)。
如需进行内容建模、在应用代码中使用 SDK、集成框架,或对接 MCP 服务器,请使用配套的 bcms 技能。若您希望直接运行命令并获取结果,而非编写应用代码,则应使用本 bcms-content 技能。
设置指南:thebcms.com/agents — 包含 MCP 连接配置、技能安装说明及 CLI 使用示例。
初始化设置(仅需一次)
- 安装依赖项:在本技能目录下执行(该目录拥有独立的
package.json,仅含一个依赖):
npm install
- 提供 API 密钥 —— 即用于 BCMS MCP 的三段式密钥(
keyId.secret.instanceId)。该密钥必须对目标模板/媒体具备相应的内容权限。
export BCMS_API_KEY="keyId.secret.instanceId" # 可选:仅适用于自托管或自定义应用源站(origin)场景: export BCMS_API_ORIGIN="https://app.thebcms.com"
MCP 密钥与 SDK/CLI 所用 API 密钥是同一凭证。只要密钥具备对应模板/媒体所需的权限范围(参见
references/permissions.md),则可用于 MCP 的密钥在此处同样有效。
执行命令
完成 npm install 后,可任选以下任一方式运行命令:
node cli/bcms.mjs[args] [flags] npx bcms-content [args] [flags]
运行 node cli/bcms.mjs help 查看内联帮助信息。
命令列表
| 命令 | 用途 |
|---|---|
create-entry --data ' |
在指定模板(通过 ID 或名称)中创建条目 |
update-entry |
更新条目;标准输出返回更新后的完整解析条目 |
delete-entry |
删除条目(不可逆操作 —— 请先确认 ID) |
list-entries |
列出某模板下的所有条目 ID(更新/删除前用于发现条目) |
upload-media |
将文件上传至媒体库 |
常用标志参数:--data '(内联 JSON)、--data-file (从文件读取)、--lng (默认为 en)、--status 、--template 、--parent 。
所有命令均先输出一行简短状态信息,随后以 JSON 格式输出结果至标准输出。其中 create-entry 和 update-entry 返回完整解析条目(含 meta、content、statuses、_id 等字段),以便智能体获知操作完成后的完整状态;其余命令则返回较小负载(例如仅返回媒体文件的 _id)。
--data 数据结构
单语言数据,默认由 --lng 控制(默认值为 en):
{
"meta": { "title": "Hello world", "slug": "hello-world" }, // 属性名 → 值
"content": "First paragraph.\n\nSecond paragraph." // 可选
}
meta的键名为模板定义的属性名。创建条目时,须包含所有必填属性;在update-entry中,若--data.meta为部分字段,则 CLI 会将其与目标语言(--lng)下现有条目的meta进行合并后再提交 API 请求 —— 未提供的字段保持原值,已提供的字段将被覆盖。CLI 始终向服务端发送该语言下完整的合并后meta。content为可选字段。若为纯文本内容,可传入一个普通字符串(空行将被解析为段落分隔符);若需富文本(含标题、列表、媒体、组件等),则需传入原始的EntryContentNode[]数组。在update-entry中,若未提供content,则该语言下原有内容节点将被完整保留并提交;若提供了content,则原有内容将被完全替换。
富文本节点结构(Tiptap 风格树形结构):
[
{ "type": "heading", "attrs": { "level": 2 }, "content": [{ "type": "text", "text": "Section" }] },
{ "type": "paragraph", "content": [{ "type": "text", "text": "Body text." }] }
]
使用示例
# 创建一篇博客文章(纯文本正文)
node cli/bcms.mjs create-entry blog
--data '{"meta":{"title":"Hello","slug":"hello"},"content":"My first post."}'
# 仅更新标题(正文保持不变;标准输出为完整条目 JSON)
node cli/bcms.mjs update-entry 663f0a... --template blog
--data '{"meta":{"title":"Hello (edited)"}}'
# 列出条目以查找 ID
node cli/bcms.mjs list-entries blog
# 删除条目
node cli/bcms.mjs delete-entry 663f0a... --template blog
# 将媒体文件上传至指定文件夹
node cli/bcms.mjs upload-media ./hero.png --parent 6640bb...
# 从文件读取创建数据(适用于富文本内容)
node cli/bcms.mjs create-entry blog --data-file ./post.json
CLI vs MCP vs SDK
- 本 CLI —— 确定性、可脚本化的内容操作,适用于终端、CI 流水线及智能体循环任务。仅需一个 API 密钥,无需交互式登录。
- MCP 工具 —— 当智能体已配置好 BCMS MCP 时最为适用;支持基于完整 Schema 的条目与 Schema 的 CRUD 操作(创建 / 读取 / 更新 / 删除),并提供媒体管理与指针链接工具。详见
bcms技能及references/mcp.md。 @thebcms/clientSDK —— 适用于应用代码开发、构建流程,以及超出本 CLI 能力范围的各类场景。详见bcms技能。
安全性注意事项
- 切勿硬编码或提交 API 密钥。 请始终通过环境变量
BCMS_API_KEY提供密钥;推荐使用最小权限原则限定作用域的密钥(参见references/permissions.md)。 delete-entry操作不可逆。 请务必先通过list-entries确认条目 ID,并避免在未评估影响的情况下对生产环境执行删除操作。- 建议为不同环境(开发 / 预发布 / 生产)分别使用独立的密钥。
更深入的参考资料已归档于 references/ 目录下(涵盖条目、媒体、属性、权限、MCP 等主题)。变更历史记录详见 ai/CHANGELOG.md。
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共2课时 | 300人学习
共87课时 | 13万人学习
共220课时 | 42.5万人学习
