Back to skills
extension
Category: OtherNo API key required

现在干嘛呢?

nirvana-lottery

personAuthor: user_d482a0dchubcommunity

现在干嘛呢?

把「定义生活」变成小游戏,随机抽选当前任务,治疗选择困难症。

触发词

  • "现在干嘛呢"
  • "生成一个游戏"
  • "把我的定义生活变成一个游戏吧"
  • 用户提供了定义生活 Excel 路径并提到"游戏"或"抽奖"

工作流程

1. 确认 Excel 文件路径

询问用户「定义生活」Excel 文件的路径。如果用户直接给了路径,直接进入第 2 步。

如果用户不知道什么是「定义生活」,发送技能目录下的 assets/定义生活模板.xlsx 给用户参考。

2. 生成自持 HTML

运行生成脚本(不指定输出路径,让脚本自动生成唯一文件名):

cd <skill_dir>/scripts
python generate_lottery.py "<Excel路径>"

脚本会自动生成类似 lottery_<文件名>_<时间戳>.html 的唯一文件名,永远不会覆盖已有文件。 输出路径会在 stdout 里打印。

3. 部署到 CloudStudio(每次新建沙箱)

为这次生成创建一个唯一的 dist 目录,将 HTML 复制为 index.html,然后部署:

# 用文件名 + 时间戳创建唯一 dist 目录
set "NAME=lottery_<文件名>_<时间戳>"
mkdir -p "<work_dir>/%NAME%"
copy "<生成的HTML路径>" "<work_dir>/%NAME%/index.html"

# 部署 —— directory 每次不同,CloudStudio 会分配新沙箱
# 使用 workbuddy_cloudstudio_deploy 工具,directory = "<work_dir>/%NAME%"

关键:每次 directory 参数不同 → CloudStudio 分配新 sandbox → 链接永不互相覆盖。

4. 返回结果

将 CloudStudio 返回的公开 URL 发给用户,并提示:

  • 复制链接到手机浏览器即可打开
  • 页面包含板块筛选、活动管理、随机抽选全部功能
  • 可以随时发回 Excel 让我重新生成,每个文件都会得到独立链接

文件结构

<skill_dir>/
  SKILL.md
  README.md
  README.txt
  scripts/
    generate_lottery.py           # 读取 Excel → 生成 HTML(自动唯一文件名)
  assets/
    定义生活模板.xlsx              # 参考模板,发给不知道格式的用户

输出 HTML 特性

  • 零外部依赖:活动数据直接硬编码在 JS 中,不加载任何 CDN
  • 手机适配:viewport 响应式,触屏可用
  • 完整功能
    • 阴/阳板块筛选 + 一键全选
    • 单个活动勾选/取消
    • 新增/删除活动、新增/删除板块
    • 滚动动画(0-1s 快 → 1-3s 减速 → 3-7s 慢 → 8s 强制定格)
    • 抽奖结果展示 + 历史记录
    • 点击、滚动、结果三种音效(Web Audio,零依赖)