写卡攻略本AI玩家 · 创作者
技术手册

技术手册 · SDK

联调与打包上传

在 localhost 联调独立界面,构建相对资源路径并按 ZIP 根目录规则上传验收。

独立界面先在本地调整,再进入平台联调,最后上传静态资源包。构建通过只能证明产物生成成功,接入和保存仍要在目标宿主检查。

localhost 联调 ​

  1. 按从 Starter 开始启动本地 HTTP 服务,先直接访问页面,检查布局。
  2. 在角色编辑页右侧预览设置或测试页选择“本地调试界面”,填写实际入口,例如 http://localhost:5173/index.html。该地址只在当前浏览器保存,不是发布地址。
  3. 确认页面显示“平台 iframe”,并显示真实角色信息。若显示“本地 mock”,查看控制台握手或加载错误。
  4. 测试一次发送、流式回复、停止、变量写入和读取。涉及其他模块时,分别检查对应的真实效果。

localhost 指运行浏览器的这台机器。本机浏览器能访问,不代表手机也能访问。跨设备联调时需要使用该设备可达的开发地址,并单独核对宿主和网络条件。

若本地服务无法加载,先检查端口、服务是否启动以及地址是否能直接访问,再使用预览设置中的“重连”。服务连通也不等于 SDK 握手成功。

相对资源路径 ​

平台托管资源会放到自己的目录下。页面内脚本、样式、图片和多页面跳转应相对于包内文件定位,避免依赖站点根目录的 /assets/... 或开发机地址。

H5 starter 的 assets/app.js 通过 import.meta.url 定位同一包内的 panel-demo.html。React starter 的 Vite 配置使用 base: './',扩展面板按页面地址定位。保留这些相对路径策略,修改目录结构后重新验证。

相对路径不表示所有资源都已打入 ZIP。H5 starter 的 SDK 仍来自 CDN;你新增的外部图片、字体和音频也要检查上传后的可访问性。

build 与 ZIP 根目录 ​

模板构建步骤压缩内容
H5 starter无构建步骤模板目录内的 index.html、panel-demo.html、assets/ 等页面资源
React starter在模板目录运行 npm ci,然后 npm run builddist/ 目录内的文件,保留生成的 assets/ 与 panel-demo.html

ZIP 根目录必须直接有 index.html。压缩目录内的内容,不要额外包一层 charx-react-starter/、dist/ 或其他父目录。React 源码目录和 node_modules/ 不是上传产物。

macOS 上可以在 Finder 打开待打包目录,选择其中需要的页面文件和资源目录后压缩;随后打开 ZIP 检查第一层是否直接出现 index.html。不要只选中父目录进行压缩。

当前上传流程接受 .html、.htm 或 .zip。上传文件上限为 20 MiB,ZIP 解压后总大小上限为 50 MiB,文件数最多 1000 个;服务端还会检查路径和文件类型。单 HTML 上传只提供一个页面文件,多文件项目请打 ZIP。

上传后验收 ​

  1. 在角色编辑页的“独立界面”区域上传 HTML/ZIP,并保存角色卡,让资源包绑定到当前角色。
  2. 在预览或测试页切换“我的界面”。该入口使用已保存的平台托管资源包;旧外部入口或未保存资源包不能代替这一步。
  3. 检查首页、样式、图片、字体、音频和扩展面板,没有缺失文件或开发地址依赖。
  4. 再次确认真实 SDK 握手,并检查发送、错误提示、停止、历史更新以及需要的变量和 storage 行为。
  5. 在实际面向用户的 Web 或 App 环境验收持久化、重新进入会话、会话切换与退出清理。涉及键盘、滚动和音频时,分别检查目标设备。

Creator 预览通过不能证明正式会话存档已保存;本地 mock 成功更不能代替上传后验收。本文已核对 SDK 测试、类型、构建和 React starter 构建,没有据此宣称所有宿主或移动真机功能等价。

角色审核与公开发布是后续独立步骤,见测试与提交审核。