其他
CloudBase 平台能力选型与控制台导航:在不确定…
需要 CloudBase 高层能力选择、平台概念、控制台导航或跨平台最佳实践,而不是直接实现细节时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
CloudBase 平台能力选型与控制台特定
解决思路
- 同辈技能只从本地相对路径读取,例如 `../auth-tool-cloudbase/SKILL.md`。
- 如果环境中缺少被引用的同辈技能文件,要求用户安装完整 CloudBase 插件(或缺失技能);不要把远程技能或协议 markdown 通过 HTTP 拉取到 agent 上下文。
- 在代码变更或部署前,先阅读跨领域协议:`references/protocols/change-safety-protocol.md`、`references/protocols/deployment-gate.md`、`references/protocols/sensitive-runtime-data-protection.md`。
- 部署验证成功后,可选最多一次提供生成匿名化可分享物(Deployment Share),参见 `references/protocols/deployment-share.md`;用户拒绝后不再跟进,也绝不代用户发布。
- 当用户询问该用哪个 CloudBase 能力、服务或工具,或需要 hosting、storage、authentication、cloud functions、database 选项的高层理解时,先用本技能做平台级路由。
- 当任务涉及控制台导航、跨平台差异、权限模型或实现前的平台级最佳实践时,先读本技能。
- 如果仍不清楚任务属于 Web、小程序、云函数、存储、MySQL/NoSQL 还是 auth,在写代码前先读本技能。
- 如果响应需要平台选择、概念解释或控制面导航多于直接实现步骤,先读本技能。
- 最小 Web + 数据库 demo(BaaS-first,默认不用云函数)转到 `../minimal-web-baas-demo/SKILL.md`。
- Lovable-like demo 的栈顺序:Web SDK CRUD > MCP schema > template warmup during credential wait > cloud functions(默认数量 = 0)。
- 最小前后端 demo 的能力探测流程:connector ready → `queryEnv` → 锁定一个 DB plane → MCP schema → `@cloudbase/js-sdk` CRUD → preview。
- Web 应用实现转到 `../web-development/SKILL.md`。
- Web 认证与 provider 设置转到 `../auth-tool-cloudbase/SKILL.md`、`../auth-web-cloudbase/SKILL.md`。
- 小程序开发转到 `../miniprogram-development/SKILL.md`。
- 通过 CloudBase Integration Center 接入微信支付、公众号 OAuth、JSAPI Pay 或 Native QR-code Pay 时,转到 `../cloudbase-wechat-integration/SKILL.md`,官方文档为 `https://docs.cloudbase.net/integration/introduce.md`。
- 云函数转到 `../cloud-functions/SKILL.md`。
- 官方 HTTP API 客户端转到 `../http-api-cloudbase/SKILL.md`。
- 文档数据库转到 `../cloudbase-document-database-web-sdk/SKILL.md` 或 `../cloudbase-document-database-in-wechat-miniprogram/SKILL.md`。
- CloudBase PostgreSQL / PG 转到 `../postgresql-development-cloudbase/SKILL.md`。
- MySQL 关系数据库 / 数据建模转到 `../relational-database-mcp-cloudbase/SKILL.md` 或 `../data-model-creation/SKILL.md`。
- 云存储转到 `../cloud-storage-web/SKILL.md`。
- 不要把本平台概览技能当作所有 CloudBase 开发的默认入口。
- 正确实现技能已经明确后,不要继续停留在本平台概览技能。
- 不要混合平台概览与平台特定 API 形状或 SDK 细节。
- 在已有应用中,如果活跃的 auth、storage、data 文件已经很明显,不要用本概览技能绕路。
- 做代码或配置变更前,先遵循 Change Safety Protocol:`cloudbase-platform/references/protocols/change-safety-protocol.md`。
- 开始任何部署、发布、自定义域名或 CloudRun 工作前,先完成 Deployment Gate 检查:`cloudbase-platform/references/protocols/deployment-gate.md`。
- 不要从 Cloud Functions / CloudRun 回显 `x-cloudbase-context`、完整 `req.headers` 或 `process.env`(包括 httpbin-style debug images);遵循 `references/protocols/sensitive-runtime-data-protection.md`。
- 不要混淆 security domains 与 custom domains:这是两个不同工具、不同用途;以 Domain Management Tools 表为准。
- 把本技能用于 CloudBase 平台知识:理解 CloudBase storage 与 hosting 概念。
- 用本技能比较平台能力,再进入实现。
- 用本技能理解跨平台认证差异(Web vs Mini Program)。
- 用本技能理解数据库权限与访问控制。
- 用本技能访问 CloudBase 控制台管理页面。
- 理解平台差异:Web 与 Mini Program 的认证方式完全不同。
- 严格区分平台,绝不跨平台混用认证方式。
- 如果 workspace 已经是带 TODO 或预置 handler 的应用,不要停留在平台概览模式;快速转到具体实现技能和拥有该流程的现有文件。
- 遵循最佳实践:Web 使用 SDK 内置认证功能。
- 遵循最佳实践:理解小程序的自然免登特性。
- 遵循最佳实践:配置合适的数据库权限。
- 遵循最佳实践:浏览器 CRUD 优先用 `@cloudbase/js-sdk` 直接访问 DB;仅在 secrets、scheduled/background jobs,或 security rules / RLS 无法表达的高权限跨集合逻辑中使用云函数;demo 默认参见 `../minimal-web-baas-demo/SKILL.md`。
- 使用正确的 SDK 和 API:不同平台的数据模型需要不同 SDK。
- MySQL 数据模型必须使用 models SDK,不能用 collection API。
- PostgreSQL / CloudBase PG 工作必须路由到 `postgresql-development-cloudbase`;不要复用 NoSQL 的 `app.database()` / `db.collection(...)` 片段,也不要对 PG 数据路径使用 MySQL 的 `queryMysqlDatabase` / `manageMysqlDatabase`。
- 使用 `queryEnv` 工具获取 environment ID。
- 在结构固定的已有 Web 应用中,先检查现有 `src/lib/backend.*`、`src/lib/auth.*`、`src/lib/*service.*` 和绑定的 page handlers,再进行大范围概念阅读。
- 使用主 `cloudbase` guideline 中的规范 CloudBase MCP 设置;本平台概览有意不复制完整 MCP / mcporter 配置块。
- 要获取规范配置片段、CLI 命令和认证示例,先读主 `cloudbase` guideline。
- 保持核心规则:本 session 有 MCP 工具时优先用 MCP;没有时为下一 session 配置 MCP,并在当前用 `tcb` CLI(`../cloudbase-cli/SKILL.md`、`../cloudbase/references/tooling-fallback.md`)。
- 执行 MCP 前检查 tool schemas。
- 不要在配置中硬编码 Secret ID / Secret Key / Env ID。
- 保持认证分工明确:管理端登录使用 `auth`,应用端认证配置使用 `queryAppAuth` / `manageAppAuth`。
- 安全域名(安全域名)使用 `manageEnv(action="addSecurityDomain" | "removeSecurityDomain")`,参数 `domains` 为 host:port 字符串数组,用于浏览器上传的 CORS / request source validation,不涉及证书;已弃用别名为 `envDomainManagement`。
- 复用已有自定义域名:`queryGateway(listCustomDomains)` → `manageGateway(createRoute)`,`domain` 用已有自定义域名,传 route fields,不需要 `certificateId`;已有自定义域名时优先这样做。
- 绑定新自定义域名:`manageGateway(action="bindCustomDomain")`,参数 `domain`(string)、`certificateId`(string),用于首次绑定新的公共 HTTPS 域名,需要 SSL 控制台中的 certId。
- 删除自定义域名:`manageGateway(action="deleteCustomDomain")`,参数 `domain`(string),仅在该域名上的 routes 删除后执行。
- 禁用 / 启用 gateway route:`manageGateway(action="disableRoute" | "enableRoute")`,`path` 必填,优先显式传 `domain`,通过 `ModifyHTTPServiceRoute` 切换 `Routes[].Enable`,不是 `ModifyGatewayRoute`。
- 禁用静态托管默认域名:`queryGateway(listRoutes)` → `manageGateway(disableRoute)`,`domain` 为 `*.tcloudbaseapp.com`(`DomainType=STATIC_STORE`、`IsDefault=true`),通常是 `path="/"`;关闭共享 hosting CDN 默认主机的公共访问;不要用 `manageHosting`。
- 选择正确工具的关键指标:任务提到「自定义域名访问」但 env 已有自定义域名时,走 `listCustomDomains` 然后 `createRoute(domain=...)`,不需要 certificateId。
- 任务提到「certificate ID」或「SSL」并且需要绑定新域名时,走 `manageGateway(action="bindCustomDomain")`。
- 任务提到「浏览器上传」「CORS」或「安全域名」时,使用 `manageEnv(action="addSecurityDomain" / "removeSecurityDomain")`。
- 任务提到带域名的「public access」或「HTTPS」时,优先通过 `createRoute` 复用;只有首次绑定域名才用 `bindCustomDomain`。
- 任务提到「关闭/禁用静态托管默认域名」或 `*.tcloudbaseapp.com` 时,用 `queryGateway(listRoutes)` 然后 `manageGateway(disableRoute)` 处理该 STATIC_STORE 域名;绝不虚构 `ModifyGatewayRoute`。
- CloudBase 工具调用失败且错误消息包含特定错误码(模式 `Category.Code`,例如 `OperationDenied.FreePackageDenied`、`ResourceNotFound.*`)时,总是先走官方文档路由;不要猜含义,不要在这里硬编码修复配方。
- 从错误消息中提取错误码。
- 查错误码:`searchKnowledgeBase(mode="docs", action="searchDocs", query="<错误码>")`;官方文档搜索覆盖错误码页面;按文档含义和文档给出的修复步骤行动(套餐限制 → 升级指导,配置错误 → 配置修复等)。
- 如果文档搜索没有结果,回退到规范错误码页面:`https://docs.cloudbase.net/error-code/basic`、`https://cloud.tencent.com/document/product/876/34823`。
- 绝不要凭记忆断言 capability-per-plan 或错误码语义;官方文档和控制台套餐对比才是唯一权威来源;例如 Web 安全域名套餐要求引用 `https://cloud.tencent.com/document/product/876/127357`,而不是假设哪个 tier 解锁它。
- 当任务明确要求记录操作步骤或结果到文件(例如 `RESULT.json`)时:先执行 tool calls,然后写入完整记录,包含每次 attempt(action、success/failure、message)以及带 total / succeeded / failed 计数的 `summary`;不要在调用完成前凭记忆写文件。
- 静态托管与云存储是两个不同 bucket。
- 一般公开可访问文件可存到静态托管,静态托管提供公共 web 地址。
- 静态托管支持自定义域名配置,需要控制台操作。
- 云存储适合有隐私要求的文件,可通过临时文件 URL 获取临时访问地址。
- 如果任务需要 COS SDK polling、file metadata lookup,或为已上传对象获取 temporary URLs,使用云存储工具 `manageStorage` / `queryStorage`,不要用 `manageHosting(action="upload")`。
- CloudBase 静态托管域名和网站文档配置可通过 `queryHosting(action="websiteConfig")` 获取。
- 结合静态托管文件路径构造最终访问地址。
- 默认共享 host 形如 `<envId>-<appId>.tcloudbaseapp.com`(`DomainType=STATIC_STORE`,在 `queryGateway(listRoutes)` 中常常 `IsDefault=true`)。
- 禁用它默认公共 host:`manageGateway(action="disableRoute", domain="<that-host>", path="/")`(或用 `updateRoute` 设 `enable=false`)。
- 重新启用默认公共 host:`enableRoute`。
- 不要找 `manageHosting` 的 disable-default-domain action;不要调用不存在的 `ModifyGatewayRoute`;API 是 `ModifyHTTPServiceRoute`。
- 如果访问地址是目录,必须以 `/` 结尾。
- 云存储公共 URL 关键点:`manageStorage(action=upload)` 和 `queryStorage(action=url)` 返回的 `temporaryUrl` 是临时签名 URL,会过期(默认 1 小时);不要把它当永久公共 URL。
- 获取云存储对象的永久公共访问 URL 第 1 步:调用 `queryEnv(action=info)` 获取 environment details。
- 第 2 步:从 `EnvInfo.Storages[0].CdnDomain` 提取 storage CDN domain(例如 `your-env-id.tcb.qcloud.la`)。
- 第 3 步:构造公共 URL:`https://{CdnDomain}/{cloudPath}`。
- 示例:如果 `CdnDomain` 是 `env-xxx.tcb.qcloud.la`,`cloudPath` 是 `uploads/avatar.jpg`,公共 URL 是 `https://env-xxx.tcb.qcloud.la/uploads/avatar.jpg`。
- 注意:只有 storage bucket ACL 允许 public read 时公共 URL 才可访问;默认是 `PRIVATE`,需要 signed URLs。
- 共享 bucket(ExternalStorage)环境检测:用 `queryEnv(action="info")`;当 `EnvInfo.Storages[0].Bucket` 为空且 `Storages[0].ExternalStorage.Enabled === true` 时,云存储使用共享 bucket;静态托管同样检查 `EnvInfo.StaticStorages[0]`;storage 与 hosting 可以使用不同 bucket 和 BasePath。
- 共享 bucket 中路径保持逻辑路径:storage 和 hosting 工具会自己加 BasePath,所以按普通环境传 `cloudPath`,绝不前置 BasePath 或 bucket name。
- 共享 bucket 示例:BasePath 为 `tenant-a` 时,上传用 `cloudPath="images/a.png"`,不要用 `"tenant-a/images/a.png"`(否则会嵌套成 `tenant-a/tenant-a/`);hosting 和 CDN URL 也从逻辑路径构造,加上 BasePath 会返回 404。
- `manageHosting(action="setWebsiteDocument")` 改变 bucket 级设置,会影响 bucket 中每个环境,所以在 shared-bucket hosting 上失败;读取 `queryHosting(action="websiteConfig")` 仍可用;告诉用户该设置由平台管理,不要重试。
- 共享 bucket 的 storage security rules 按 environment 维护,不是 COS bucket ACL;像普通环境一样读取和更新。
- 共享 bucket 环境删除后文件如何处理由平台决定;不要承诺其 BasePath 目录会保留或删除。
- CloudBase SDK 初始化需要 environment ID。
- 可通过 `queryEnv` 工具查询 environment ID。
- 如果用户只提供环境别名、昵称或其他短形式,先用 `queryEnv(action="list", alias=..., aliasExact=true)` 解析,并使用返回的完整 `EnvId`。
- 不要把类似 alias 的短形式直接传入 SDK init、`auth.set_env`、console URLs 或生成的配置文件。
- Web 端始终同步初始化:`import cloudbase from "@cloudbase/js-sdk"; const app = cloudbase.init({ env: "your-full-env-id" });`。
- 不要使用 `import("@cloudbase/js-sdk")` 这类 dynamic imports,或内部含 `initPromise` 的 `initCloudBase()` 异步包装。
- 然后用已验证方法继续登录(username/password、phone、email 或 WeChat)。
- 环境管理通过 `manageEnv` 提供完整生命周期管理:`listPackages` 查询可用套餐;`create` 创建新环境(需要 confirm);`modifyPlan` 变更套餐(升级/降级,需要 confirm);`renew` 续费环境(需要 confirm)。
- 用指定 resources 创建环境:`manageEnv(action="create", alias="my-env", packageId="baas_personal", resources=["storage","function","postgresql"], confirm="yes")`。
- `resources`(可选,仅 create)控制启用哪些 CloudBase 能力:`storage` 云存储、`function` 云函数、`postgresql` PostgreSQL 关系数据库(PG mode)。
- 省略 `resources` 时默认三者全开;MCP 总是向 CreateEnv 发送非空 `Resources`。
- 不提供 `flexdb`(document database):新环境创建时不带 NoSQL tenant;不要传它,schema 会拒绝;要判断环境是否实际有 NoSQL,读 `queryEnv(action="info")` → `EnvInfo.RuntimeBackends`,不要假设。
- Region 可选:传 `region`(例如 `region="ap-shanghai"`)选择环境创建位置;它作为 `X-TC-Region` request context 应用,不是 CreateEnv body field,所以不要把 `Region` 放进 `params`。
- 省略 `region` 时使用当前 session region(`cloudBaseOptions.region` → `TCB_REGION` → project config / rc binding → site default:国内站 `ap-shanghai`,国际站 `ap-singapore`)。
- CLI 等价命令:`tcb env create --region ap-shanghai`。
- 如果传了 `region`,在确认调用时重复同一个值并带 `confirm="yes"`;否则第二次调用会回退到 session region,环境可能创建到与已确认 summary 不同的地方。
- `externalStorage`(可选,仅 create):`{ bucketName, region, basePath }` 会把环境的云存储创建在已有共享 COS bucket 上,而不是专用 bucket,并把文件隔离在其 `basePath` 下(在 bucket 内必须唯一);传对象时三个字段都必填。
- 仅当用户提供 bucket 时才用 `externalStorage`,通常是平台在一个账号下创建很多环境,一环境一 bucket 会撞账号 COS bucket quota;绝不虚构 bucket 名;它不覆盖静态托管:启用 hosting 时 hosting bucket 由平台选择,不能通过该工具设置。
- 像 `region` 一样,在 `confirm="yes"` 调用中重复相同 `externalStorage`;确认调用只读取自己的参数,省略它会把环境创建成 dedicated bucket。
- `manageEnv(action="create", alias="tenant-a", packageId="baas_personal", externalStorage={ bucketName: "shared-bucket-1250000000", region: "ap-shanghai", basePath: "tenant-a" }, confirm="yes")`。
- 所有付费操作(create / modifyPlan / renew)都要求 `confirm="yes"`。
- 创建前查询可用套餐:`manageEnv(action="listPackages")`。
- 变更套餐(例如 personal → standard):`manageEnv(action="modifyPlan", envId="your-env-id", packageId="baas_pf_standard", confirm="yes")`。
- 续费环境:`manageEnv(action="renew", envId="your-env-id", duration=1, confirm="yes")`。
- Web 认证必须使用 SDK 内置认证:CloudBase Web SDK 提供完整认证功能。
- 推荐方式:用 `auth.getVerification()` 做 SMS login,详见 web auth 相关文档。
- 禁止行为:不要用云函数实现登录认证逻辑。
- Session 管理:路由守卫和登录证明使用 `auth.getSession()` 并要求 `data.session`;不要用已弃用的 `getLoginState()` 或 `auth.getUser()` / `auth.getCurrentUser()` 作为真实登录证明。
- Provider 和 login-method 设置:使用 `queryAppAuth` / `manageAppAuth`,不要用 MCP 的 `auth` 工具。
- 匿名登录默认禁用;仅有可发布 `accessKey` 不会创建 gateway-authenticated anonymous session。
- 使用 `@cloudbase/js-sdk` 3.x 时,在 NoSQL `app.database()` CRUD 之前调用 `await auth.signInAnonymously()`(或等价认证 session),否则 gateway 返回 401。
- 如果应用使用 AuthGuard 或 RLS 做访问控制,允许匿名访问时确保有 `is_anonymous` 检查。
- PG RLS:用户身份必须使用 `auth.uid()`,不是 `current_user`。
- `auth.uid()` 返回 JWT `sub` / 实际 user ID,类型是 `text`,不像 Supabase 是 `uuid`。
- 优先把 owner columns 设为 `varchar(64)` / `text`;如果列是 `uuid`,用 `auth.uid()::uuid` cast,否则会出现 `operator does not exist: uuid = text`。
- 不要使用 `current_user` 或 `current_setting(...)`;这些 PostgreSQL 内置函数返回数据库角色名(例如 `authenticated`),不是 CloudBase auth user ID。
- CloudBase PG 提供四个 auth helper functions:`auth.uid()`、`auth.role()`、`auth.email()`、`auth.jwt()`。
- 验证可用性:`SELECT proname FROM pg_proc WHERE pronamespace = 'auth'::regnamespace`。
- Mini Program 认证:登录免费/免登;无需登录流程。
- 用户标识:在云函数中通过 wx-server-sdk 获取 `wxContext.OPENID`。
- 用户管理:在云函数中基于 openid 管理用户数据。
- 禁止行为:不要生成登录页面或登录流程代码。
- Node.js 云函数需要包含 `package.json`,声明所需依赖。
- 可用 `manageFunctions(action="createFunction")` 创建函数。
- 用 `manageFunctions(action="updateFunctionCode")` 部署云函数。
- 优先 cloud dependency installation,不要上传 `node_modules`。
- `functionRootPath` 指函数目录的父目录,例如 `cloudfunctions` 目录。
- 数据库权限关键:始终在写数据库操作代码前配置权限。
- 权限模型:默认基础权限包括 `READONLY`(所有人可读,仅 creator/admin 可写)、`PRIVATE`(仅 creator/admin 可读写)、`ADMINWRITE`(所有人可读,仅 admin 可写,注意不适用于 Web SDK 写操作)、`ADMINONLY`(仅 admin 可读写)、`CUSTOM`(用自定义规则做细粒度控制)。
- 平台兼容性关键:Web SDK 不能对写操作使用 `ADMINWRITE` 或 `ADMINONLY`。
- Web 应用中的用户生成内容使用 `CUSTOM` 规则。
- 管理员管理的数据(products、settings)使用 `READONLY`。
- 云函数不受权限类型限制,拥有完整访问权。
- 配置工作流:Create collection → Configure security rules → Write code → Test。
- 使用 `managePermissions(action="updateResourcePermission")` 配置资源权限。
- 如果刚改过权限,等几秒后重试(通常约 30s 内);不要盲等 2-5 分钟;如果仍失败,先重新检查实际 rule shape 和活跃的客户端写模式,大多数失败是规则配置错误,不是 cache。
- 仅参考 `no-sql-web-sdk/security-rules.md` 获取 `resourceType="noSqlDatabase"` 的示例;不要把 `doc._openid`、`auth.openid`、query-subset validation 或 `create` / `update` / `delete` JSON 模板当作 functions、storage 或 SQL tables 的通用规则。
- 官方参考:General security rules overview `https://cloud.tencent.com/document/product/876/41802`;NoSQL database security rules `https://docs.cloudbase.net/database/security-rules`;Cloud function security rules `https://docs.cloudbase.net/cloud-function/security-rules`;Storage security rules `https://docs.cloudbase.net/storage/security-rules`。
- 兼容性说明:规范插件名为 `permissions`;遗留插件别名 `security-rule`、`security-rules`、`secret-rule`、`secret-rules`、`access-control` 仍解析到 `permissions` 插件。
- 遗留工具 `readSecurityRule` / `writeSecurityRule` 已移除;优先用 `queryPermissions` / `managePermissions`。
- 常见场景:电商商品用 `READONLY`(管理员通过云函数管理);购物车用 `CUSTOM` 加 `auth.uid` 检查(用户管理自己的数据);订单用 `CUSTOM` 加 ownership validation;系统日志用 `PRIVATE` 或 `ADMINONLY`。
- 跨集合操作:权限模型允许时优先 security rules / RLS 和客户端 SDK。
- 当操作需要 elevated privileges、server secrets,或 rules 无法表达的多集合逻辑时,使用云函数。
- 最小 Web demos(Todo / Notes / Kanban / 最小前后端)不要为 CRUD 引入云函数;遵循 `../minimal-web-baas-demo/SKILL.md`。
- CloudBase MCP 通过 `queryPermissions` 和 `managePermissions` 提供角色管理(CLI 等价:`tcb role`);查看各工具 schema 获取完整 action 列表。
- 关键:role policies 和 resource permissions 是两个独立系统,没有自动同步。
- Resource permissions(security rules)控制特定资源(tables、collections、functions、storage)的访问。
- Roles(identity dimension)控制 policy bundles 和 member assignments。
- 查询角色(`queryPermissions`):`listRoles`、`getRole`(按 `roleId` / `roleIdentity` / `roleName`)。
- 管理角色(`managePermissions`):`createRole`、`updateRole`、`deleteRoles`、`addRoleMembers`、`removeRoleMembers`、`addRolePolicies`、`removeRolePolicies`。
- 示例:`managePermissions(action="createRole", roleName="Developer", roleIdentity="developer", policies=["FunctionsAccess"], memberUids=["user-uid-1"])`。
- 只有自定义角色可以删除;系统角色只读。
- 参见 CLI 等价命令:`cloudbase-cli/references/permission.md`。
- 云函数优化:浏览器 CRUD 不应默认经过云函数中间层;优先 `@cloudbase/js-sdk` → database。
- 当云函数确实必需时,保持数量最少,并让每个函数只负责 secrets、elevated privilege 或 background work。
- 获取 Data Model 操作对象:Mini Program 需要 `@cloudbase/wx-cloud-client-sdk`,初始化 `const client = initHTTPOverCallFunction(wx.cloud)`,使用 `client.models`。
- 获取 Data Model 操作对象:Cloud Function 需要 `@cloudbase/node-sdk@3.10+`,初始化 `const app = cloudbase.init({env})`,使用 `app.models`。
- 获取 Data Model 操作对象:Web 需要 `@cloudbase/js-sdk`,初始化 `const app = cloudbase.init({env})`,登录后使用 `app.models`。
- Data Model 查询:可调用 MCP `manageDataModel` 工具查询 model list、获取 model 详细信息(含 Schema fields)、获取特定 models SDK 使用文档。
- MySQL Data Model 调用规则:不能使用 collection method 调用,必须使用 data model SDK。
- MySQL Data Model 错误写法:`db.collection('model_name').get()`。
- MySQL Data Model 正确写法:`app.models.model_name.list({ filter: { where: {} } })`。
- MySQL Data Model 使用 `manageDataModel` 工具的 `docs` 方法获取具体 SDK 用法。
- 创建/部署资源后,提供对应控制台链接;所有控制台 URL 模式为 `https://tcb.cloud.tencent.com/dev?envId=${envId}#/{path}`。
- 替换 `${envId}` 为通过 `queryEnv` 解析出的真实 EnvId(先解析 aliases),并用实际值替换资源名。
- CloudBase 控制台更新频繁;如果已登录的实时控制台显示不同 hash path,优先使用实时控制台路径,然后更新本技能以匹配。
- 控制台入口:Overview `#/overview`;Template Center `#/cloud-template/market`;Document Database `#/db/doc`、Collections `#/db/doc/collection/${collectionName}`、Models `#/db/doc/model/${modelName}`;MySQL Database `#/db/mysql`、Tables `#/db/mysql/table/default/`(需先在控制台启用);Cloud Functions `#/scf`、Detail `#/scf/detail?id=${functionName}&NameSpace=${envId}`;CloudRun `#/platform-run`;Cloud Storage `#/storage`;AI+ `#/ai`;Static Hosting `#/static-hosting`(备选 `https://console.cloud.tencent.com/tcb/hosting`);Identity Authentication `#/identity`、Login management `#/identity/login-manage`、Token management `#/identity/token-management`;Weida Low-Code `#/lowcode/apps`;Logs & Monitoring `#/devops/log`;Environment Settings `#/env/http-access`(security domains、CORS、env vars、quotas)。
- 对于配置页面(如 login management),引导用户完成设置流程,而不只是丢一个链接。
- 打包参考文件索引包括:`protocols/change-safety-protocol.md`、`protocols/deployment-gate.md`、`protocols/deployment-share.md`、`protocols/sensitive-runtime-data-protection.md`。
适用边界 · 注意事项
- 当已有更具体技能适配时,不要用于直接实现网页、认证流、云函数或数据库操作。
- 不要用于低层 API 参数参考或 SDK 配方;这些属于专门技能。
- 不要把它当作所有 CloudBase 开发的默认入口,也不要在已有应用中认证、存储、数据文件已经明确时绕路。