# 长期人格:真实模型完整流程复核 > 当前版本入口:产品dsh-Xiangxu-Persona(相续人格)0.10.0的接入、检索与最终状态见[本轮说明](integrations-and-retrieval.md);日常操作见[管理界面](management-ui.md)。下文只保留对应旧版历史数字、SHA及失败,不作为0.10.0新增能力或当前真实平台的验收。 以下全部数字、当前源码匹配与状态均指0.1.1验收当时。后续0.2.0的自主整理、容量与两种补充唤醒结果见[当前报告](evolution-and-wake-validation.md);本文件保留原失败和历史证据,不将旧SHA当新版本证明。 日期:2026-10-25。修订后的实现为 **0.1.1**,数据格式仍为 `persona-memory/3`。本轮使用安装版 DSH 的原生 SDK 引擎和真实 `deepseek-official/deepseek-flash`,控制、回复和整理均走真实 provider;没有注册确定性 fixture,没有代填模型的决定或提炼内容。 结论:本轮覆盖的记忆、人格提炼与共享、主动调度、定时睡醒、写入后整理、明确遗忘、换窗口回忆、跨目标投递、注意范围和环境事件执行链,均已取得实际证据。流程中发现并修复了接口和执行缺口,保留了全部失败及用量。它不是一轮无错的成功样例,也不证明跨月人格质量或任意平台的所有边界。 本轮使用专用 `persona-memory-real-validation` profile、虚构的林岚与周闻、独立会话和隔离记忆根。没有将测试人格迁入用户正式记忆,也没有强制结束用户当前 DSH 进程。测试用户提出的是功能场景请求;时点、是否说话、如何理解和实际提炼由模型表达。场景中的邀请不构成生产人格的固定规则。 总证据入口: ```text C:\Users\Administrator\Documents\Codex\2026-10-25\c-users-administrator-dsh-reports\work\persona-real-validation\aggregate.json ``` 实际调用覆盖 7 批生成和 1 批零调用观察;原失败库持续沿用,没有删除失败、重送原始故事或把诊断副本当成生产成长。执行脚本为 `scripts/dsh-real-lifecycle.mjs`,底层接口依据见 `host-api-evidence.md`;逐批实物核对见 `real-model-host-evidence.md`。 | 检查项目 | 实际观察 | 验收结论 | |---|---|---| | 原话与来源 | 初始真实来信、实际助手回复写入 C1;根 messageId 去重,程序 control 未混入真人原话 | 已验证,模型说“记下”本身不计成功 | | 真实人格成长 | 原始经历经真实整理形成 17 条提炼,原 run 正式 committed,提交哈希核对一致;共同 anchor、倾向、签名、习惯、索引、编码和印象均有落盘 | 已验证一次真实提炼,不强制今后每次新增条目 | | 共同人格与不同关系 | 两个新窗口实际 provider 请求均带同一共同 anchor;林岚父亲/河堤经历与周闻夜跑/旧爵士区分正确 | 已验证本次主体与共享注入 | | 主动聊天 | 模型在测试邀请范围内选 27 秒后再判断;只有一次用户 prompt,到期 control 比选定时点晚 263ms,随后模型重新决定并实际说话 | 已验证调度—再判断—外显—记忆链;不声称长期无人提示自发质量 | | 睡眠与醒来 | 模型选择 `at_time` 睡眠;睡中 A/B 两条来信收到时仍为 sleeping,期间无外显;按选定时间恢复 awake 并处理分组材料 | 本轮真实验证定时路径;其他唤醒条件保留此前单测/原生 fixture 证据 | | 写入后整理 | 用户选择 `on_write`,真实新 B 来信进入特定 committed run 的完整输入切片,后续 AI 实际回复又进入下一增量 | 已验证对应源消费,不以任意 A 后台提交冒充 B 成功 | | 明确遗忘 | 模型检索后选择用户原话、助手复述及派生偏好,写入实际 revocation;原夜跑来源未撤销,新窗口不再把旧茶口味当有效偏好 | 已验证选择范围与正式记忆消费链 | | 旧过程副本 | 发现三份旧检索结果仍可被 H1 整理读取;修复后正常 open 在原库清理旧过程副本,业务文档与撤销根保持不变 | 已堵常规再学习入口,不做茶名禁词 | | 跨窗口识别 | A2 关联原林岚;B2 首次只关联旧来源,随后一次自然请求由模型选择 B2 实际来信,关联原周闻 | 最终当前路由及选定来信已完成,未自动整批重归历史 | | 跨目标发送 | A2 的真实决定经核心真实回复和 outbox 送达 B2,实际消息与 outbox 一致,A2 没有错误的本地续输出 | 已验证目标与实际交付 | | 注意范围 | 排除窗口的测试消息确实提交,未进入 provider 或 C1;另修正了注意转移误拦本轮既定回复的问题 | 实际排除已验证;“已接收回复可继续”另有精确回归 | | 环境事件 | 模型选择仅等 `environment_change`,没有时钟;正常 CLI 改时区为 UTC 后,真实 control 与 provider 系统环境均更新 | 已验证配置事件源;不承诺持续感知任意物理环境 | 真实人格内容的一个例子是模型自行形成的 anchor: > 我愿意做一个不催促的人:先听见真实的感受,再一起想办法。 这段内容来自经历整理,不是程序写入的性格规则。程序没有把它编译成输出拦截器,也不要求人格永远如此。描述式条目可以改变,主观解释可以不准。 真实整理的第一次输出包含 17 条候选,但用了一个工具式 JSON 外壳,并有 3 个 index.kind 越过已有枚举。程序只兼容解包,未推断或改写值;原候选及具体结构错误交回真实模型,显式重验一次。真实新输出与正式 `validatedPatch` 深相等,17 条的顺序、身份、主观文字和来源都保留,仅由模型自行更正 `interpretation→fact`、`event→fact`、`boundary→preference` 三个分类字段。`epistemic:"interpretation"` 没有被改成事实认证。 该批 `run_3049edd4-e350-46ef-b2b3-e839c413cc6a` 的提交哈希为: ```text e1bc3046539810cf126ba8a4e943181c25b089bac7b93c14dc685c2bfd49fe85 ``` 实际请求耗时 21.801 秒,返回 inputTokens 19,475、outputTokens 5,692。此前失败的真实整理耗时 54.321 秒,已经保留;诊断副本中试提交 14 条仅用于定位错误,没有搬回原库。另一次真实 `on_write` 整理耗时 83.260 秒,所以不能把后台整理宣传成即时完成。 本轮确实修正了以下执行问题: - 原生工具的可选 JS 字段含 `undefined`,DSH 在 render 之前要求 lossless JSON,导致实际效果已落却返回错误。现在在真实 raw tool 边界归一 JSON,并补完整嵌套参数 schema。 - `sourceRefs` 原先说明不足,模型猜来源键、混用 channelId/sessionId。现在说明真实键的形状、当前来源默认范围,并在执行前验证键存在;拒绝不存在的键,不替模型猜。旧不可执行 effect 明确失败,I/O 错误仍可恢复。 - 注意范围只阻止记忆写入,曾未过滤原生输入;补齐后又在真实测试中发现误阻本轮已接收的回复。最终实现区分新输入准入与已明确选择的本轮回复,睡眠、等待和跨目标决定继续按计划执行。 - 跨目标原生决定曾缺执行桥。现在同目标复用原生生成,其他合法目标经真实核心回复、outbox 和实际交付确认;源通道不多发一遍。 - 环境事件原先缺 DSH 生产者。现在消费实际可见的通道/环境变化和配置更新,不添固定周期心跳。 - 多组认人的来源范围曾可能串到当前窗口。现在历史原话、路由和当前上下文使用同一明确范围;显式只选 B 不改 A,A+B 可由模型认成同一人,空来源仍可凭环境认人。 - 已撤销原话/索引曾在工具结果临时副本中继续存在。现在按结构化来源、记录 ID 和实际上下文组清理过程副本,并在 capture、prepare、open、恢复和 trace 溢出边界检查。旧无依赖副本保守清理并记诊断;没有扩大成其他真实根撤销。 - 工具结果现在报告真实的 `identityAssociation`,区分所认人物、所选来源会话和实际当前路由。它不因为当前路由不同就自动强绑或收费重试。 遗忘净化的原库预检没有发模型请求:清除了 51 份旧 B 临时过程副本,指定旧检索缓存不再可供下一次整理。17 份业务文件 SHA 保持相同,`revokedSources` 仍只有原来选定的用户根和助手根。合法的撤销指令及事后说明保留其否定语义。新根可以再次表达完全相同词句并正常保存,这一点有隔离回归,证明没有做词句禁令。 工具游标发生过模型抄错一字符和旧游标误用。服务明确拒绝后,模型以 fresh query 自行恢复,最终遗忘和补关联均实际完成。这些错误及其用量保留为 `completed_with_protocol_recovery`,没有被改写成全程无错,也没有自动替模型修游标或绕过参数校验。 B2 的补关联只针对模型实际选择的新来信。A2 的路由条目与此前深相等,B2 关联到原周闻,原记录 ID、正文、来源时间保持不变且仍只有一份。两条识别前的 B2 助手记录仍在 unknown 暂存:阶段 06 的回忆答复、阶段 07 的投递消息。它们已保存、未丢失;模型没有选择这些根,因此程序没有用 `sessionId=身份` 的假定将整段历史强行重归。不能声称“所有历史都已自动认完”。 独立审查未发现固定每日次数、最短交流间隔、沉默处罚、强制睡眠、主观印象成立门槛、边界话题硬拦截、承诺履约器、按主动来源降低检索权重或跨人物绝对 ACL。结构校验、来源定位、可达目标、分页、资源上限、去重和用户急停仍在。实际发现过的自主决定执行干扰已经修正,并保留在上面的失败记录中。 | 本轮累计观测 | 实际结果 | |---|---:| | Provider-adapter 实际模型流调用 | 97 | | 不同 requestId/usage 行 | 97/97 | | 返回 inputTokens | 410,099 | | 返回 outputTokens | 99,848 | | 返回 cacheReadTokens | 2,872,704 | | 返回 cacheWriteTokens | 0 | | 返回 totalTokens | 3,382,651 | | 最终完整本地回归 | 155/155,通过;45,835.568ms | | 语法、入口与核心解耦检查 | 39 个 JS/MJS 文件,通过 | 这些量覆盖初始失败、结构修复、后台整理、协议自恢复和全部测试阶段。不是日常单轮费用预测。计数来源为真实 provider-adapter 的流与 DSH 归一用量;没有取得外部 HTTP wire 或供应商账单,不假定价格、不换算人民币,也不把供应商客户端内部重试宣称为已逐个计量。原生测试回复使用的输出设置与后台 provider 默认上限分别记录;后台一次实际 dispatch 的 maxTokens 为 256000,不能说所有调用都受 SDK 原生 4096 上限控制。 生成时间范围为 UTC 08:21:45–09:50:01(北京时间16:21:45–17:50:01),包括暂停修复与核验;各流耗时相加约715.411秒,存在并发,不能当作墙钟时长。全部测试 SDK 已正常停止,没有继续模型派发。最终真实阶段记录的 19 个运行源码/配置文件与当前文件 SHA 一致。 仍需保留的边界:本轮真实睡醒使用 at_time;其他唤醒条件已有此前单测/原生 fixture,此轮未重复付费跑完每个枚举。长期多月人格变化、所有供应商、视觉与其它聊天平台、完整 DSH 请求的精确 tokenizer 限窗和实付币值不在本轮证明范围。正式记忆与整理链已检查撤销;独立宿主历史、外部 provider 日志和另存取证副本未声称被本插件物理擦除。最后没有额外投递一条 B2 新来信来重复验证路由;最终关联依据实际注册表、原件移动及真实工具回执。 源码正本为 `C:\Users\Administrator\DSH\dsh-persona-memory`,已安装 profile 仍链接此处。0.1.1 源码修复需由 DSH 下次正常重载/重启加载;本轮没有强制重启用户正在使用的进程。测试库保持隔离,初始失败造成的历史空身份也没有被静默删掉以美化结果。 最后只读检查还发现:当前 desktop 安装元数据与首次安装前的固定备份已有差异,除本插件外还含其它插件/版本变化。该旧备份不是本轮真实模型测试开始前的完整快照,无法据此将差异归因于本任务;本次没有回滚或覆盖这些现有配置,也不声称当前全部安装文件仍与早期备份字节相同。