前言¶
在 DSH 的插件化使用方式中,模型可以生成 HTML5 或 Flash 小遊戲,但要在 DSH Web UI 裏直接查看和試玩,還需要入口、靜態託管和播放邊界。
7d7d 是一個 DSH 遊戲門戶插件。它在 DSH Web UI 會話標籤欄新增 7D7D 標籤,點擊後打開遊戲門戶;通過 DSH 主服務器 /7d7d 前綴同源託管遊戲靜態資源與 API;即時掃描 games/ 目錄生成門戶清單;支持 HTML5 單文件遊戲和 Flash SWF 遊戲,並使用固定版本 Ruffle 0.5.0 自託管播放 Flash。
這是什麼¶
7d7d 的許可證爲 MIT。倉庫路徑爲 omdsh-dev/7d7d,包名爲 @mattheliu/7d7d,版權標註 mattheliu。
它覆蓋三個環節:
1、生成:提供 skills/7d7d 技能,讓模型按規範生成遊戲目錄。
2、同步:自動同步倉庫 community-games/ 社區遊戲,也可手動觸發同步。
3、遊玩:在 DSH Web UI 中通過 7D7D 標籤打開門戶,運行本地或社區遊戲。
核心能力¶
- 在 DSH Web UI 會話標籤欄新增 7D7D 標籤,點擊打開遊戲門戶。
- 通過 DSH 主服務器
/7d7d前綴同源託管遊戲靜態資源與 API。 - 即時掃描
games/目錄生成門戶清單,支持本地與社區遊戲。 - 支持 HTML5 單文件遊戲,也支持 Flash SWF 遊戲。
- 使用固定版本 Ruffle 0.5.0 自託管播放 Flash,不在運行時加載第三方腳本。
- 提供
skills/7d7d技能,讓模型按規範生成遊戲目錄。 - 自動同步倉庫
community-games/社區遊戲,也可手動觸發同步。 - 遊戲運行在不含
allow-same-origin的 sandbox iframe 中,形成不透明 origin 邊界。
安裝與啓用¶
前置要求是 Node >= 22 與 pnpm。
該插件必須安裝在包含精確 @deepseek-ai/dsh-web-app@0.1.0-rc.6 的 Web Profile 上;裸 Profile 不提供所需服務。package.json 標記 private: true,資料說明不承諾發佈爲公共 npm 包。
下面按給出的命令與配置片段操作。先克隆倉庫並安裝依賴:
git clone https://github.com/omdsh-dev/7d7d.git
cd 7d7d
NPM_CONFIG_USERCONFIG=/dev/null pnpm install --frozen-lockfile --ignore-scripts
這一步安裝鎖定依賴,並跳過 scripts 執行。
接着構建:
pnpm build
這一步產出插件構建結果。
如果包含 Flash 遊戲,安裝自託管 Ruffle:
pnpm fetch:ruffle
這一步安裝固定版本 Ruffle 0.5.0;未安裝本地文件時,Flash 播放會顯示明確提示,不回退第三方 CDN。
然後接入 Web Profile:把 cordis.patch.yml 的內容併入 Web Profile 層,或使用 dsh.plugin.json 清單安裝:
- insert:
- id: 7d7d
name: '@mattheliu/7d7d'
重啓 dsh web 後,打開任意會話,標籤欄出現 7D7D 標籤。
典型用法¶
讓模型生成一款小遊戲¶
把 skills/7d7d/SKILL.md 放進 DSH 的 skills 目錄,然後提示:
用 7d7d 做一款「太空射擊」小遊戲
模型會按規範生成遊戲目錄。遊戲目錄規範爲:
~/.dsh/7d7d/games/<slug>/
├── game.json
└── index.html
Flash 遊戲可在同一目錄中放置 game.swf。
投稿社區遊戲¶
把遊戲目錄放進 community-games/<slug>/,運行:
node scripts/update-catalog.mjs
重新生成 catalog.json,一起提 PR。
Flash 與 Ruffle¶
7d7d 對 Flash 遊戲使用固定版本 Ruffle 0.5.0 自託管播放,不在運行時加載第三方腳本。
Flash 遊戲需要固定版本 Ruffle 0.5.0。未安裝本地文件時會顯示明確提示,不回退第三方 CDN。版權上,只能上傳自己擁有或已獲授權的 SWF,不要扒 7k7k/4399 的商業遊戲資產。
安全邊界¶
7d7d 的遊戲運行在不含 allow-same-origin 的 sandbox iframe 中,形成不透明 origin 邊界。
已覈實的安全限制包括:
- 遊戲不能讀寫 GUI 的 cookie/localStorage。
- 遊戲無法訪問 DSH 的
/api橋接。 - 獨立 loopback 端口模式已廢棄。
適用場景與注意¶
適合以下場景:
- 在 DSH Web UI 內查看和試玩模型生成的 HTML5 小遊戲。
- 管理本地
games/目錄中的遊戲,並查看社區遊戲。 - 使用固定版本 Ruffle 0.5.0 自託管播放已授權 SWF。
安裝前需要注意:
- 插件聲明的權限包括
filesystem:write、network:outbound、ui:extend、webserver:register。 - 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
- 需要 Node >= 22、pnpm,以及包含精確
@deepseek-ai/dsh-web-app@0.1.0-rc.6的 Web Profile。 package.json標記private: true,不承諾發佈爲公共 npm 包。- 上傳 SWF 需要擁有版權或已獲授權。
鏈接¶
- 獨立社區目錄:https://www.skillhub.cn/plugins/omdsh-dev/7d7d
- GitHub:https://github.com/omdsh-dev/7d7d