# @heybox/hb-sdk > `@heybox/hb-sdk` 文档的 AI 检索入口。API 参考由公开导出和源码注释自动生成,指南与场景示例由人工维护。 本站介绍小黑盒 APP 内官方小程序的开发方式。AI 检索时请先读取本索引,再按需访问 `./llms/` 下的 Markdown 镜像。 ## Docs - [Documentation home](./llms/index.md): 我们推荐优先让 AI Agent 按项目约定完成环境准备、项目创建、SDK 接入、本地调试和提交前检查。 - [Guide index](./llms/guide/index.md): 工坊小程序是运行在小黑盒 APP 内的官方小程序。开发者可以使用标准 Web 技术开发受控沙箱应用,并通过 `@heybox/hb-sdk` 使用平台开放的用户、登录、分享、存储等能力。 - [Reference index](./llms/reference/index.md): Reference 由 `@heybox/hb-sdk` 的公开导出与源码注释自动生成,不重复 Guide 的接入流程。 - [API compatibility](./llms/reference/compatibility.md): - [Recipes index](./llms/recipes/index.md): Recipes 放可以直接复制到业务里的场景写法。它比 Guide 更具体,比 Reference 更偏组合使用。 - [Changelog](./llms/changelog/index.md): 这里记录仓库中已经确认的 `@heybox/hb-sdk` 稳定版更新内容。文档与 npm 包独立发布,实际可安装版本以 npm `latest` 为准;预发布版本不在此页展示。 - [Release notices](./llms/guide/update-notices.md): 让用户在小程序里就能关注你!SDK 0.9.5 新增关注作者能力,快来接入体验。 - [LLM usage guide](./llms/guide/llms.md): 文档站会自动维护一份标准的 `llms.txt` 索引,以及一组给 AI 直接读取的 Markdown 镜像页,方便模型按文档树逐步抓取内容。它是随 npm 包分发的 hb-sdk Agent Skill 唯一持续维护的 hb-sdk 事实入口;Skill 本身不复制 API、CLI、Guide 或 Recipe 正文。 ## API Reference - [Root API](./llms/reference/sdk/index.md): 该页面收录从 `@heybox/hb-sdk` 公开导出的 API。 - [Protocol API](./llms/reference/protocol/index.md): 该页面收录从 `@heybox/hb-sdk/protocol` 公开导出的 API。 - [auth](./llms/reference/sdk/auth/index.md): - [environment](./llms/reference/sdk/environment/index.md): - [user](./llms/reference/sdk/user/index.md): - [share](./llms/reference/sdk/share/index.md): - [viewport](./llms/reference/sdk/viewport/index.md): - [storage](./llms/reference/sdk/storage/index.md): - [files](./llms/reference/sdk/files/index.md): - [media](./llms/reference/sdk/media/index.md): - [network](./llms/reference/sdk/network/index.md): - [ui](./llms/reference/sdk/ui/index.md): - [device](./llms/reference/sdk/device/index.md): - [navigation](./llms/reference/sdk/navigation/index.md): - [cloud](./llms/reference/sdk/cloud/index.md): - [cloud.leaderboard](./llms/reference/sdk/cloud/leaderboard/index.md): - [cloud.storage](./llms/reference/sdk/cloud/storage/index.md): - [gameSaves](./llms/reference/sdk/gameSaves/index.md): - [companion](./llms/reference/sdk/companion/index.md): - [workspaceCards](./llms/reference/sdk/workspaceCards/index.md): - [auth.getAccountState](./llms/reference/sdk/auth/getAccountState.md): - [auth.login](./llms/reference/sdk/auth/login.md): - [environment.getInfo](./llms/reference/sdk/environment/getInfo.md): - [environment.getInfoSync](./llms/reference/sdk/environment/getInfoSync.md): - [user.getFollowStatus](./llms/reference/sdk/user/getFollowStatus.md): - [user.getInfo](./llms/reference/sdk/user/getInfo.md): - [user.getSteamGameList](./llms/reference/sdk/user/getSteamGameList.md): - [user.requestFollowAuthor](./llms/reference/sdk/user/requestFollowAuthor.md): - [user.revokeAuthorization](./llms/reference/sdk/user/revokeAuthorization.md): - [share.copyLink](./llms/reference/sdk/share/copyLink.md): - [share.getExtra](./llms/reference/sdk/share/getExtra.md): - [share.screenshot](./llms/reference/sdk/share/screenshot.md): - [share.showShareMenu](./llms/reference/sdk/share/showShareMenu.md): - [viewport.getWindowInfo](./llms/reference/sdk/viewport/getWindowInfo.md): - [viewport.setDisplay](./llms/reference/sdk/viewport/setDisplay.md): - [viewport.setNavigationBarStyle](./llms/reference/sdk/viewport/setNavigationBarStyle.md): - [storage.getStorage](./llms/reference/sdk/storage/getStorage.md): - [storage.setStorage](./llms/reference/sdk/storage/setStorage.md): - [files.sandbox.directory](./llms/reference/sdk/files/sandbox/directory.md): - [files.sandbox.file](./llms/reference/sdk/files/sandbox/file.md): - [files.pickDirectory](./llms/reference/sdk/files/pickDirectory.md): - [files.pickFiles](./llms/reference/sdk/files/pickFiles.md): - [files.saveFile](./llms/reference/sdk/files/saveFile.md): - [media.pick](./llms/reference/sdk/media/pick.md): - [network.download](./llms/reference/sdk/network/download.md): - [network.request](./llms/reference/sdk/network/request.md): - [network.upload](./llms/reference/sdk/network/upload.md): - [ui.hideLoading](./llms/reference/sdk/ui/hideLoading.md): - [ui.showLoading](./llms/reference/sdk/ui/showLoading.md): - [ui.showToast](./llms/reference/sdk/ui/showToast.md): - [device.executeProtocol](./llms/reference/sdk/device/executeProtocol.md): - [device.setClipboard](./llms/reference/sdk/device/setClipboard.md): - [device.vibrate](./llms/reference/sdk/device/vibrate.md): - [navigation.close](./llms/reference/sdk/navigation/close.md): - [navigation.openAppPage](./llms/reference/sdk/navigation/openAppPage.md): - [navigation.reload](./llms/reference/sdk/navigation/reload.md): - [cloud.leaderboard.deleteCurrentUserEntry](./llms/reference/sdk/cloud/leaderboard/deleteCurrentUserEntry.md): - [cloud.leaderboard.getCurrentUserEntry](./llms/reference/sdk/cloud/leaderboard/getCurrentUserEntry.md): - [cloud.leaderboard.getInfo](./llms/reference/sdk/cloud/leaderboard/getInfo.md): - [cloud.leaderboard.getList](./llms/reference/sdk/cloud/leaderboard/getList.md): - [cloud.leaderboard.submit](./llms/reference/sdk/cloud/leaderboard/submit.md): - [cloud.storage.getKeys](./llms/reference/sdk/cloud/storage/getKeys.md): - [cloud.storage.getStorage](./llms/reference/sdk/cloud/storage/getStorage.md): - [cloud.storage.removeItem](./llms/reference/sdk/cloud/storage/removeItem.md): - [cloud.storage.setStorage](./llms/reference/sdk/cloud/storage/setStorage.md): - [gameSaves.getLatestStructuredData](./llms/reference/sdk/gameSaves/getLatestStructuredData.md): - [gameSaves.list](./llms/reference/sdk/gameSaves/list.md): - [gameSaves.sync](./llms/reference/sdk/gameSaves/sync.md): - [companion.cancelPreparation](./llms/reference/sdk/companion/cancelPreparation.md): - [companion.getActiveSession](./llms/reference/sdk/companion/getActiveSession.md): - [companion.getInfo](./llms/reference/sdk/companion/getInfo.md): - [companion.getPreparationStatus](./llms/reference/sdk/companion/getPreparationStatus.md): - [companion.launch](./llms/reference/sdk/companion/launch.md): - [companion.prepare](./llms/reference/sdk/companion/prepare.md): - [workspaceCards.getLaunchContext](./llms/reference/sdk/workspaceCards/getLaunchContext.md): - [workspaceCards.onLaunchContextChange](./llms/reference/sdk/workspaceCards/onLaunchContextChange.md): - [workspaceCards.requestRefresh](./llms/reference/sdk/workspaceCards/requestRefresh.md): - [badge](./llms/reference/symbols/card-controller/functions/badge.md): 状态标记。 - [barChart](./llms/reference/symbols/card-controller/functions/barChart.md): 有限分类柱图;Runtime 提交原始非负值,宿主负责归一化和视觉配方。 - [button](./llms/reference/symbols/card-controller/functions/button.md): 按钮节点。 - [carousel](./llms/reference/symbols/card-controller/functions/carousel.md): 可触摸、鼠标拖拽及键盘翻页的轮播容器;每个直接子节点是一页。 - [defineAction](./llms/reference/symbols/card-controller/functions/defineAction.md): 工作区卡片 action 定义入口。 - [defineCard](./llms/reference/symbols/card-controller/functions/defineCard.md): 工作区卡片定义入口。 - [defineOpenMiniProgramAction](./llms/reference/symbols/card-controller/functions/defineOpenMiniProgramAction.md): 打开小程序 action 定义入口。 - [defineWorkspaceCardController](./llms/reference/symbols/card-controller/functions/defineWorkspaceCardController.md): 定义控制器;构建器和 Host 分别验证静态 action 表。 - [defineWorkspaceCardsController](./llms/reference/symbols/card-controller/functions/defineWorkspaceCardsController.md): 工作区卡片控制器定义入口。 - [divider](./llms/reference/symbols/card-controller/functions/divider.md): 分隔线。 - [expandable](./llms/reference/symbols/card-controller/functions/expandable.md): 长文本展开控件;展开状态由宿主自持,不产生 Command 往返。 - [fields](./llms/reference/symbols/card-controller/functions/fields.md): 标签值字段组;`value` 缺省时渲染 `placeholder`,不虚构字段。 - [frame](./llms/reference/symbols/card-controller/functions/frame.md): Frame 引用节点:文档只声明"在这里显示哪个引擎",iframe 与视图端口归 Runtime 侧的 frame 引擎。 - [grid](./llms/reference/symbols/card-controller/functions/grid.md): 等宽多列网格。 - [group](./llms/reference/symbols/card-controller/functions/group.md): 带可选小标题的语义分组;渲染为带标题的 section,纵向排列。 - [hstack](./llms/reference/symbols/card-controller/functions/hstack.md): 横向排列子节点。 - [icon](./llms/reference/symbols/card-controller/functions/icon.md): 图标节点。 - [image](./llms/reference/symbols/card-controller/functions/image.md): 图片节点。 - [invoke](./llms/reference/symbols/card-controller/functions/invoke.md): 生成固定受管 invoke 入口;身份由 Host 根据真实卡片绑定。 - [list](./llms/reference/symbols/card-controller/functions/list.md): 列表节点;条目 `action` 缺省即不可点击。 - [meter](./llms/reference/symbols/card-controller/functions/meter.md): 横向比例条;可渐进增强为受控厚度、均匀刻度和多数据段。 - [openMiniProgram](./llms/reference/symbols/card-controller/functions/openMiniProgram.md): 只允许打开当前小程序。 - [radialProgress](./llms/reference/symbols/card-controller/functions/radialProgress.md): 环形进度;同时保留可访问名称与环内文本,不能只靠圆弧传达结果。 - [region](./llms/reference/symbols/card-controller/functions/region.md): 构造一个内容区域。 - [renderer](./llms/reference/symbols/card-controller/functions/renderer.md): Renderer Module 逃生舱节点;尺寸静态声明,宿主渲染前即可预留空间。 - [spacer](./llms/reference/symbols/card-controller/functions/spacer.md): 吃掉父容器主轴剩余空间的弹性空隙;用于把同一行的内容推向两端。 - [tabs](./llms/reference/symbols/card-controller/functions/tabs.md): 分段容器;当前分段由宿主自持,不产生 Command 往返。 - [text](./llms/reference/symbols/card-controller/functions/text.md): 文本节点。 - [textField](./llms/reference/symbols/card-controller/functions/textField.md): 文本输入字段;草稿由宿主持有,只有动作按 `inputFrom` 提交时才回送 Runtime。 - [toggle](./llms/reference/symbols/card-controller/functions/toggle.md): 胶囊开关;状态由 Runtime 持有,宿主只回送切换请求并等待新文档确认。 - [viewDocument](./llms/reference/symbols/card-controller/functions/viewDocument.md): 构造一个携带当前 schema 版本的视图文档。 - [vstack](./llms/reference/symbols/card-controller/functions/vstack.md): 纵向排列子节点。 - [zstack](./llms/reference/symbols/card-controller/functions/zstack.md): 层叠排列子节点;首个子节点决定尺寸,其余子节点铺满其上。 - [hasMiniappRuntimeGate](./llms/reference/symbols/miniapp-publish/functions/hasMiniappRuntimeGate.md): 检查 HTML 是否包含 Runtime Gate 的三个结构标记。 - [isValidVersion](./llms/reference/symbols/miniapp-publish/functions/isValidVersion.md): 判断小程序版本是否符合公开 Manifest 版本规则。 - [normalizeBasicInfoName](./llms/reference/symbols/miniapp-publish/functions/normalizeBasicInfoName.md): 规范化并校验小程序展示名称。 - [normalizeRelativePath](./llms/reference/symbols/miniapp-publish/functions/normalizeRelativePath.md): 将扫描到的相对路径转换为统一的 `/` 分隔形式。 - [parseMiniappBasicInfo](./llms/reference/symbols/miniapp-publish/functions/parseMiniappBasicInfo.md): 校验项目声明或 Manifest 中的小程序展示资料。 - [parseMiniappBindAppIds](./llms/reference/symbols/miniapp-publish/functions/parseMiniappBindAppIds.md): 校验并规范化小程序关联的游戏 App ID。 - [parseMiniappCategory](./llms/reference/symbols/miniapp-publish/functions/parseMiniappCategory.md): 校验项目配置或产物中的小程序类别。 - [previewMiniappBasicInfo](./llms/reference/symbols/miniapp-publish/functions/previewMiniappBasicInfo.md): 在浏览器中校验构建产物的展示资料图片,并创建预览 URL。 - [relativePathContainsNodeModulesSegment](./llms/reference/symbols/miniapp-publish/functions/relativePathContainsNodeModulesSegment.md): 判断路径中是否包含大小写不敏感的完整 `node_modules` 目录段。 - [resolveMiniappManifestPlatforms](./llms/reference/symbols/miniapp-publish/functions/resolveMiniappManifestPlatforms.md): 解析 Manifest 平台声明,是 `0.9.0` 硬切规则的唯一实现。 - [shouldUploadDistFile](./llms/reference/symbols/miniapp-publish/functions/shouldUploadDistFile.md): 判断 `dist` 中的文件是否应作为版本产物上传。 - [validateMiniappManifestForDeploy](./llms/reference/symbols/miniapp-publish/functions/validateMiniappManifestForDeploy.md): 校验发布 Manifest 并返回规范化后的已知字段。 - [validateUploadTotalSize](./llms/reference/symbols/miniapp-publish/functions/validateUploadTotalSize.md): 校验一组构建产物的总大小是否超过给定上限。 - [isManagedMiniProgramRuntimePermissionKey](./llms/reference/symbols/protocol/functions/isManagedMiniProgramRuntimePermissionKey.md): 判断字符串是否是当前协议目录管理的 canonical runtime permission key。 - [isMiniProgramBridgeMessage](./llms/reference/symbols/protocol/functions/isMiniProgramBridgeMessage.md): 判断不可信输入是否具有受支持的小程序 bridge 消息结构。 - [isMiniProgramByteArray](./llms/reference/symbols/protocol/functions/isMiniProgramByteArray.md): 判断未知值是否为使用普通 `ArrayBuffer` 存储的 `Uint8Array` 字节视图。 - [isMiniProgramDirectoryDescriptor](./llms/reference/symbols/protocol/functions/isMiniProgramDirectoryDescriptor.md): 判断未知值是否具有目录 descriptor 的精确 wire 结构。 - [isMiniProgramDirectoryRef](./llms/reference/symbols/protocol/functions/isMiniProgramDirectoryRef.md): 判断未知值是否为 direct handle 或 path-derived 目录引用。 - [isMiniProgramDownloadProgressPayload](./llms/reference/symbols/protocol/functions/isMiniProgramDownloadProgressPayload.md): 判断未知值是否为单个 `network.download` 进度 payload。 - [isMiniProgramFileDescriptor](./llms/reference/symbols/protocol/functions/isMiniProgramFileDescriptor.md): 判断未知值是否具有文件 descriptor 的最低 wire 结构。 - [isMiniProgramFileRef](./llms/reference/symbols/protocol/functions/isMiniProgramFileRef.md): 判断未知值是否为 direct handle 或 path-derived 文件引用。 - [isMiniProgramFileStat](./llms/reference/symbols/protocol/functions/isMiniProgramFileStat.md): 判断未知值是否具有文件元数据快照的最低 wire 结构。 - [isMiniProgramFileSystemEntityDescriptor](./llms/reference/symbols/protocol/functions/isMiniProgramFileSystemEntityDescriptor.md): 判断未知值是否为文件或目录 descriptor。 - [isMiniProgramMediaPickItem](./llms/reference/symbols/protocol/functions/isMiniProgramMediaPickItem.md): 判断未知值是否为单个 `media.pick` 媒体项。 - [isMiniProgramMediaPickPayload](./llms/reference/symbols/protocol/functions/isMiniProgramMediaPickPayload.md): 判断未知值是否具有 `media.pick` payload 的最低 wire 结构。 - [isMiniProgramMediaPickResult](./llms/reference/symbols/protocol/functions/isMiniProgramMediaPickResult.md): 判断未知值是否为整批 `media.pick` 结果。 - [isMiniProgramPathRootRef](./llms/reference/symbols/protocol/functions/isMiniProgramPathRootRef.md): 判断未知值是否可作为 derived file/directory ref 的逻辑路径 root。 - [isMiniProgramRelativePath](./llms/reference/symbols/protocol/functions/isMiniProgramRelativePath.md): 判断未知值是否为以 `/` 分隔的规范逻辑相对路径。 - [parseMiniProgramRuntimePermissions](./llms/reference/symbols/protocol/functions/parseMiniProgramRuntimePermissions.md): 将不可信的 schema v1 runtime permission snapshot 解析为独立的 canonical 权限映射。 - [getHandshakeState](./llms/reference/sdk/lifecycle/getHandshakeState.md): 获取默认 SDK 实例的当前握手状态。 - [off](./llms/reference/sdk/lifecycle/off.md): 移除默认 SDK 实例的事件监听。 - [on](./llms/reference/sdk/lifecycle/on.md): 注册默认 SDK 实例的事件监听。 - [onHandshakeStateChange](./llms/reference/sdk/lifecycle/onHandshakeStateChange.md): 订阅默认 SDK 实例的握手状态,并立即接收当前状态。 - [miniappManifest](./llms/reference/symbols/vite/functions/miniappManifest.md): 创建工坊小程序使用的 Vite 插件。 - [Root functions](./llms/reference/symbols/root/functions/index.md) - [Root interfaces](./llms/reference/symbols/root/interfaces/index.md) - [Protocol interfaces](./llms/reference/symbols/protocol/interfaces/index.md) - [Root types](./llms/reference/symbols/root/types/index.md) - [Protocol types](./llms/reference/symbols/protocol/types/index.md) ## Guides - [Agent Skill 安装](./llms/guide/agent-skill.md): `hb-sdk` Agent Skill 随 `@heybox/hb-sdk` npm 包发布,确保 CLI、SDK 与 Skill 版本严格对应。运行环境要求 Node.js `>=22.20.0`。 - [用 AI Agent 开发工坊小程序](./llms/guide/ai-agent-development.md): 你可以把 AI Agent 当成开发搭子:让它创建项目、实现页面、启动预览、检查配置,并在发布前帮你确认登录态、小程序 ID、版本号和构建结果。 - [用户身份与登录](./llms/guide/auth.md): `app_user_id` 是平台为“用户 × 当前小程序”生成的稳定、隔离标识,不是黑盒用户 ID。它是不透明字符串,只能在当前小程序内使用,不能解析或跨小程序关联。 - [CLI 与本地 mock 调试](./llms/guide/cli.md): `hb-sdk` CLI 用于创建项目、本地调试、生产构建和提交审核。日常开发记住一条主线即可:**先用浏览器 Mock 快速调试,再到小黑盒客户端验收。** 关联游戏的查询与资料提醒见[项目配置](./project-configuration#查询关联游戏-id)。 - [云端排行榜](./llms/guide/cloud-leaderboard.md): `cloud.leaderboard` 用来提交和读取跨用户排名,适合最高分、最短耗时、关卡成绩等场景。用户身份由宿主注入,页面不要传 `appUserId`。 - [云端存储](./llms/guide/cloud-storage.md): `cloud.storage` 保存当前登录用户在当前小程序下的私有字符串数据,适合云存档和偏好同步。身份由受信 Host 上下文绑定,SDK 不接受用户 ID 或小程序 ID。 - [受管桌面程序](./llms/guide/companion.md): 真实 PC 的本地临时 Companion 还要求 Host 支持私有 local-dev lease。该 lease 由 Host 记录进程 provenance 并负责失联后的自清理;旧客户端缺少该能力时安全拒绝临时 Companion,Browser Fake 和普通 network 调试仍可用。 - [环境信息](./llms/guide/environment.md): `environment` 模块提供当前小程序实例的静态环境快照,包括运行模式、小黑盒 App 版本、canonical 小程序身份、操作系统和 SDK 版本。该能力无需在 `heybox.permissions` 中声明,也不会触发用户授权。 - [错误处理](./llms/guide/error-handling.md): SDK 公开两类标准错误: - [常见问题](./llms/guide/faq.md): 适用于小程序工坊开发者,整理接入、调试、能力调用、审核发布和反馈过程中常见的问题。各回答提供排查方向,完整操作以链接的专题文档为准。 - [文件能力与沙箱](./llms/guide/files-and-sandbox.md): `@heybox/hb-sdk` 的文件能力由 [`hbSDK.files`](../reference/sdk/files/) 提供,分两类目标: - [游戏详情页资源位申请](./llms/guide/game-detail-resource-placement.md): 游戏详情页资源位用于在小黑盒游戏详情页头部展示工坊小程序入口。申请通过后,用户可以从对应游戏详情页进入小程序。 - [黑神话:悟空存档数据](./llms/guide/game-save-data/black-myth-wukong.md): 本文解释 `getLatestStructuredData('2358720')` 成功返回的 `data`:角色状态、收集、配装和战斗记录直接位于该对象下,没有额外的 `slots` 包装。 - [影之刃零存档数据](./llms/guide/game-save-data/phantom-blade-zero.md): 本文解释 `getLatestStructuredData('4115450')` 成功返回的 `data`。它包含当前账号全部已保存槽位,以及用于默认展示的槽位名。 - [任务栏英雄存档数据](./llms/guide/game-save-data/taskbar-hero.md): 本文解释 `getLatestStructuredData('3678970')` 成功返回的 `data`。它是一个账号存档对象,以 `snake_case` 命名为主,包含英雄、关卡、背包、仓库和物品实例,没有额外的 `slots` 包装。 - [游戏存档](./llms/guide/game-saves.md): `gameSaves` 可以查询某款 Steam 游戏的存档、同步并等待结果,并把存档文件交给小程序。受支持游戏可按需读取后端已有的结构化数据;如果需要原始内容,开发者仍可下载 ZIP 自行解压、解析。 - [安装](./llms/guide/installation.md): `@heybox/hb-sdk` 同时提供小程序页面使用的 SDK、`hb-sdk` CLI 和 Vite 构建插件。第一次接入时,推荐直接创建官方模板;已有 Vite 项目则按本页手动安装。 - [事件与生命周期](./llms/guide/lifecycle.md): SDK 通过 `on` 监听小程序生命周期和业务事件。 - [小程序工坊上架规则 v2(试行 )](./llms/guide/mini-program-publishing-rules.md): 「小程序工坊」是运行于小黑盒客户端内的轻量化互动应用发布与运行平台。开发者可基于平台提供的开发能力和技术底座,开发并发布工具类等其他符合平台规则的应用。开发者对其开发、发布及运营的小程序承担独立的主体责任。 - [权限声明](./llms/guide/permissions.md): `gameSaves` 声明开放游戏存档的列表、同步、状态和只读文件能力;不再弹出单独的用户授权确认。旧版兼容权限不会自动获得它,详见[游戏存档](./game-saves)。 - [package.json 项目配置](./llms/guide/project-configuration.md): 工坊小程序在项目 [`package.json`](https://docs.npmjs.com/cli/v11/configuring-npm/package-json) 的 `heybox` 对象中声明[小程序类别](#小程序类别)、[版本资料](./version-profile)、目标平台、[受保护能力](./permissions)、窗口、关联游戏和[桌面辅助应用](./companion),并记录当前项目绑定的远端小程序。 - [快速开始](./llms/guide/quick-start.md): 新项目可先运行 `hb-sdk create my-miniapp` 获得 Vanilla JavaScript + Vite HelloWorld;模板只演示 Toast,业务代码可以直接替换。 - [本地键值存储](./llms/guide/storage.md): 通过 [`storage.setStorage()`](../reference/sdk/storage/setStorage) 和 [`storage.getStorage()`](../reference/sdk/storage/getStorage) 保存设置、草稿等少量 JSON 数据。数据按小程序隔离,存储在当前 Host 本地,不随账号或设备同步;同一小程序升级版本后仍使用原有数据。 - [update-notices](./llms/guide/update-notices.md): 让用户在小程序里就能关注你!SDK 0.9.5 新增关注作者能力,快来接入体验。 - [版本名称与图片](./llms/guide/version-profile.md): 适用于 SDK 0.8.2 及以上。小程序资料跟随版本审核,正式发布时才更新线上展示;审核中、驳回和撤回不会改变线上资料。 - [窗口尺寸与可缩放性](./llms/guide/window-size.md): 新 PC 工坊小程序在 `package.json#heybox.window` 声明开窗默认尺寸与可缩放性,随包发布,遵循**开发者声明优先、用户拖动次之、平台兜底**。 - [工作区卡片](./llms/guide/workspace-cards.md): 工作区卡片把小程序的概览、进度或常用操作放到 **PC 的游戏工作区**。用户可以先看卡片,再按需打开小程序页面。 ## Recipes - [排行榜页面](./llms/recipes/cloud-leaderboard.md): 这个 Recipe 适合游戏结算页、挑战榜、耗时榜等场景:公开榜单可以直接读取;当前用户记录和成绩提交由平台代管能力自行校验 Host 登录状态。 - [社区分享预置](./llms/recipes/community-share.md): `share.showShareMenu()` 和 `share.screenshot()` 可以给客户端的“转发到社区”流程预置分区与话题。预置内容进入发帖页后仍可由用户修改,SDK 不会直接发布内容。 - [默认 SDK 单例](./llms/recipes/custom-instance.md): 0.6 起 SDK 根入口会 eager 创建唯一默认实例并立即握手,不再公开独立实例工厂。 - [服务端登录门禁](./llms/recipes/login-gate.md): 声明 `userInfo` 后,小程序可以把“取得授权码并交给开发者服务端”收敛成一个用户操作函数。`auth.login()` 本身不依赖 `network`;以下示例使用 `network.request()` 传递 code,因此还需声明并获得 `network` 的平台批准: - [跨小程序跳转](./llms/recipes/mini-program-navigation.md): 使用 `navigation.openAppPage()` 的 `mini_program` 目标打开另一个公开发布的小程序。目标只按稳定 ## Optional - Full markdown mirrors for the docs site are available under `./llms/guide/`, `./llms/reference/`, `./llms/recipes/`, and `./llms/changelog/`.