SuperAPI AI 工具集

card-refresh

办公与效率

查看项目

更新于 10-16 02:39

技能介绍

用途:为 ai-desk-card 电子墨水副屏上当前显示的部件重新拉取数据。通常由 cron 每 2 小时运行一次(配置见 REFRESH.md),也可在对话中手动触发。

主要能力与原则:先读后推,通过 GET /widget 获取当前部件缓存,只刷新已存在的槽位,不擅自新增部件类型;数据源不可达时跳过该部件,保留原数据而非用陈旧数据覆盖;每个数据源 5 秒超时;cron 调用时保持静默,仅在出现可操作错误时输出。

使用方式:先执行 curl -sf http://127.0.0.1:9877/widget | python3 -m json.tool 解析 widgets[],按 {slot, type, age} 判断:age 小于 60 秒跳过;ai-status、ai-tasks 由对话驱动跳过;focus、scratch 为用户提供,仅在明确要求时刷新;其余可刷新。随后按部件类型取数(如 weather 用 wttr.in/OpenWeather、calendar 用 icalbuddy 或 Google Calendar API、pr-queue 用 gh pr list、system 用 psutil/vm_stat 等),再用 card-widget 的 push_widget.py 或 curl 以相同 {slot, type} 回推,并传 ttl=7800(2 小时 10 分)。完成后直接退出,不总结、不追问。交互式调用时可简要说明刷新与跳过情况。

限制与禁止:不改变部件所在槽位;不推送原本不存在的部件;不写 ai-status;未确认凭据配置前不访问需 OAuth 的数据源。守护进程不可用时按 /card-onboard 决策树处理,但不在 cron 中尝试启动。辅助脚本包括 scripts/refresh_loop.sh(cron 入口)与 scripts/fallback_refresh.py(无 AI 版本,仅刷新 system、git-status、weather)。