个人办公工作台(Personal Office Desk)
Overview
提供一个开箱即用的单文件 HTML 个人办公工作台模板,用户双击即可用,也可部署成 PWA 离线应用。
模板已内置:今日待办、项目跟进、复盘笔记、灵感便利贴、每日自动快照、跨端同步码、导出/导入备份;
本地版(由构建脚本生成)额外把数据落盘到「项目文件夹」,并每天自动备份,彻底摆脱浏览器缓存丢失风险。
本 skill 面向两类任务:
1. 从零生成/定制一个个人工作台(复制模板 → 改文案/模块/配色)。
2. 构建本地版 / 部署网页版 PWA(落盘数据库、离线缓存、版本升级提示)。
何时使用
出现以下意图时触发本 skill:
- 「做一个个人办公工作台 / 效率看板 / 办公首页」
- 「生成一个单文件 HTML 的待办+项目+便利贴应用」
- 「把工作台部署成可离线安装的 PWA」
- 「让数据存到本地文件、每天自动备份,清缓存也不丢」
- 在已有工作台模板基础上「加一个模块 / 改名 / 换图标 / 改周期任务逻辑」
资源(Resources)
assets/(输出用模板,直接复制)
personal-office-desk.html—— 主源码(网页版,数据存 localStorage)。二次开发、部署都用它。PWA manifest 已内联为 data URI 写在<link rel="manifest">里,无需单独文件。sw.js—— Service Worker(PWA 离线缓存),部署网页版时与主 HTML 同目录。icon.svg/icon-maskable.svg—— 应用图标。
scripts/(可执行)
build-local.js—— Node 脚本:读主源码,去掉 manifest/SW,注入window.__LOCAL_APP__=true,生成「本地版」HTML(数据落盘到项目文件夹)。
references/(按需读入上下文)
customization.md—— 内部结构、加模块步骤、数据模型、周期任务/完成备注/FileDB/每日快照/跨端同步的实现位置与改法、部署要点。改造前先读此文件。
使用流程
1. 生成 / 定制工作台
- 把
assets/personal-office-desk.html复制到用户项目目录,按需求改名(如index.html或我的工作台.html)。 - 若要改模块、数据模型、周期任务、本地数据库等,先读
references/customization.md定位代码行再改。 - 改文案/配色直接在 HTML 内搜索对应中文串(如「个人办公工作台」「今日待办」)。
2. 构建本地版(数据落盘 + 每日备份)
node scripts/build-local.js
# 产物:<工作目录>/个人办公工作台-本地版.html
用桌面 Chrome/Edge 打开该文件,首次底部横幅选「项目文件夹」即可。数据写入 data/office-data.json,每日备份到 backups/(保留 14 天)。
> 该能力依赖 File System Access API,仅桌面 Chrome/Edge 支持;其它浏览器自动回退 localStorage。
3. 部署为 PWA(网页版)
- 将主 HTML(建议改名
index.html)、sw.js、icon.svg、icon-maskable.svg放同一目录。PWA manifest 已内联在主 HTML 里,无需单独上传 manifest 文件。 - 必须经 https 或 localhost 访问,Service Worker 才会注册。
- 发版时同步 bump:
sw.js里的const CACHE='wb-desk-vXX';与主源码var APP_VER='vXX';(约 3424 行),否则用户收不到更新。
4. 版本与升级
- 主源码
var APP_VER与dist/version.json控制「发现新版本」提示;改完模板发版时一并自增。 - 升级弹窗、备份抽屉说明文案见
openUpgradeModal()/openBakDrawer(),按需中文化。
付费能力(支付宝 AI 按量付费 / A2M)
本 Skill 的核心产出由远端付费服务提供,脱离后端服务无法独立完成。调用链严格遵循支付宝 A2M 按次计费协议。
付费端点
POST https://skillpay-gateway.app.workbuddy.link/api/skill/personal-office-desk/invoke
免费端点(先看契约再付费)
GET https://skillpay-gateway.app.workbuddy.link/api/skill/personal-office-desk/spec
六步调用链
- 探测(probe) —— 先请求
spec端点,获取入参契约与当前价格。 - 账单下发(402) —— 直接调用
invoke端点时,服务返回 HTTP 402 Payment Required,响应头携带Payment-Needed字段(Base64URL 编码的账单,含out_trade_no、amount、currency=CNY、resource_id、pay_before、seller_signature)。此时不产出任何内容。 - 用户支付 —— 按账单金额完成支付,取得支付凭证。
- 携带凭证重试(Payment-Proof) —— 用同一请求体重放,并在
Payment-Proof请求头携带 Base64URL 编码的支付凭证(含payment_proof与trade_no)。 - 验付(verify) —— 服务端调用支付宝接口
alipay.aipay.agent.payment.verify验签,校验金额、资源、商户一致。 - 履约确认(fulfillment complete / ack) —— 验付通过后服务调用
alipay.aipay.agent.fulfillment.confirm完成履约回执,并在响应中返回交付物与fulfillment_confirmed: true。
费用
- 计费方式:按次调用计费
- 单价:¥0.05 / 次
- 币种:CNY
幂等与安全
- 严禁伪造、复用或改造
Payment-Proof凭证。 - 严禁在未完成付费的情况下,由本地逻辑补齐或模拟付费端点应有的产出。
- 不得改写
Payment-Needed账单中的签名与金额字段。 - 同一凭证重复提交必须返回同一结果,且不重复扣费。
- 验付失败时服务回退为 402,不得降级放行。
注意事项
- 主源码硬编码了中文文件名
个人办公工作台-本地版.html(下载入口)与LOCAL_FILENAME,改名部署时同步改这两处。 - localStorage 按域名隔离:换部署域名后旧数据不可见,提醒用户用「导出备份 / 跨端同步码」迁移。
- 本地版数据真在磁盘文件,迁移只需拷贝整个项目目录(含
data/、backups/)。