OY!play适用平台部署的Web游戏SDK技能

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

安装并使用 OY-Play(OYplay)Web 游戏 SDK,通过平台基座注入的 window.oyapi 获取玩家信息、管理云存档(localStorage 透明接管与自动同步)。当用户在开发将由 OY-Play 平台托管的 Web/H5 游戏,或提到 oyapi、OYplay、OY-Play、WebSDK、云存档、localStorage 接管、玩家信息、平台会话时使用本技能——即使没有明确说出 SDK 名称。

一句话选型结论

按资料字段整理

OY!play适用平台部署的Web游戏SDK技能是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_b4039f09/oyapi-websdk
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_b4039f09仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791625069
正文体量7.0 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
OY!play适用平台部署的Web游戏SDK技能当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

7.0 KB
模型实际读到的说明书原文,来自技能仓库

OY-Play WebSDK(oyapi)接入指南

本技能指导你(AI 助手)在 Web 游戏工程中安装 OYplay WebSDK,并按平台约定使用 window.oyapi,避免自建一套和平台冲突的存档/同步逻辑。

oyapi 是什么(30 秒版)

OY-Play 平台托管的 Web 游戏运行在隔离沙箱基座中,基座会在游戏首个脚本执行前完成两件事:

  1. 注入全局对象 window.oyapi(玩家信息 + 云存档控制);
  2. 在默认的 auto 模式下用一个 Proxy 透明接管 window.localStorage——游戏照常读写 localStorage,数据自动云同步。

因此本 SDK 没有任何运行时代码:OYplay_WebSDK.ts 只是一份 TypeScript 声明,作用是语法提示与文档。游戏在平台外直开(本地 file:// 或自建服务器)时 window.oyapi 不存在,localStorage 是浏览器原生实现。

安装 SDK

当前Skill适用的SDK版本是:0.1.0

SDK 完整压缩包位于"https://static.mp.quanmwl.com/public/sdk/WebSDK_{version}.zip",version是版本号
SDK 单文件位于"https://static.mp.quanmwl.com/public/sdk/oyapi-websdk-{version}/WebSDK/OYplay_WebSDK.ts",version是版本号

在 TS 工程中二选一:

方案 A(推荐):复制单文件

把 OYplay_WebSDK.ts 复制进游戏工程(例如 src/types/OYplay_WebSDK.ts)。文件自带 export {} 与 declare global,只要它落在 tsconfig.json 的 include 范围内,window.oyapi 与 oyapi:ready 事件的类型即全局生效,无需任何 import。

方案 B:本地类型依赖

在游戏工程 package.json 中声明本地依赖(路径按实际位置调整):

{ "dependencies": { "oyplay-websdk": "file:../WebSDK" } }

然后在整个工程只需一处类型导入,让全局声明进入编译(注意必须用 import type {},纯类型导入会在编译后擦除,不会引入运行时模块):

import type {} from "oyplay-websdk";

纯 JS 工程:SDK 无运行时,无需安装;把 OYplay_WebSDK.ts 和本技能的 references 当作 API 文档阅读即可。

安装完成后用 npx tsc --noEmit 验证:window.oyapi.Player.GetInfo() 应能通过类型检查。

API 速览

// —— 玩家信息 ——
const player = window.oyapi.Player.GetInfo();
if (player) {
  console.log(player.id, player.nickname); // 平台会话存在
} else {
  // 未登录或非平台环境(本地直开同样是 null)
}

// —— 云存档:数据本体直接用 localStorage ——
localStorage.setItem("progress", JSON.stringify(state)); // auto 模式下自动云同步
const saved = localStorage.getItem("progress");

// —— 模式控制 ——
await window.oyapi.CloudStorage.Mode("disable"); // 关闭云同步(成功后基座会刷新页面)
await window.oyapi.CloudStorage.Mode("auto");    // 重新开启

// —— 主动同步 + 同步回调 ——
const snapshot = await window.oyapi.CloudStorage.CloudSync(); // 最新快照,或 null
const off = window.oyapi.CloudStorage.OnSync((snap) => {
  console.log("synced, version =", snap.version);
});
off(); // 取消注册

本地开发守卫(平台外 window.oyapi 不存在):

const oyapi = typeof window !== "undefined" && "oyapi" in window ? window.oyapi : null;

更完整的守卫与安全封装见 assets/oyapi-compat.ts,可直接复制进工程。

关键行为约束(写代码前必读)

  • 存档入口就是 localStorage,不要为云同步自建任何请求或队列——auto 模式下基座已全部代劳。
  • 存档整体上限约 5MB(全量 JSON 编码后),超限 setItem 抛 QuotaExceededError,原数据不变。
  • 写入后有 800ms 防抖才触发同步;页面隐藏、页面卸载、网络恢复时也会触发;不必手动频繁 CloudSync()。
  • 未登录(无平台会话):GetInfo() 返回 null,CloudSync() 返回 null,Mode() 会 reject。
  • Mode("disable") 成功后基座约 100ms 后刷新页面;此后 localStorage 退化为沙箱本地持久化(不访问部署节点原生存储)。
  • 模式按「玩家 ID + 游戏 ID」记录在云端,玩家下次进入即生效。
  • 同步失败自动重试(1s 起指数退避,封顶 30s),基座顶部弹「云存档异常!」。
  • OnSync 回调抛错会被吞掉,不影响其他回调与同步流程。
  • 冲突以云端 version 高者胜,平局比 recorded_at_ms;同步响应到达时若本地无新写入,数据整体替换为云端版本。
  • 所有键值都是字符串(与浏览器 localStorage 一致),对象请 JSON 序列化。

涉及模式切换、同步时机、错误处理或需要精确语义时,先读参考文件再动手:

  • references/api.md —— 类型与语义全量参考、错误信息对照表
  • references/cloud-storage.md —— localStorage 接管与云同步机制细节

推荐接入流程

  1. 确认是 Web/H5 游戏工程且将上架 OY-Play;TS 工程按上面方案 A/B 安装类型,纯 JS 工程跳过。
  2. 游戏存档读写统一走 localStorage(包括首次进入时恢复云存档——数据在首个脚本执行前已注入)。
  3. 需要展示玩家身份时调用 Player.GetInfo(),并处理 null(未登录/非平台环境)。
  4. 需要同步反馈或版本展示时注册 OnSync,记得保存取消函数。
  5. 提供存档开关 UI 时用 Mode("disable" / "auto"),注意 disable 后页面会刷新,切换期间不要堆积其他操作。
  6. 运行 npx tsc --noEmit 验证类型接入成功。

故障排查速查

症状 原因 处理
window.oyapi 为 undefined 本地直开,无基座 属预期;用守卫判断并降级
setItem 抛 QuotaExceededError 存档超 5MB 压缩/拆分数据、清理无用键
Mode() reject cloud session is unavailable 未登录/无平台会话 引导登录或保持默认模式
CloudSync() 返回 null 非 auto 模式或无会话 检查模式与会话状态
OnSync 回调迟迟不触发 无新写入或防抖未到 等待 800ms 防抖/页面隐藏,或主动 CloudSync()
disable 后页面自动刷新 基座设计如此,确保状态落盘 正常行为,切换前先写完数据

本技能的安装(给最终用户)

本技能目录随 WebSDK 分发。若游戏工程由 AI 辅助开发,把 oyapi-websdk 整个目录复制到工程根目录的 .agents/skills/(跨工具通用)或 .zcode/skills/ 下,AI 即可自动发现并按本指南接入。

常见问题

5 问
答案由本站依据条目字段整理
OY!play适用平台部署的Web游戏SDK技能怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_b4039f09/oyapi-websdk。安装方式为未标注。装完刷新技能列表或重开客户端。

OY!play适用平台部署的Web游戏SDK技能支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

OY!play适用平台部署的Web游戏SDK技能权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

OY!play适用平台部署的Web游戏SDK技能收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

OY!play适用平台部署的Web游戏SDK技能用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。