OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  healthcheck:使用 JSON 文件存储追踪饮水与睡眠质量状况状况

healthcheck:使用 JSON 文件存储追踪饮水与睡眠质量状况状况

 
  infrastructure ·  2026-02-24 03:19:11 · 2 次点击  · 0 条评论  

名称: healthcheck
描述: 使用 JSON 文件存储记录饮水和睡眠情况
版本: 1.0.2
标签: 健康, 追踪


健康追踪器

一个使用 JSON 文件记录饮水和睡眠情况的简单工具。

数据格式

文件:{baseDir}/health-data.json

{
  "water": [{"time": "ISO8601", "cups": 2}],
  "sleep": [{"time": "ISO8601", "action": "sleep|wake"}]
}

添加饮水记录

当用户说“uống X cốc”或“uống nước X cốc”时:

node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.water.push({time:new Date().toISOString(),cups:CUPS});fs.writeFileSync(f,JSON.stringify(d));console.log('已记录: '+CUPS+' 杯')"

CUPS 替换为用户输入的数字。

添加睡眠记录

当用户说“đi ngủ”时:

node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}d.sleep.push({time:new Date().toISOString(),action:'sleep'});fs.writeFileSync(f,JSON.stringify(d));console.log('已记录: 入睡')"

添加醒来记录

当用户说“thức dậy”或“dậy rồi”时:

node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}const last=d.sleep.filter(s=>s.action==='sleep').pop();d.sleep.push({time:new Date().toISOString(),action:'wake'});fs.writeFileSync(f,JSON.stringify(d));if(last){const h=((new Date()-new Date(last.time))/3600000).toFixed(1);console.log('已睡眠: '+h+' 小时')}else{console.log('已记录: 醒来')}"

查看统计

当用户说“thống kê”或“xem thống kê”时:

node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d={water:[],sleep:[]};try{d=JSON.parse(fs.readFileSync(f))}catch(e){}console.log('饮水:',d.water.length,'条记录');console.log('睡眠:',d.sleep.length,'条记录');const today=d.water.filter(w=>new Date(w.time).toDateString()===new Date().toDateString());console.log('今日饮水:',today.reduce((s,w)=>s+w.cups,0),'杯')"

更新记录

更新最近一条饮水记录:

node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water[d.water.length-1].cups=NEW_CUPS;fs.writeFileSync(f,JSON.stringify(d));console.log('已更新')"

删除记录

删除最近一条饮水记录:

node -e "const fs=require('fs');const f='{baseDir}/health-data.json';let d=JSON.parse(fs.readFileSync(f));d.water.pop();fs.writeFileSync(f,JSON.stringify(d));console.log('已删除')"

注意事项

  • 仅使用 Node.js 内置模块
  • 文件若不存在会自动创建
  • 所有时间戳均为 ISO8601 格式
2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor