Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计通过

ibook-widget-packeribook 小部件打包程序

Agent Skill

ibook-widget-packer 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

4,406

周安装

180

GitHub Stars

公开资料未说明

下载量

1,426
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:ibook-widget-packer(ibook 小部件打包程序)
来源仓库:https://github.com/onedream1985/ibook-widget-packer
安装命令:
openclaw skills install ibook-widget-packer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install ibook-widget-packer

简介

将 H5 游戏项目打包为标准 .wdgt 格式,适配 Apple iBook Author 发布要求。

  • 适用于已有 HTML/CSS/JS 资源的项目转换为电子书小部件。
  • 使用 openclaw skills install ibook-widget-packer 安装,自动处理目录结构与资源路径。
  • 涉及文件读写操作,建议备份原项目再执行打包。
  • Info.plist 模板和输出规范请参考项目文档。

SKILL.md

name
ibook-widget-packer
description
将 H5 游戏项目打包成 Apple iBook 支持的 .wdgt(Widget)格式。适用于:已有 H5 游戏项目(包含 index.html、CSS、JS 等文件),需要打包成 iBook Author 可用的 Widget 压缩包(.wdgt.zip)时使用。自动完成目录结构规范化、资源路径修正、Info.plist 生成、缩略图生成、最终 zip 打包全流程。
metadata
author
knot-user
version
1.0
compatibility
Linux/macOS 环境,需要 Python3(用于生成缩略图)、zip 命令行工具。

iBook Widget Packer Skill

概述

本 Skill 将任意 H5 游戏项目打包成符合 Apple iBook Author Widget 规范的 .wdgt 格式压缩包,可直接导入 iBook Author 使用。

Widget 包体规范

Apple iBook Widget(.wdgt)本质是一个特定结构的文件夹,在 macOS 上显示为 bundle 包。标准结构如下:

your-game.wdgt/
├── index.html          ← 主入口文件(必须)
├── Info.plist          ← Widget 配置文件(必须)
├── Default.png         ← 缩略图 1024×768(必须)
├── Default@2x.png      ← 高清缩略图 2048×1536(必须)
└── peresources/        ← 资源文件夹(推荐命名,存放 CSS/JS/图片等)
    ├── style.css
    ├── game.js
    └── ...(其他资源)

关键约束:

  • index.html 必须在根目录
  • Info.plist 必须在根目录,且包含 MainHTML 字段指向 index.html
  • 所有资源路径使用相对路径(如 peresources/style.css
  • 压缩时文件夹本身要在 zip 顶层(即 zip 内容为 your-game.wdgt/...

执行步骤

收到用户的打包请求后,按以下步骤执行:

Step 1:确认源项目路径和输出名称

  • 询问或从上下文确认:

- 源项目目录(包含 index.html 的目录) - Widget 名称(将作为 .wdgt 文件夹名,建议英文+连字符,如 my-game) - 游戏显示名称(中文可以,用于 Info.plist 的 CFBundleDisplayName) - 版本号(默认 1.0) - 默认尺寸(默认 1024×768,适合 iPad 横屏)

Step 2:分析源项目结构

读取源项目的 index.html,确认:

  • 引用了哪些 CSS/JS 文件及其路径
  • 是否已经有 peresources 子目录,还是所有文件平铺在根目录
  • 特殊资源(图片、音频、字体等)的位置

Step 3:创建 Widget 目录结构

# 创建 wdgt 文件夹
WDGT_DIR="/path/to/output/your-game.wdgt"
mkdir -p "$WDGT_DIR/peresources"

# 将 CSS、JS 等资源文件复制到 peresources/
cp source/style.css source/game.js source/*.js "$WDGT_DIR/peresources/"

路径修正规则:

  • 若源 index.html 中引用路径为 style.css(平铺),则复制到 peresources/ 后,index.html 中需改为 peresources/style.css
  • 若源 index.html 中已经是 peresources/style.css,则路径无需修改,直接复制资源文件到对应位置

Step 4:生成 index.html(根目录版本)

将修正了资源引用路径的 index.html 写入 your-game.wdgt/index.html

必须包含的 meta 标签(用于全屏适配):

<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />

Step 5:生成 Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>CFBundleDisplayName</key>
  <string>【游戏中文名】</string>
  <key>CFBundleIdentifier</key>
  <string>com.【英文名小写】.widget</string>
  <key>CFBundleName</key>
  <string>【英文名驼峰】</string>
  <key>CFBundleShortVersionString</key>
  <string>【版本号,如 1.0】</string>
  <key>CFBundleVersion</key>
  <string>【版本号,如 1.0】</string>
  <key>MainHTML</key>
  <string>index.html</string>
  <key>AllowNetworkAccess</key>
  <false/>
  <key>Width</key>
  <integer>1024</integer>
  <key>Height</key>
  <integer>768</integer>
</dict>
</plist>

Step 6:生成缩略图

使用 Python3 + Pillow 生成渐变缩略图(若 Pillow 未安装,先执行 pip3 install Pillow):

from PIL import Image, ImageDraw

def make_thumb(size, path, game_name):
    w, h = size
    img = Image.new('RGB', (w, h))
    draw = ImageDraw.Draw(img)
    # 渐变背景(紫色系)
    for i in range(h):
        r = int(102 + (150-102)*i/h)
        g = int(51 + (75-51)*i/h)
        b = int(153 + (210-153)*i/h)
        draw.line([(0,i),(w,i)], fill=(r,g,b))
    # 中心文字
    cx, cy = w//2, h//2
    draw.text((cx - len(game_name)*7, cy - 10), game_name, fill='white')
    img.save(path)

make_thumb((1024, 768),  'your-game.wdgt/Default.png', '游戏名称')
make_thumb((2048, 1536), 'your-game.wdgt/Default@2x.png', '游戏名称')
如果需要更好的缩略图效果,可以请用户提供截图,或用 PIL 绘制更精美的预览图。

Step 7:打包成 zip

cd /path/to/output/parent
zip -r your-game.wdgt.zip your-game.wdgt/

注意: 必须先 cd 到 wdgt 文件夹的父目录,再执行 zip,确保压缩包内顶层是 your-game.wdgt/ 文件夹。

Step 8:验证包体结构

# 查看压缩包内容,确认结构正确
unzip -l your-game.wdgt.zip | head -20

期望看到:

Archive:  your-game.wdgt.zip
  your-game.wdgt/
  your-game.wdgt/index.html
  your-game.wdgt/Info.plist
  your-game.wdgt/Default.png
  your-game.wdgt/Default@2x.png
  your-game.wdgt/peresources/style.css
  your-game.wdgt/peresources/game.js
  ...

Step 9:提供下载链接

使用 display_download_links 工具为用户提供 zip 文件的下载链接。


iBook 使用方式(告知用户)

打包完成后,请告知用户以下使用步骤:

  1. 下载 your-game.wdgt.zip 到本地 Mac
  2. 解压得到 your-game.wdgt 文件夹
  3. 重命名确认:确保文件夹后缀为 .wdgt(macOS 会将其识别为 Widget bundle)
  4. 导入 iBook Author:打开 iBook Author → 插入菜单 → Widget → HTML → 拖入 .wdgt 文件
  5. 预览:在 iBook Author 中点击预览,或导出到 iPad 的 iBooks App 查看
⚠️ 注意:iBook Author 已于 2020 年停止更新,仅支持旧版 macOS。若用户使用新版系统,建议使用 Apple Pages 或第三方工具替代。

屏幕适配最佳实践

style.css 中加入响应式断点,确保游戏在不同设备上自适应:

/* iPad Pro 横屏 (≥1000pt) */
@media screen and (min-width: 1000px) { ... }

/* iPad Pro 竖屏 (768-999pt) */
@media screen and (min-width: 768px) and (max-width: 999px) { ... }

/* iPhone 竖屏 (≤480pt) */
@media screen and (max-width: 480px) { ... }

/* 横屏低高度兼容 */
@media screen and (max-height: 500px) { ... }

同时在 html, body 加入:

html, body {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
}

常见问题排查

问题原因解决方案
Widget 在 iBook 中显示空白index.html 路径错误或资源404检查 index.html 在 wdgt 根目录,资源路径使用相对路径
缩略图不显示Default.png 尺寸不对确保 320×240 和 640×480
游戏布局错乱缺少 viewport meta添加 viewport-fit=cover meta 标签
音频无法播放浏览器自动播放限制监听用户首次交互事件后再播放音频
zip 结构错误打包路径问题确保从 wdgt 父目录执行 zip 命令

输出清单

每次打包完成,向用户说明:

  • ✅ Widget 名称和版本
  • ✅ 包体文件列表(find your-game.wdgt -type f | sort
  • ✅ zip 文件大小
  • ✅ 下载链接
  • ✅ iBook 导入使用步骤

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

70.09%
按下载量换算999

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills