{"_id":"@1k1games/platform","name":"@1k1games/platform","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@1k1games/platform","version":"0.1.0","description":"1k1Games 玩法实验室平台插件：单页玩法原型游戏库、内嵌试玩与灵感工坊（M0 骨架）。","type":"module","main":"lib/index.js","exports":{".":"./lib/index.js","./client":"./client/client.js","./cordis.patch.yml":"./cordis.patch.yml","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"dsh":{"engines":{"dsh":">=0.1.1-rc.1"},"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale"],"platform":"web"}},"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"_id":"@1k1games/platform@0.1.0","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-ovDx2HqkXJZeSKdA0zpplyYh8BRGbKpAmYmuiFpdtHzLlT9EPLAQ3VnicxMNMLzs6qDARLUANUqpD9jIid/FbA==","shasum":"72aeb89443bf1e6ee6335cb48fbd1695f5dba149","tarball":"https://registry.npmjs.org/@1k1games/platform/-/platform-0.1.0.tgz","fileCount":33,"unpackedSize":319454,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEFzWqjZsZomnzCtw1jWW6/y4SAK0oKOtXGOf0vcy4BoAiEA1EvFFvfAXqygc9KAQLidIqc+US4FFidYuPAUrYIXHFo="}]},"_npmUser":{"name":"houi","email":"houi51899@gmail.com"},"directories":{},"maintainers":[{"name":"houi","email":"houi51899@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/platform_0.1.0_1787733053935_0.6189340214803845"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-26T08:30:53.728Z","0.1.0":"2026-08-26T08:30:54.108Z","modified":"2026-08-26T08:30:54.351Z"},"maintainers":[{"name":"houi","email":"houi51899@gmail.com"}],"description":"1k1Games 玩法实验室平台插件：单页玩法原型游戏库、内嵌试玩与灵感工坊（M0 骨架）。","license":"MIT","readme":"# @1k1games/platform · 玩法实验室平台插件（M0 + M1 + M2）\n\n1k1Games 玩法实验室的 DSH 平台插件（bundle）。\n- **M0**：平台骨架 + 内置 14 款单页原型游戏库 + 内嵌试玩。\n- **M1**：游戏子插件分发——`game-template` 模板、内置 registry（多源：npm/tarball/git/file）、「发现」页一键安装/卸载（pnpm spawn，即时生效无需重启）。\n- **M2**：本地游戏库（对话生成的单页游戏自动收录）+ 两个技能（七维分析 / AI 玩法设计与单页生成）实时装配进 DSH 会话。\n\n## 安装\n\n```bash\ndsh plugin --profile web add /Users/houi/Projects/1k1Games/packages/platform\n```\n\n安装后**重启 DSH web**：左侧边栏底部出现「🎮 玩法实验室」按钮。\n本地路径安装为符号链接，改代码后再次重启即生效，无需重装。\n\n## 结构\n\n```\nlib/index.js              服务端入口（技能安装 + ctx.inject webServer → /lab/api/*）\nlib/routes.js             /lab/api 路由（内置列表/详情/entry + 本地库 + registry + 安装/卸载）\nlib/local-games.js        本地游戏库（$DSH_HOME/1k1games/games/ 扫描/注册/校验）\nlib/profile.js            profile 扫描（已安装子插件：读 dependencies + 1k1games 清单）\nlib/registry.js           内置 registry（多源 spec 解析）\nlib/pnpm.js               pnpm 通道（profile 内 add/remove）\nlib/skills-install.js     把包内 skills/ 同步到 $DSH_HOME/skills（实时装配）\nlib/home.js               $DSH_HOME 解析\ndata/bundled-games.json   内置 14 款游戏元数据（七维配方 / MVG / 标签）\ngames/*.html              内置单页原型（运行协议：单文件、自包含、≤256KB）\nclient/client.js          客户端 ModuleLoader bundle（侧边栏入口 + 浮层：游戏库/我的游戏/灵感工坊）\nskills/                   技能源（1k1games-analysis、1k1games-design + references）\ncordis.patch.yml          bundle 层栈插入\n```\n\n## API\n\n| 端点 | 说明 |\n|---|---|\n| `GET /lab/api/health` | 健康检查（内置/已安装/本地计数） |\n| `GET /lab/api/games` | 游戏列表（内置 + 已安装，不含正文） |\n| `POST /lab/api/games` | 本地游戏注册（幂等；256KB + 外链校验） |\n| `GET /lab/api/games/local` | 本地（对话生成）游戏列表 |\n| `GET /lab/api/games/:id` | 单游戏元数据（内置 → 已安装 → 本地） |\n| `GET /lab/api/games/:id/entry` | 单文件 H5 正文（iframe srcdoc） |\n| `GET /lab/api/registry` | registry 列表（附 installed 状态） |\n| `POST /lab/api/games/:id/install` | 从 registry 安装子插件（pnpm add，即时生效） |\n| `POST /lab/api/games/:id/uninstall` | 卸载子插件（pnpm remove，即时生效） |\n\n## 技能（M2）\n\n平台启动时把 `skills/` 同步到 `~/.dsh/skills/`（`dsh-skill-filesystem` 实时 watch，**新会话**自动装配）：\n\n- **`1k1games-analysis`** 七维游戏分析：按七维字典拆解任意游戏 → 配方卡片（含未收录建议约定）。\n- **`1k1games-design`** AI 玩法设计与单页生成：概念文档（12 节）→ MVG 任务书 → 生成符合运行协议的单文件 H5 → 落盘 `~/.dsh/1k1games/games/<id>.html` + `<id>.json` → 「我的游戏」自动收录。\n\n## 测试\n\n```bash\nnode scripts/smoke.mjs          # 服务端路由冒烟（16 项：内置/已安装/本地/registry/安装卸载/校验）\nnode scripts/skills-smoke.mjs   # 技能安装冒烟（13 项，含幂等）\nnode scripts/client-smoke.mjs   # 客户端注册冒烟（10 项）\n```\n\n## 游戏子插件（M1）\n\n- `../game-template`：子插件脚手架（复制后替换 `game.html` 与 `1k1games` 清单字段）。\n- `../game-pixel-sprint`：示例游戏（registry 中 `source.type: \"file\"`，本地演示用）。\n- 子插件是 **profile 纯依赖包**（不声明 `dsh.bundle`），安装/卸载即时生效、无需重启。\n- 分发源：`npm`（推荐，国内安装配 npmmirror 镜像）｜ `tarball`（Gitee Releases/对象存储）｜ `git`（Gitee 等，GitHub 不可用时的替代）｜ `file`（本地开发）。\n\n## 远程 registry 合并（配置）\n\n内置 `data/registry.json` 为基线，环境变量追加远程源（零新增依赖）：\n\n| 环境变量 | 默认 | 说明 |\n|---|---|---|\n| `DSH_1K1GAMES_REGISTRY_URL` | 空 | 远程 games.json URL，逗号/分号分隔多源，按序字段级合并（后源覆盖前源） |\n| `DSH_1K1GAMES_REGISTRY_TIMEOUT_MS` | 5000 | 单源 fetch 超时 |\n| `DSH_1K1GAMES_REGISTRY_TTL_MS` | 300000 | 合并结果缓存 TTL |\n\n- 每条目标注 `origin`：`builtin` ｜ `remote:<序号>`。\n- 单源失败不回滚整体；全部失败等价回退内置。`/health` 与内置列表不触发网络。\n- 示例：`DSH_1K1GAMES_REGISTRY_URL=\"https://gitee.com/you/1k1games-registry/raw/main/games.json\" dsh web`\n","readmeFilename":"README.md","_rev":"1-3cc3fdb03bfec9fce4351e895ed25970"}