## [2.7.0] · 正式版：坚持鱼的自由发展（2026-11-04）

- **统一自主社交**：B站后台私信、公开评论与 @ 复用社交决策契约，在明确授权范围内自主回复、沉默、自然连发或延期；公开续聊默认关闭，私信续聊默认开启但绝不扩大陌生人授权，跨渠道冷却和频率限制共同生效。
- **真实关系与开放兴趣**：按已核实互动逐步形成可撤回、可遗忘的交流偏好；在「逐渐熟悉的人」查看有依据的线索，平台身份严格隔离；短期好奇主题可审阅、排除与恢复，只有可信自主选看证据才能形成后天兴趣。
- **真实行动与承诺**：创作者相遇、关注/收藏事实区别历史回执与当前状态；社交推荐只读任务须真实保存到唯一待办账本后才能声称「记下」，数量与具体作品不一致则交原模型修订或安全停发。
- **表达与隐私边界**：明确要求停止私信时即时及预约发送均会核验；尊重不追问、先询问等已核验偏好，移除程序硬拼接的彩蛋与固定拒绝话术；保留事实校验、隐私隔离与发送回执门禁。
- 本次封版只调整**版本与发布文档及对应版本测试**，不引入新的外部写入权限或业务行为。与 `2.7.0-dev.10` 相比，运行时代码未改动。详见 [发行说明](RELEASE_NOTES_v2.7.0.md)。Windows DSH Desktop、真实 B站与真实模型端到端行为仍须由维护者完成验收，离线回归不能代替。

## [2.7.0-dev.10] · 行为审计修复：真实隐私边界、自由表达与兴趣证据（开发预览，尚未发布）

- 对经过 B站登录账号核验的私信入站，识别第一人称明确停止/恢复私信的边界，按当前账号与真实发送者 UID 写入已有 DM 状态，优先于好友熟悉度、白名单和模型意愿；即时回复、每条气泡和 P6 到期均复核，不把重新同意当作自动获得陌生人发送权。
- 拒绝自动拼接「投喂邀请」「审批彩蛋」或隐私拒绝模板。隐私探询隔离私信历史、画像与记忆后由同一 Life Voice 自主答复；不符合出站安全检查则沉默，而非强行代鱼鱼说固定话术。
- P6 已明确关闭的会话禁止 defer、延迟补充和沉默复议；普通入站新话题仍可被独立审视。社交待办增加具体 BV、标题、序数词和多项承诺的保守一致性检查，仍保留模型修订而非模板替换；尚不能穷尽所有自然语言语义。
- 将旧「值得看／可以看」推荐入选与日报明确挑中区分成独立证据标记，只有可靠的自主选看标记进入后天兴趣证据。低权重好奇候选可基于不同日期的再次自主选择标记「再次探索」，**并不意味着喜欢、看完或长期偏好**。历史兴趣条目若缺失来源标识无法自动追溯，旧记录保留供审阅但排除模型兴趣记忆与搜索加权，旧无来源好奇候选不再投放；旧主人推荐功能本身未重构。
- `AGENTS.md`、当前架构入口、生产 Mermaid、跨渠道矩阵、Node 专项及发布说明同步。Windows／真实 B站和模型表达自然性仍需实机测试；`2.7.1` 生活行动契机协调层继续延期，不借本轮扩大自主关注授权。

## [2.7.0-dev.9] · 正式发布门禁审计：社交待办数量一致性（开发预览，尚未发布）

- 补上 `dev.8` 漏掉的真实一致性检查：声称「两首都记下」却只实际存一条、声称「全部」却少于原消息多个不同 BV，不能直接外发；先说尚未入账、后又说已经入账的复合句，也必须基于真实回执。
- 发现冲突仍由同一模型自主修订或沉默，程序不代写固定回复；保持原 `OwnerTodoEngine`、私信/评论身份隔离、去重和发送授权不变。生产架构接线未变。
- `dev.8` 的测试与 npm 预打包可复验，但 Windows／真实 B站端到端未完成，正式 `2.7.0` 和 npm/GitHub 发布仍待验收与真实仓库发布权限。

## [2.7.0-dev.8] · 社交推荐待办真实入账与自主表达（开发预览，尚未发布）

- 修复陌生人公开评论中鱼鱼口头说“记下”但结构化提案缺失或未入账仍被发送的问题。仅模型自主接受、可信来源与证据核验通过时进入原 `owner-todos`；同条评论可分别记录最多 3 项只读推荐，并保持事件/主题去重与真实入账回执。
- 若口头承诺与保存事实冲突，允许同一 Life Voice 模型有限修订；程序绝不生成固定回复。历史私信视频事实纠错也改为模型自改或停止外发，不再在生产路径调用程序固定改写模板。
- 增加本进程 30 条结构化脱敏入账与一致性诊断，不保存原始模型 JSON/用户正文/UID；AGENTS、实际生产 Mermaid 和跨渠道验证矩阵同步。README 开头定稿「**坚持鱼的自由发展**」，保留 npm 版本/月/年下载量和 npm 仓库链接。
- Windows／真实 B站端到端与正式 `2.7.0` 发布仍待人工验收；`2.7.1` 生活行动契机协调层和旧主人推荐重构继续延后。

## [2.7.0-dev.7] · 私信沉默续聊覆盖、预约可诊断与安全复核（开发预览，尚未发布）

- P6-B 明确覆盖“鱼鱼正常回复后对方安静”且仍有开放话题的情形。只有本轮模型主动提案才会预约一次重新判断；不保证发送，不新增无条件催聊定时器，也不借用 `2.7.1` 生活行动契机层。
- 复用账号隔离续聊意图账本、原私信权限与 Life Voice；短暂只读收件箱失败在任何远端写入前可最多两次安全延期。延迟结果在管理页以匿名聚合状态显示。
- 新增契约、最终模型输入、回执、取消、旧陌生人授权、P6 关闭及瞬时读取失败回归；架构说明与 Mermaid 同步。正式发布及 Windows/B站实机验收仍待完成。

## [2.7.0-dev.6] · 创作者相遇、动作事实与成长诊断（开发预览，尚未发布）

- 视频 Agent 经真实入选的创作者相遇可形成短期线索，跨两个不同日期/视频仅构成“考虑关注”的机会；不自动关注或取关，不扩大发送授权；旧主人推荐的“值得看/不值得看”标签不能作为本轮创作者相遇信号。旧推荐与判重的重构/删除另列后续计划，本轮不迁移其数据。
- 主 Session 增加按单 BV 的只读当前关注状态查询；同一平台查询与本插件已有成功关注、取关和收藏历史分开返回，失败标记未知而非推断仍关注或仍收藏；按当前登录账号隔离，可选输出有限事实视图。
- 纠正“否定标签被当作正面入选”的风险；人格成长条标注仅为累积证据数量，人物卡明确计数只包含 B站已核实私信/评论而不包含主 Session。
- 同步 AGENTS.md、现行架构和生产 Mermaid，并添加 Node/Python 专项。真实 Windows/B站及主 Session 的服务侧 moderation 400 拒绝仍需实机/宿主日志诊断。

## [2.7.0-dev.5] · 关系驱动的分层好友画像与平台身份分离（开发预览，尚未发布）

- 「逐渐熟悉的人」以当前 B站 UID 对应平台身份卡片按需加载交流画像；不再从「社交互动 → 白名单授权」进入两层画像折叠。显示可信互动概要、画像阶段、明确交流偏好与边界；可对错误证据进行撤回、可选人工纠正或清空。
- 统一关系索引提供 `new/known/familiar/friend` 阶段；新增轻量、无自动关联的 `(platform, platformUserId)` 身份契约。只接通 B站真实互动，其他平台预留独立身份键，不猜测跨平台是同一人、也不跨平台混合私信/画像。
- `SocialPortraitGateway` 保持一个账号域数据源：自然联系人经验证且达到 `known` 阶段，才能记录低敏、明确自述的交流线索；随关系阶段从 0/2/5/8 条渐进使用。旧白名单证据向后兼容；私信线索不带入公开上下文，180 天到期，熟悉度降低也不能使仍有效的拒绝延期边界失效。
- 关系清除同步遗忘该 B站 UID 画像，避免孤立的证据；按 UID／账户／公私域隔离，任何关系层变化都不更改外发授权与回执门禁。
- 更新 AGENTS、现行架构入口、生产 Mermaid、回归测试；未实机验收，未推送、打 Tag 或发布。

## [2.7.0-dev.4] · 好友续聊边界与开放好奇审阅（开发预览，尚未发布）

- `SocialPortraitGateway` 扩展明确交流方式与「不要主动追问」证据；P6 私信/评论/@ 在预约和到期时重新读取当前 UID/账号/公私域可用边界，拒绝被撤回或不希望的延迟主动续聊，不改变普通回复与原有授权门禁。
- 原 `LifeInterests` 增加可审阅短期好奇候选及 30 天主人主题排除；同源管理页支持查看、撤销排除、清空候选。旧 schema:1 档案不迁移不重写；真实选看证据、核心兴趣与长期趋势不受影响。
- 同步当前架构入口、dev.4 数据/风险矩阵、实际生产 Mermaid、专项/全量回归；版本仍为开发预览，不发布、不推送。

## [2.7.0-dev.3] · 好友交流证据与开放兴趣的生产首阶段（开发预览，尚未发布）

- 新增 `SocialPortraitGateway`：已核实且列名好友的私信/公开评论显式交流偏好与拒绝联系边界，按当前 B站账号、UID、私密域隔离；记录枚举化陈述、来源哈希及时间，不存完整正文；180 天失效、去重、矛盾以较新明确表达为准。
- 在同源管理页查看画像，支持撤回单条证据、人工纠正及清空整个好友的画像；不修改旧 `friend-learning`、关系评分、用户手动好友备注或任何发送授权。
- `LifeInterests` 在原有兴趣证据模式上增加短期词表外好奇候选：只从真实已选看视频中提取安全标题，14 天过期，每三天最多占一个只读选片搜索槽，不推断长期喜好、不产生外发权限。
- 同步 AGENTS、现行架构 README、数据契约/跨渠道矩阵、dev.3 Mermaid、Release Notes 与回归测试；上一轮公开 P6 开关/私信 P6 默认值与跨渠道发送节奏不变。真实 Windows/B站验收仍待完成。

## [2.7.0-dev.2] · 公开社交 P6 与统一互动节奏（开发预览，尚未发布）

- P6 重要参数可配置：私信/公开各自的单轮气泡上限（默认 3/2）、共用延期 5–360 分钟、跨渠道冷却 30 分钟、单 UID 滚动24小时 8 次；全部接入统一配置持久化及真实发送门禁，可在后台私信与最近评论折叠设置中调整。
- 公开评论与被 @ 的 P6-A/B 可分别开启，升级／新安装默认关闭；私信 P6 默认开启但绝不默许私信发送。
- 公开渠道接入统一社交决策，支持自然连发（仍受每轮／每日额度）、延迟补充和沉默后重新考虑；到期重新核实来源 UID、原评论、权限、事实和平台回执。
- `SocialConversationContinuity` 按渠道领取续聊意图，防止私信和评论抢领对方的预约；`SocialInteractionRhythm` 统一对每个 UID 进行跨渠道冷却和频率限制，不存消息正文。
- 评论／私信后台设置移到记录上方、默认折叠，保留跨页面快捷跳转锚点；移除已失效的「当前视频评论上下文」旧设置。
- README 顶部新增 npm 版本、月／年下载量动态徽章和 npm 仓库链接；不添加 GitHub Packages 镜像发布。
- Windows/B站真实发送、跨账号恢复和平台收件箱可用性仍需实机验收。

## [2.7.0-dev.1] · 统一自主社交架构底座（开发预览，尚未发布）

- 后台私信接入 `SocialAutonomyDecisionContract` 与 `SocialConversationContinuity`：同一轮可自然发送 1–3 条气泡，可选预约延迟补充或沉默后重新考虑；到期重新读取收件箱、Life Voice、关系阶段、授权与额度，新来信取消旧预约，未知回执不自动重发。
- 陌生人自动私信仍要求主人明确开启许可（旧 `dmStrangerOnce` 字段保留兼容）；开启后每条新消息由 AI 自主决定回复/沉默/延期/结束，不再固定只回复一次。暗号审核作为可选严格模式默认关闭；只有严格模式开启时才启用陌生人次数上限。
- 后台私信不再由 `dualContextAgency` 独立数值意愿分数提前挡掉聊天回复；当前人格与情绪只通过 Life Voice 提供。兴趣证据 unknown 不作为不喜欢或硬性拒绝。
- 管理页私信规则文案同步为“自主考虑回复”与“可选严格暗号审核”，最近会话显示在严格模式关闭时不再展示固定次数上限。
- 评论/@ 的多气泡与续聊接线、好友证据画像仍未完成；本轮不默认开放陌生人外发，真实 Windows/B站 端到端验收仍待完成。
- 统一规划 P6-A 自然连发/延迟补充与 P6-B 沉默后自主续聊，不再把 P6-B 单列为 2.7.1。
- 新增不带外发能力的社交决策契约、按账号和 UID/线程隔离的延期意图账本；不复制 Life Voice 情绪人格、不存私信原文、不凭模型建议获得发送权。
- 设计开放兴趣（未匹配不等于不喜欢）、成长型好友画像、私信暗号可选审核及入站 @ 与主动 @ 的权限区分。
- 本轮将**入站 @ 对所有经核实 UID 开放自主回复判断**接入生产，移除旧回复者白名单过滤；公开评论的未经授权主动 `@昵称` 在发送前拦截。仍不自动开启 @ 回复、重放历史通知或放宽发送额度。
- **P6 自然连发／延迟续聊与新私信审核模式尚未接入生产**，不隐式修改 2.6.2 用户既有私信授权或配额。

## [2.6.2] · 正式版

- 完善自主探索与父子待办、回访原请求说明、跨渠道的人格/事实接线和记忆花园体验。
- 加固 B站私信、@ 评论和历史投喂审核；修复公开评论发送回执对象身份索引跨目录读取，并让新回复保存经 B站核验的接收人。
- 保留原有授权、冷却、限额、账号绑定、业务备份和记忆隐私边界；升级不会主动补发或重放历史消息。
- 发布前离线回归通过；真实 B站账号、Windows Desktop 和实际市场安装仍按发布清单验收。


- 修正自然语言音乐建议的父子待办语义：原话要求“听某人的歌”时不再丢掉“歌曲”限定；搜索后须有与歌/演唱相关的候选证据才生成视频子待办，避免同名 QQ/DeepSeek 教程进入待办。旧已接受待办不被静默删改。

- 修复「记忆花园」分类按钮仅作用于下方长期认识列表、顶部经历列表不变的错误：主列表按类别统一展示仍可回忆经历与有来源的长期认识，无匹配时明确空态；页面导航改为「💗 心情与记忆」。
- 简化主动视频兴趣推荐设置：去掉独立的“允许形成草稿”冗余开关，保留主推荐开关、自动私信开关与每日额度。新安装默认开启；老用户既有关闭状态保留，不借升级重新开放社交写权限。
- 已授权主人可由真实入选的公开视频触发自主推荐判断，不再强求标题命中预置兴趣；其他白名单好友仍需可信兴趣证据。补充主人收件资格与实际投递/跳过原因诊断，原私信冷却、限额、白名单与写入回执保护不变。


- 继续审计并收口只读预算漏口：昵称解析 UID、封面资料和图片代理接入现有按账号持久预算；限流响应参与退避，封面图片只允许固定 B站图片域、拒绝重定向且限制大小和类型。后台轮询可折叠查看请求类别的分钟/小时用量。
- 修复主人私信 Agent 建立基线或批量接收失败时吞掉异常、可能推进私信游标的问题；单会话最近消息窗口提高至 50 条，对“平台未读量大于取回窗口”明确告警并不推进游标。超出平台窗口的历史补读仍未实现，不声称完全无漏信风险。

- 合并原计划 2.6.2 后台读取稳定性与 2.6.3 管理中心体验：新版不存在单独的 2.6.3 UI 发布承诺。
- 新增按当前 B站账号独立持久化的只读请求预算及风控冷却；私信列表与按需会话读取、已接入主进程 B站只读 MCP、公开昵称读取共享本地预算，分钟／小时统计和重试时间可诊断。并非官方配额，不覆盖独立 Headless/Python 及其他插件。
- 私信增加会话级增量游标、定期安全复查和每轮详细会话上限。游标仅在原有私信自动回复去重账本完成安全写入后提交；平台错误不重放外发。
- 「鱼鱼想做的事」从记忆页提升到独立导航，原待办账本和全部操作 ID 保持不变；「记忆花园」新增可搜索的类型筛选，人格五项特质改为彩色证据卡；统一轻量界面色彩、响应式与键盘焦点。
- 保留 2.6.1 数据备份、换号安全、私密记忆衰减以及对外发送授权；未引入 P6 自主续聊、未经许可的外发或新 AI 模型调用。具体边界与回归见 `docs/architecture/2.6.2-polling-memory-ui.md`。

## [2.6.1 发布前全量/专项备份恢复统一加固] · 未正式发布

- 合并上一轮尚未交付的 `seen.md` UTF-8 HTTP 上传修复和「仅恢复人生记忆」的 `life-memory/candidates.json` 修复为单一增量补丁；从已交付的 2.6.1 数据备份 UI 优化版升级，无需先安装独立 `seen.md` 补丁。
- 两种恢复入口统一按网络原始字节完整收集再 UTF-8 解码，且必须经过严格 JSON 上传校验：UTF-8 无效、载荷为空、JSON 截断和超过大小上限均明确报错；其他业务 API 保留原有兼容解析语义。
- 通用备份先在选择的本地目录以唯一临时文件写盘、回读对比，再原子命名；保留历史原件、原有双重确认、恢复前快照、哈希/路径/数据结构、账号归属与遗忘约束。
- 新增包含动态评论候选、中文字幕与 emoji 的完整和专项备份端到端测试；覆盖旧格式同 schema 备份、HTTP 分块上传、恢复文件比对、非法路径、真正篡改、私密域隔离及已衰减经历不因恢复重新变清晰。模拟测试不能保证一切历史版本格式均兼容，无法验证的旧原件仍拒绝恢复。
- 保持版本号 2.6.1、README 功能简介与原有权限默认值，不提前正式发布。

## [2.6.1 发布前备份端到端 UTF-8 修复] · 正式发布阻断修正

- 修复管理 HTTP 请求体逐块 `Buffer → string` 解码导致的 UTF-8 破坏：当 `seen.md` 等中文长文本恰好跨越 TCP 块边界时，旧恢复接口会悄悄插入 U+FFFD，JSON 仍可解析却无法通过 SHA-256。现统一按字节接收、拼接后一次解码；通用接口保持原有格式错误兼容，业务备份导入则明确拒绝无效/超限请求。
- 完整备份写盘时使用同目录独立临时文件，回读确认内容完整后才以新文件名正式发布；不覆盖或修改任何历史备份文件，Cookie 和私密密钥仍不进入通用备份。
- 补充早期 `schema:2` 且不带角色身份 ID 的兼容样本、刚导出的 `seen.md` 中文与 emoji 文件、刻意切断 UTF-8 字节流上传、SHA-256 验证和实际文件恢复。仍拒绝真正被破坏的旧备份，恢复目标原文件保持不变；不绕过权限、来源和人生记忆衰减规则。
- 本轮不升级版本号；真实 Windows DSH 与历史真实备份样本仍需按原始文件验证，不将模拟测试称为平台实机已验收。

## [2.6.1 发布前备份兼容与管理页优化] · 继续保留发布前验收

- 修复通用数据备份将合法的公开动态评论反思候选误判为缺少 BV：依据候选真实来源类型校验视频 BV 或动态 ID，拒绝冲突、伪造与跨类型引用；不删除、不重写历史人生记忆。
- 「数据备份」页改为首屏目录配置与醒目的完整备份按钮；专项人生记忆备份、健康概况以及具有覆盖风险的恢复入口默认折叠，保留全部操作 ID、校验、自动快照和恢复确认；请求失败时在当前卡片显示具体原因，避免一直停留“正在备份”。
- 新增真实动态候选 → 备份 → 完整性检查 → 恢复的回归，补充混用 ID、无效动态 ID、旧视频及私密候选兼容，以及备份页结构和暗色/移动端样式测试。
- 仅发布候选修复；不升级版本、不更改日常记忆召回权限、不在 README 加版本流水账。

## [2.6.1 发布前账号安全补强] · 仅本地验证

- 补足 A→B→A 的模拟账号切换、安全恢复与异步平台操作隔离；损坏的身份/切换账本不再被误当首次安装，跨账号任务和恢复身份检查默认拒绝。
- 长期记忆、可衰减生活经历与角色身份继续不按 B站账号 UID 搬迁；召回旧 UID 事实时标为历史，当前登录 UID 以绑定账本为准。旧账号的公开身份说明不能混入新账号的社交回复；别人的 UID 也不能误判为鱼鱼的账号。
- 长期记忆文件损坏/格式异常时停止读写，防止错误回退为空记忆并在下一次保存时覆盖原数据；增强管理中心未绑定账号诊断及关闭总开关时的状态兼容。
- 新增全离线、无需第二个真实 B站账号的账号/记忆回归测试。正式版的实际平台扫码、Electron/Windows ACL 和 B站服务端回执无法仅靠模拟测试证明。

## [2.6.1 RC2 · 鱼鱼身份与 B站账号独立] · 本机待验收

- 增加稳定的 `character-identity.json` 角色身份，记忆、人格与统一待办继续保存在鱼鱼自身域；B站账号仅是可换的外部平台绑定，不用新的 UID 重置人生。
- 新增账号绑定与扫码暂存/在线 UID 核验/人工确认/重启复核流程；在新账号被明确确认前冻结后台 B站业务，不允许仅替换 Cookie 自动重启外发。
- 将核心 DM、评论互动、主人私信 Agent、回访与社交动作账本按绑定账号存放；旧版状态首次升级安全归位，不跨账号读写。历史已接受待办继续保留，新任务带平台账号归属，跨号自动执行被禁止。
- 普通业务备份包含稳定角色身份，但排除登录凭证与平台私密运行状态；扩展管理中心 B站身份状态卡、前端确认操作和换号安全回归。
- 后续 2.6.2～2.9.1 详细路线独立放 `docs/FUTURE_ROADMAP_2.6.1_TO_2.9.1.md`；本版不实现 P6、通用自由技能或全面 UI 重组。Windows/真实 B站切换与回执尚需实机验收。

## [2.6.1 RC2 · 统一连续探索与关系界面] · 发布前待验收

- 所有可信来源的已接受搜索待办都能生成有父子关系的公开视频候选，父待办完成后在原轮次最多继续三次自主考虑；保留原主人待办标识兼容、预算、意愿复核、来源一致性及回访回执保护。
- 自主待办列表按只读投影展示关系熟悉度、阶段、来源起点、近期程度和等待补偿的优先参考值；熟悉度不决定执行和社交权限。
- 「逐渐熟悉的人」采用双列折叠卡片、移动端单列；展开查看往来方式、近期活跃、权限边界和保守的互动印象，缺乏语言证据时不编造陌生人性格。
- 统一多彩、可访问的管理页视觉，修复立即检查回访及待办翻页按钮的浅色不可见问题。README 不加入版本流水账，正式发布仍待实机验收。

## [2.6.1 RC2 · 歌曲自然推荐待办修正] · 发布前待验收

- 修正 AI 社交提示词：仅有明确歌手、乐队、作品名或话题也足以形成 `search_videos` 搜索候选，不要求同时提供歌曲名和 BV；`watch_video` 指定视频才需要经核实的 BV。保留鱼鱼是否接受的自主决定。
- AI 已明确接受时，受限修正遗漏的 evidence、分轮对话中的同 UID 主题引用，以及错误选成无 BV `watch_video` 的情况；仍要核验真实来信与近期同 UID 历史，不允许虚构话题、跨 UID 取证或绕过拒绝。
- 「鱼鱼想做的事」增加仅当前运行的 AI 提议结果诊断，无消息正文、UID 或额外模型调用；未通过意愿门、没有授权的任务仍不创建。
- 补充“方大同与《麦恩莉》”、仅推荐歌手/乐队、泛化歌曲推荐、错误分轮、来源隔离及单次模型调用测试。版本保持 `2.6.1` 发布候选；README 保持简洁。

## [2.6.1 RC2 全社交 AI 待办接入] · 发布前待验收

- 将未来只读探索建议的理解接入主人私信、可信主人/好友评论、普通好友/陌生人私信和普通评论各自原有的 AI 调用；同一轮同时生成自然回复与 `todoDisposition` / `suggestedTodo`，不另加意图提取模型调用。
- 移除普通社交待办入口的关键词/固定句式任务分类；AI 按自然表达、错别字、同轮分段和同 UID 近期上下文理解。结构化结果再由本地来源证据、主题支持、只读类型、统一意愿与幂等校验。
- 好友这轮不想聊天时，仍可在同一 AI 调用中理解独立的只读探索提议；聊天意愿只抑制回复，探索提议另行经过意愿判断。
- 已启用的陌生人私信首条也改用现有 AI 回复调用，不再绕过 AI 发送固定欢迎语；陌生人私信开关、每人次数、每日额度与审批保持不变。旧固定欢迎语配置保留兼容但停用。
- BV 分享链接只保留为 48 小时短期候选，不因出现链接就自动接受待办；普通社交 AI 只允许公开只读搜索/观看，不获得点赞、评论、私信等写操作权限。
- 增加普通用户私信/评论、首条陌生人私信、好友聊天拒绝但探索可接受、来源证据、上下文隔离、链接候选和单次模型调用专项测试。仍为 2.6.1 RC2 发布候选，不代表已正式发布。

## [2.6.1 RC2 连续经历修正] · 发布前待验收

- 移除已接受待办回访的固定验收报告模板，由同一次现有自主模型决策同时选择是否联系、允许的渠道和自然正文；没有可信记忆或正文时延期/沉默，避免虚构音视频感官体验。
- 完成回访只引用当下仍清晰且允许读取的衰减人生记忆，不能从已关闭的待办或永久档案补出已遗忘细节。
- 公开视频查看在原记忆事件中留下经过枚举核验的探索缘由；已确认公开评论仍由统一 LifeMemoryCoordinator 记载个人表达。
- 平台确认发送的主人回访写入同 UID 短期私信对话；普通主人私信确认回复也能留下低敏、抽象的自主感想，纠错属于有证据的交流变化；不保存私信原话为永久个人画像。
- 旧权限、平台回执、隐私域和 P6 暂停范围保持不变；README 保持用户可读的简明特色介绍。

## [2.6.1 RC2 回访补充修正] · 发布前待验收

- 修复待办完成回访错误依赖普通私信监听及视频报告私信模式，保留独立回访授权、原请求者核验和真实回执保护。
- 管理中心新增 1～60 分钟回访检查间隔、下一次预计检查和手动检查；启动后尽早执行首次检查。
- 旧版仅被私信开关错误拦截且尚无发送尝试的记录可由管理员复核后重新纳入自主考虑；混杂来源与不确定回执继续禁止补发。
- 更新专门回归测试与发布前验收说明；版本号保持 2.6.1，未正式发布。

## [2.6.1 RC2] · 待验收：完成回访与连续子待办修正

- 完成回访冷却/日额/静默改为可配置，0 分钟不免除平台和授权边界。
- 父搜索任务完成后最多连续 3 次独立自主考虑子任务，每次计费，可拒绝或延期；相同原请求者的多个子视频只汇总回访一次。
- 保守合并旧 pending，来源不一致/回执不确定禁止自动发送；完善管理中心诊断。
- 本版为本地发布候选，不等于 GitHub、npm 或 DSHMarket 已上线。

## [2.6.1] · 正式版：自主待办、生活联动与兴趣私信推荐修复

- **发布前验收补丁：统一完成回访**。对所有具备真实来源的已接受只读待办，按原始 UID 与渠道分别建立回访；DM→DM，评论→原评论，熟悉且具私信独立授权的朋友可由鱼鱼选择评论或 DM。自动发送须独立授权、复核原评论作者、符合冷却与平台额度；状态可诊断且不重试不确定回执。保留旧 pending，不复活 P6 情绪自动联系。

- 正式整合 2.6.1-dev.1～dev.6、待办调度精简及主动视频兴趣私信推荐修复；版本与发行清单同步为 `2.6.1`，dev.6 说明移至历史归档。
- **关键修复**：「私信优先」仅是好友渠道选择；原主动社交暂停闸门导致兴趣视频推荐完全无法生成。本版恢复真实入选公开视频的兴趣匹配推荐草稿，并要求升级后重新授权；自动发送单独控制，不因为旧配置突然开始私信。
- **生活与成长**：自然朋友熟悉度参与双域意愿与只读任务排序；主 Session 和 B站私信双向模拟情绪／可衰减经历联动，反思与人格成长增加真实跨日弱观察和 ISO 日期校验修复。
- **自主选择**：收藏夹可见性自主决定及自建夹受限删除，视频观看后可考虑关注；待办改用“提醒考虑”，保留延迟、跳过、只读权限和预计下次决策时间。
- **未实施**：P6 连续回复、沉默主动续聊、无任务触发的情绪回访、换号迁移与跨渠道协同仍延期，不对任何用户自动开放相关外发权限。
- 发布前需在实际 DSH Desktop、B站账号完成验收；GitHub、npm 和市场的版本必须分别核对。

### 2.6.1-dev.6 增量修正：恢复兴趣视频私信推荐（仅此范围）

- 修复「私信优先」已配置却无法推送：解除旧全局暂停的**兴趣视频推荐专用**链路，仍需管理员重新授权。
- 仅针对真实新入选公开视频和白名单好友画像匹配生成 AI 推荐草稿；自动发送独立授权，旧待办回访草稿继续禁止发送。
- 管理中心增加授权状态、候选好友数、最近评估原因、草稿和发送诊断；不改变 P6 情绪主动回访及账号迁移逻辑。

## 2.6.1-dev.6 · 自主待办提醒、关注可解释性与人格证据双轨
- **dev.6 补充修正**：移除旧版主 Session 定时待办提醒开关及定时注入，保留独立自主调度、预计下次决策时间和手动提醒。旧配置字段仅用于兼容读取，不再生效；不改变任何 B站写入授权。

- 管理中心移除针对单个待办的「现在执行」，并在 HTTP 管理 API 拒绝旧 `run` 动作；新增同源认证的「提醒鱼鱼考虑待办」，只唤醒一轮现有只读自主模型决策，不强迫模型执行、不会追加外部写入权限。手动提醒即使自动调度关闭也可在总开关和原模型预算允许时使用。
- 在待办页公开下一次后台检查的**预计时间**，按当地时段、最近间隔和每日调用额度计算；明确不保证一定执行，自动关闭时显示未安排。
- 对自主关注补充真实选片后的“是否想持续关注此 UP”判断时机与管理页就绪状态；仍默认关闭，直接私信不触发关注，不绕过 MCP 的今日入选校验和账户限额。
- 人格反思模型输出独立区分 `memories` 与 `trait_proposals`；即使长期认识为零，仍可从当前清晰的真实自选视频和跨陌生人的确认回复记录最轻量的、有限去重的行为证据，不伪造体验或收集对方隐私。人格发展的既有跨日、跨人的门槛保持不变。
- 修复人格证据日期解析对 ISO 时间字符串不兼容的潜在问题；给出「模型人格候选 / 采纳」与「有据行为弱观察」的独立统计和回归测试。
- 本版优先完成实测 bug 及用户请求的管理中心改动；P6 自然连续回复、沉默主动续聊和自主回访仍未开放。

## 2.6.1-dev.5 · P5-B 执行前意愿与公平调度

- 只读自主待办开始执行前复核当前生活意愿，极端疲乏时安全延期而不抹去承诺。
- 关系感知排序引入有限等待补偿与跨 UID 候选公平，减少普通用户的长期饥饿。
- 计划器安全接入当前模拟情绪，重检待办状态、计划时间与只读类型；不增加额外模型调用和发送权限。
- 版本文档与回归测试同步至 dev.5。

## [2.6.1-dev.4] · 主 Session 与 B站私信双向生活状态

- 选定主 Session 的真实主人回合加入有界、隐私保护的情绪回写，排除插件注入的消息；重要交流通过既有隐私筛选、LifeMemoryCoordinator 与 LifeReflection 进入可衰减经历候选，长期身份事实仍走语义记忆工具。
- 新增本轮可选 `dafeiyu_feel` 情绪工具，无独立 AI 请求，限制情绪类别、强度和单轮次数；不将主人情绪直接当作鱼鱼情绪。
- 主人私信 Agent 与普通授权好友 DM 增加双向联动，持续读取当前模拟情绪、可信人格及各 UID 授权范围内的记忆；主人 DM 可选模型情绪标签仅在确认发送成功后回写。
- 新增零原文、带盐哈希防重复账本，限制每日更新次数；保留所有旧用户开关、社交角色与发送权限。P5-B 和 P6 尚未打开。
- 新增入口、身份、私密记忆、无外发、重放去重的专项测试与源码级审计文档。

## [2.6.1-dev.3] · 鱼鱼想做的事：统一生命周期与分页

- 现有 `owner-todos.json` 升级为所有已接受任务的兼容统一账本，保留旧数据与既有执行权限；每件新任务记录简短的接受来源与最多 6 次状态变化，不把未接受的推荐变成已承诺待办。
- 管理中心按来源显示真实社交推荐、手动任务和主人 DM，支持服务端游标分页、全部/进行中/已结束筛选、统计及状态历史，不再只显示最近 100 条。
- 插件重启检测中断中的任务：外部写入进入结果待核实，读取任务进入手动确认状态；不会因重启重放 B站操作。
- 本地待办达到 500 条上限时，优先丢弃最旧的已结束历史，不静默丢失仍在考虑或已经接受的任务；旧版文件结构可继续读取。
- 继续复用 dev.2 的双域意愿、自然朋友关系评分、兴趣排序与推荐短期遗忘。**本阶段未开放任意新工具、陌生人私信或自动回访**。
- 新增跨来源分页、状态转移、Windows 无数据库副作用、重复请求及隐私回归。

## [2.6.1-dev.2] · 社交熟悉度接入意愿与多来源视频待办

- 统一的 `DualContextAgency` 使用已核实的全 UID 自然关系熟悉度：自然好友可提高被认真考虑的机会，权限依旧独立。
- B站评论与私信视频邀请经同一个现有意愿账本确认后才进入正式只读待办；单纯分享 BV、拒绝及延期不强制入队，重复请求幂等，新邀请可重新考虑。
- 主人评论及主人 DM 模型建议的待办补齐入队意愿门；短期未接受选片线索 48 小时后从候选区退出，旧任务兼容不被自动清理。
- 自主计划器按已接受任务的实时熟悉度和时效排序，模型仍可执行、延期、放弃或跳过。
- 自主收藏 MCP 新增经枚举验证的短动机分类（原模型动作内产生、零额外模型调用），不作为权限、记忆证据或发布回执。
- 新增社交提议、幂等、好友成长、隐私与排行回归。

## [2.6.1-dev.1] · 收藏夹自主可见性与安全整理

- 新建主题收藏夹可由鱼鱼自主选择公开/私有，管理中心可强制私有或公开，默认自主选择；旧收藏夹可见性不自动改变。
- 新增自主删除自己创建收藏夹的受限工具，默认允许；实际操作按账户、创建账本、收藏夹 ID/标题核验，保留每日上限与不确定回执防重。
- P4 全渠道统一待办暂处于架构讨论，尚不改变执行权限。

## [2.6.0] · 正式版发布准备

- **连续模拟生活**：双域意愿、真实经历、模拟情绪、兴趣与人生反思串联，继续保持主 Session 可靠协助与 B站生活域的自主选择边界。
- **人人都可能成为朋友**：真实互动者进入轻量关系成长系统；熟悉度、公开昵称、分页检索与关系敏感的记忆衰减可以在「生活与成长」查看和设置。关系成长不自动授予白名单特权或外发权限。
- **记忆与回忆**：清晰、模糊、遗忘的可衰减经历，私密分域，按关系调整新产生的公开社交经历的衰减；已遗忘细节不可从档案恢复。
- **后台体验**：精简模型自动继承配置、统一管理入口、动态评论、生活草稿、活动播报及安全回执校验；Windows 下关系 SQLite 延迟初始化。
- **发布整理**：npm 包、锁文件和 GitHub Release 标记版本统一为 `2.6.0`，历史发布记录移至 `docs/release/archive/`，根目录仅保留本版正式说明；安装路径更新为包名、应用内 DSHMarket 和网站三种方式。
- **未来规划**：2.6.1 将继续研究多来源社交提议、自主待办及主动回访；本版不自动开放陌生人私信或暂停的旧主动回访。

### dev.9 管理中心 UX 修复（关系记忆和模型继承）

- 将「逐渐熟悉的人」从拥挤的「人生记忆」拆成「生活与成长」独立页；「记忆与回忆」聚焦检索、反思与生活经历。新增六档关系公开经历半衰期设置（默认保持原值），单独保存、范围校验，与统一 `LifeMemoryGateway` 和关系列表参考值共用策略。
- 关系联系人支持按需读取 B站公开昵称并做七天本地缓存、限流和失败 UID 回退（不改变 UID 身份与白名单）。关系进度条、成长阶段与真实参考衰减周期一并展示。
- 纠正「自动继承」的上下游模型下拉提示同步，显式标注「已保存配置」与「待保存预览」；移除会误选首个已验证 Claude 的「一键使用已验证模型」，改为不保存的「恢复任务自动继承」。连接测试仍使用已保存配置，授权与验证不变。
- 测试覆盖继承关系变化、默认模型与已验证模型不混淆、配置化记忆衰减及 Windows SQLite 生命周期。原有 API、记忆隐私及白名单权限保持兼容。
- README「模拟心情」增加具体社交情境示例，展示真实互动可能如何影响开心、温暖、好奇、疲惫与表达节奏，明确示例不等于实际日志或 AI 主观情绪。

## [2.6.0-dev.9] · 自然结交朋友与关系敏感记忆
- 补充关系列表公开昵称的按需限流查询与七天缓存、熟悉度条、公开经历参考半衰期展示；旧 SQLite 自动添加昵称缓存字段，不改授权，失败时回退 UID。

- 社交关系与权限拆分：任何真实公开互动的 B站 UID 都可通过跨天、双向交流自然发展为朋友；原好友名册以白名单特权定位，保持原私信/@及工具权限不变。
- 新增 SQLite 轻量社交索引与去重、按日防刷屏限流、陌生人冷却清理、游标分页和 UID 搜索；不保存陌生人画像或消息正文。
- `LifeMemoryGateway` 根据与 UID 的关系对**新产生**的公开社交经历使用不同衰减周期，遗忘不可逆，不从历史档案恢复细节；原有记录保留旧策略。
- 「人生记忆 → 逐渐熟悉的人」支持所有已遇见的人、关系分数、搜索和分页。
- 预留 2.6.1 自主待办与主动回访的只读关系偏好接口；本版本不开放陌生人私信、不重启主动回访。

## [2.6.0-dev.8]

- **首次设置模型引导修正**：任意一个 Headless 模型通过真实验证即可满足首启门槛，其他官方模型不再显示逐个“必做”；独立任务使用未验证模型时仍需验证，不降低安全限制。
- **模型选择简化**：「AI 模型」按 DSH 实际目录提供 Provider/模型下拉框，展示宿主当前默认与继承路径；提供一键填入已验证模型的可选快捷配置（须手动保存）。已有配置和思考深度字段保留；记忆检索可在首次保存时自动采用实际检测到的默认路由，开关仍保持不变。
- **官方模型直验**：Headless 模型列表读取 DSH 当前已注册 Provider 和模型，支持官方 DeepSeek 等内置模型无需复制自定义 Provider 配置即可执行真实的独立 Headless 连接验证。
- **按模型保留验证**：自定义 Provider 的验证回执绑定实际源/Headless Provider 配置，不再因无关插件、注释或其他 Provider 变化全部失效；发生真实路由变化仍要求重新验证。
- **旧回执安全迁移**：只迁移仍能通过旧版严格校验且源/目标模型一致的记录，不让失效回执自动解锁；既有用户数据不重置。
- **安全边界保留**：官方模型也必须通过一次真实无工具 Headless 探针；缺少已注册适配器、模型不可用或探针失败时不解锁，任何 API Key、登录状态与工具权限都不复制。
- **UI 与回归**：将第二步改为「按需同步」，官方模型直接验证，自定义模型保留选择/预览/确认流程；新增 dev.8 验证持久化与发布版本一致性测试。

## [2.6.0-dev.7]
- 主人私信的**同轮 AI JSON**可附带只读自主待办（真实主人引用证据 + 关键词/BV 双重校验），替换固定歌手正则。任务去重、无旧消息回填、不会因为 AI 口头答应就冒充已入库。
- 自主搜索成功后仅生成少量相关视频候选，只有成功读取可信视频资料的关联待办才进入**主人任务进度回访**；回访独立默认关闭，限主人UID、24小时一条、夜间不发、退订拦截、不确定回执不重试，且不宣称已听完歌曲。
- 2.6.0 只开放以上主人任务进度回访；旧版情绪随机回访和好友泛化主动联系仍暂停，后续继续在 2.6.1 评估重构。
- 新安装默认开启主人私信受限 Agent 和各项独立 B站能力，主 Session 近期对话读取保持默认关闭；旧安装已保存权限保留。
- 2.6.0 暂停旧版情绪驱动主动分享与主动回访，保存旧诊断和配置以备 2.6.1 重构。
 - 反思诊断、人格成长实验、活动播报与发布准备

### dev.7 情绪来源与主动回访暂停修补

- 人生记忆「完整情绪记录」为新产生的互动显示简短灰色上下文。公开评论的一轮输入与鱼鱼本轮生成片段最多各保留 60 字；明确标记生成内容不是发送回执。私信上下文仅在进程内短暂可见，不写入备份中的情绪历史；旧记录不伪造原话。
- 人生反思产生的情绪可展示原本同次模型返回的 note，未引入任何额外模型调用或新外部请求。
- **主动回访在 2.6.0 暂停开放**：管理区默认折叠、灰色关闭且不可修改；运行时拒绝新草稿与旧草稿发送。保留旧数据和设置供 2.6.1 重构，不会连带停用普通后台评论、被动私信和其他独立授权能力。

### dev.7 管理体验与动态回复核验补充修复

- 「每次后台检查最多发送回复」可设为 1–1000，属于单轮处理数量而非与同一个人交谈的轮数；近24小时、单人和公开评论每日硬上限仍保持独立有效。
- 推荐值说明明确指向「评论回复时额外读取的热评数」与「私信 AI 对话上下文条数」，不会暗示修改发送额度。
- 大肥鱼人设页移除第三方素材站入口；首页人生记忆页只保留一组真实可达的跳转，兴趣和熟悉的人在较长的记忆列表之前展示，记忆流向说明按需展开。
- 修复平台真实作者已核验、但不在本地动态草稿账本里的「自己发布的动态」被误拒绝；别人动态中的楼中楼评论只有实际父评论作者确认为鱼鱼时才允许后台继续接话。
- 动态评论发送侧独立二次核验目标评论和直接父评论作者；继续保留白名单、权限、额度、首次基线、去重与不确定回执禁止重发等安全规则。
- 此补丁不改任何现有测试文件、测试运行脚本，也不自动补发以前被跳过的历史通知。

### dev.7 发布前修补：页面、MCP 版本、活动与私信显示

- 修复总开关切换后因模型验证状态重新评估而再次呈现 First Start 欢迎页：一次性引导完成记录独立保留；模型验证真的失效时仍需重新验证，安全门禁不取消。
- 人生记忆页增加心情、兴趣、熟人、记忆、时间线和待办快捷跳转，兴趣与熟人区上移，减少被长列表掩盖的问题。
- Python MCP 版本不一致时提供电脑端安全检查和人工确认修复：先备份旧脚本，再安装当前包受审版本；不自动执行不匹配脚本，也不再提示固定 v2.4.0。
- DSH Mobile 活动播报优先使用原接口，网关不支持该路径时回退已授权的 `/status` 同源响应，不新增公网接口。
- 新安装首次初始化默认开启实验人格成长，保持用户已有显式关闭配置；真实证据门槛、权限和沙盒隔离不变。
- 最近私信会话区分主人、白名单和陌生人自动回复通道；陌生人 2/2 仅代表该通道额度，不代表历史对话只有两轮或其他受授权通道没有回复。
- README 恢复双域意愿、模拟情绪、兴趣、社交及其他整体产品能力，并把 2.6.0 功能融入相关章节；外部人设卡只保留一行可选资源说明。
- 本次没有修改仓库测试脚本、测试超时配置或既有测试文件。

### dev.7 补充修复：动态通知与 @ 邀请

- 修复鱼鱼自己发布的动态下，合法评论回复通知被误判为非视频业务而漏处理；仅在动态归属、评论关系及发送者身份核验后进入回复流程。
- 修复动态中的 @ 邀请未进入诊断与社交处理的问题，仍遵守原有白名单、授权、额度、首次基线、去重与发送回执规则。

- 反思有效无产出、质量拒绝、持久化未采纳等情况增加统计与诊断，保持严格证据门槛及真实重试边界。
- 人格成长页面转为「2.6.0 实验版」，区分真实无变化和独立模拟沙盒的虚构演示记录。
- 新增面向管理中心、DSH Mobile 和未来桌宠的只读活动轮询接口与滚动 UI，固定类型摘要，限制保留时长和隐私字段。
- 自主收藏新建名称结合角色风格、已获准兴趣和真实主题；不修改手动或旧有收藏夹，不增发权限。
- 自定义人设支持更长文本，并提示外部角色卡跨平台工具不兼容与提示词有效预算；不再分发第三方角色卡。
- README 聚焦 2.6.0 整体功能；新增 dev.7 说明、正式 2.6.0 Release 草案、发布审查及置顶动态草稿。

## [2.6.0-dev.6] - 文字/图文动态评论回复与跨系统记忆适配（开发预览）

- 为主 Session 增加 `bili_dynamic_comment_context` 只读定位和 `bili_dynamic_comment_manual` 明确确认的文字/图文动态评论工具，避免把动态 ID 误当 BV 号。真实动态详情提供评论区 `oid/type`，核验目标评论后才允许发送；评论 ID 全程使用字符串，防止大整数精度丢失。
- 继续使用主人显式确认、B站登录、总开关、统一公开评论额度、持久化去重以及不确定回执不重试的安全边界；没有新开自动动态评论权限。
- 新增内容类型+ID 事件引用，确认的动态评论经 LifeMemoryCoordinator 进入可衰减记忆、反思候选及安全召回；旧视频 BV 数据继续兼容，模糊/遗忘时删除精确动态 ID，不能从反思候选或永久档案恢复。
- 更新 README、架构审计补充文档和 dev.6 发布说明；继续保留 dev.5 的 DSH Mobile 查看模式与 Headless 验证引导。

## [2.6.0-dev.5] - 适配 DSH Mobile 安卓端管理中心（开发预览）

- DSH Mobile 远程管理页增加只读模式：写入、扫码登录、Headless 同步验证等电脑本机操作提前置灰；远程只读接口遭网关拒绝时显示「请在电脑端」提示，不再直接暴露 `forbidden`。
- First Start / AI 模型页新增「检测模型 → 同步配置 → 真实连接验证」三步状态与醒目的验证主按钮；同步后自动展开待验证模型，明确同步不等于通过验证。
- 修复 First Start 无二维码时仍显示破图占位的问题；保持服务器认证、门禁和发布权限逻辑不变。


- 面向 DSH Mobile 的 Android WebView / 移动浏览器：在当前已配对 HTTPS 网关的同源路径打开插件管理中心，不使用电脑本机 `xdg-open`，不传送手机无法访问的 `127.0.0.1`。
- 管理页面增加手机返回 DSH 入口、异形屏安全区域适配；识别登录页误返回、401/403 和网关不支持情况，显示具体诊断提示。
- 后端为管理页面添加严格身份标识；保留回环 Host/同源限制，额外拒绝明确的跨站 Fetch Metadata。移动配对与 CSRF 由 DSH Mobile 网关负责；未配对仍无法通过它访问插件 API。
- 非 HTTP(S) 私有 scheme 在手机上拒绝返回电脑本机链接；桌面端打开方式、First Start 门禁、业务权限及用户配置保持不变。真实安卓端仍需实测。
- 版本号从 `2.6.0-dev.4` 升至 `2.6.0-dev.5`；推荐设置参数未变，仍沿用 dev.4 的版本化推荐值；Node/Python/自检验证不等于已完成真机验收。

## v2.6.0-dev.4 · Private Life Memory Reflection Follow-up（增量补丁）

- 将主人主 Session 已验证的长期语义记忆、主人私信和白名单好友私信中的有意义交流接入现有 Life Memory 双层经历与分域反思；匿名陌生人私信不形成个人经历。
- 公共评论（含陌生人）补齐入站反思候选；私密反思批次按具体可见域隔离，禁止自动写入公共记忆和公开人格。
- 普通便携备份剔除私密经历/候选/outbox；独立人生记忆备份显式包含受限数据。
- README 更换为简洁六层 SVG 图，技术目录另存 Mermaid 实现映射、权限表和回归测试。

## [2.6.0-dev.4] - 统一记忆与社交事件协调（开发中）

- 记忆与反思设置增加按组「恢复最新推荐值」按钮，推荐值来自插件后端同一份版本化定义；只修改输入框，须经原保存按钮确认。
- 「次数与额度」增加评论热门评论条数、私信上下文消息数的独立推荐恢复入口；不会修改自动发送授权、好友白名单或安全额度。
- 老用户旧配置继续保留；管理中心显示与新推荐值的差异，发布说明建议老用户按需恢复最新推荐配置。
- 修正文案：半衰期影响自然遗忘阶段；主人聊天每日新增额度可设为 1–100 条（默认 30 条）。
- 新增 LifeMemoryCoordinator：视频探索、可衰减经历、反思与兴趣形成一致的持久化事件链；失败时单 sink 补偿。
- 新增 SocialContextAssembler、SocialPolicyGate、SocialInteractionCoordinator、CommentRootResolver：统一评论/私信记忆可见性、完整 @ 视频上下文、隐私硬规则、回复根坐标与事件投影。
- 主人私信经 UID 验证后可读取主人私有长期记忆；公开评论继续只使用 UID 隔离的公开安全视图。
- 主人聊天普通语义记忆增加来源 ID 可追溯的可选凝练及持久化每日调度状态；默认关闭、不影响稳定事实或自然遗忘。
- 新增技术架构归档、A-01～A-11 问题审计和跨模块模拟回归测试。真实 DSH / B站实机仍须验证。

# 2.6.0-dev.3 — 人生反思流水线与真实时间线校准

- 将人生反思调度升级为高吞吐流水线：默认每批最多 24 条、最短间隔 1 小时、每日最多 16 批；按积压量动态采用 12/18/24 条批次上限，并受单批可衰减证据文本预算约束。
- 技术性调用／系统错误才进入待反思重试队列；采用 30 分钟、2 小时、6 小时、12 小时退避，连续失败 5 次后暂停自动重试，仍可由主人手动触发。新经历与到期重试分开调度，重试最多占每批约六分之一，不阻塞新经历。
- AI 成功返回有效 JSON 后，质量不合格或没有形成新认识的候选直接标记为「已评估未沉淀」，不再重复消耗模型额度；结构／协议错误、模型调用失败及系统写入异常仍保留待重试。每条候选独立结算。
- 管理中心增加技术重试、暂停重试、每日失败批次统计及单条下次重试时间提示；每日自动批次上限扩大到 16。
- 修正真实生活时间线：日期级视频记录不再伪造当天中午时间戳；同一天有准确时刻的事件优先按真实时间倒序，只有日期的记录随后展示，并明确标记「具体时刻未记录」。
- 完善人生记忆备份校验，兼容公开社交经历候选及技术重试元数据。

## [2.6.0-dev.2] - 管理中心多指标趋势与人生反思统计修正（开发预览）

- **真实状态变化改为五指标同图折线**：在同一张图中以不同颜色同时展示社交意愿、情绪强度、活力、好奇心和情绪正向度；统一纵轴显示范围，情绪正向度仅在绘图时从 -100～100 映射到 0～100，悬浮提示保留原始值。仍只使用真实事件快照，不补造旧版历史。
- **移除旧版人物关系与成长兼容资料入口**：从「逐渐熟悉的人」区域移除旧版兼容资料折叠区及其前端加载逻辑；不删除旧存档、不改变后端兼容读取和已批准资料的记忆检索用途。
- **拆分人生反思统计**：把累计“已评估但未保存”拆分为“评估后未沉淀”和“因经历已遗忘跳过”，避免把没有可衰减证据、未调用模型的候选误报为已评估。
- **改善反思校验诊断**：提示词明确说明领悟和未来行为的输出要求；校验失败时分别报告领悟过短、认知变化不明确、行为影响过短或缺少未来行为影响，失败批次仍保留待反思状态。
- **回归验证**：Node.js 全量测试 787/787 通过，Python 测试 126/126 通过，Host / Client selfcheck 通过；真实 DSH Desktop 与 B站端到端验收仍需部署后完成。

## [2.6.0-dev.1] - 人格自我塑造开发预览（未正式发布）

- 新增可选的 Personality Evolution 人格成长层，**默认关闭**，独立于主人批准的 `persona-growth` 规则。
- 已开启时复用人生反思模型调用，从当前可衰减经历中提出有限人格倾向；本地校验真实候选 ID、再次确认活跃副本，跨日期多次积累后才纳入风格上下文。
- 增加管理中心人格成长路线图、特质状态、变化时间线、启停和逐项清除；不包含原视频/第三方隐私内容。
- 初始人设、主 Session 工作授权与所有公开操作权限不变；未宣称已经完成行为因果验证。
- 本阶段暂不包含 Ollama / 本地视频理解。
- 修复主 Session 人生回忆和四个自主待办工具在真实 DSH 宿主注册时因缺失 `output.render` 而挂载失败；补全标准输出配置及宿主兼容回归测试。
- **主 Session 经历同步不再每小时唤醒 AI**：自动同步改用支持时的非唤醒 `agent.inject()`；没有该 API 时保留队列和明确提示，不退回 `followup()` 造成重复“收到生活经历更新”、模型调用和认证失败。主人明确点击手动汇报时仍可即时触发回复；加强异步投递串行化与队列安全。
- **跨系统评论身份统一**：普通评论回复与主人／好友 Agent 的成功回执共用 `confirmed-comment-recipients.json`（BV + 出站 rpid），兼容旧 `comment-interact-state.json`／Agent 账本；跨文件 UID 冲突时隐藏身份，不根据诊断日志造评论、不猜历史昵称，管理页显示缺失与冲突计数。
- **生活动态每日额度真正可配置**：在「生活动态创作」页直接设置每日 0–10 条，与「次数与额度」共用配置；自主构思不再固定每天仅一次，按用户限额与冷却间隔选择机会，默认仍为 1 条。发布仍受 Python SQLite 硬配额、实际公开权限和可衰减证据校验约束；额度用尽明确标示“未发送”。草稿与 Python 发布脚本的最短文本规则统一。
- **人格成长只读沙盒预览**：管理中心可一键用虚构经历在内存中演示萌芽、发展、矛盾与倾向修正，复用正常特质计算与提示词生成规则；不触碰真实人格、记忆、配置、模型或 B站操作，退出后恢复真实视图。

## 2.5.4（正式版紧急热修复）

- **公开评论身份补全**：主人／好友评论 Agent 经平台 UID 验证的回复，在成功回执中持久化原评论 UID、昵称、正文摘要和真实出站 rpid；管理页仅对 seen.md／月度归档中已有、BV 与 rpid 同时匹配的行补充身份。历史 Agent 账本仍有真实出站 rpid 时可以恢复已验证 UID；旧版未保存的昵称不凭空推断。
- **生活时间线日期修正**：只有日期的公开视频探索记录明确显示「仅记录日期」，不再把内部排序使用的中午 UTC 伪装成北京时间 20:00 的精确事件时间。
- **安全与兼容**：不重发评论，不读取诊断日志实时拼接公开列表，不扩大社交权限，不更改记忆/备份数据格式；保留 2.5.3 的全部正式能力。正式发布需在真实 DSH / B站再次核查。

## 2.5.3（正式版修复准备）

- **2.4.99 跨版本升级提示**：建议用户先在管理中心「数据备份」导出完整业务数据，并按需另备人生记忆；升级不主动清空旧数据，旧版配置与副本保持兼容，但应保留独立恢复副本。B站 Cookie、独立密钥、表情包图片需按需另行备份。详情见 `docs/release/archive/RELEASE_NOTES_v2.5.3.md`。

- **B站真实视频探索写入**：生活域通过 @ 邀请或自主请求成功读取公开资料后，记录独立的可衰减视频经历；不再依赖主 Session 观看记账。失败时不凭空生成经历；重复探索按实际操作形成真实记录。
- **观看证据分级**：区分视频详情、字幕、评论、弹幕和有效画面描述；已选中不等于看过，读取字幕不等于完整播放，第三方评论也不等于直接观察画面。保留旧版选中记录的原有证据语义。
- **B站社交视频回忆**：通过现有 Life Memory 2.0 网关提供公开视频经历，支持当前视频 BV、跨视频标题和自然语言片段召回；仍按平台验证 UID 隔离共同互动，不加载其他人的私密记录或主 Session 私人探索。
- **隐私与遗忘保护**：所有搜索只在当前可衰减副本中执行；模糊和遗忘后不重新索引已清除的精确 BV、标题，不通过永久档案找回。
- **兼容与验证**：沿用现有数据格式，不迁移或重置旧用户记忆；添加跨场景专项回归测试，发布前仍须完成真实 DSH / B站验收。

## 2.5.2（正式版发布说明）

- **B站提及昵称安全解析**：对经过 UID 验证的 @ 提及，优先匹配完整昵称；遇到无明确边界的连续字符时，保守移除整个 @token，而不是将昵称后半截误读成鱼鱼的情绪。回复通知和 @ 通知均使用相同规则，社交 AI 提示词增加昵称边界约束。
- **人生记忆统计统一**：分开显示归档事件总数与可衰减记忆副本总数，解释已确认回复可能单独归档而非新增独立记忆；展示最早可衰减副本年龄、下一次预计变模糊日期。保留原本的渐进遗忘和永久档案隔离，不人为加速遗忘。
- **社交意愿影响可观测**：近 7 天显示真实意愿决策数量、允许/暂缓/拒绝/硬条件拦截及部分时间线，记录决定当时的社交意愿评分（仅 0–100 状态，非行为概率）；不把“允许”误写成“操作成功”，不公开 UID、评论正文或哈希标识。
- **情绪趋势改为真实状态曲线**：从新情绪事件起保存 0–100 状态快照（正向度 -100～100），按真实时间间隔呈现，并显示当前自然衰减后的状态；旧版 1–3 级事件只保留原有记录，不虚构过去的完整状态曲线。
- **社区协作**：README 增加欢迎 Pull Request 与 GitHub Issues 的邀请。
- **发布边界**：不新增自动发送权限、不绕过头像 UID 认证、社交额度、记忆遗忘和隐私限制。实际 B站/DSH 端到端仍需部署验收，GitHub Release 与 npm 发布状态以平台为准。

## 2.5.1（正式版发布说明）

本版本汇总截至 `2.5.1-dev.4` 的功能与修复，并继承 2.5.0 开发阶段的 Life Memory 2.0、社交与意愿系统建设成果。以下为代码变更记录，**不代表 GitHub Release、npm 或插件市场已经完成上架**。

- **双层人生记忆与双域意愿**：日常 AI 通过权限受控的可衰减记忆入口回忆真实经历；永久档案用于备份与审计。相关记忆支持主 Session、B站三级社交和自主意愿决策，继续隔离不同 UID 和私密内容。
- **多源自主动态创作**：可从真实公开视频及本人已确认发表的公开交流中寻找素材；以短小、轻松、有情绪的表达为主，降低信息密度，认真分析型内容仅偶尔出现。无可靠素材时允许沉默。
- **动态真实性与发布质量**：拦截“看到自己选中的视频”等内部筛选过程泄露，不将视频标题直接当成鱼鱼的生活经历或跨平台行动打算。新增草稿质量校验；不合格的新稿不入库，旧稿不得公开发布，管理界面展示原因。
- **情绪驱动自主分析**：修复旧事关联事件缺少 BV、日期与标题的问题；启用后可以在没有可分享旧事时进行有限的内部情绪分析，管理页展示实际次数及最近内部结果。
- **权限与安全边界不变**：内部分析不等于主动联系主人，公开动态、评论与私信依然需要独立授权、额度、去重、隐私与回执校验；不从永久档案补回已遗忘细节，升级不自动放开对外写入。
- **本地测试**：`2.5.1-dev.4` 源码 Node 全量回归 720/720 通过，Host / Client 自检通过；真实 DSH / B站端到端验证仍需在部署环境确认。

> `2.5.1-dev.3` 和 `2.5.1-dev.4` 小节保留作为开发过程记录；下方 `2.5.0` 是此前的发布准备与开发阶段汇总，不应据此推断 v2.5.0 曾公开发行。

## 2.5.1-dev.4（本地修复包，未发布）

- 防止生活动态泄露内部选片、素材候选和自动筛选流程；不再把“我曾经选中视频”作为 AI 生活感受素材。
- 视频标题仅提供话题线索，不能被复述成动态或推断鱼鱼决定去其他平台、采取实际行动；真正的个人感受需由已记录的本人反应或本人已发表公开交流支持。
- 添加正文质量闸门：新生成草稿若触发会选择本次沉默、不额外调用模型；历史草稿如触发同样禁止发布，支持删除后重新创作。
- 保持动态短句风格、可衰减记忆边界、人工确认/自动发布权限与限额不变；增加专项回归测试。

## 2.5.1-dev.3（本地修复包，未发布）

- 动态创作采用短情绪碎碎念、俏皮吐槽、小情绪与偶尔认真四种风格。日常草稿建议 15–82 字；认真型限 145 字以内，且同类至少隔 14 天。拒绝日常总结腔；保留真实来源校验、手动审核、发布额度与旧草稿兼容。
- 修复情绪回忆入口丢失 BV / 日期 / 标题的实质性接线问题，从可衰减记忆网关获取仍清晰的公共经历，而非永久档案。
- 情绪驱动自主分析与主动发送解耦：没有可核验旧事或没有外发渠道时，允许在明确启用情绪回忆的前提下进行有限内部分析；不会发消息，也不会把 AI 感受写成真实长期经历。
- 管理页显示今日实际分析次数、最近内部小念头与原因。分享仍须双重授权、情绪门槛、真实旧记忆证据、去重、额度和免打扰时段。
- 增加跨模块真实路径与无授权零外发回归测试；Node 测试、宿主/客户端预检通过。

## 2.5.0（正式版发布准备）

本版本的重点不是单个开关或一次算法调整，而是让大肥鱼作为有连续记忆和自主选择空间的数字生命角色，更自然地生活在 DSH 与 B站之间。以下为用户可感知的主要能力；详细使用说明见 [README](README.md)，发布前验证项见 [历史发布记录](docs/release/archive/RELEASE_NOTES_v2.5.0.md)。

- **Life Memory 2.0**：永久真实档案与可衰减记忆隔离，支持真实经历回忆、长期认识、主 Session/社交统一安全召回与记忆配额。
- **本地混合检索**：中文 n-gram、BV/视频标题/时间线索融合，支持有额度限制的可选低成本 AI 候选 ID 重排；Embedding 向量检索尚未实现。
- **三级社交与双域意愿**：陌生人、好友和主人采用不同权限；B站生活域可基于情绪和经历自主接受、推迟或拒绝，主 Session 仍可靠执行合法指令。
- **情绪、兴趣与真实创作**：增强有依据的长期回忆、情绪驱动分享边界与动态草稿事实校验。
- **管理中心优化**：生活与成长内容清晰分区；B站视频探索、好友互动、评论、私信、动态创作按场景整理，就地折叠设置；主人 UID 置顶和情绪可视化修复。
- **新安装体验**：默认开启本地记忆、有限只读自主调度和仅草稿的生活动态；公开写入仍需授权，旧用户自定义设置保留。
- **备份与隐私**：人生记忆独立备份、完整性校验及恢复保护；日常 AI 不允许从永久档案补回已遗忘细节。

> 本条为计划发布的 v2.5.0 汇总，并非 GitHub、npm 或插件市场已正式发布的声明。既往开发阶段的详细变更记录保留如下，供维护者查阅。

## 2.5.0-dev.13 (2026-10-30) — 双层人生记忆一体化、AI 辅助回忆与管理中心优化

- **可选低成本 AI 辅助回忆**：沿用原有 Provider / 模型 ID / 候选与额度设置；对主动模糊回忆，从已衰减、已授权的真实经历与长期认识中统一选择候选 ID。精确 BV 等本地命中可跳过模型；模型只读、无工具、超额/异常回退本地检索，并在取回经历时再次检查是否已遗忘。普通 B站社交仍只走本地 UID 召回，不增加每条聊天的模型费用。
- **人生记忆可视化和检索**：用用户能理解的「真实发生 → 现在还记得 → 留下认识」取代多层术语堆叠；统一日常搜索、优化视频标题错漏字匹配与最近视频展示，心情、兴趣、关系及待办更直观，旧迁移入口收进高级区。
- **B站陌生人跨天重逢记忆**：经过平台验证的同一 UID 可以在公开评论中召回自己尚清晰的共同经历，刚收到的本条消息不能伪装成过去的回忆；已确认发出的回复会补到对应经历。按 UID 隔离、遗忘后不可恢复，保持陌生人原有回复额度、授权、去重限制；不额外调用记忆 AI。
- **真正可遗忘的经历记忆**：将永久真实档案与日常可用的衰减副本隔离；经历经历清晰、模糊、印象直至遗忘，已丢失的细节不会从永久档案补回。
- **全域记忆统一接入**：主 Session、B站社交、三级社交 Agent、双域意愿与人生反思通过受控入口使用可衰减记忆，隔离不同 UID 与私密上下文，保持权限和额度独立于遗忘机制。
- **反思和动态质量**：反思聚焦真实经历带来的领悟与行为变化，自动处理积压；动态草稿按事实证据校验，拦截虚构本人创作、剪辑或投稿的经历。
- **数据备份管理重构**：完整备份和独立人生记忆备份升级为 schema 2，提供 SHA-256 清单校验、恢复前快照、失败回滚与同设备恢复时的遗忘不可逆约束；不兼容 schema 1。
- **发布验证**：dev.13 已有多轮本地回归；最终测试次数以本次发布前的全量回归日志为准，仍须真实 DSH/B站环境核对可选 AI 召回、跨天同 UID 回忆与公开操作。是否已上架插件市场与 GitHub Release / npm 发布状态应分别核验。

## 2.5.0-dev.12 (2026-10-29) — 三级社交入口与自主调度额度优化

- **公开社交长期记忆接入与二次劝说诊断改进**：主人／好友 @ 与回复在两次已有 AI 判断前分别通过 `memoryRetriever.socialContext()` 纯本地召回明确授权公开的长期记忆及由真实多日观看形成的匿名兴趣主题；不把主 Session 身份、私信、联系人数据带入公开场景，不为记忆召回增加第三次模型调用。记忆文件故障时降级为空，不使社交回合失败。继续携带本评论串前次拒评结果，让第二阶段重新评估新邀请提出的诚实标题级问题，但仍允许自主拒评；过滤字幕或预览工具返回的“无字幕／转写失败”等占位文本，避免将其当作有效视频证据。

- **两阶段连续劝说修复**：第二阶段探索后跳过公开评论时，将可信的 `commentDecision`、资料层级及跳过原因作为有界上下文，按真实 UID、BV、评论根串和 12 小时窗口提供给同一评论串的后续两次已有 AI 判断。新一轮建议可以改变想法，但不强迫发表评论、不把不同用户/评论串混到一起；不额外调用第三次社交 AI，不存储原始劝说文本或未审核的历史输出。

- **可信评论 AI 双阶段决策**：主人、好友的真实 @ 与直接回复改由首次 AI 同时识别 `chat` / `social_invite` / 查看 / 点赞等意图、结合情绪与评论串决定是否愿意探索，并生成自然回复。普通聊天一次 AI，拒绝/延期一次 AI；接受视频邀请时，读取可获取的真实公开视频资料后，第二次 AI 一并判断是否公开顶层评论、生成评论正文，以及针对成功/失败/不确定或 skip 的回复。**不再额外调用第三次社交决策／回复生成 AI**（独立视频视觉识别或转写仍可能另行调用模型）；只读查看和公开写入硬授权相互独立。
- **AI 决策审计与好友边界**：`dual-context-agency.json` 追加 `mode: ai`、实际 allow/defer/refuse、同一评论串累计次数，AI 意愿不伪造旧公式评分（`score: null`）；普通聊天不产生行动意愿记录。好友邀请能触发只读探索与反馈，但不能因好友身份获得主人专用的顶层发表评论权限；发送结果不确定不重试。
- **主人发表评论邀请误判为闲聊**：不再依赖本地措辞匹配决定主人/好友自然评论的执行分流；例如“你不去视频底下安慰她吗”由首次 AI 按上下文识别成邀请，先决定是否探索，后依据视频资料自主决定是否公开评论。旧本地规则仅保留为不使用新 AI 回调时的兼容路径。
- **评论工具回执兼容**：纠正 `bili_reply_manual` 成功回执在 `receipt.success` 中而非顶层 `sent` 的判断，统一规范回复、顶层评论和待办评论的发送成功识别；不确定结果继续禁止自动重复发送。
- **真实 B站回执误判修复**：`bili_reply_manual` 成功响应是 `ok:true + action + receipt.success:true`，并不带顶层 `sent:true`。修复主人社交聊天回复、自主待办发表评论与主人顶层评论发布三个调用点；记录嵌套 `receipt.rpid`，避免明明回复成功却显示 `uncertain`、丢失连续对话的回复 ID。成功仅代表 API 接受，不冒称公开可见；无明确成功回执时仍禁止自动重试。

- **dev.12 后续修复：只有标题时重复 insufficient-context**：社交探索意愿通过后，先实际只读查询视频信息、字幕、评论和弹幕；分别记录探索证据层级与发表评论选择，避免将未发表评论误认为拒绝探索。B站生活域资料读取不再写入主 Session 指定观看记录，关闭公开评论授权不阻止只读探索。
- **备份版本元数据修复**：备份导出使用安装包实际版本号，不再固定写入 `2.4.80`。

- **BUG-004**：统一 B站评论 `@` 与经过真实评论归属核验的直接回复入口；主人首次直接回复也进入聊天意愿判断，同一评论串中的温和劝说可重新评估，避免此前被 `req.kind==='at'` 阻断、落入普通 `ai_skipped`。留言回执预先去重，防止双路径重复公开回复；不处理来源不明的冒充回复。
- **三级社交能力边界**：陌生人采用限频、单次模型生成的轻量评论处理（不走双域意愿账本）；好友的评论与自动私信聊天采用双域意愿判断；主人保持更丰富但需独立授权的 B站生活域能力。意愿不能授予平台操作权限，未实现的投币仍禁用。
- **即时观看与可选待办分离**：主人提出“现在看”，经意愿通过后直接尝试读取；选择延期时加入已有待办。“有空看看”及有效的外部 BV 推荐进入现有 `owner-todos.json`，不经人工逐条审核也不直接触发点赞、投币或公开评论。
- **推荐来源合并与资源保护**：同一 BV 的多位推荐人合并为单个可选只读待办，保留有限推荐来源；陌生人每 24 小时的候选量与模型调用有界，不自动建立长期私人画像；被大肥鱼完成/忽略的同 BV 不因重复推荐重新打开。
- **自主调度每日 AI 决策上限由 12 提至 288**，最短间隔由 15 分钟调为 5 分钟。新安装默认 24 次/日、间隔 30 分钟，旧持久化设置不覆盖；`0` 仍表示禁用，单独的待办提醒与实时互动额度不受这一设置替代。
- 增加统一身份、线程关联、自然对话、自动去重、即时/延后观看、超过 12 次调度及成本边界的回归测试。真实 DSH/B站公开写入及完整动态情绪路径仍须部署后验证。

## 2.5.0-dev.11 (2026-10-29) — 自主评论反馈与记忆可视化

- 自主社交第二层评论决策读取前一层经过验证的意愿评分，意愿较高、公开视频证据充分时鼓励具体表达；仍可自主跳过，不能编造视频细节或受主人指挥发表指定正文。
- 模型跳过时使用白名单原因（没兴趣、暂无具体观点、证据不足、精力低），并映射成简短自然答复。主人自然 @ 邀请被拒绝、推迟或选择不评论时，会在独立评论权限、主人 UID、回复额度均允许时尝试**回复原 @ 评论**，不另发顶层评论；发送前保留防重复记录，结果不确定不自动重发。
- 「人生记忆」情绪页增加模拟情绪状态光环、真正由历史记录绘制的情绪轨迹、回忆触发四阶段流程与时间线；诊断列表可滚动，内部原因码隐藏到可展开技术细节，重复的无近期情绪诊断合并展示。
- 旧「💬 自主社交」无效锚点改为「社交互动」真实跨页导航；生活时间线增加轨迹视觉提示。动画遵守 `prefers-reduced-motion`，没有向模型或数据记录添加虚构状态。
- 更新 README 的功能说明、测试与版本元数据。主要回归覆盖自主跳过反馈、硬授权、去重和管理页面；真实 B站公开回复仍需端到端复测。

## 2.5.0-dev.10 (2026-10-29) — 主人推荐退订恢复与 README 精简

- 修复 BUG-003：主人私信被受限 Agent 优先接管时，先对 B站收件箱验证的近期主人偏好消息写入同 UID 的 `friend-interest-observations.json`，退订与恢复推荐不再因主人身份失效。
- 仅观察有效的新鲜入站消息，按平台 UID、消息 ID、时间戳和好友名册核验；重扫同一条消息不会重复追加事件，Agent 首次启用不回放旧私信。
- 好友自己修改推荐许可无需经双域意愿“同意”，也不赋予任何新的对外发布权限；原有意愿决策和独立硬权限保持不变。
- README 改为面向读者的功能介绍：突出双域意愿、三层人生记忆、模拟情绪、社交互动、真实 B站活动；移除首页版本流水账和历史升级说明，精简安装、隐私和开源致谢。
- 增加主人身份退订/恢复、历史重扫去重、来源核验和主人 Agent 消息吞吐的回归测试；真实 DSH/B站环境仍需回归验证。

## 2.5.0-dev.9 (2026-10-29) — 双域意愿系统（Dual-Context Agency）

- 新增 B站生活域的统一请求意愿判断：主人私信 Agent、旧版私信命令/待办、公开评论 @ 邀请和视频点赞，可根据模拟情绪、活力、好奇心及社交意愿决定接受、推迟或拒绝。
- 同一目标的独立、温和再次请求可有限改变决定；施压不提升权重。权限、每日额度、隐私规则和去重校验仍优先，意愿层不能授予执行权限。
- 意愿记录写入本地 `dual-context-agency.json`，不保存原文或原始 UID；重复轮询不会累积说服次数或反复发出拒绝回复。
- 明确区分主 Session 执行域与 B站生活域；README 增加核心特性和场景示例，管理中心社交页加入说明。
- BUG-003（主人身份的推荐退订识别）尚未在本次修复。

## [2.5.0-dev.8] - 主人公开 @ 自然社交邀请与自主评论（源码开发快照）

- 将主人公开 @ 中的“指定正文发评论”“写评论草稿”移出可执行入口：这类技术命令只在公开评论分流中被安全忽略，不会转发成普通 AI 评论。主人私信中的已有草稿、审核及发布操作不变。
- 主人可用自然邀请（如“来看看这个视频”“你觉得这个怎么样”“看完说说想法”）让大肥鱼读取公开视频资料、字幕/已有公开文本上下文，并**自主选择评论或不评论**。只有主动选择评论且正文通过长度、隐私校验，才允许发表到该视频顶层评论；无内容可说则记 `skipped`，不勉强发表。
- 公开评论沿用身份核验、BV 来源真实性、24 小时时效、持久化防重复和硬额度。`comment_publish` 旧公开明确正文动作不再接受。点赞请求保持独立开关。B站投币写入工具尚未实现，相关 @ 请求不执行任何投币行为。
- 仅一个可见公开评论授权开关，但使用全新的 `ownerCommentSocialPublishEnabled` 配置键，默认 `false`；原 dev.7 的 `ownerCommentPublishEnabled=true` **不会继承为新授权**。升级后需要用户在「社交互动」明确重新勾选并保存。
- 本次不修复延期中的 BUG-003（主人私信退订观察缺失），不新增临时草稿页面，也不修改用户原有运行数据文件格式；需在真实 DSH/B站环境做自然 @ 端到端验证。

## [2.5.0-dev.7] - 主人公开评论草稿上下文与空正文修复（源码开发快照）

- **BUG-002 继续修复**：主人公开评论草稿读取 `bili_video_info` 实际返回的 `description` 字段，同时兼容旧 `desc` 与常见 `data` 包装；修复简介此前丢失而提示模型返回空串的问题。
- 草稿提示词允许只根据真实、明确的视频标题写非虚构的中性评论，不冒称看过视频内容；保留不信任外部文字、隐私过滤和仅本地保存的边界，最多一次安全重试。
- 错误诊断区分 `video-metadata-insufficient`（没有有效公开标题及简介）和 `model-returned-empty-text`（有资料，但模型最后一次仍返回空字符串），不保存被拒绝的模型正文。
- 新增真实视频资料字段映射、空正文重试、外部指令隔离和发布边界的回归测试；保持主人公开评论直接发表权限、身份核验、日志及数据结构不变。
- **BUG-003 暂不处理**：主人身份私信跳过好友退订观察的问题按用户要求延期；不增加临时评论草稿管理界面。真实 DSH/B站端到端生成需升级后用新评论 ID 验证。

## [2.5.0-dev.6] - 社交互动独立页面与两项实测修复（源码开发快照）

- **社交互动单独成页**：将好友名册、社会认知与好友兴趣、主动回访、主人私信受限 Agent、主人评论受限 Agent 集中到「社交互动」页；人设、私信收件、普通评论记录仍在各自页面，不复制配置、不新增临时草稿 UI。主人公开评论权限现在单独保存，避免普通评论设置覆盖。
- **BUG-001**：区分全局拒绝推荐和兴趣厌恶；退订后恢复推荐不再被误写的「不喜欢视频」记录拦截。历史错误记录仅在读取时排除，保留原始审计数据及其他真实兴趣；修复推荐同意事件去重和空字符串主题匹配。
- **BUG-002**：主人公开评论草稿支持规范 JSON、代码围栏和文本包裹 JSON 的安全解析；失败时最多再生成一次，并返回不含草稿正文的分类错误码。保留 120 字、隐私、链接及换行校验，依然只写本地 `owner-dm-actions.json`，不会自动发布。
- 新增针对恢复推荐、旧数据、草稿解析与新布局的回归测试。需在真实 DSH 运行环境复测公开评论草稿创建；不预设一定通过端到端模型生成。


- dev.5：将好友名册的「设为唯一授权主人」与 `dmOwnerUid` 合并，保存时原子化校验身份、禁止多主人和角色授权不一致；取消勾选撤销主人私信/公开评论执行资格，独立写操作许可继续保留。
## [2.5.0-dev.5] - 社会认知与受限主人评论（源码实现，尚未正式发布）

- **dev.5 旧心愿流程清理**：移除后台私信「临时视频心愿」的设置、列表、补录/审核 API、刷视频 Agent 临时搜索词及 Python 评论 `temporary_wish_id` 自动公开 @，改由社会认知入口收集陌生人短期灵感和可信好友观看邀请。已保存的旧心愿在私信状态首次读取时归档为 `legacy_archived`，历史记录和发送回执仍保留于原数据/备份中，不自动迁入新候选、不重放。
- 安全主题词解析独立为 `lib/video-topics.mjs`，新系统不再依赖旧心愿注册/发信逻辑；文档采用客观的开源项目功能说明。


- **代码和文档同版交付**：`package.json` 已升级开发版号，新增 `lib/social-cognition.mjs`、`lib/owner-comment-agent.mjs`、管理中心设置及专门的 Node.js 回归测试；不修改 `main/v2.4.99`，不自动发布 npm。
- **陌生人 A 模式**：对新收私信的明确、安全视频愿望生成匿名临时候选，7 天自动失效、每日及同来源限额，只给日常探索增加至多两个低优先级主题；不建立陌生人画像、不授权任何写工具、不自动联系。
- **情绪驱动好友邀请**：好友私信中的明确 BV 请求、可信好友 @ 中的当前视频请求进入独立的只读邀请池。可选、默认关闭的后台审阅在高好奇度与活力、4 小时冷却条件下只调用只读查看；记录 `inspected-metadata`，不冒称已经完整观看。
- **退订与本人恢复**：真实白名单 UID 可以明确关闭所有主动视频推荐，需本人新消息明确恢复；主动私信分享生成/发送与公开视频 @ 的已有好友推荐闸门统一检查；不影响普通聊天。
- **主人评论 Agent**：真实主人 UID + B站平台视频 BV 双重核验；支持明确点赞、评论草稿、明确正文发布；各自独立开关、入账防重复，公开自然短回执默认关闭，只向外输出成功确认后的固定安全短句；禁用私密会话和好友画像作为输入。
- **兼容与边界**：旧友好名单、旧偏好及 `dev.4` 私信账本不重置；首次启用新 @ 监听不重放历史通知。当前为保守明确句式识别，不承诺开放式评论规划；只读资料审阅不等于真实看完整视频。真实 Windows DSH/B站模型与收发必须另行验收。

## dev.4 后续修复：统一好友关系、推荐渠道和双向意愿（未正式发布）

- 将原先分散的“后台私信白名单”“大肥鱼主动 @”重构到同一 UID 好友名册；每位好友可以选择私信、公开 @、两者或不主动推荐。允许日常私信与主动推荐分开授权，不会为了关闭推荐而强制停止正常聊天。
- 历史 UID、好友备注、人物关系和独立权限兼容旧配置；新增好友默认私信优先，不自动开启公开 @。旧配置的三种渠道权限不擅自扩展。
- 新增默认关闭的好友 @ 意愿只读监听。可以记录新鲜、明确的 @ 反馈而不公开回复；评论公开回复与只读意愿采集分离，首次监听只建立基线。
- 对明确要求不再被 @ 的好友建立 UID 专属渠道退出记录，公开 @ 发送前检查；仍可在获授权情况下通过私信交流。好友拒绝视频与主题的偏好过滤继续同时用于主动草稿生成和发送。
- 更新管理界面、README 和 `docs/FRIEND_CONTACTS.md`，扩充兼容与安全边界回归测试；`main / v2.4.99` 不变。

## dev.4 白名单好友推荐偏好纠正（开发版补丁，未正式发布）

- 识别白名单好友明确提出的推荐反馈，例如“以后别给我推这些，多推点美女视频”；记录正向主题、拒绝当前 BV，并且只有在 B 站实际视频标题能明确识别美食类别时才记录对应负向主题。
- 评论通知观察与 AI 回帖解耦：在评论/@监听已开启、收到新且有效的通知时，即使 AI 选择跳过或公开回复额度耗尽，也会只读记录偏好；不会自动回放启用前的历史通知。
- 顶层评论的公开 @ 邀请与主动分享草稿在生成/发送前按目标 UID 的拒绝 BV/主题再次过滤；其他好友、大肥鱼自身兴趣和全局选片不受影响。
- 管理中心展示明确偏好和拒绝重复推荐 BV 数量；只保存精简主题与证据键，不长期保存评论原文。真实 B 站通知端到端仍需在宿主环境验证。

## [2.5.0-dev.4] - 开发快照（未正式发布）

- **主人私信连续任务回执与日志时间修复**：同一轮收件中连发的短句碎片合并处理、逐条占位去重，仅回执一次；刚完成点赞后的纯指代碎片不再机械追加追问，明确新命令照常处理。`duty.log` 改用运行机本地 ISO 8601 时间与显式时区偏移，不改内部 UTC 状态时间。

- **dev.4 管理中心体验修复**：主人私信受限 Agent 从「人生记忆 → 自主待办」迁至「私信与好友」，独立保存与回读校验；移除重复的「写操作总开关」UI，写权限仍逐项授权且默认关闭，保存时同步内部闸门。避免待办调度参数校验影响 Agent 设置保存。

- **主人私信受限 Agent**：针对真实收件箱的主人 UID 使用专门的无工具模型进行自然语言规划；最多 4 个步骤，后端只执行严格白名单 B站动作，所有写权限独立授权、旧消息基线和消息 ID 占位防重。优先分流主人操作，避免被误收进视频推荐待选池。
- **主 Session 有限上下文桥**：显式开关允许读取用户选择的在线主 Session 的有限模型可见 user/assistant 纯文本，过滤工具与系统消息、可疑指令和明显敏感内容；另一个独立开关允许将确认成功的任务摘要通过 `agent.inject` 非唤醒写回。无权限、离线或缺少宿主 API 时安全降级。
- **连续任务与模型分离**：保留最近搜索结果、BV 焦点、草稿 ID 的私信短期状态；支持搜索真实视频并回传 BV 链接、下一轮引用同一视频。专用模型可在 AI 模型页配置并有独立无 MCP 安全 overlay、用量统计与连接测试。
- **陌生人私信诊断**：管理页面解释默认仅 1 次陌生人回复所导致的第二条不回复；昵称资料查询增加官方回退入口，空结果缩短重试间隔，不猜测昵称。
- **文档架构**：新增 `docs/AGENT_ARCHITECTURE.md` Mermaid 多 Agent 图，说明主 Session、刷 B站 Headless、受限私信 Agent、互动/反思与共享记忆的权限边界。开放式兴趣成长顺延 `2.5.0-dev.5`。
- 此版为 `dev` 源码快照，真实 DSH Desktop、B站私信、真实模型路由及在线主 Session 双向连接仍需真实环境端到端验证；不会自动发布 npm 或改动 `main/v2.4.99`。

## [2.5.0-dev.3] - 开发快照（未正式发布）

- **dev.3 合并交付（包含主人私信 B站操作扩展）**：无需先安装旧版 dev.3，再打额外补丁。按独立开关支持主人经真实 B站 UID 核验后明确请求点赞、收藏、关注取关、评论草稿及发布、动态草稿及发布、给好友白名单私信；查询类只读任务可立即执行。生成与公开发布必须分开授权，所有外部写入仍保留额度、对象限制、去重与不确定结果禁止重试；所有新权限默认关闭。
- 新增独立的本地主人私信动作账本和评论草稿 ID；仅处理接收时间 15 分钟内的命令，不把陌生人或旧消息当授权。评论草稿使用无 B站工具的受限模型，不会因“生成评论”直接发表评论。


- **情绪驱动自主回忆深化**：扩大主 Session 可读取的历史经历范围（解决之前只返回 20 条的限制）；严格来源 ID 核验前提下，支持视频/自身评论触发以及不同 BV 的谨慎主题关联。最近事件或反思情绪变化可唤醒评估，保留定时兜底与原有安全闸门。
- 新增相关记忆候选数、历史搜索规模、近期事件回看天数、旧记忆最短间隔、情绪强度和情绪有效期设置；模型决策前候选必须可追溯，不因放宽检索而授予发送权限。
- 新增无需记录私密正文的回忆评估诊断与受限多样化分享语句；预览不外发。模型仍只选 memory ID、允许渠道与是否分享，不写入历史事实。
- **主人 B站私信立即查看视频**：仅经 B站收件箱核验的精确主人 UID 可发 `大肥鱼 看/现在看 BV号`，立即尝试只读查看、记录任务状态和发送可核验反馈；`有空看看` 只入队，默认拒绝未经独立开关授权的写入命令与伪造发送者。查视频资料不等于完整观看画面。
- **生活动态草稿模型独立配置**：默认沿用后台互动模型（而非人生反思），可在 AI 模型页单独设定；新模型同样使用无文件、无 Shell、无 B站工具的安全 headless overlay，拥有独立用量记录和连接测试。
- 管理中心把原「日常动态」明确命名为「B站动态创作」，与「人生记忆 → 大肥鱼的一天」区别；同步 README、源码安全边界与测试。
- 本次只是 `dev` 分支开发快照；不替换 `main` 的 v2.4.99 / npm / GitHub Release。真实 DSH / B站端到端测试仍需完成。

## [2.5.0-dev.2] - 开发快照（未正式发布）

- 情绪主动回忆：每日发送次数移除原本的 3 次上限，仍保留「0=不发送」；新增独立的「不限次数」开关，默认关闭，免打扰时段、授权、评估间隔、真实证据与去重条件继续有效。
- 评估间隔改为 1–48 小时，默认仍为 24 小时，避免升级后未经同意增加模型请求频率。
- 动态草稿：增加后端删除能力提示与真实 HTTP 路由回归测试；后端未加载新版时显示重启提示，只允许删除未发布的草稿，不删除已公开/结果不确定的记录。
- 「人生记忆与检索设置」各选项新增浅色一句话说明，解释调整后对模型额度、召回质量和存储的影响。
- 本版本仅为 dev 分支源码快照；不自动发布 npm / GitHub Release，真实 DSH Desktop / B站端到端测试仍需用户侧验证。

## 开发中 · 管理中心体验优化（基于 2.5.0-dev.1，尚未正式发布）

- 生活动态增加可撤销的本地未发布草稿删除；已发布/结果不确定记录不可删除。
- 动态生成增加页内状态、超时/模型错误提示，所有管理操作增加忙碌提示与可见消息。
- 刷新管理页保留当前选项卡，链接可带 `?tab=dynamic` 等定位。
- AI 增量/全量规则更新改为带说明的样式化确认弹窗。
- 统一管理卡片渐变与彩色边框；旧版关系成长档案改为折叠的历史兼容资料（数据不删除）。

## [2.5.0-dev.1] - 开发快照（未正式发布）

- 新增默认关闭的「情绪驱动自主回忆与主动分享」模块：模拟情绪变化和最近真实入选 B站视频共同提供候选，旧记忆必须关联更早的原始反思候选证据 ID 和可比对的 BV / 明确标题片段。没有可核验历史经历则沉默。
- 受限后台模型仅能从已验证的 memory ID 中选择跳过、主 Session 或主人 B站私信，不能发明接收者、回忆正文或授予权限；实际分享由真实新旧记录确定性组成。
- 新增主 Session 主动开口（DSH `agent.followup`）和主人 B站私信 (`bili_send_message`) 两条独立授权渠道；B站私信目标严格限定为主人已配置的 `dmOwnerUid`。
- 管理中心「人生记忆 → 情绪与心情」增加总开关、两个渠道授权、每日次数、冷却时间、免打扰时段及不发送的预览评估；默认均关闭。
- 新增持久去重和发送状态；新的账本仅保存时间、候选 key、结果，不保存分享正文，并纳入受格式校验的业务备份。
- README 增加故事化介绍与真实配置路径，明确这是开发预览而不是 v2.4.99 已发布功能。
- 该版本仅通过本地自动化测试与插件自检，仍需在 DSH Desktop 与 B站账号中端到端验证；不会自动创建 GitHub Tag、Release 或发布 npm。

## [2.4.99] - 2026-10-28

- 新增可选的**独立后台自主调度**（默认关闭）：模型在限时、冷却、每日额度内从现有只读待办选择执行/延期/忽略/跳过，或按现有人生反思证据门槛请求反思；不依赖主 Session 提醒。模型失败计入预算。外部写入操作不在调度器能力中。
- 为视频推荐和主人主 Session 新增待办来源记录；管理中心显示原私信正文/消息 ID/发送者、主 Session 原话；来源文本**仅供主人审阅，不输入独立计划员上下文**。旧数据兼容。
- 新增默认关闭、严格 sender UID 校验的主人 B站私信只读指令入队入口。明确不支持经 DM 自动授权点赞/关注/评论/发私信。
- 真实视频选择完成后，从真实标题 `#话题#`、`【主题】`、`《名称》` 等片段自动形成待核实梗线索，可跨 BV 去重/反思。仅文字线索，不识别画面、人物形象或推断梗的事实含义。
- 人生反思进一步强调原始候选经历是唯一事实证据；AI 回忆、模拟情绪、联想、念头不可反向重写原始事件。
- **情绪触发主动回忆明确暂缓**：保留未来状态结构与唤起流程方案，不实现虚假的心情检索权重。评论表情包功能维持原有能力，真实图片表情包在私信/主 Session 发送仍未接通。
- UI 增加独立调度配置及状态、来源引用、主人 DM 只读入口开关；插件默认关闭新增可执行能力，不要求删除或迁移运行数据。

## [2.4.98] - 2026-10-28

- 在「表情包管理」新增 AI 维护语义规则提示词编辑器，可查看当前内置提示词、保存自定义版本、恢复默认。
- AI 规则维护使用已保存的提示词；未保存修改时点击更新会提示先保存，避免界面内容与实际请求不一致。
- 提示词只负责稳定的评论语境到真实图库名称/分类映射；运行时兴趣继续由本地检索动态排序，不写入规则提示词，也不触发全量规则更新。
- 本次请求只附加更新模式、真实图库名称变化和现有规则；不包含兴趣摘要、评论正文、私信、好友画像或图片像素。
- 服务端对提示词长度与控制字符做规范化；AI 输出仍须通过 JSON 结构、规则数量、字段长度和真实图库 target 校验，不合格时保留旧规则；日志只记录提示词已更新，不记录正文。
- 默认提示词与现有规则 schema 兼容，旧用户无需迁移；不增加日常评论的模型调用或 Token 消耗。

## [2.4.97] - 2026-10-28

- 将 AI 表情包规则维护与大肥鱼当前兴趣彻底解耦：维护提示只包含真实图库名称/分类与现有规则，不再注入兴趣摘要。
- 明确规则是相对稳定的“评论语境 → 真实图库名称/分类”词法映射；兴趣变化不需要增量或全量重写规则。
- 保留本地检索的实时兴趣加权：每次检索读取最新有效兴趣，只调整已经与当前评论匹配的候选，零额外 Token，不会因兴趣单独召回无关表情包。
- 更新 AI 模型页、表情包管理说明与 README，清楚区分稳定规则维护和动态兴趣排序。
- 当前兴趣仍主要由入选视频标题中的预设主题词形成；不新增通用人物/角色识别，也不分析图片画面或生成视觉语义标签。
- 旧 `comment-meme-rules.json` schema 与兴趣档案格式兼容，无需迁移。

## [2.4.96] - 2026-10-28

- AI 表情包规则维护提示新增大肥鱼自身的后天兴趣摘要（主题、兴趣阶段、近 90 天证据计数），不读取主人额外选片关键词、好友画像、私信正文或视频标题。
- 本地表情包检索读取 `life-memory/interests.json`，仅使用跨日/多视频证据达到门槛的有效兴趣对已匹配候选进行小幅排序加权；兴趣不会单独强行召回无关图片，日常检索零额外 Token。
- 兴趣主题增加独立的「奶娃」与「奶蛙」记录，避免仅凭近音合并；仅在真实入选视频标题出现相应词且跨日证据达标后，才影响排序。
- 管理中心补充兴趣加权说明：图库无变化时 AI 增量更新仍会为节省 Token 跳过模型调用，但当前兴趣会即时影响本地排序；全量优化或实际规则更新时将参考兴趣摘要。
- 不新增视觉语义标签、不读取图片像素、不增加每条评论的模型调用；既有 `comment-meme-rules.json` schema 与旧规则兼容。
- 新增兴趣摘要安全过滤、提示词兴趣上下文、奶娃兴趣排序、无关查询不强行匹配及过期/未知兴趣忽略测试。

## [2.4.95] - 2026-10-28

- 主 Session 新增 `dafeiyu_life_recall`，可主动检索身份级长期记忆与本地真实 B 站经历；记忆关闭时仍可查经历。
- 新增 `owner-todos.json` 自主待办系统：私信 BV 推荐去重入队，主 Session 可新增/查看/延期/忽略/执行任务，支持看视频、点赞指定 BV、查看空间/UP 投稿、搜索、检查通知、收藏、关注/取关，以及按主人明确给定正文评论/私信。
- 外部写入型待办仅在主人明确提出对应动作时预授权；推荐消息不会授权点赞/收藏/关注；写入结果不确定时进入待核实并阻止盲目重试。
- 管理中心「人生记忆」新增自主待办列表、只读待办新增、立即处理/延期/忽略，以及独立可选的自动择机检查。
- 明确自动刷视频是可选后台计划，不是记忆、反思、情绪或主 Session 手动操作的前提。
- 主动回访每日额度取消硬编码 3 次上限，支持设置大于 3 的整数；保留白名单、14 天冷却、总开关与发送回执检查。
- 自主待办数据加入结构校验后的可携带业务备份；旧数据无需迁移。
- 新增待办去重、任务执行/延期/不确定回执、主 Session 回忆工具、超 3 次主动回访专项测试。Node.js 全量回归 466/466 通过，Python unittest 126/126 通过，插件自检通过；真实 B 站写入操作尚未端到端执行。

## [2.4.94] - 2026-10-28

- 主 Session 新增统一的 B 站能力桥：可查看视频详情、字幕、评论串和弹幕，并通过 `bili_watch_video` 汇总检查指定视频。
- 新增热门视频/热词/周榜/分区榜、UP 主资料与投稿、收藏夹内容、未读数/回复/@通知等只读工具。
- 新增主人明确指令下的手动收藏、单目标关注/取关、评论/回复和白名单私信工具；写操作要求 `confirm=true`，并检查总开关、登录、白名单、每日额度及防重复账本。
- 手动关注写入与自主关注共用关系账本；取关仍只允许本插件关注满 7 天的目标，不会修改主人原有关注。
- 主 Session 指定观看的视频会写入本地判重记录和 `session-watch-history.json`，即使该 BV 以前已在判重表中也保留手动观看经历；记录纳入人生经历收集与可携带业务备份。没有字幕/视觉证据时不得编造画面。
- 自动刷视频 Agent 的 MCP 白名单仍不开放主 Session 专用手动工具；没有开放上传视频、发布动态/专栏、凭据或任意账号管理权限。
- 更新 README 与发布说明。

## v2.4.93 — 主 Session 手动点赞工具（2026-10-28）

- **修复用户实测：**主 Session 记得主人要求点赞的 BV，却因点赞工具只注入 headless 视频 Agent 而无法执行。新增 Session 可调用的 `bili_video_like` 工具，支持对主人明确指定的单个 BV 执行真实点赞。
- **与自主点赞分开：**管理页「允许大肥鱼自己决定点赞」仍只控制刷视频时的自主决策；主人在主 Session 明确要求点赞是单条手动操作，不要求该 BV 先进入当天选片日报。
- **安全闸：**要求大肥鱼总开关开启、B站已登录、BV 格式正确、每日点赞上限大于 0；与自动点赞共用 `video-actions.sqlite3` 账本、每日额度和同视频去重，失败或结果不确定时不自动重试。
- **真实回执：**仅在 Python B站 API 返回成功后向 Session 返回成功；工具缺失、未登录、额度为 0、重复操作或 API 失败均返回明确错误，不允许模型凭空声称已点赞。
- **界面说明：**明确区分自主点赞开关与 Session 手动点赞；每日点赞额度说明为自动与手动共用。
- **兼容：**沿用原有登录凭证、点赞 SQLite 账本和配置文件；无数据库迁移。自动刷视频的 headless 工具白名单不开放手动点赞入口，避免它被视频内容触发。
- **测试：**新增主 Session 工具注册、显式 BV 校验、未登录/总开关/额度拦截、手动点赞不依赖当日选片记录、自动与手动共享额度及防重复专项测试。仅本地模拟，不代表真实 B站账号已完成端到端点赞。

## v2.4.92 — 补齐情绪系统、关系成长与生活时间线（2026-10-28）

- 正式实现持续角色情绪：私信/评论互动与公开生活经历反思可在既有模型调用中返回情绪类别；本地只保存类别、强度、时间和泛化来源，不保存 UID、消息正文、视频标题或触发原因。状态含正向度、活力、好奇心、社交意愿，并以 18 小时半衰期衰减，72 小时或强度低于阈值回归平稳。
- 人生记忆页新增情绪仪表、变化历史、启用开关和手动重置；主 Session 获得内部情绪状态提示，B站互动只获得不含原因的表达节奏提示；刷视频 Agent 可在兴趣和质量门槛内按好奇心尝试不同来源，低活力时更果断跳过低价值候选。情绪不作为强制发言/私信理由，不宣称真实生理感受。
- 新增白名单关系成长账本：只记录已登记 UID 的私信/评论互动方向、渠道、时间和哈希事件标识；不保存聊天正文。按跨日、双向互动的保守证据显示「刚认识 / 逐渐熟悉 / 互动渐多 / 经常互动」，长期未互动会显示「近期少联系」。可按 UID 清除；数据不进入普通可携带业务备份。
- 兴趣档案增加短期兴趣、成长兴趣、较稳定兴趣和近期淡出标签；新增结构化核心兴趣设置，核心兴趣按日轮换并优先参与选片，后天兴趣填补剩余位置。好友兴趣按近半年证据数、近期矛盾表达和冷却状态显示，原始人设仍不被自动覆盖。
- 人生记忆页新增「大肥鱼的一天」时间线，聚合真实入选视频、公开评论、粗粒度情绪变化与关系阶段变化；不显示私信正文或私人画像。
- 自主社交增加单独默认关闭的「自主分享意图」开关：仅对可私信白名单好友，在真实入选的公开视频与主人设置/重复自述的兴趣有明确文本匹配时，允许模型选择跳过或生成分享草稿；心情本身不会触发私信。关闭新开关后，旧的自主分享草稿也不能发送。自动发送仍需独立授权，并沿用每日额度和 14 天冷却。
- 业务备份增加校验后的 `life-memory/emotional-state.json`；好友关系/兴趣观察和社交草稿继续排除在可携带备份之外。
- 新增 11 项情绪、关系、时间线、自主分享专项测试；Node.js 全量回归 454/454 通过，Python unittest 117/117 通过；仍需用户在真实 DSH/B站环境验收互动生成与页面显示。

## v2.4.91 — 人生记忆与自主社交 + 用户私密信息保护（2026-10-28）

- 在本地视频选中和已发评论主账本上增设独立人生经历候选收集，不再依赖是否选中主 Session；自动反思原有去重与受限模型校验保留。
- 仅对名册白名单 UID，从对方自身真实私信/评论的明确自述中积累简化后天兴趣证据，初始画像不覆盖，管理中心可查看、清除；非白名单不建长期兴趣画像。
- 为白名单好友的真实 BV 推荐与新入选视频生成选择性社交意图；管理中心新增加草稿审阅、手动发送、单独授予自动发送及冷却/每日额度；默认关闭所有主动社交权限。
- 私密边界：外部私信/评论禁用主人身份长期记忆检索；跨 UID/私信与公开评论 LLM 请求隔离；公开评论不携带任何好友私密画像；疑似套取第三方私信/凭据在生成前拦截。
- 视频 MCP 只允许将未来有明确主人公开审核标记的身份记忆投影到 B站 Agent，不再因为 `life-reflection` 来源而默认公开。
- 新的敏感好友兴趣与回访草稿文件不纳入普通可携带业务备份；已存于用户本地，保留既有业务备份兼容性，私密管理接口增加跨站访问限制。
- 扩展相关回归用例，保留历史开源作者、贡献与许可证引用。参见 `RELEASE_NOTES_v2.4.91.md`。

## v2.4.90 — 修复 B站私信推荐入队与 AI 回复脱节（2026-10-28）

- **修复用户实测：**`video-recommendations.json` 已保存分享 BV，但后台私信 AI 没收到已入队状态，误称“只有 BV 号、没有标题/字幕/画面，什么都看不到”，还让对方复述视频。现在生成回复前会将已确认入队的 BV 及准确状态注入该用户的独立私信上下文。
- **只读查公开信息：**对于当前对话实际分享、已存在于本地候选队列的 BV，最多查询两个视频的 B站公开详情，取得可验证的标题和 UP；固定 HTTPS 接口、限制响应大小、4.5 秒超时、10 分钟缓存，不执行任意 URL、不加载 B站 MCP 写入工具，不传登录 Cookie。网络不可用时仍能自然确认已收下推荐。
- **不假装看过：**公开标题不是字幕或画面。提示词明确区分「私信接收推荐」与「视频 Agent 自主查看」；不要求用户讲解已保存 BV，不假称系统无法找视频，不保证一定观看或自动私信回访。针对错误拒绝话术加入极窄兜底修正，不改变普通闲聊、评论和 SKIP 行为。
- **后续追问：**同一用户在历史里推荐过 BV，之后问“那个视频看了吗”时，可带入真实候选状态；绝不从其他用户会话取历史，也不因为候选入队就推断已观看。
- **兼容：**继续使用现有 `video-recommendations.json` v1，不修改 B站 Agent 自主浏览、点赞、关注/取关权限或长期记忆。新增 8 项专项测试及完整回归。

## v2.4.89 — 第一阶段 B站 Agent 自主行为与按需评论（2026-10-28）

- **关闭持续扫热评：**后台只定时检查本人收到的评论回复、@ 邀请与私信。即使旧配置开启“主动参与近期热评”，调度器也不会恢复独立轮询；移除相关设置入口，保留按当前视频回复时可用的热评数量选项。
- **按需评论上下文：**收到具体回复后，先读取当前评论串、视频信息和必要字幕供 AI 判断；AI 判断要回复时才读取同视频的其他热门评论并结合上下文重新决定，仍允许跳过。正常刷视频的原创主评论按当轮需要读热评，不在后台巡查旧视频。
- **B站内自主选片：**不再强制每轮同时使用关键词与首页推荐；兴趣、首页、主人指定额外主题、别人通过 B站私信分享的 BV 都只是候选。Agent 可自行决定查看、跳过或不挑任何视频；是否入选仍要执行热度核对、判重、原额度和安全约束。
- **别人的视频推荐：**从已有私信只读收件箱提取最近 24 小时文本内的真实 BV，有限去重、最多保存 50 条、只显示最近 7 天的最多 6 条候选，不保存原始私信内容或将其当执行指令。入选还是由视频 Agent 自主判断；相关候选随完整业务备份。
- **自主关注／取关：**管理中心新增主人授权开关（默认关闭），仅授权三项工具 `bili_user_info` / `bili_follow_creator` / `bili_unfollow_creator`，不开放关注列表、分组、拉黑或批量关系操作。关注仅限当天真正入选的 BV 原 UP（先验当前账户未关注），每天最多 3 个；取关仅限 Agent 自己至少 7 天前关注的 UP，每天最多 1 个，失败不自动重试。
- **安全与兼容：**追加写入关系操作 SQLite 账本，在外部操作前硬校验白名单、登录、暂停、视频归属及额度；旧配置与业务目录继续兼容。来源/许可证说明中补充 `bilibili-api-python` SDK 和单目标关系接口文档引用，无额外复制第三方代码。
- **阶段约束：**暂不开放其它 B站工具、账号关系列表或第二阶段长期记忆重构。真实 B站账户外部操作需用户在自己的环境手动启用并测试。

## v2.4.88 — AI 模型任务调用统计与独立连接测试（2026-10-27）

- 管理中心「AI 模型」五个任务区（刷视频、后台互动、人生反思、独立视觉、人生记忆检索）显示「今日调用次数」「上次调用时间」，本地时区显示。
- 用 `model-usage/YYYY-MM.jsonl` 以追加方式记录实际发起的模型任务；Node 子进程及 Python 独立视觉/视频侧语义检索共用同一数据格式。跨天自动归零、保留历史最后调用时间，统计账本纳入业务备份白名单。
- 数据为**插件发起的任务次数**，不是供应商逐次 API 请求、Token 或计费统计。失败的已发起任务也计数；缓存命中、未启动、测试连接不计数。仅自 v2.4.88 起记账，不伪造旧版历史。
- 每个模型任务增加「测试连接」：使用该任务已保存的 Provider、模型 ID 与思考深度进行真实文本模型请求，返回连接状态、耗时与错误原因；测试请求不影响日常任务次数。测试可能消耗额度、每任务至少间隔 60 秒、单次最多 45 秒且全局同一时刻只允许运行一个。
- 测试使用单独 `headless-model-test-overlay.yml`，严格禁用 B站 MCP、文件、Shell、浏览器及其他模型工具；不会点赞、评论、发私信、修改记忆。独立视觉的连接测试只校验文字响应，不代表图像能力已验证。
- 配置键、用户记忆和旧数据格式不变；新增 v2.4.88 测试，修正一项仍依赖已移除预览搜索变量的历史测试定位。

## v2.4.87 — 人生反思模型独立配置、移除提示词预览搜索、统一经历命名（2026-10-27）

- 在管理中心「AI 模型配置」新增「人生反思与经历提炼」模型组，独立配置 Provider、模型 ID 和思考深度；留空时继承 DSH 当前默认模型。
- 人生反思调用使用专用 `headless-reflection-overlay.yml`，仅开放必要的账号模型路由，不挂载 B站 MCP、文件、Shell 或浏览器工具；与后台互动模型配置分离。
- 将「当前附加到提示词的内容（只读）」下方的搜索输入框、刷新/清空按钮及关联筛选逻辑移除，保留只读规则预览。
- 统一人生记忆页面术语：「经历记录」指本地原始事实；「待汇报经历」指发往主 Session 的队列；「待反思经历」指供反思模型分析的候选；「人生记忆」指反思后值得长期保存的结果。
- 明确经历汇报和人生反思是独立流程：发送给主 Session 不代表已经写入人生记忆；反思也不依赖经历是否已发送。
- 配置新增三个反思模型字段，保留原有数据文件、反思候选和长期记忆格式；未执行数据迁移或删除。
- 新增 v2.4.87 模型路由、只读预览无搜索和记忆术语专项测试。

## v2.4.86 — 设置页致谢顺序、模型页面报错修复、补历史文案与入队行为（2026-10-27）

- 日常页尾部顺序调整为「项目仓库 / 第三方声明」链接 → 作者 B站主页「长条动物」→「开源来源与致谢」的完整出处内容，链接保持可点击。
- 修复「AI 模型配置」打开时报 `Cannot set properties of null (setting 'checked')`：管理中心 HTML 漏了 `models-vision-debug` 复选框，JS 却写入 `checked`。恢复该控件并保存旧有 `visionDebug` 配置；保留历史视觉 `auto` 模式，下拉框和内部路由不会静默覆盖老配置；删除重复写入。
- 人生记忆按钮改为「把过去 7 天遗漏的经历加入待汇报」。7 天是向过去回看，不是需要等满 7 天。按钮执行本地回填、不发送消息；桥接与自动同步均启用时，按配置间隔和每日上限尝试发送，主 Session 离线则继续保留。
- 明确手动回填只要选择了目标主 Session，就算关闭自动同步也可加入待汇报队列；未设置目标时返回明确错误，不再静默“补充成功但没入队”。未重新打开自动发布、评论或任何其他外部操作。
- 模型设置仅在「AI 模型配置」保存：其他人生记忆设置页不会额外覆盖模型字段。既有 DSH 配置键、用户数据目录、梗库、人生记忆及业务备份格式保持不变。
- 新增运行式模拟 UI 测试与历史入队回归测试，覆盖字段实际存在、调试开关保留、默认停止自动同步时手动补历史不发送、重复补历史不重复发送。

## v2.4.85 — 统一设置、日常动态、跨视频学梗与可调点赞上限（2026-10-27）

- **设置方案 A：** DSH 原生设置只显示「日常」控制台，保留总开关、立即运行、刷视频时段、刷视频间隔、登录/依赖快捷操作；底部保留作者「长条动物」B站主页和完整「开源来源与致谢」。旧「偏好/互动/高级/关于」标签不再展示。
- **集中配置：** 管理中心新增「AI 模型配置」「B站生活与互动」「日常动态」。视频、后台互动、视觉、长期记忆检索四类模型的 Provider、模型 ID、思考深度集中保存；识图开关与模式、语音转写、评论表情包、报告私信的发送方式和收件人等既有功能也迁到管理中心，避免原生标签移除后无法编辑；不更换已有配置键和用户数据目录。
- **评论分享：** 同步动态仅在大肥鱼真的想与大家分享且内容独立可读时才触发；保持原有开关、配额与评论成功回执闸门。
- **自主生活动态：** 新增从真实已选视频及兴趣趋势生成的第一人称生活动态草稿。草稿与公开发布分离，默认不开启、默认只生成草稿；可配置每日最多发布 0–10 条，自动发布也需主人明确关闭「仅草稿」。每个草稿要求真实 BV 证据，不能把私人长期记忆或聊天内容当公开素材。
- **安全发布：** 独立无 B站工具的模型生成草稿，固定 Python 路径使用已登录账号发布；额外 SQLite 自然日配额、发布前占位、发送结果不确定时不重试，备份草稿与配额。
- **点赞额度：** `autoVideoLikeDailyLimit` 由默认固定 10 改为可配置 0–100，真正下发到 Python MCP；不能由 AI 工具参数抬高。点赞仍默认关闭，必须是当日真实入选视频。
- **跨视频梗学习：** 新增 `bili_meme_observe`，单视频只记录真实文化线索，不猜释义。跨视频反思要求同一名称至少两个不同 BV，受限模型仅引用真实观察 ID，按「梗/角色/人物/系列/其他」归类，新知识以待核实等级自动启用；梗库与人生记忆保持独立。
- **情绪系统：** 在「日常动态」页预留未启用位置；本版不引入虚构情绪值或持续情绪模型。
- **兼容性：** 既有记忆、梗知识 SQLite、点赞收藏账本、评论、私信、原始人设和自定义 `duty.md` 均不迁移删除；自定义值班章程仍通过 `.new` 提示人工合并。

## v2.4.84 — 自主点赞、主题收藏、自动学梗、兴趣主导选片（2026-10-27）

- 大肥鱼看完入选视频后自己决定是否点赞、是否收藏。自动点赞与自主建夹分别配置、默认关闭；独立每日限额、严格选中视频校验、跨轮防重复、失败安全停止。
- 取消「所有挑中的视频自动进入一个固定收藏夹」；新建收藏夹使用「大肥鱼·主题」私有名称，先复用已有同名夹、受每日与总量上限保护。不删除或改动旧收藏夹。
- 新梗有真实 BV 和证据通过校验后直接 approved，不再等待主人审核；「待核实」仍是证据等级，不表示事实已经确认。旧待审记录保持原状态以避免误批准。
- 兴趣档案成为日常搜索主题来源；主人关键词改为「额外指定关注主题」；兴趣不足采用多方向冷启动。沿用现有质量门槛与数量配额。
- 本版**没有实现梗进入人生记忆或由人生反思凝练梗**；留待讨论。

## v2.4.83 — 管理中心易用性、梗知识可信度与专用检索思考深度（2026-10-27）

- **设置页统一视觉：**管理中心全局统一卡片层次、按钮、焦点样式、暗色和移动端；人生记忆兴趣卡的彩色证据进度条与状态展示更突出。
- **梗知识可信度更明确：**人工添加区改为「释义证据」，区分待核实线索、已核对文字依据和审核批准。待核实的释义可以作为有限线索，但 AI 不能当确定事实。
- **学习状态：**梗知识、人生经历、兴趣趋势和自动反思加入绿色实时状态标签；关闭功能时清晰显示暂停状态。
- **主 Session 同步易懂：**将“经历同步频率 / 队列”改成“把新经历告诉大肥鱼的频率 / 等待告诉主 Session 的经历”，明确投递目标和补充历史不会立即发送。
- **备份说明：**明确完整业务备份包含 `comment-meme-rules.json`、SQLite 梗知识和人生记忆，但不包含表情包图片；素材请另导 ZIP。
- **关于页：**作者 B站主页直接以可点击的「长条动物」四个字呈现。
- **低成本检索模型：**新增独立 `mainSessionMemoryReasoningEffort` 设置，经 DSH 的 `agent-default-model.config.reasoningEffort` 送达独立记忆检索模型，沿用供应商支持的原生写法；留空不覆盖模型默认值。
- **兼容：**沿用现有 `$DSH_HOME/bili-duty` 数据路径，备份 schema 保持兼容；没有删除旧设置或记录。版本从已发布的 v2.4.82 升级为 v2.4.83。

## v2.4.82 — 常驻身份记忆与低成本语义检索（2026-10-27）
- **同版本整合修订：**「成长经验」收束并改名为「行为与表达改进」，新审批仅录入行为和评论表达规则，直接作为额外提示词注入；历史非表达类型不会删除，作为只读资料纳入统一人生记忆检索，获主人批准的角色关系优先于冲突的自动事实。
- **兴趣档案：**新增 `life-memory/interests.json`；依据真实不同 BV 与跨日观看证据，维护开始关注、持续增强、较稳定、近期减少等状态。不从一次观看推断永久偏好，不自动改关键词或原始人设；常规趋势不再批量写成重复人生回忆。
- **管理中心独立人生记忆页：**大肥鱼的家保留设置，新页集中呈现兴趣、关系、历史、反思与检索。增加彩色兴趣阶段卡、证据进度条、主题色操作按钮、深色/移动端样式。
- **关于页：**新增作者「长条动物」B站主页链接 `https://space.bilibili.com/210228238`。版本保持 `2.4.82`，旧数据目录和原有评论、私信、记忆账本不迁移。


- 基于 v2.4.81 的三层人生记忆架构，新增 `lib/memory-retriever.mjs`：常驻身份卡 + 本地候选排序 + 可选专用低成本模型筛选 + 按 ID 读取真实记忆正文。未开启独立模型时保留本地检索，不修改原有 `dafeiyu.json` 数据格式。
- 主 Session 每轮带入少量身份记忆，并新增 `dafeiyu_memory_recall(query)` 只读补召回工具；原 `dafeiyu_remember` 写入与事实键更新机制不变。
- B站后台评论与私信按每条请求独立准备记忆上下文，避免同批次跨用户串记忆；主动刷视频 Agent 可在确实关联旧经历时通过 `bili_identity_memory_recall` 动态查询。
- 对外互动只允许读取 B站公开经历，或带 `可公开` 标签的记忆；主人称呼、私密偏好等其他主 Session 记忆默认不注入公开评论和其他用户私信。
- 管理中心新增检索模型 Provider/ID、启用开关、候选数、每日检索额度、手动召回测试和路径诊断。未配置或调用失败时自动退回本地搜索。
- 独立模型使用受控 headless overlay，关闭 B站 MCP、Shell、文件、Web、会话查询等高风险工具；模型只能选择本地候选 ID，不能自行生成“过去的事实”。视频 MCP 使用独立 SQLite 配额记账。
- 现有备份、人生候选、自主反思、梗图库与评论账本保留，不自动删除或迁移旧数据。尚未使用真实 DSH Desktop 登录模型与 B站账号进行端到端验收。

## v2.4.81 — 三层人生记忆、自主反思与未来路线图（2026-10-27）

- B站生活经历不再逐条直接写入 `long-term-memory/dafeiyu.json`。新的长期生活链路改为：**精确经历档案全部保存 → `life-memory/candidates.json` 经历候选池 → 受限 AI 自主反思 → 少量人生记忆凝练**。
- 新增 `lib/life-reflection.mjs`：候选按真实本地事件去重，普通刷视频和普通评论可以被反思后直接放下；一次反思最多生成 3 条人生记忆，且每条必须引用本批真实 `candidate_ids`。
- 自主反思使用现有受控 headless 模型，但不挂 B站 MCP、文件、Shell、任意 Web 或其它高风险工具；视频标题、昵称和评论正文明确作为不可信数据，模型只允许返回 JSON，插件再次校验候选 ID、正文、数量与重要度后才写入长期记忆。
- 管理中心「大肥鱼的家」把记忆重新排成：当前 Session 短期上下文 + **①精确经历档案 → ②经历候选池 → ③人生记忆凝练**。新增待反思数量、最近反思、当天批次、候选列表和「现在反思一次」。
- 自动反思默认开启，默认至少积累 6 条候选、每批最多 16 条、至少间隔 6 小时、每天最多 2 批；均可在管理中心调整。手动反思可忽略数量和间隔限制，但仍执行同样安全校验。
- 反思生成的长期记忆来源标记为 `life-reflection`，并保存 `evidenceKeys` 指向候选事件，方便以后审计“这段人生记忆是从哪些真实经历凝练出来的”。
- 完整业务备份新增 `life-memory/candidates.json`，因此未反思候选、已反思状态和反思运行记录也会随业务数据迁移；大肥鱼长期记忆专用备份仍只保存最终身份记忆，不混入候选池。
- 候选池随完整备份恢复时新增结构校验：限制候选/运行记录数量、候选 ID、BV 号、状态、文本字段和关联记忆格式，拒绝被篡改或结构异常的候选数据进入运行目录。
- 升级不会擅自删除 v2.4.80 以前已经写入 `dafeiyu.json` 的 `bilibili-experience` 记忆；管理中心继续将其标为旧版直写来源。新产生的 B站事件才走候选池与自主反思。
- README 正式加入项目未来路线图：以“可成长 AI 伙伴”为主线，逐步吸收克制的自主数字生命能力，包括主动生活、自主反思、兴趣演化、关系成长、QQ/多平台生活、跨平台事件链、大肥鱼的一天、生活意图、共同历史与整个人生迁移备份。所有路线图项目均明确标为规划方向，不冒充已实现功能。

## v2.4.80 — AI 语义长期记忆、独立备份与表情包整库 ZIP（2026-10-27）

- 完整业务备份继续包含 `long-term-memory/dafeiyu.json`，同时新增“大肥鱼长期记忆”专用备份/恢复：独立 JSON 只保存跨 Session 身份记忆，恢复前自动保存当前记忆安全快照，避免最重要的人格连续性数据只依赖整包备份。
- 完整业务备份普通文件安全上限由单文件 4MB / 合计 32MB 调整为 8MB / 48MB，与身份记忆自身 8MB 上限对齐；JSON 仍只是本地容器，不把表情包图片塞进业务备份。
- 管理中心“数据备份”重写说明：明确完整备份已经包含长期记忆、独立记忆备份属于额外双保险，并区分当前 Session 聊天历史、身份记忆和精确经历档案。
- 表情包管理新增“导出全部表情包 ZIP”，按原 `comment-memes` 目录结构保存真实图片文件；不再需要用户手工复制图库目录。
- 新增 ZIP 批量导入：用户需提前在 ZIP 内整理好目录结构和文件名，批量导入不会逐张询问重命名、不会覆盖现有同名图片；导入前统一校验路径穿越、符号链接目录、图片格式/尺寸/大小、重名、压缩包大小和文件数量。
- 单张表情包导入继续自动带入原文件名，并允许在真正保存前修改分类与名称；图库管理上限统一为 2000 张。
- README 同步补充长期记忆双备份策略、业务 JSON 容器的容量说明、表情包 ZIP 独立备份与批量导入流程。
- 长期事实形成机制从 v2.4.79 的“本地正则直接提取并写入”升级为“同一次主 Session 模型思考做语义判断 + `dafeiyu_remember` 工具写入 + 本地安全闸”。明确的称呼、身份、稳定偏好/厌恶、长期习惯、长期项目/状态、约定、关系变化和重要经历，由大肥鱼理解语义后决定保存，不再靠固定句式猜值，也不会额外发起第二次 AI 请求。
- 本地代码只负责安全校验、去重和事实键更新：主人单纯查询“我现在最喜欢喝什么？”时禁止反向写入；疑问句、“什么/啥/哪个/哪种/多少/谁/哪里/怎么”等占位值以及模型推测会被拒绝。升级时会自动移除 v2.4.79 已误写的疑问占位事实，并恢复同一事实键最近的有效值。

## v2.4.79 — 身份级跨 Session 长期记忆与管理中心说明重构（2026-10-27)

- 长期记忆从“按主 Session 分文件”改为“大肥鱼身份级”统一存储：固定使用 `bili-duty/long-term-memory/dafeiyu.json`。主 Session 现在只代表大肥鱼当前聊天的房间；换 Session 不再换脑子。
- 首次升级会把 `long-term-memory/<session>.json` 旧记忆合并进统一身份记忆，并按事实键处理冲突；旧文件不删除，继续保留作安全兜底。业务备份仍会覆盖整个长期记忆目录。
- 新增确定性的主人长期事实自动保存通道：高置信的称呼、饮食偏好、普通聊天表情包偏好、近期长期项目等不再完全依赖模型偶尔调用工具；同类可变事实使用稳定 `fact_key`，新事实自动取代旧事实。复杂约定、关系变化和共同经历仍由 `dafeiyu_remember` 补记，不增加额外“记忆判断 AI”调用。
- 管理中心「大肥鱼的家」重排为三层说明：当前 Session 短期上下文 / 大肥鱼跨 Session 身份记忆 / 精确经历档案，并明确长期记忆开关控制的是“大肥鱼本人是否使用身份记忆”，不是某个 Session 独占一份记忆。
- 表情包管理新增推荐工作流：一键导出最新完整表情包名称 TXT 和当前规则 JSON，建议一起交给 AI 更新完整规则，再导入、做本地匹配测试并确认保存，减少不存在文件名和过时规则。
- README 把“三层记忆架构：换房间，不换脑子”提升为核心特色，并同步更新升级、备份、管理中心与表情包规则说明。

## v2.4.78 — 主 Session 大肥鱼人格注入修复（2026-10-27)

- 修复“主 Session 已绑定且长期记忆可用，但普通聊天仍表现为默认通用助手”的问题：主人明确选择的主 Session 现在会稳定注入大肥鱼核心人设与角色背景。
- 人格挂载不再依赖长期记忆开关：关闭长期记忆只会停用召回与 `dafeiyu_remember`，不会让“大肥鱼的家”退化成普通助手。
- 经主人审核的成长记忆新增 `chat` 场景，可进入主 Session 对话；评论专用表达习惯不会误灌日常聊天。
- 主 Session 提示明确区分“日常相处”和“B站后台任务”，避免把评论决策、值班章程或工具能力列表机械带进普通问候。

## v2.4.77 — 大肥鱼 · DSH 生活系统：品牌收束、README 重写与开源致谢前置（2026-10-27)

- 对外包名由 `dsh-bili-scroll-plus` 改为 `dsh-dafeiyu-life`，DSH 设置入口改为「大肥鱼」，仓库更新源切换到 `minedalang/dsh-dafeiyu-life`。
- README 不再堆叠版本流水账，改为围绕“主 Session 是家、后台插件是身体、精确账本是档案、长期记忆是生活连续性”的完整交互系统讲述产品。
- README 前部与 DSH 设置页新增正式开源来源与致谢，明确区分直接上游、内置第三方代码、长期记忆整合和架构启发。
- 新备份写为 `dsh-dafeiyu-life-backup`，仍接受旧 `dsh-bili-scroll-plus-backup` 供当前使用者迁移。`bili-duty` 数据目录和内部 API 前缀暂时保留，避免无意义的数据搬迁。

## v2.4.76 — 内置长期人格记忆 + dsh-fish-memory 合规整合（2026-10-27）

- 将 `Yuuyuko-uu/dsh-fish-memory` 的核心长期记忆设计整合到「大肥鱼的家」：按主 Session 独立存储、时间淡忘、长期事实、事实键、取代语义、相关召回和 scoped remember 工具；保留上游 MIT 版权与许可证，新增 `THIRD_PARTY_NOTICES.md` 与 `vendor/fish-memory/LICENSE`。
- 新增 `dafeiyu_remember`，只挂在主人明确选择且已开启记忆的主 Session；模型可见参数统一为 `text / importance / tags / supersedes / fact_key`，避免 Claude/Anthropic 对中文 tool schema 字段名返回 400。
- 重要 B站经历直接从现有本地账本确定性进入长期记忆，不增加总结 AI 调用；首次启用仍只建立历史基线，不会突然把全部旧记录导入。
- 管理中心可开启/关闭长期记忆、调整半衰期/召回门槛/条数/字数/每日配额、查看和删除记忆、手动补记，并可一键合并同 Session 的旧 `%DSH_HOME%/fish-memory/<session>.json`。旧文件只读、不自动删除。
- 内置长期记忆保存在 `bili-duty/long-term-memory/`，纳入业务备份恢复并做路径/结构校验；外部 fish-memory 目录不进入本插件备份。
- 独立 `dsh-fish-memory` 不再是运行依赖；如已安装，导入旧数据后应卸载，避免同一 Session 出现重复记忆工具和重复注入。

## v2.4.75 — 主 Session 人格记忆桥（2026-10-27）

- 新增「大肥鱼的家」：用户明确选择一个当前在线的长期 DSH Session，插件把它作为主人聊天和人格记忆的归宿；后台自动刷 B站仍保持 v2.4.74 的受限 headless 安全架构。
- 新增 `main-session-memory.json`：本地记录已挑中的视频和自己实际发过的评论／回复，首次开启只建立基线，后续增量入队；支持手动回填最近 7 天、关键词查询，并进入业务数据备份。
- 经历同步通过 `ctx.agents` 的在线会话接口和 `agent.followup()` 投递；绝不扫描 `~/.dsh/sessions`、不自动猜最近会话、目标离线时不丢数据。
- 同步内容完全由现有本地账本确定，不增加“总结 AI”调用；主 Session 每收到一批会产生一次极短模型回复，默认最短间隔 60 分钟、每天最多 4 批、每批最多 8 条，可在管理中心调整。
- 对视频标题／评论正文做提示注入特征过滤；同步消息明确是历史数据并禁止触发工具或外部动作。陌生人私信正文默认不进入主 Session，主人相处记忆建议由主 Session 自己的 `dsh-fish-memory` 处理。
- `dsh-fish-memory` 为可选第三方插件：本插件不读取或改写其存储，只负责把 B站经历安全送回同一主 Session。
- 新增只读 `bili_experience_recall` 工具：主 Session 需要核对过去的 BV、已发公开评论或回复时，查询插件自己的精确经历档案；不读其它 DSH Session、陌生人私信，也不联网。

## v2.4.74 — Headless 隐私隔离与新机安全启动（2026-10-27）

- 基于 v2.4.73 实际源码重新审计所有 DSH Agent 启动路径：主动刷视频/主评论、私信/评论/@ 互动、独立视觉。
- 插件加载时自动生成 `headless-overlay.yml` 与 `headless-dm-overlay.yml`；每次启动前再次刷新和复检，新电脑不依赖历史残留 yml。
- 三类无人值守 Agent 固定使用官方 `headless`；旧 `headlessProfile` 仅保留配置兼容，不能再带回自定义 profile 的额外工具。
- 新增 `lib/headless-security.mjs`：48 项 shell/文件/会话/Web/子代理/代码执行能力必须全部 `disabled: true`，并限制每类 overlay 允许插入的 MCP。
- overlay 采用临时文件写入→校验→替换，不跟随同名符号链接；生成后与启动前均重新读取验证，异常 fail-closed。
- `lib/vision_dsh.py` 同步加固：固定 headless、只允许一个 `--profile`/`--patch`、校验视觉 overlay 与临时 proof overlay，且视觉 MCP 只能是 `bili_preview_vision`。
- 管理中心「环境自检」新增主值班/互动（及启用时的独立视觉）安全 overlay 状态。
- 不改变 v2.4.73 的备份、表情包规则、评论/私信/动态/成长记忆业务逻辑。

## v2.4.73 — 本地备份简化、规则预览纠偏及备份恢复校验（2026-10-26）

- 「数据备份」页面将「保存并检测目录」更名为「确认备份目录」；将「下载完整数据备份」更名为「备份数据」。备份只写入用户指定的本机文件夹，不再创建 Blob/触发浏览器下载。
- 后端备份接口仅返回已保存的文件路径和备份清单摘要，不再把全部备份文件内容回传管理页，减少内存占用与泄露风险。恢复仍可从本机已保存的 JSON 选择文件执行。
- 新增 81 条专属表情包检索规则的真实 JSON → 保存 → 备份 → 恢复 → Python 检索器读取测试；验证恢复后规则内容一致，且预恢复安全快照及原有配置不被规则覆盖。
- 修复导入规则后未保存即测试会使用旧磁盘规则的问题：新版在预览请求中安全传递当前编辑区全部规则，不落盘、无额外 AI；同时展示命中的规则名、实际图库扫描数量，明确区分「触发规则但图片缺失」和「规则未触发」。
- 使用 81 条实际规则和 Claude／Anthropic／Opus／说中文用例测试，避免把已导入但尚未保存的规则误判为无效。
- 仍不备份任何表情包图片、登录凭证、独立密钥，也不依赖 Windows 系统临时目录。

## v2.4.72 — 表情包检索规则搜索分页、完整图库名称导出（2026-10-26）

- 规则编辑列表默认折叠、支持搜索词和启停筛选、每页 6/12/24 条，并确保隐藏规则不会因翻页而在保存或导出时丢失。
- 「已保存的表情包」一键导出所有可管理的分类/名称 UTF-8 TXT，无 AI 调用；按真实目录读取而非当前页/过滤列表。达到管理上限 2000 张时明确报错，避免冒称全量。
- 统一 Node/Python 图库名称上限至 64 字，避免 OCR/长名称表情包被静默忽略。
- 可单独下载基于主人提供的 664 个真实名称整理的 81 条专属规则 JSON，手动导入激活；不包含表情包图片及私人目录。原本的数据备份系统会自动包含已保存规则。

## v2.4.71 — 可编辑表情包检索规则（2026-10-26）

- 管理中心表情包检索规则管理：触发词/目标名称/共现条件/排除条件；支持导入导出、预览和恢复出厂默认。
- 本地 `comment-meme-rules.json` 进入数据备份恢复，不包含表情包图片。
- 修正单独“冰箱”误触发饭食场景，并补齐 Windows MCP 检索脚本同步。

## v2.4.70 · 本地表情包语义候选检索与漏选诊断（2026-10-26）

- 查明「图库没有贴切吐槽图」误判：开场目录仅 45 名称，MCP 只能按分类列出最多 100 名；AI 未必看见已上传的战斗机、白饭山、奶蛙大笑。
- 新增 `bili_comment_meme_search(query, limit)` 只读工具：无需额外 AI，基于评论文案按场景／语气的轻量同义词与真实文件名检索；Agent 未找到图片时必须先调用工具，不能单凭开场简表断言全图库无图。
- Python 与 Node 的图片扫描上限由 300 增至 1200；重名/符号链接/超大图片的安全过滤规则和图片发送闸门不变。
- 未选图诊断额外保存最多 3 个本地候选名，管理中心明确标注「仅文件名匹配，未识图」；不自动上传或伪造图片描述。
- 包含三个实际评论样例、超100/300图边界、重名/符号链接及白名单专项回归测试。

## v2.4.69 · 可配置备份目录 / 无系统 Temp 依赖 / 诊断正文提示（2026-10-26）

- 修复 Windows 系统临时目录无权限导致的数据备份失败：SQLite 快照与验证均在内存数据库中完成，完全不再调用 `tempfile.TemporaryDirectory()`。
- 管理中心「数据备份」新增自定义本机文件夹路径：保存时检测可写、自动创建不存在的目录；导出备份直接保存到目标路径，并保留浏览器另存一份；恢复前安全快照也使用用户设置的文件夹。未配置时明确报错，不再回退系统临时文件夹。
- 每日诊断三个评论卡片（主动 @ / 动态同步 / 表情包）在评论 ID 与本地判重账本精确吻合时补充已存评论节选，优先展示原有诊断正文；旧记录缺正文、缺评论 ID 时明确给出原因，并显示有据可查的 rpid/root。绝不根据 BV 猜测是哪条评论，也不额外调用 AI 或 B站接口。
- 回归：Node.js 308 项、Python 88 项；模拟不可用 TEMP/TMP/TMPDIR 的 SQLite 导入导出与 Chromium 管理页操作通过。

## v2.4.68 · 本地数据备份与恢复（2026-10-26）

- 管理中心新增「数据备份」页：一键下载 `.json` 便携备份，包含**所有当前生效设置项**（包括人设、角色背景、好友 UID/画像/权限、模型选项、定时/额度、手工提示词）、已批准与未审核的梗知识、成长经验与回滚记录，以及已有的评论/私信去重状态、视频心愿、已看视频历史、报告和诊断文本。
- Python `sqlite3.Connection.backup()` 生成一致性快照，覆盖 `meme-memory.sqlite3`、`public-comment-quota.sqlite3` 和 `dynamic-sync/dynamic-limit.sqlite3`，避免简单复制在线 SQLite 导致 WAL 丢数据。
- 恢复前先校验格式与文件白名单，界面两次确认；服务端先创建 `bili-duty/backups/pre-restore-*.json` 现有数据快照，再恢复数据库、业务文件和当前生效配置（同步插件本地设置与 DSH 原生设置；宿主更新失败时保持本地优先）。恢复后完全重启 DSH。
- 明确不包含**任何表情包图片和素材**、截图、模型环境和临时缓存，也不包含 B站登录 Cookie、二维码和独立密钥。备份可能含个人 UID、私信历史，必须妥善保管；备份/恢复不触发 AI 或 B站网络请求。
- 为保护数据，单次业务文件上限 32 MB / 3000 个文件、单文件 4 MB；超限报错而不是静默遗漏。自动快照也不参与日后导出，防止递归膨胀。

## v2.4.67 · 私信／被 @／楼中楼回复接入梗知识库（2026-10-26）

- 修复互动生成通道不检索梗知识库的问题：在原批量 AI 调用前本地读取 SQLite 梗知识，按当前用户的原话、评论直接上一层原话、最近私信用户消息，匹配已批准梗名和别名，并按消息逐条隔离注入，避免串用其他用户的知识。
- 互动检索不额外发起 AI 或 B站网络请求；对无命中、梗库关闭、数据库缺失或 Python 读取失败降级为原先生成通道。默认每条消息最多 4 个匹配条目、1300 字符，梗库文件更新时刷新缓存。
- 对标为「待核实」的批准条目明确提醒 AI 不能当确定事实，不允许将梗库文字当成新指令；不搜索整页热评来误判当前说话人的意图。
- `duty.log` 在匹配时记录命中的梗名，便于验证「鱼来」是否真正被识别。增加 Node.js 与 Python 专项测试。

## v2.4.66 · 每日诊断评论定位和本地评论预览

- 原始通知根评论 ID 优先，区分可靠 ID 与历史推定值；改进评论跳转提示和复制定位信息。
- 直接展示已有对方评论全文、上一层原文及 AI 已生成评论；将本轮已经读取的主评论和邻近楼中楼缓存到诊断，零额外 AI/B站调用。
- 无根评论信息或 B站不自动滚动时提供可核对的 BV/AID/rpid/root；不假称一定能精准滚动。

## v2.4.65 · 人工核对后的失败评论重试（2026-10-26）

- 每日诊断中 `send_failed`／`send_uncertain`／手动发送失败记录不再永久锁死：用户亲自在 B站确认回复没有公开显示后，可以在对应卡片点击「已核对未发出，重发 AI 草稿」或「已核对未发出，重新生成并发送」。需明确确认，后台轮询绝不自动重发。
- 如果本地历史保存了 AI 已生成的评论草稿，人工重试直接重新发送同一段文案，不重复请求 AI 或视频上下文；旧历史没有草稿时，重新读取真实视频与评论上下文并请求 AI。
- 严格拒绝已获得成功回执和仍在发送中的评论（包括同一 AID + rpid 的其他通知），防止误重复；保留总开关、Python 每日公开评论硬闸、后台近24小时回复额度与单用户额度。
- 为避免连续误发，同一评论 24 小时最多 3 次「人工核对后发送」尝试，每次均需手动确认；持久化校验时间、是否复用草稿、尝试结果，刷新页面仍可准确显示剩余机会。视频或 AI 生成阶段的错误未调用 B站发送，不占用这 3 次。
- 原 v2.4.64 的 AI 草稿与 B站错误详情保留；旧历史缺少真实错误原文仍不臆测原因。B站评论可能延迟审核，人工重发有重复风险，页面明确提醒。

## v2.4.64 · 评论发送失败诊断与 AI 草稿保留（2026-10-26）

- 手动和后台轮询评论在 AI 已生成但 B站发送失败/结果不确定时，诊断持久化生成正文、B站返回的错误详情，明示 AI 与发送接口两个阶段的结果。
- 每次打开「每日诊断」会结合真实发送去重账本禁用不安全的「要求 AI 回复这条」按钮，不会刷新后又错误地放开。
- 未保存详细错误的旧记录只显示历史版本未保留详情；不会虚构接口错误。
- 错误详情限长，并对常见凭证字段进行遮盖；诊断仅限本地页面。

## v2.4.63 · 补充热评数量可配置（以本次重新打包的 2.4.63 为准）

- 后台评论回复及被 @ 视频上下文新增 `commentReplyHotCount`（1–30，默认12）。获取与传入 AI 的其他热评数统一，取消旧的前6条截取并扩容生成通道。
- 完整保留 root_id 直查主评论修复，直接基于 v2.4.62 升级。

## v2.4.63 · root_id 精确关联楼层主评论（2026-10-26）

- 评论通知已携带 root_id 时，先直接调用 `bili_comment_thread` 读取该楼层根评论，**不再依赖热门评论前12条找到主评论**。随后才读取最新热门评论作为独立的内容背景。
- 防止把目标子回复（rpid）错误标为楼层主评论；根评论只接受与 root_id 精确一致的响应。直查失败时才从热评或本地快照按同一个 root_id 精确兜底。
- 已保存的视频摘要、字幕、当前原文、父评论和当前楼中楼机制不变。新增直查优先、身份验证及精确兜底专项测试。

## v2.4.62 · 手动回复回执与楼中楼上下文补全（2026-10-26）

- 手动要求 AI 回复增加卡片内的进行中、成功回执、失败原因和上下文摘要；发送结果不确定时禁用再次发送。
- 普通评论回复也尝试读取字幕，热评取样最多 12 条中选 6 条；按目标回复翻页读取最多三页楼中楼，优先把目标附近上下文交给 AI。
- 诊断记录显示本次实际获取的视频资料、字幕、热评与楼中楼范围。

## v2.4.61 · 人工要求 AI 回复与主人关系按 UID 注入（2026-10-26）

- 每日诊断的 @ 邀请和收到回复卡片在可定位评论且尚未确认发送时，新增「要求 AI 回复这条」按钮；主人确认后，重新获取真实视频与评论上下文，让模型优先生成实际回复，并走正常 B站发送额度。
- 手动操作不会绕过总开关、自然日公开评论硬额度、后台滚动24小时回复额度、同人回复额度和发送前判重；对已发送／可能已发送的评论不允许二次发送。模型对不安全内容或没有充足上下文仍可拒绝。
- 修复私信和评论／@ 回复未加载当前发送者好友画像的问题：按 UID 注入主人标签、与大肥鱼关系、性格爱好、与其他名单用户关系。每条互动单独携带自己的身份，避免多人批量任务串线；多位主人均可识别但不授予后台管理权限。

## v2.4.60 · 每日诊断界面优化与评论深链（2026-10-26)

- 每日诊断改为更紧凑的卡片式布局：四张“今日诊断”卡片和两张“最近30条”卡片都带独立滚动区，不再把整页撑成长条。
- “@ 邀请处理诊断”与“收到评论回复处理诊断”中的 BV 链接改为优先深链到具体评论，和“最近评论”一致；若缺少必要评论 ID 才退回只打开视频。
- 通知诊断额外保存 rpid / root / 对方评论文本 / 上一层上下文，管理页可直接预览，排障时不必反复切回 B站。

## v2.4.59 · 回复通知兼容与每日诊断集中展示（2026-10-26）

- 修复收到评论回复通知中 `business="评论"` 且缺少数字业务标识时被忽略的问题；对不匹配的数字业务标识，只有提供明确 B站视频链接的「评论」通知才放行；禁止把动态或赞通知当成视频评论。
- 被 @ 邀请处理诊断从「最近评论」移动到「每日诊断」；新增收到评论回复处理诊断，两者分别保留最近30条状态，显示接口读到的条数和未回复原因（最近30条可能跨日）。
- 新增两项独立诊断日志开关，关闭只阻止新增日志，不影响监听与评论发送。既有本地日志保留。
- 补充“默认每轮只回1条”和“AI 可能 SKIP”等原因；增加本轮回复通知解析器升级时对旧通知的安全基线；保持首次通知基线、历史去重、发送配额及对结果不确定不自动重发的安全策略。

## v2.4.58 · 修复被 @ 邀请不回复与可见诊断（2026-10-26）

- 支持 B站 @ 通知只有视频 AID/AV 而没有 BV 链接；严禁从任意文本猜视频。
- 顶层评论 @（root_id=0）不再错误强制读取父楼层；已取得真实视频标题和最新热评才可生成回复。
- 评论页显示 @ 通知最近处理原因；首次启用仍将既有通知标为历史，AI 仍可选择不回复。

## v2.4.57 · 独立视觉每日额度可配置（2026-10-26）

- 过去代码固定为 8 次/天，现新增 `visionDailyLimit` 默认 30、范围 0–200，0=禁止额外独立模型调用；每视频取帧数继续使用独立的 `visionFrames`（1–3）。
- 独立 DSH 视觉和旧单独 API 识图统一从同一 SQLite 账本占用额度，缓存命中不重复扣次；已记录的今日占用不会因改上限清零。
- 管理中心注明当前视觉模式，说明复用视频 Agent 看图不计入独立调用，因此今日计数可能为 0；不声称这个数字是总看图次数。
- 调整 Python 错误文案为实际配置上限。

## v2.4.56 · 诊断开关、导航角标及日额度实时用量（2026-10-26）

- 今日 @、动态、视觉、表情包四项诊断可各自开启/关闭后续本地日志写入；既有历史保留，不改变评论/同步/取帧/上传的实际行为。
- 修复导航角标尚无计数时被 CSS display 规则强行展示为红色短横线的问题。
- 次数与额度顶部新增账本读取汇总，并在相关限额旁显示真正已用：选片、公开评论发送尝试、动态同步尝试、后台成功回复（近24小时）、私信成功发送（今日/近24小时）、表情包尝试、独立视觉分析硬限额（8）。
- 所有用量查询只读，失败不显示假 0；区分每日、近24小时与每位用户上限。

## v2.4.55 · 视频心愿审核一致性与无法删除修复（2026-10-26）

- 修复临时视频心愿处于「拒绝／待审核」状态时点击取消返回「未找到有效心愿」的问题；管理中心现在可移除三种状态的心愿，不发送私信、不影响其他主题。
- 同一条获批私信提出多种视频偏好时，只发起**一次 AI 审核**，并把结论同步用于这条请求的所有主题；「从历史补录」与「重新 AI 审核」也采用一致的逻辑，避免同一句原话对「美食／颜值」给出互相矛盾的结果。
- 审核提示词明确区分正常的美食、美女／颜值视频与色情擦边内容，不得凭空猜测；原有本地硬拦截和「AI 不明确批准则不进入搜索」的保守约束保持不变。
- 已有审核记录不会在升级时自动改写；对截图中的旧心愿，可在管理中心对剩余心愿点击「重新 AI 审核」，被取消的项目如需恢复须重新收到/补录请求。
- 新增专项回归测试；未使用真实 B站账号完成在线验收。

## v2.4.54 · GitHub 发布准备与统一好友管理（2026-10-26）

- README 首屏突出 B站字幕／评论理解、高能时间点低清预览帧与视觉识图、自然互动和本地成长记忆，并明确低清预览不等于完整视频。
- 管理中心按使用频率重新排序：人设与好友、最近评论优先，后台轮询、每日报告、每日诊断放到末尾，进入管理中心优先打开人设页。
- 三个白名单由 UID 好友名册统一管理，可填写 `UID|昵称备注` 或仅 UID；三个权限分别勾选，后台仍执行原有独立权限检查。
- 好友画像合并为「性格爱好」，与其他白名单用户关系可按 UID 选择，主人可多人标记。主人目前是角色标签，**没有后台管理权限**。
- 首次安装的默认大肥鱼人设、AI 选图策略、视觉识图策略、虚构角色背景改为发布时指定版本；已保存的自定义提示词仍优先。
- 新增 `.gitignore` 阻止运行目录、登录凭证、临时备份、日志等进入仓库；清理本地发布包不等于抹除远端 Git 历史，发布前须核查已追踪备份文件。
- Node/Python 本地回归测试与假宿主自检；未在真实 B站账号进行发布前端到端验证。

## v2.4.53 · 后台轮询间隔与检查状态（2026-10-26）

- 管理中心新增「后台轮询」，统一管理私信、收到评论回复、被 @ 邀请、近期热评四项后台任务的检查间隔（1–120 分钟）。默认沿用旧版私信1分钟、评论回复3分钟、@3分钟、热评5分钟。
- 保存后调度器自动按当前间隔计算下一次检查；四项各自独立，评论来源碰在同一时刻仍合并到一次 `comments.poll`，保持通知去重。
- 分别显示启用状态、上次开始/完成时间、下次预计检查、最近错误及跳过原因。这里的「已完成」只表示检查结束，不等于收到消息或发送成功；时间数据只属于本次宿主运行。
- 私信状态区使用实际的统一互动调度器状态，解决旧 `dmAutoreply.status().running` 因独立计时器未启动而可能错误显示「已停止」的问题。
- 定时刷视频属于独立任务计划，不参与这四项轮询。本次不修改每日/每轮额度、通知去重、公开发送权限、人设或用户历史数据。
- 通过 Node.js/Python 自动化测试和 DSH 本地假宿主自检；尚未在真实 DSH Desktop + B站账号在线验证。

## v2.4.52 · 昵称、好友画像、视频心愿审核与评论上下文预览（2026-10-26）

- 「临时视频心愿」和「最近私信会话」展示 B站昵称与 UID，UID 可点进主页。昵称优先使用会话数据，不足时有限次查 B站公开资料（可能受平台网络和风控影响），失败显示「昵称未获取」。
- @ 好友和后台私信/@邀请白名单支持可选备注昵称；安全权限始终以 UID 匹配，不用昵称授权。@好友名单兼容旧 `昵称|UID`，也允许只填写 UID；只有获取到真实昵称才实际执行 @。
- 好友画像改为「与大肥鱼的关系」「与其他白名单用户的关系」「性格特点与习惯」「喜欢的话题/兴趣爱好」，移除「适合邀请的情境」；已保存的其他画像内容继续保留。
- 新收到的视频心愿：先本地拦截不合适请求，再调用 DSH AI 审核；明确批准才启用。网络/模型故障保留待审核，不能自动通过。管理中心可重试审核或取消。旧版未审核心愿保留原记录，但升级时转待审核而不再直接参与搜索。
- 临时搜索主题不永久写入用户关注列表。每轮最多从已审核通过、未过期、未耗尽的心愿中轮换提取 **2 个**关键词；模型仍可判断视频是否真的合适，公开 @ 受原额度和 B站真实元数据校验保护。
- 最近公开评论记录中的「回复别人评论」新增「预览对方上一条评论」。只使用后台回复成功时实际保存的对方原文摘要；旧记录缺失时明确提示，不主动抓取或编造。
- 保持原来登录配置、白名单 UID、评论账本、私信历史和已存图库的路径与格式，不自动覆盖用户自定义提示词。
- 通过本地 Node/Python 测试及 DSH 假宿主自检，尚未使用真实账号验收审核模型与 B站昵称返回情况。

## v2.4.51 · 被 @ 邀请与评论上下文刷新（2026-10-26）

- 独立的被 @ 邀请后台轮询，默认关闭；管理中心可选只响应独立白名单 UID 或所有人，支持多 UID。
- 只接受通知接口明确返回的、可定位视频和评论、非自己的 @ 通知；首次开启只为已有通知建立基线，避免回复陈年邀请。过滤点赞、动态和无来源的通知；同一源评论与普通回复通知去重。
- 互动前先尝试复用之前视频 Agent 真实调用过的视频详情、字幕、热评的有界本地快照；旧视频缺快照时可读取本地日报节选和视频详情；全新被 @ 视频尝试再读取字幕，但不假设已有画面。
- 重新获取热门评论与目标根评论下的最新楼中楼，结合通知原文、父评论和同线程已保存的对话提供给模型；不需要另起 AI 专用总结调用。
- @ 没拿到足够的资料不公开回复，短时间网络错误有限次冷却重试；模型可选择静默，仍受近24小时和自然日全局额度约束。
- 新增 `bili_comment_thread` 只读 MCP 工具，读取一页最多12条相关楼中楼。不修改 B站发送接口、已有凭证或旧账本。
- 为避免频繁重复接口调用，热门评论和楼层短时缓存在内存中；图像帧不会在后台凭空补齐或当作已观看。
- 本地单元测试及宿主自检通过；真实账号的 @ 通知字段和投递结果仍需 Desktop 验证。
- 修复后台短提示词容量导致已批准 style 成长记忆可能被长角色背景截掉的优先级问题；主动评论也加强自然、简短、避免套路化填充和硬塞角色梗的生成规则。

## v2.4.50 · 最近评论：BV 号、可点击 UID 与分类筛选（2026-10-26）

- 评论链接恢复显示 `BV...`，保持原有顶层评论和楼中楼深链定位参数不变。
- 后台回复展示真实对方昵称与 UID，二者分别链接到该 UID 的 B站空间页；普通原创主评论标记为「原创主评论」。
- 管理中心按「全部评论 / 主评论 / 回复别人评论」分类筛选，可与日期筛选和分页组合使用，统计按当天全部记录分别显示两个类别。
- 后台回复成功时新增持久化的昵称与 UID 映射，避免原先仅保留滚动24小时 replyRecords 导致姓名在一天后消失；旧记录只迁移本地仍保存的元数据，缺失信息不伪造。
- 不删除旧评论账本、不修改发送功能；离线测试通过，真实 B站跳转效果需客户端验收。

## v2.4.49 · 已获批聊天避免反复索要暗号、私信视频心愿识别（2026-10-26）

- 已获批用户向互动模型传入 `authorization=approved`，提示“无需再次投喂暗号”，不影响大肥鱼普通聊白饭的性格。
- 私信发送前额外过滤模型仍然生成的“再次投喂才能聊天／@”邀请；其余自然回复保留，纯重复邀请则保持沉默。
- 视频心愿支持“美食视频，美女视频多艾特我一下”等自然请求，一条消息内可同时登记 **美食 + 颜值** 两项，仍需要先获批。
- 后台登记心愿移到 AI 生成回复、冷却与发送额度检查之前，即使选择沉默或回复生成失败也能持久保存收到的有效请求。
- 管理中心「最近私信会话」为获批用户新增「从本地历史补录视频心愿」，仅扫描已保存的最近 50 条用户消息，不额外拉取 B站历史，不调用 AI，不自动发私信。
- Python B站视频元数据校验同步支持颜值主题，评论 @ 仍遵守既有限额、期限和实际标题／简介验证。
- 兼容已有 dm-autoreply-state.json，无迁移、清空或重新审批。新增专项回归并通过本地测试；真实在线表现仍需安装验证。

## v2.4.47 · 最近评论精确定位链接修复（2026-10-26）

- 修复管理中心「最近公开评论记录」仅使用 `?comment=rpid`、导致 B 站网页端只打开视频而不定位评论的问题。
- 顶层评论使用 `comment_on=1`、`comment_root_id=rpid` 和 `#reply{rpid}`；楼中楼回复同时传入根评论 `comment_root_id` 与目标回复 `comment_secondary_id`，并带目标回复锚点。
- 对旧历史记录中缺失根评论 ID 的楼中楼回复，不再显示为可精确定位；降级为视频链接并提示原因，不伪造根 ID。
- 新增顶层／楼中楼链接构造与缺失根 ID 的回归测试；不修改评论账本、评论内容或 B 站数据。

## v2.4.46 · 表情包预览 CSP 与成长记忆直接审核（2026-10-26）

- 修复管理中心表情包缩略图被页面 CSP 拦截的问题：仅允许同源 `img-src 'self'` 与 `data:`，继续禁用外部脚本、外部连接和其他默认资源。
- 成长记忆新增「直接提交待审核」：主人可直接编写一条经验，不调用 AI 提炼；只有批准后才会进入实际记忆上下文。
- 现有主人反馈新增「不调用 AI，直接审核原始反馈」入口，可将原文转成审核稿，必要时手动修改后批准；原有 AI 提炼流程仍保留。
- 新增 CSP、直接审核、手动修改和批准后才生效的回归测试；不迁移或清空既有成长库。

## v2.4.45 · 后台互动自然停聊（2026-10-26）

- 统一互动生成通道新增按会话上下文选择 `reply`（自然回复）或 `skip`（不搭话）；对方已经收尾、继续说话显得硬聊时允许真正沉默。不是靠简单的固定词表拦截，重新开启新话题仍能接话。
- 后台楼中楼即使确认是直接回复本人主评论或楼中楼，也不再强制模型抢最后一句；继续保持优先处理与原有限额，选择 `skip` 后持久判重并记住用户的最后一条消息。
- 白名单／已批准用户的自动私信可以自然停聊。跳过只标记已处理并保存本人的会话上下文，不发私信、不占额度、不触发冷却和陌生人回复计数；后续有新消息仍可正常回复。
- 陌生人首次固定欢迎语与管理员批准后的首次接话保持原有强制回复语义，模型误给 `skip` 时不会将控制标记发送给 B站；审核待回复队列仍保留。
- 多消息模型批处理采用显式 `action`，同时兼容旧 `reply=SKIP` 的模型输出；同批次不同人的回复决策互不串线。无需迁移本地数据或变更 DSH 配置字段。
- 本地 Node.js 全量自动测试 199 项通过。真实 DSH Desktop 与 B站在线互动效果仍需升级后观察，模型的情境判断不能保证每次都符合人的预期。

## v2.4.44 · 人物别名、审核删除、人工梗知识与表情包管理（2026-10-25）

- `relationship` 成长记忆新增可编辑的「人物名称 / 别名」，已批准记忆的别名自动参与本地召回，不修改原文和历史记录。
- 成长经验仅对已批准记录弹出删除确认；待审核与拒绝记录单击删除。
- 梗知识库允许主人手工新增，保存后作为已批准知识立即可用，不伪造视频证据。
- 新增「表情包管理」：展示原有图库、上传、重命名、删除；严格限制图片扩展名、实际格式、尺寸、8MB 文件体积、非法路径、符号链接和重名。保留 `comment-memes` 路径与 `meme_image_name` API 兼容历史使用。
- 用户可见的评论配图描述统一称为「表情包」。

## v2.4.43 · 成长审核排序与本地召回说明

- 成长经验默认按待审核 → 已批准 → 已拒绝／忽略显示；同组按最后更新时间倒序，方便优先处理未审核建议。
- 排序只作用于管理中心显示，不改变 `persona-growth/v1.json` 的原始顺序、审核结果、历史快照和审计记录；过滤状态时仍按组内时间排序。
- 明确「不同使用场景的成长记忆预览」只按已批准正文、标签、BV 号做本地词面匹配，不调用模型；`relationship` 不包含结构化独立人物名称字段。
- 不修改模型提炼、角色关系、检索算法、配置结构和实际注入规则。回归测试只覆盖显示排序与已有召回路径。

## v2.4.42 · 识图预览 boss 域名兼容与设置简化

- 修复部分 B站视频的播放器预览图在 `boss.hdslb.com/videoshotpvhdboss/` 时被安全名单错误拦截，支持相同目录内的拼图 JPG/PNG/WebP 和 `.bin` 时间索引。
- 保留 HTTPS、固定主机和预览目录、图片类型、尺寸/下载限制及逐跳重定向校验；**不放行 boss.hdslb.com 上的任意其他资源**。
- 移除 DSH「设置 → 刷B站」里的「旧版昵称（保留兼容，可不改）」输入框；原配置 `mentionName` 保持读取兼容，不迁移、不清空。私信推荐收件人使用独立 UID 字段；公开评论 @ 名单在管理中心设置。
- 新增 boss 地址与恶意跳转相关回归测试。真实 DSH 和 B站视频需安装后验证。

## v2.4.41 · 管理中心界面整理与默认人格提示词

- 管理中心新增「次数与额度」，集中调整选片、公开评论/后台回复、私信、动态、梗图/视觉及视频门槛的数字上限。全局自然日硬上限可直接修改，与滚动24小时后台回复数分开说明。
- 新增「人设与好友」，集中编辑并分别保存/恢复默认：大肥鱼人设、AI选图策略、视觉识图规则和虚构角色背景；管理 @ 好友名单、策略和逐好友画像。
- DSH 原生设置页保留必要运行开关、定时段、关键词、扫码登录与模型参数；删除已迁移的重复数字和提示词入口，避免旧草稿覆盖管理中心保存值。保存关键词不再连带保存人设。
- AI选图与人设首次安装默认内容采用使用者提供的版本，视觉识图默认规则保持一致；已保存的非空自定义提示词不会被覆盖。空人设配置按内置默认角色运行。
- 后台评论/私信规则的保存操作不再夹带数字字段；数字集中保存，并保留原有字段名称和历史计数文件，不迁移或清空运行数据。
- 回归测试覆盖配置 API、默认词、存档兼容和界面字段；尚未在真实 DSH Desktop／B站账号中进行人工验收。

## v2.4.40 · 评论额度口径与发送结果诊断

- 管理中心分别展示后台互动滚动 24 小时回复额度和公开评论全局自然日硬上限，明确两者统计口径不同。
- 新增后台评论回复的发送结果分类：成功回执、明确失败、结果不确定、全局额度拦截、其他拦截和中断待核实。
- 明确本地成功回执／评论账本不代表 B 站当前公开可见；没有核验的平台可见状态不再混称为成功可见。
- 全局公开评论额度改为在真正调用评论发布 API 前原子占位，避免本地图片或设置校验失败也占用全局名额。
- 后台互动遇到全局额度拦截时暂停本轮后续发送，避免每次轮询反复生成回复、反复撞额度；新自然日或修改全局上限后可重新检查。
- 新增额度耗尽暂停、配置变更后恢复和发送失败统计回归测试。

## v2.4.39 · 梗图选择、主评论证据与识图可观察性

- **梗图选择**：不覆盖用户自定义的六条选图规则；修正内置约束过度保守的问题，强调“匹配评论情绪即可，无需题材完全一致”。开场目录按类别均衡选取候选；不准猜测文件名对应的图片内容，也不设强制附图比率。
- **原创主评论**：每轮提示词要求先看 `bili_comments(bvid,num=10)`，综合标题、简介、实际字幕、热评、梗知识及真正获得的视觉图像线索。不能抄热评、脑补画面或用“复述＋评价”模板。
- **预览识图**：纠正外层固定提示词“默认不识图／收益须明显高于模型成本”等叠加抑制，保留视觉价值判断、每轮最多 2 BV 和每 BV 最多 3 帧的硬上限。无字幕不直接视为视频无意义。
- **视觉诊断**：Python 实际取帧工具写 `vision-events/YYYY-MM-DD.jsonl`（仅时间/BV/状态/简短错误，不保存图片或密钥到日志）；管理中心展示真实调用、成功/失败、保存的 JPEG 数量。Debug 只对真的提取出图像的调用保存到 `vision-debug/BV号/`；没有调用时目录为空是正常结果。独立 DSH 视觉会话还记录最终状态。
- 分类成长预览增加查询主题（例如 Claude）来验证“相关场景才注入”，已批准关系不因无主题预览未显示而失效。
- 没有在真实 DSH Desktop 或 B站网络上验证自动调用、视觉模型读图与梗图实际发出比例；平台未提供预览图、B站 API 拒绝或选定模型不支持图片时都可能没有识图内容。

## v2.4.38 · 评论定位、动态决策诊断与设置页整理

- 最近公开评论记录增加“定位具体评论”链接；有 rpid 时跳转到视频对应评论，而不只是打开视频首页。
- 调整动态同步提示词：删除“通常不必同步／随口吐槽通常 false”的过度保守措辞，改为逐条评估独立分享价值；可分享的笑点、反差、实用发现和共鸣观察应积极考虑同步，不设硬性发布比例。
- 动态决策写入本地诊断：区分 AI 是否选择、用户开关／额度是否允许、B站接口是否接受，并展示简短理由，帮助判断“全天没同步”是模型没选、设置阻止还是接口失败。
- 评论管理设置分组：每轮回复上限与“本人评论下同一 UID 24 小时限额”分开；后两项移至“后台回复别人对我的评论”区块。
- 重排后台私信规则为监听对象、私信额度与上下文、陌生人申请、临时视频心愿四组；明确全局私信日限额不包含公开评论。
- 人设提示词设置仅保存核心人设；明确说明已批准的成长经验不会写入该字段，只在实际调用模型时按场景拼接。

## v2.4.37 · 主评论优先接话、分场景回复限额与私信上下文

- 后台公开评论近24小时回复总上限由 1～30 扩展至 1～1000，管理中心实时展示本地确认的近24小时回复数，并区分本人主评论下及本人楼中楼回复下的回复数。
- 评论通知通过 `seen.md` 本人评论 ID 和后台已发送回复 ID 验证归属；确认属于大肥鱼主评论或楼中楼回复的通知优先处理并尽量不跳过。两类场景可分别设置同一 UID 在近24小时内最多收到多少条自动回复。未知归属的通知不冒充“必回复”。
- 同一评论串保留最近本地互动历史，附带被回复内容；对重复通知持久判重，发送结果不确定时不自动重试。
- 首次启用通知监听时，只有具备明确近24小时 Unix 时间戳、且确定属于本账号评论的通知才进入待回复处理；其余旧通知仍做基线，避免批量骚扰。
- 私信上下文条数可配置 0～80，按 UID 隔离，保留既有历史摘要兼容性；私信每日自动回复上限文案明确标识为**私信专用**，不与公开评论额度混用。
- 仍须主动启用后台评论通知监听，且受单轮上限、独立公开评论每日硬上限与平台限制；无法保证网络失败、B站未推送或超额时回复成功。

## v2.4.36 · 成长提炼结合角色人设、识别反向套话

- 修复模型提炼没有携带主人保存的 `personaPrompt` / `characterLore`、只凭一段通用编辑器提示生成泛化作文规则的问题。现在同时提供主人自定义人设、角色关系及内置大肥鱼背景作为只读参考，不从 DSH 会话或外部文件隐式读取人格信息。
- 评论表达提炼先辨认「主人正在反对什么写作套路」，不准把「复述台词+评价」换成「概括视频+评价」；允许直接吐槽、接梗、提问、短句或不硬评，不强制出现人设梗。
- 对明确反对复述加评价的反馈加入窄范围反向建议校验；若模型仍生成该套路，自动带上失败原因重提炼一次；再失败则保留原反馈待审核，不把坏建议存为有效候选。
- 原成长库、原有审批与场景分类行为保持不变；已批准经验不会擅自重写。旧坏建议可以在管理中心点击「重新让 AI 提炼」。

## v2.4.35 · 分类型、经模型提炼的成长记忆

- **主人反馈**：先保存原文，再通过当前 DSH headless 模型提炼出待审核建议；主人可预览、修订、批准或拒绝。没有模型建议的人工反馈在服务端不能直接批准；模型失败不会改变已批准经验。
- **日报兴趣**：以多个不同 BV 的已选视频为依据产生结构化候选，主人可直接审核，**无须额外模型调用**。
- **成长分类使用**：评论表达作为评论风格规则；长期兴趣作为角色偏好与选片判断，不会新增或修改手动搜索关键词；视频经历和角色关系只有在具体相关主题出现时才按需检索。
- **只读回忆工具** `bili_growth_recall(query)`：视频 Agent 碰到与旧经历或角色关系可能有关的真实视频信息时，按需读出已批准的相关记忆；不能写入经验或修改搜索配置。
- 管理中心分别显示不同场景的成长记忆预览。保留旧 `persona-growth/v1.json`、原有审核记录和已批准经验；不覆盖主人填写的核心人设。
- 新增分类、审核、模型建议、私信/评论场景隔离等回归测试。

## v2.4.34 · 临时视频心愿与私信每日额度修复

- 获批用户在私信里明确要求找美食、宠物、游戏等主题的视频后，创建最长 30 天、默认 3 次的临时 @ 心愿。首次获批回复只用一笔带过的方式暗示偶尔会想到对方，不直接介绍后台机制。
- 主人可在管理中心「后台私信」配置每条心愿 1～10 次，查看已成功提交次数、发送占位、剩余次数，或随时取消。撤销聊天资格时一并取消该用户的心愿。
- 视频 Agent 可选择心愿 ID；发送层再校验审批、有效期、B站真实视频资料、UID 和剩余次数，并对同一 BV 做防重。只以带评论 ID 的成功回执计数，B站通知是否送达仍不可验证；网络结果不确定时保留占位，避免盲目重复 @。
- 修复 `dmReplyPerDay` 服务端保存时错误钳制到 20 的问题，范围改为 0～1000；0 不设每日上限，保留轮询/小时限速，且不改变原白名单免受全局每日配额约束的兼容规则。

## v2.4.33 · 私信审批通过后自动接话

- 修复陌生人投喂暗号后已被判重消费，管理员批准时仅改变授权状态、下一轮没有新消息便不回复的问题。
- 审批通过时建立持久化的首次回复队列；后台下一次成功轮询会用已保存的暗号消息自然接话，不需对方重新发送。
- 新来私信与待回复任务合并成一条回复；发送前持久化占位，避免在远端成功而回执丢失时重复发送。生成失败会保留待回复状态，发送结果不确定时需人工核实。
- 管理中心显示「等待自动回复／已回复／结果不确定」状态，并允许对**旧版已批准、尚未自动回复**的个别申请手动补发。不会在升级时批量给旧申请发送私信。
- 现有白名单、审批权限、每日／累计次数限制、后台轮询频率与对外投喂话术保持不变。

## v2.4.32 · 私信投喂暗号文案

- 陌生人达到回复上限时，继续聊天的邀请改为大肥鱼风格的「投喂暗号」，不再向对方透露主人审核、批准等内部流程。
- 保留可配置暗号、原有内部审批、每日／累计限额和白名单逻辑；新文案不承诺必定继续回复。
- 私信 AI 生成提示增加约束，避免主动解释内部审核或权限细节。

## v2.4.31 · 自定义多时间段自动刷

- 移除固定“中午 / 夜间”峰谷模式和“0=每窗口每日一次”的旧规则；升级后不迁移旧固定时段，不配置则不自动运行。
- 新增 16 组以内的自定义时间段（HH:MM，本机时钟，支持跨午夜），新增 / 删除 / 保存，服务端严格校验。
- 自动运行间隔改为 1～720 分钟（30 分钟只是默认值），全局共用最近一次自动成功启动时间，两个时间段接壤或重叠也不会突破间隔限制。
- 保留每天选片上限、暂停开关、无日报时的保守次数限制和正在运行互斥保护。

# 更新记录（CHANGELOG）

本文件记录 `dsh-bili-scroll-plus` 的主要功能演进。**安装、配置和当前限制请以 [README.md](./README.md) 为准。** 更早的长篇开发过程可依据 [历史文档清理索引](./docs/archive/README.md) 从 Git 历史查回，其中部分操作方式与现行版本不一致。

## 2.4.30 — 单一评论主账本

- 修复 `bili_reply` 实际成功回执未自动写入 `seen.md` 的根因；顶层评论与后台回复统一在发送工具内记录 BV、rpid、时间、正文前 20 字。
- 管理中心的最近评论列表只读取 `seen.md` 及其按月归档，不再实时拼接 @ 诊断。旧诊断成功回执在升级时一次性、去重补入主账本（无原文的如实标记）。
- 移除要求 AI 手工记评论的失效约定，评论不靠模型自觉写账；接口成功回执与公开可见仍严格区分。

## 2.4.29 — 最近公开评论记录补全

- 管理中心「最近评论」合并 `seen.md`、判重归档和按天的成功发送诊断回执，弥补旧版只识别严格表格导致近期评论缺失的问题。
- 支持自由文本记录、按日期筛选、总数统计和分页；同一视频与评论 ID 去重并保留原有正文摘要。
- 区分顶层评论与后台回复；区分「工具发送成功」与「已公开可见」，不对外发起额外网络查询或发送评论。
- 只读扫描现有本地数据，不修改 `seen.md` 或既有日志；历史上完全未落盘的发送记录无法自动恢复。

## 2.4.28 — 管理中心扩展与私信网络诊断

- 管理中心集中展示今日 @／梗图诊断、每日报告、后台私信、最近评论、成长记忆与梗知识库。
- 管理入口使用本机 Host 生成 HTTP 地址，避免传入 DSH 自定义协议造成“只接受 http(s) 连接”。
- 私信只读 GET 增加超时与有限重试，增强底层网络错误信息；新增只读的私信接口连接测试。
- DSH 设置页保留常用开关，复杂管理操作移入管理中心。

## 2.4.27 — 管理入口打开方式

- 将管理中心的打开动作接入宿主现有的打开网页接口，并在失败时显示原因。

## 2.4.26 — 统一管理中心

- 引入 DSH 本机服务提供的管理中心，涵盖成长记忆、梗知识库与限额聊天申请。
- 新发现的梗采用审核流程，旧记录保留原有可用状态；支持编辑释义和审核状态。

## 2.4.25 — 成长记忆原生集成

- 在插件中管理成长经验与用户反馈；审核后才注入模型上下文。
- 支持兴趣候选、审批、忽略和撤销操作，不自动重写核心人设。

## 2.4.24 — 角色关系、好友偏好与梗图诊断

- 支持好友独立画像与模型拟人背景；将选图前的梗图目录预览和未附图理由纳入评论流程。

## 2.4.23 — 首页推荐模块部署修复

- 修正运行时 `home_recommendations.py` 漏复制导致的 `ModuleNotFoundError`。

## 2.4.21–2.4.22 — 视频预览识图与自定义提示词

- 支持复用 DSH 视频模型或使用独立 DSH 视觉模型，不再要求独立配置视觉 API Key。
- 增加单独可编辑的视频识图提示词。

## 2.4.15–2.4.19 — 评论梗图库

- 新增可选顶层评论附梗图、分类目录、WebP 支持、附图额度及独立的 AI 选图提示词。

## 2.4.8–2.4.14 — 梗记忆、首页推荐与视频预览

- 加入有来源的梗知识长期存储、知识容量控制、首页推荐与关键词混合选片、低清预览抓图及相关诊断。

## 2.4.0–2.4.7 — 权限、后台互动与诊断

- 分离刷视频顶层评论与后台评论互动；增加公开评论限额、可选动态同步、@ 选择与本地决策诊断。

## 2.1–2.3 — 私信与模型配置

- 增加后台私信监听、白名单与陌生人回复、限额聊天申请和审批、分模型配置，以及更灵活的评论 @ 策略。

---

完整的早期变更说明仅用于历史参考，需要旧版长篇记录时可按 [历史文档清理索引](./docs/archive/README.md) 从 Git 历史查回。
