Skip to content

UPSP 0.1.1

Choose a tag to compare

@TzPzFMZ TzPzFMZ released this 21 Aug 06:56

UPSP 0.1.1|多位格分身、记忆真源与长程上下文更新

0.1.1 是 UPSP 桌面版自 0.1.0-alpha.8 以来规模最大的一次更新。它没有把 Seed 改造成另一套产品,也没有提前宣称 Arbor 器官系统已经完成;这一版集中解决的是更基础、也更难绕开的事情:一个位格怎样拥有多个可接续的分身,记忆究竟以哪里为准,长对话怎样逐帧迁移和压缩,以及 Runtime 出错时能否留下真实、可恢复的现场。

如果只看界面,最明显的变化是位格与分身已经成为两级标签页;如果看系统内部,真正的大改则是记忆条目、当前/最近缓存、工具回执和 Round 审计重新统一到了可核验的真源上。

多位格与分身

  • 支持在同一台设备上创建多个位格,并在任一时刻保持一个活动位格。
  • 每个位格可以拥有 meta 和多个未归档分身;可以创建干净分身,也可以从指定分身的当前历史进行分支。
  • 位格与分身选择改为两级横向标签栏。新建、分支、归档和恢复集中在对应层级,不再依赖两排下拉框。
  • 分支按钮只在悬停或键盘聚焦时出现;Runtime 忙碌时,活动分身位置显示加载圈并禁止身份写操作。
  • 同一 PID 只持续共享核心身份、规则、协议文档和 LTM 记忆条目。新建/分支会在创建时继承相应的关系、容器与 Corpus 快照,之后各分身独立演进;STM、热度、最近缓存、任务现场和工作台始终隔离。
  • 切换、创建、归档和恢复都会经过 Runtime 空闲预约、心跳暂停、真源核验和桌面重启,不允许在 Round 中途偷偷换身体。

当前仍不支持多个分身并行运行、分支合并或把项目与分身自动绑定。分身是可接续的独立线程,不是 Git 式协作树。

记忆条目改为 LTM 唯一语义真源

  • 记忆条目创建时同时建立 LTM 真源和当前分身 STM 驻留;STM 只承担分身热度、衰减、临时挂载和本地 overlay。
  • 新增 stored_at,把“创建时间”和“正式入库时间”分开。创建、自然升格、遗忘入库和人工钉选不再混用同一个时间字段。
  • LTM 记忆被真实召回时会在当前分身重建完整 STM,并按同轮去重规则加热;GUI 查看、索引浏览和原始文件检查不会伪装成召回。
  • 已入库记忆的当前层衰减周期会在真实召回后续满;Pinned、未入库条目和无副作用读取不借此续期。
  • STM 高热入库后仍可继续留在 STM 中自然衰减,不再因为成功写入 LTM 就立即消失。
  • 记忆正文、标题、共享元数据、层级索引和关键词倒排使用同一条回滚事务;LTM 损坏或跨层冲突时 fail closed,不退回旧 STM 猜正文。

记忆检索、重整与定期挂载

  • 新增专用 memory_search:在可用记忆条目的 LTM 真源中检索标题、关键词和正文,返回 32 字定位片段、层级和创建分身坐标。
  • 定位片段明确不是证据。模型需要继续调用 memory_content_read 打开完整正文;精确日期、原话、轻量事实或多跳信息仍不足时,应沿 created_instance_id + created_round 追溯原始分身语料。
  • index_view 恢复为纯索引分页工具,不再同时承担正文检索。
  • 退役旧 memory_recall_complete 工具。日衰减后发生层级错位的记忆,在真实召回时进入当前 Round 的“回忆重整”指南:模型负责语义重整,处理器负责层级、索引、STM 同步和完整回滚。
  • 语义压缩与关键词裁剪迁入日节律 Reaction。Cleanup 只做机械结算,需要模型判断的内容进入共享待压缩账本和受控材料,不再从普通回复里解析 FORGET、LTM_DEGRADE 或 EVOLUTION 标记。
  • 记忆正文仍保留 Abstract 128、Summary 512、Full 2048 字的硬上限,但上限不再被描述成目标篇幅;无需为了接近上限而扩写、补齐或重复。
  • 合法的超限 memory_write 会进入当前 Round 的即时重写指南,可以压缩后写入或明确放弃,不再触发旧式失败提醒/取消工具链。
  • 记忆详情支持人工挂载到定期层。挂载不算召回、不加热;同一条记忆可以同时显示“STM 衰减中”“LTM/Pinned”和“定期层已挂载”。
  • 定期挂载超过可配置容量时整笔拒绝;取消最后一个挂载所有者后,条目按所有权和当前权重返回正确 LTM 层。

当前记忆条目系统尚未开放私密访问域;模型自动定期挂载也尚未开放。

当前缓存、最近缓存与渐进压缩

  • now 改为“下一 Frame 待消费包”,不再依赖字符水位偷偷迁移。
  • 用户输入、relay、heartbeat 和 setup_fact 在首个 Reaction 中仍属于当前缓存;每个成功返回的 Reaction/Cleanup Frame 才把上一包迁入 lately,失败调用不推进缓存。
  • Round 正常完成、停止、降级或异常收尾时都会排空残余持久条目并清除单次可见材料;硬崩溃前尚未收尾的真实帧包可以跨重启保留。
  • 最近缓存按历史交互分组。受保护的近期用户输入保留原文,更早的交互及其后续内容逐步形成 interaction_summary;无交互锚点的历史前缀形成 cache_summary。
  • 压力触发只在 Cleanup 建立压缩债务,不主动开启新轮,也不抢占下一轮 Setup;压缩从下一次自然 Reaction 开始,并优先于任务等普通指南。
  • 压缩材料先经过确定性投影,再以受控材料交给模型;分片结果暂存在 STM,全部达标后才原子写回 lately。
  • 默认保护最近 16 次用户交互;单片目标不超过源内容的 12.5%,整个周期目标为 25%,单 Frame 最多处理 65,536 字符。比例与保护数量跟随位格配置。
  • 压缩债务允许新的 lately 尾部继续追加,冻结前缀发生漂移时拒绝写回,不用旧摘要覆盖新历史。

这套机制优化的是上下文稳定性和历史可读性,不等同于 provider 必然采用某种缓存策略,也不承诺固定缓存命中率。

文件、工具与证据追溯

  • 原 file_search 拆分为 file_glob 和 file_grep:一个查路径,一个按正文做流式字面检索。
  • 新增只读 persona:// 虚拟根。模型可以在授权范围内观察当前或其他 PID 的可读取 persona 数据、Round、Corpus、容器和文件,但不能用普通文件写工具直接改写 persona 真源。
  • file_read、file_glob、file_grep 读取记忆文件属于 raw inspection,不加热、不续期、不更新调用坐标。
  • shell_command 在 limited 下不导出,在 guarded 下逐次审批,在 unlimited 下按当前 Windows 用户权限执行。grant 只限制工具导出和初始 cwd,不伪装成操作系统级沙箱。
  • Reaction 工具头补齐字段级说明,删除不存在的入口、退役工具和机械字符上限;普通 Frame 的隐式 4096 输出上限已经取消。
  • DeepSeek/OpenAI Responses/Anthropic 的终态、暂态重试、跨模型 failover 和 Windows worker Pipe 退出路径完成统一;无终态 partial SSE 只留审计,不冒充回复。

工作容器、关系与任务纪律

  • 永固层强化语义检索、轻量事实写入、证据等级、状态修正和多跳追溯纪律。
  • DC、EC、PRJ、FUT 必须按各自语义独立判断;PRJ/FUT 不能替代同时成立的辩证链或事件链,不同职责的容器可以合法并存。
  • 同一持久职责只维护一条主链,孤立事实、一次性草稿和临时步骤不机械建容器。
  • 关系卡仍由模型根据真实关系语义主动创建;关系倒排、记忆链接与容器节点继续引用真实 ID,而不是只靠相似标题。
  • 任务意图识别继续保持产品默认开启。一次可直接闭合的记忆或容器沉淀不会因为涉及多个工具就被强制建成任务;真正跨轮、多来源、有交付物或验收要求的工作仍应进入任务系统。

Runtime、配置迁移与故障恢复

  • Setup/Reaction/Cleanup 分别拥有可配置时间;Reaction 提醒、警告和自动中继使用三个明确时点,不再把 Frame 时限与 Round 上限混为一谈。
  • 已知旧 system.json、state.json、缓存债务和记忆元数据形状会按可证明路径迁移;未知、混合或损坏形状不会被新默认值覆盖。
  • 位格目录不完整时不再锁死整个 GUI。Runtime 和持久写入保持关闭,但用户仍可查看诊断、切换位格或创建新位格恢复控制面。
  • 位格创建、真源核验和 Runtime 启动处于同一 mutation lock;启动失败会保留已经成功落盘的位格,并明确显示“位格已创建但 Runtime 未启动”。
  • 桌面壳只在后端进程真实退出时显示模态故障;Round 内部错误留在 Runtime 状态和审计中,不再被误报成整个本地后端崩溃。
  • 修复跨日记忆压缩周期与新日历到期并存时的恢复死锁,以及多处旧配置、分支切换、上下文坐标和正则转义遗留问题。

审计与验证链

  • Round 审计升级为前缀差分存储:重复十层上下文按 layer blob SHA 去重,调用事件引用真实请求快照。
  • 活动 Round 账本保持 FIFO8 和 256 MiB 总水位,启动、设置保存与关轮使用同一治理器。
  • 一致性审计默认只扫描 Git 可见的活动真源;历史 Spec、Round、LoCoMo 和 ignored Runtime 现场改为显式慢速取证模式。
  • 默认审计从约 13,397 个文件/1.59 GB 收敛到约 500 个活动文件/5.6 MB;本次三次运行中位数为 4.791 秒,P0/P1/P2=0/0/0。
  • 0.1.1 候选态 24-worker 全量测试为 2915 passed / 0 skipped / 0 failed;DDS truth、活动范围一致性、UTF-8、current-anchor、Correctness 与 Ponytail review 均通过。

当前产品形态的真实测试

本轮开发期间使用 DeepSeek 官方线路完成了多次隔离测试,以下数字只对应各自冻结的模型、路由、提示、数据和协议:

  • 12 项 Agent 日常能力测试完成 12/12 任务和 16/16 产物;39 个 logical call 的 provider 缓存读取比例为 85.27%。
  • 一次长轮恢复验证的 22 个 logical Frame 全部最终 HTTP 200,缓存读取比例为 92.93%;该数字不代表任意任务都能达到 90%。
  • 当前 Max 产品形态的 LoCoMo 25 题双线路复验:UPSP 连续答题分身得分 0.3950791833,独立 Full-context 对照得分 0.6366644498;总体 provider 缓存读取比例为 81.8349%。
  • LoCoMo 结果证明当前记忆检索已经能够工作,但原始语料追溯仍未被模型稳定使用,精确日期、原话、轻量事实和多跳聚合仍是下一阶段的主要质量缺口。

这些结果不是公开排行榜名次,也不是跨模型、跨 provider 的固定性能承诺。完整上下文对照与 UPSP 产品线程属于不同评测协议,不能把两者分数直接解释成单一模块的增益或损失。

升级与数据边界

  • 0.1.1 仍是 Windows x64、BYOK、本地数据优先的 Base / Seed 产品。
  • 程序文件、位格数据和本机模型配置继续分开保存;覆盖安装不应删除位格、记忆、关系、Round 或密钥。
  • 已知 Alpha 8 数据形状具有确定性迁移路径;0.1.1 支持从公开 Alpha 8 覆盖安装,程序文件、位格数据和本机模型配置继续分开保存。
  • 建议升级前备份 文档\UPSP\ 与 LocalAppData\UPSP\config\。未知或人为修改过的配置可能被 fail closed,需要通过 GUI 诊断恢复,系统不会猜测后覆盖。
  • 当前安装器仍未签名,Windows 可能显示“未知发布者”或 SmartScreen 提醒;请只从本仓库 Releases 下载并核验 SHA-256。
  • UPSP 不提供模型中转账户、遥测、云同步或后台上传;模型请求直接发送到用户配置的服务。

当前仍未实现

  • 多位格或多分身并行运行、分支合并、项目自动绑定;
  • Arbor 跨轴器官调度与完整器官系统;
  • 记忆条目的私密访问域;
  • 模型自动定期挂载记忆;
  • 自动更新、安装包签名与跨平台桌面版;
  • 把 provider 缓存命中、LoCoMo 分数或单次 dogfood 结果变成普遍性能保证。

下载与校验

从本页下载唯一的 Windows x64 安装器 UPSP-Setup-0.1.1-win-x64.exe。安装器尚未签名,请只从本仓库 Releases 下载,并按 GitHub 附件摘要或 Release 正文公布的 SHA-256 核验文件后再运行。

项目介绍、数据边界与源码构建方式请参阅仓库 README。

发布制品核验

  • 源码提交:8978118f0703d011eed5130be08dca857af3bff1
  • 安装包:UPSP-Setup-0.1.1-win-x64.exe
  • 大小:59252166 字节
  • SHA-256:d87f3022e058d9000e45ba547499574b603fab6e8cc8dde9febe127ce5cfdc29
  • 当前安装包未做代码签名;Windows 可能显示未知发布者提示。