用途与实际影响
这项功能怎样使用
为什么需要它
只看最前几个命中可能漏掉不同口味或来源;把整库记录都塞进晚餐问题,又会让无关历史压过真正相关的依据。
举个实际例子
我可以问:“最近一周手机和电脑分别用了些什么?每天有什么变化?”系统按我实际所问区间给两台设备各自的覆盖、每天与主要应用,并说明缺失和异常。它不会只给第一天,也不会把两台设备时长相加成我的净注意力。
最后我会得到什么
得到当前问题所需的事实、现行认识和出处:设备问题分设备与日期,软件问题给最新清单的导出时点,出行问题给有据停留、移动和空档。兴趣与选择问题再由AI区分行为、本人明示和推测;范围不全时明确尚缺什么。
已取得相关证据
按这次主题取相关表达、仍有效的认识和来源事实;按设备或期间问题覆盖整个所问范围,说明仍有多少未展示。
覆盖仍有边界
某类来源覆盖不足、历史时长失真或GPS有空档时只给可复核事实,不把有限命中、异常值或本人解释改写成全历史测量。
证据入口不可用
记录暂不可读时说明缺口;仍可根据本轮真实表达给临时建议,不编造旧偏好。
从哪里开始
直接问某项经历、兴趣、手机/电脑使用、安装软件或出行事实;可给实际时间范围和想限定的来源。
需要准备什么
- 当前自然问题与实际所问期间
- 要限定的设备、来源或对象(如有)
从开始到拿到结果
- 1
系统核对并处理
先用相关认识和来源发现决定查哪一部分;设备使用分手机/电脑给完整所问期间,软件取最新清单,GPS保留停留、移动和空档,必要时再查原文。
- 2
交付与接续
交回答、出处、覆盖与异常;实际使用不自动代表喜欢,旧失真时长不作排行,没命中也不写成“不喜欢”。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
手机/电脑活动、安装软件和GPS期间已接入正常只读问题;旧9月8日190266记录/48卡仅是历史聚合,9月23日前AppUsage时长强度不再可信关键规则与设计选择
food、shopping、payment、ride 与 Steam entertainment 有专门词、来源与权重;beverage 另有吃喝分轴。
Steam entertainment/digital 会读取 steam_games;已分类 game 的 played 与 observed 分开保留。明确问游戏时排除 application,类型未知项不冒充游戏;明确问未玩时过滤已玩记录。
哔哩哔哩 entertainment 会读取 bilibili_activity;收藏、点赞、投币、稍后看和追番强于单次播放,首页推荐不作为偏好来源。
travel、stay、entertainment/digital、service、tool、aesthetic等按问题组合已登记来源;旅行现在有GPS、订单与本人明示等不同口径,工具/兴趣可用实际设备活动。专门解析覆盖仍因来源而异,不能只凭域名推断全部事实已取得。
current(当前状态) statements/snapshots 按查询域过滤;无域问题才保留全量 current(当前状态) 上下文。
ai_assistant_locator 与 Gemini mixed_activity 不参与 evidence。
AI 平台消息保留用户/助手/平台作者边界;问题可能带真实本人背景,按原文语境判断,不把疑问、转贴、假设或为他人选择自动改成本人偏好。
退款、关闭、取消、失败,以及后来被可靠同订单链全额退款覆盖的成功订单/支付,在 evidence 阶段退出普通偏好上下文、repeat_count 和快照支持;facts 仍保留先买后退的事实。
支付宝只归一已确认的淘宝订单号变体;可靠匹配同一订单的微信/信用卡支付作旁证,不重复计权。未匹配订单但有明确品名或商户的有效支付可支持相应消费事实;泛称只支持渠道,部分退款与不唯一关联保持 Unknown(未验证)。
recency(近期程度)只在来源、语义和状态相当时增加最多 1 分;六年前的有效单次成功记录仍可返回,未被更正的 current(当前状态) 明示也不会因时间自动过期。
次数少、长期未买或没有记录只表示证据较弱或 Unknown(未验证);只有本人当前明确拒绝、纠正或其他直接反证才能形成负向偏好。
中文查询扫描完整相关来源,>1,000 条之后的旧精确命中不会消失;此前专项观测低于 2 秒,不代表本轮每个自然问题的耗时。
真实订单权重高于长 AI 文本;Steam 累计游玩时长只保留为事实,不参与偏好评分。当前免费游戏在其他条件相同时只低 0.5 分。
profile/evidence的source_discovery可见实际登记的31类逻辑来源、本次检索范围和后续读取入口;有相关认识时不同时扫描全部原文,未匹配认识时仍能发现原文候选。
facts可在明确逻辑来源/平台/实例时无关键词分页浏览;长正文默认标preview_not_full,--full或original才给完整内容,不能把预览当全文已读。
activity按实际问句期间分别返回手机和电脑,北京时间逐日摘要、主要应用、覆盖、状态、异常与省略数量。手机日报、亮屏、应用活动和桌面前台有不同口径,两设备时长不相加。
device-inventory以导出时间选最新App CSV并分页查询;2026-09-23 02:00的正式快照为841行、801已安装/40未安装,包含系统组件。App更新时间上界不是清单导出截止。
mobility可一次读完整期间,默认紧凑保留停留、移动、空档和来源日期,端点/原件定位按--details展开;只用GPS区域级近似和本人确认解释,历史长空档技术原因未知。
本人更正指出9月23日前AppUsage后台时长失真,现行手机使用回答不再给其可信时长排行;失真时长所支撑的旧认知已撤回或修订,独立Steam/手游兴趣证据并未因此清空。
本模块用到的名词
- domain(领域)
- 本次问题属于吃喝、购物、支付、出行或扩展偏好的哪一类,用来缩小来源与 current(当前状态) 上下文。
- axis(选择轴)
- 同一开放问题里会改变答案的独立方向,例如美食中的吃与喝。
- query-scoped context(按问题限定的上下文)
- 只返回与当前域有关的明示和推定,再保留少量真正跨领域的交互原则。
- game observation(游戏行为观察)
- Steam 已分类游戏的库内或游玩观察;未玩选择比实际游玩弱,启动分钟不加分,二者都不自动证明喜欢或具体历史取得方式。
专业定义
可以直接问“最近一周屏幕使用怎样”“我装过哪些软件”“这段时间到过哪里”,不用先知道来源名。系统按题找已登记材料,给完整所问范围和缺口,再决定是否需要读原文。
解决什么
解决来源已经接入却在普通问题里找不到、长输出截断只交第一天、无关current(当前状态)淹没有用经历、预览冒充全文,以及异常手机时长被误当强度。
当前怎样实现
- query_terms 从自然问题抽取中文片段/ASCII 词并补专门域词;扩展域没有词表时安全返回空补充而不崩溃。
- query_domains按问题识别领域,Steam/游戏进入entertainment,数字游戏也可进入digital;来源发现不再被旧白名单限制,relevant_logical_sources只选择会改变当前判断的来源类型。
- SQLite read-only URI 与 query_only 保证业务表和主文件不被查询修改;busy_timeout 只等待现有锁。只读连接仍可能更新 -shm mtime,因此不宣称严格文件系统零写。
- 记录先按 effective outcome 过滤非成功与 refunded_full 订单链,再按 term match、source weight、recency、状态和饮料轴加权;recency=1/(1+age_days/365),只加排序分,不设过期门槛。
- Steam 接受已分类 played/observed,observed 在同条件下减 1 分;明确未玩查询过滤 played,明确游戏查询排除 application。playtime_minutes 不加分,同 AppID 去重并关联 store_price_class,current_free 同条件减 0.5。
- Bilibili 按行为类型增加不同排序权重,并排除已失效视频;单次播放比收藏、点赞、投币、稍后看和追番更弱。
- 当前仍保留 FTS5 表,但中文精确召回不依赖最近 1,000 条或向量库。
- 普通主题查询先缩小候选卡片,再校验相关来源;跨领域需要 source_revision 时,一次读取同一数据库快照并批量计算,保留原有修订摘要语义,减少重复查询。
- evidence_has_more 说明证据结果是否还有未展示项;facts 的 total_variant_count 与 variants_has_more 分开表示全部变体数量和本次展示范围。截断不会被解释成不存在。
- source_discovery从实际登记来源构成,标明本次检索范围、未查来源、provider/逻辑来源和正常读取入口;明确来源的facts无关键词分页,不展开所有长正文。
- activity_queries.py与phone_activity.py合成整个所问期间,TimeAudit由现有Owner按有界批次读取并按北京时间汇总;原desktop-activity明细保持可查,工具失败保留原reason和diagnostic。
- device_inventory.py按App CSV实际导出时间选最新完整清单,Installed Y/N与App更新时间范围分开;mobility.py按期间汇总GPS事件、停留、移动、空档和本人声明,默认有界输出仍包含全部已发现事件。
- source_assertions.py让本人更正与来源事实一同进入正常问答;旧AppUsage不可靠时长不再给排行,也不把GPSLogger当前配置或MacroDroid心跳倒推成旧空档的原因。
执行流程
- 1
读取 CURRENT(当前状态) 快路径
- 2
识别自然问题的域和轴
- 3
选择相关来源
- 4
读取 current(当前状态) 明示/有效推定
- 5
扫描并排序相关记录
- 6
过滤非成功订单、无关AI内容和模板
- 7
B站按行为强度排序
- 8
Steam区分游玩/库内选择并连接当前商店分类
- 9
返回少量证据给 Skill/AI
边界
- 不是向量检索或通用语义模型。
- 来源发现、索引短预览和完整阅读分层,未查来源不等于不存在。
- 9月23日前AppUsage旧后台时长不用于强度/排行;手机和电脑各报自己的口径,不相加为净注意力。
- GPS空档技术原因未知,当前设备配置不倒推历史设置。
- 命中顺序、播放、收藏、游玩时长和近期程度都不自动等于喜欢。
- B站首页推荐不进入偏好,平台可见窗口不等于完整历史。
- 收藏、稍后再看、追番/追剧只有完整current(当前状态) set才按缺失局部退役;播放、点赞、投币不按消失清退。
- Steam未玩但已分类游戏可作较弱选择依据;应用、类型未知项和账号引用不冒充游戏偏好。
- 当前商店分类不证明历史取得方式。
- 非成功和refunded_full订单不进入普通偏好evidence、模型上下文或复购计数;partial/Unknown(未验证)不猜。
- 时间只排序,不让久远有效记录或未更正明示自动过期。
- 低频、长期未买和没有记录都不等于不喜欢。
- Gemini只让可证明作者是用户、且实际语境支持本人表达的消息进入相应证据;mixed_activity、助手和已知平台输入排除。
- 没有命中保持Unknown(未验证)。
失败与恢复
- 扩展域没有 DOMAIN_TERMS
- 使用空补充词而不是 KeyError;仍返回该域明示/通用证据。
- AI 消息含疑问、假设或替他人询问
- 按完整语境区分已表达的本人背景和问题本身,不自动认定本人偏好;作者不明或纯助手/平台输入排除。
- 订单状态表示退款、关闭、取消或失败
- 保留记录供事实核对,但从普通偏好 evidence、模型上下文与 repeat_count 排除,不反推喜欢或不喜欢。
- 此前成功订单后来被可靠同订单链全额退款覆盖
- 原订单、支付和退款事实都保留,有效结局改为 refunded_full,并让依赖它的 current(当前状态) 推定 stale;partial/Unknown(未验证) 不传播。
- B 站 current(当前状态) set 的账号、Schema(数据结构)、range、分页、计数或成员唯一性不完整
- 本轮缺失成员不退役;只有完整集合才局部退出 current(当前状态),且移除不反推不喜欢。
- 记录很久、次数少或本轮没有命中
- 降低或缺少排序证据,但保留有效成功记录与未更正明示;没有直接反证时保持 Unknown(未验证),不自动写成不喜欢。
- Steam 项目只有库内/安装观察,或类型不能证明是游戏
- 已分类游戏保留较弱的选择依据,不说成实际玩过;应用和类型未知项不混成游戏,不从未玩反推不喜欢。
- Steam 商店当前分类存在但历史取得方式不明
- 返回当前 store_price_class,同时保持历史 acquisition Unknown(未验证),不猜直购、礼物、激活码、限免或家庭共享。
- B 站问题命中其他娱乐来源
- 只保留 bilibili_activity 的 current(当前状态) 明示与记录,不用 Steam、旧失效快照或全库噪声补数量。
- 相关中文记录早于最近 1,000 条
- 完整扫描相关来源并按命中排序;不以截断冒充无证据。
- 数据库不可读
- 只报告入口不可用,不修改数据库或改走中央画像。
- 手机旧时长或软件清单日期被误用
- 保留原件和真实导出时点,旧AppUsage强度不进入排行;App更新时间上界不称为清单截止。
- 完整期间的结果过长或GPS有空档
- 默认按期间压缩但保留全部已发现事件和缺口,详细端点按需展开;空档不推定无出行,真正失败返回原因而不重复大结果。
真实入口
daily_preferences.py实现 query terms/domains/axis、只读检索、上下文过滤、排序和证据输出。
tests/test_daily_preferences.py覆盖订单优先、非成功证据排除、Steam 多账号/已玩和未玩/应用区分与商店关联、ASCII、中文 >1000、扩展域与 AI 本人表达过滤。
SKILL.md拥有开放题补轴、最小证据和最终推荐解释。
activity_queries.py / phone_activity.py / device_inventory.py / mobility.py提供双设备期间、手机安装清单和GPS期间的有界只读结果,原件、覆盖和本人解释分开。
source_assertions.py / tests/test_source_correction_integration.py将来源更正落实到正常查询与受影响认识,不把失真历史时长继续作支持性依据。
如何验证
- 旧专项:构造1,001条较新占位与第1,002条旧中文目标,确认旧目标仍返回;退款、Steam、B站等既有回归保留原观察日期。
- 2026-09-23来源验收:无提示读者实际取得手机与电脑整个所问期间、每日变化和排行,屏幕问题没有因工具截断只交首日;另一读者按普通兴趣/探索问题组合认识、网易云、购物和设备观察。
- 2026-09-24来源验收:手机清单正式快照841行,GPS两个月默认结果保留18段停留、13段移动、11段空档和33来源日期,未在6000 tokens预算内截断;历史空档原因仍未知。
- 来源最终完整Python回归542项通过;网页本轮未重跑,也不从有限自然题推断所有未来问答或全库全文均已正确理解。
与其他模块的关系
它消费来源模块的 current(当前状态) 事实,并把最小证据交给具体事实核对或推荐菜单;本模块不生成最终建议。
