每日工作台搭建器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f6758951/my-daily-workbench。
技能介绍
它要解决什么问题
市面上的个人仪表盘要么要求后端和数据库,要么把你绑在某个平台的生态里。很多人真正想要的只是:一个能离线打开、数据自己攥在手里、丢到任意静态托管就能访问的页面。这个技能把「个人工作台」收敛成一个 index.html——内联 CSS、原生 JS、零依赖、零构建,数据全部存在浏览器 localStorage 里,不需要写一行服务端代码。
它如何工作
实现骨架相当具体:
- 单文件 + 移动端优先:
<style>放在<head>,IIFE 脚本放底部,外层max-width:860px居中容器,用env(safe-area-inset-*)处理刘海屏安全区。布局是左侧.sidebar导航 + 右侧.content,导航项由 JS 里的MODULES数组生成,selectMod(key)一次只渲染一个模块。 - 状态与持久化:全局状态
S从localStorage加载并按 key 补默认值,存储键做命名空间前缀(如bytw_mood)。模块数据分两种形态:按日期索引的对象(S.mood[TD])和普通数组(S.ledger)。事件委托只挂两个监听:一个 document 级 click 按data-act分发操作,一个 change 监听按data-save="store.field"自动保存输入。 - 容忍断网的外部 API:所有
fetch都带.catch()和降级方案。天气用 open-meteo(免 key),农历和热搜用 vvhan,健身跟练直接嵌入 Bilibili 播放器(预置一组已验证的bvid),并内置 SVG 火柴人动画作为离线 fallback,也支持粘贴任意 B 站链接解析bvid。3 天预报在同一次请求里用forecast_days=3&timezone=auto拿到,渲染成三张卡片。 - 确定性离线内容:宜忌、菜谱这类内容用
hashStr(日期)从内容池取值,同一天永远得到同样结果,断网也不空白。顶部进度条由dailyProgress()对约 6 项日常习惯打分生成。 - 部署与验证:把
index.html拖进 Netlify Drop 即得到 HTTPS 地址;沙箱通常没有外网,需用 WebFetch 验证线上页面,拖拽部署本身留给用户操作。 - 数据安全:设置里提供 JSON 导出/导入(Blob 下载 + FileReader 恢复),因为
localStorage与设备绑定,清缓存即丢失。
适用边界
纯静态方案天然有两个限制:数据按设备隔离,不会跨手机或浏览器同步,真要同步得引入后端;「定时任务」只能靠打开页面时 autoRefresh() 检查阈值来模拟,静态页面没有后台计时器。如果你能接受这两点,这套骨架是个干净的起点。
使用场景
- 想用一个 HTML 文件做个人仪表盘,含天气、心情打卡和记账,拖到 Netlify 即可访问
- 需要手机端学习计划页,断网也能打开,记录自动存进浏览器本地存储
- 搭健身跟练页:嵌入 B 站视频,断网时切到内置火柴人动画兜底
- 给孩子做每日任务清单,全部完成后顶部进度条显示 100%
适合人员
- 独立开发者:想给自己做一个零后端、数据不出本机的个人工具页
- 想坚持每日习惯的上班族:需要心情、记账、健身集中在一个页面打卡
- 前端初学者:想照一份能跑通的模板练手单文件应用与事件委托
- 不愿装 App 也不注册账号的人:想要一个手机浏览器直接打开的生活记录页