用途与实际影响
这项功能怎样使用
为什么需要它
区间只按开始时间求和会漏算跨窗睡眠或重复 idle,甚至出现过去一小时开机 1.5 小时;估算也可能被误当账单。
举个实际例子
我问“从周一到周三,电脑到底记录了哪些时间,哪几段是空白?”我给出准确起止时间后,只读摘要会按完整范围及北京时间逐日列出前台和活动记录、睡眠等状态与缺口;需要电费时再看大盘估算。空白不被猜成没开机,前台时间不被猜成本人一直在做事。
最后我会得到什么
得到所选时段按来源区分的覆盖、空档、状态和应用时间线索,也可在大盘看功率估算的用电与费用。未覆盖不是设备闲置证明,估算不是账单。
正常时
有记录的部分先去重叠并按本地日期裁剪,分别显示前台与 AHK 来源覆盖;有可用功率记录才估算耗电。
发现问题时
离开记录重叠或功率缺失时把空白和估算限制写清。
入口不可用或证据不足时
个人资料权限或来源读不到时只返回相应错误,不推断作息、具体应用或费用。
从哪里开始
在 TimeAudit 的屏幕使用大盘选择日期或时间段看时间与能耗;若要完整时段的活动证据,可请有当前个人资料权限的 AI 使用 TimeAudit 的只读活动摘要入口,明确给出起止时间。
需要准备什么
- 想看的日期与准确起止时间
- 关注记录覆盖、应用时间、离开、睡眠还是电费估算
- 是否需要完整时段及北京时间逐日摘要
从开始到拿到结果
- 1
只计算落在所选日期里的时间
系统把跨过午夜的睡眠和离开时段裁到查询范围内,避免“今天用电脑超过一天”。
- 2
汇总重叠记录
系统合并重复离开区间,计算屏幕使用结构与估算能耗。
- 3
看懂数字
大盘交回活跃时长和估算;只读摘要另列完整时段、逐日覆盖与缺口。前台时间不等于本人在场或工作成果,电费和碳排不是账单。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
大盘有历史图证;只读完整时段摘要已进入正式源码,本轮未读取生产个人时间线或能耗值关键规则与设计选择
先裁剪查询窗,再合并重叠区间。
睡眠、息屏、暂离从活跃中扣除。
时间复盘不生成公开个人画像。
电费与电源轨是估算。
本模块用到的名词
- gaps-and-islands(区间并集)
- 合并重叠/相接时间片后再求总时长。
- focus block(专注块)
- 连续停留同一上下文达到阈值的行为线索。
- energy integration(能量积分)
- 把功率按持续时间累计为 kWh。
专业定义
按正确区间口径汇总前台、暂离、息屏、睡眠、切换、功率和峰谷电价;另有只读完整时段及逐日活动摘要,把记录空档也交出来。
解决什么
解决跨窗漏/超算、idle 重叠、睡眠算活跃、日界偏移、估算冒充测量和标题泄露。
当前怎样实现
- AHK 写前台和系统状态区间,ingester 幂等入库。
- Grafana 用区间交叠、裁剪和 gaps-and-islands(区间并集)。
- 数据库锁定 Asia/Shanghai 本地日界。
- 功耗点采样积分,其他部件/电价模型标为估算。
- 写失败不推进已提交水位,保留有界待写队列;达到上限时详细事件变为明确未知区间,不推断应用使用。ahk_health.json分别记录待写、失败、溢出和分段数;正常活动约30秒或转换时封段,突然断电仍可能丢失当前未封段。
- 活动区间统一UTC且状态串行;空闲切换不能倒退已分配区间。时钟跳变/延迟记System_CollectionGap,只有Windows挂起事件证明sleep。AHK用UTF8不可变CSV段:临时写入、flush、原子rename到buffer.csv.ahk.*.processing,现有ingester只在数据库事务提交后移除,内容去重保护重放。
- personal_activity_reader.py --summary 返回 timeaudit.personal-activity-summary.v1:只读现有前台和 AHK 区间,按完整查询窗及 Asia/Shanghai 日界分别求记录并集、空档、状态和每来源应用排名;开放会话不外推,已知自动化仅标注提供的时间,不给本人在场或效率分数。旧 read_activity 细目入口继续存在。
执行流程
- 1
记录并入库状态区间。
- 2
筛选与窗口交叠的区间。
- 3
裁剪、合并并计算使用结构。
- 4
积分功率并应用峰谷模型。
- 5
原始全库不镜像进网页;具体标题和个人统计只有在具备产品价值、逐值没有 L3+ 或凭据证据时才公开,否则留在本机。
边界
- 前台焦点不等于工作成果。
- 窗口标题与使用统计可按实际价值公开;只有具体内容真实包含个人敏感正文或凭据时才隐藏对应值。
- 能耗/电费/碳排含估算。
失败与恢复
- 区间跨查询边界
- 只算窗口内交叠部分。
- idle 区间重叠
- 先做区间并集。
- AHK / ingester heartbeat 陈旧
- 标记近期可能延迟,先查管线。
真实入口
E:\Projects\Tools\TimeAudit\TimeAudit.ahk前台/睡眠区间
E:\Projects\Tools\TimeAudit\ingest.py区间入库
E:\Projects\Tools\TimeAudit\grafana_dashboards\adfkm96__📊 屏幕使用时间.json使用时间大盘 JSON
E:\Projects\Tools\TimeAudit\grafana_dashboards\addpc9x__🔌 功耗与电费诊断舱.json功耗大盘 JSON
E:\Projects\Tools\TimeAudit\timeaudit_diagnostic_summary.pyactive/idle/display-off/lock/sleep 区间并集与未覆盖时间聚合
E:\Projects\Tools\TimeAudit\personal_activity_reader.py完整时段与北京时间逐日个人活动只读摘要,保留来源覆盖、空档和权限边界
E:\Projects\Tools\TimeAudit\使用手册.md时间/功耗面板说明
如何验证
- screen-time-focus、power-cost 等授权截图展示真实界面。
- 9月8日独立摘要窗口(2026-09-08T08:35:40Z,08:38:40Z]返回active=0、idle=180秒、recorded coverage=180秒、uncovered=0、cross-state overlap=0;只说明这三分钟的记录,不推断用户意图或长期习惯。
- 文档记录区间裁剪、并集、空集归零与日界修复。
- 本轮未重新查询完整个人时长或能耗明细,因此这些数值没有被升级为当前验证事实。
- 2026-09-24 源码 main=622b66c 已含 76dc57d 的摘要和专项测试;本轮未运行生产个人时段查询,也未把它写成 timeaudit-diagnostics Skill 已自动调用。
与其他模块的关系
从采集取得区间/功率,借硬件解释能耗;公开边界由项目总览约束。
