## 2026-11-04 — 0.4.19 预览确认恢复发布验证 - 复现“批量预览 → 普通补充 → 旧卡暂停确认 → 助手仍提示回复 1 → 确认被拒”的流程。修复沿用现有 pending、drafts、revise、有效期和投递标记;运行上下文中的 needs_revision 仅为派生提示,不持久保存,不新增状态机、数据库表或字段。 - 源码及业务回归 **304 passed(40.43s)**,覆盖预览反馈、过期草稿恢复、批量删除与新增、失败校验、媒体不能批准、迟到回执、直接写入/撤销和文字投递。测试使用模拟 Apple、微信及模型服务,没有新增真实微信发送或 Apple 写入。 - 正式包 CLI/Desktop、分段恢复、列表投递、首次安装升级、宿主兼容检查首轮 **13 passed、1 failed(127.64s)**。失败为新增 CLI 测试在组件启动前打开尚未创建的数据库;补齐等待模拟微信轮询就绪后,两宿主预览恢复及清单/构建卫生复测 **6 passed(18.44s)**。未修改产品逻辑或绕过断言;其余已通过测试未重复运行。 - 安装包验证包含:补充后旧卡不可确认、纯文字“重新预览”生成并投递新卡、暂停草稿跨宿主重启保留、新卡确认后仅执行一次、重复确认不重放。最终重打包仅同步安装说明,复用同一已测试的 Python 组件。 - 归档 `telos-harness-0.4.19-macos-arm64.tgz`,SHA-256 `ec56322d31d9848659842bda32b2e2c4d93332688f8eea0c7468167a47436421`;151 个清单文件全部校验,348 个归档条目的所有者和时间戳归一化,779 个内嵌 Python 模块已检查。Git 历史、当前源码、包内文件及内嵌字符串的 Gitleaks 扫描均通过;未检出本机构建用户名。 - Apple 可执行文件与 0.4.18 完全一致,Apple app 与 Python 组件签名校验通过。平台和宿主范围沿用上一版:macOS 14+ Apple Silicon,DSH `>=0.2.1-rc.2 <0.3.0-0`,已验证 rc.2 / rc.3;仍为 ad-hoc 签名,未完成 Developer ID 公证或另一台实体 Mac 首次安装验证。 ## 2026-10-28 — 0.4.18 正式发布验证 - 正式归档的 CLI/Desktop 分段恢复、旧回复迁移、列表投递、直接写入与撤销、首次安装、升级重启、宿主兼容及构建卫生检查 **15 passed(113.53s)**。沿用下方本地修复版已经通过的 134 项源码与宿主检查;自动化使用隔离模拟服务,没有新增真实微信发送或 Apple 写入。 - 归档 `telos-harness-0.4.18-macos-arm64.tgz`,SHA-256 `1a8a7a8805426e56ad5d77b60283b73ab07f85d734836616f3ed75a606bd62d9`。151 个清单文件全部校验;348 个归档条目的所有者及时间戳归一化;768 个内嵌 Python 模块完成检查。程序内容与已验证 local.1 一致,Python 基础库 ZIP 仅压缩元数据不同;Apple 二进制保持一致。 - 包内可读文件和内嵌模块字符串的 Gitleaks 检查通过,未检出本机构建用户名。新增的是通信层投递状态记录,Agent 决策、模型调用及业务审批流程保持不变。 - 支持范围及签名条件沿用 0.4.17;未重新验证另一台实体 Mac 的首次安装。本条记录描述正式包验证,本机替换结果另行记录。 ## 2026-10-28 — 文字分段投递恢复修复(0.4.18-local.1,未发布) - 复现旧版缺陷:完整的小红书推荐回复被按行拆成 13 段,中途拒收后仅保留整条未送达标记;重启从首段重放。模型仅生成一次回复,重复发生在投递恢复路径。 - 普通文字新增 `text_outbox`,保存不可变分段计划、已确认段数与状态;发送前写入 sending,每段确认后立即保存进度。明确拒收可从失败段恢复,固定 client_id 保持一致;超时、取消、崩溃或回复被更改后暂停自动重放,不能宣称已送达。整条成功后仍沿用既有预览确认及反馈校验。 - 首次升级将旧版无分段进度的非定时待发送回复标记 legacy_unknown,保留原文并暂停重发;新版本尚未开始发送的回复仍可恢复。图片回执与定时投递流程不变。 - 标题、摘要和独立 URL 在同段落内一起发送;实际问题回复从 13 段变为 5 段,完整内容与访问参数保持一致。普通聊天、列表和受保护的操作卡片沿用各自分泡规则。 - 分段恢复、未知结果、并发去重、迁移、图片、预览及直接写入源码回归 **115 passed(12.14s)**;原生 steer、确认、重启与回复输出 **10 passed(32.76s)**;真实编译包的 CLI/Desktop 部分发送重启、旧消息迁移、列表、确认撤销及清单验证 **9 passed(69.43s)**。测试使用隔离数据与模拟服务,无真实微信发送或 Apple 写入。 - 构建 `telos-harness-0.4.18-local.1-macos-arm64.tgz`,SHA-256 `2eac669ce09c9fea896e1e9c1ad411ecac8916d963b8979b763fcd97fb4250e9`。复用已授权 Apple 组件;包内可读文件 Gitleaks 检查通过。尚未发布正式版本,仓库正式版仍为 0.4.17。 - 本机已备份后安装此本地修复包并完整重启 DSH;151 个安装清单文件匹配,原消息正文与发送标记均保留,问题旧回复迁移为 legacy_unknown,未删除或误标送达。此验证没有新增真实微信测试消息。 ## 2026-10-28 — 0.4.17 正式发布验证 - 新增微信公网图片发送,支持 PNG/JPEG/WebP(输入及转换结果最多 10 MiB),可附标题摘要及完整链接。保留访问参数;没有增加短链服务。小红书 MCP 独立配置,不随安装包分发。 - 图片、微信投递、输出与构建卫生回归 **47 passed(25.51s)**。正式归档的第一轮宿主回归 8 passed、2 failed;两处失败均为工具清单仍使用旧预期,更新为包含 `send_wechat_image` 后,安装升级、桌面配置和工具开关定向复验全部通过。合计覆盖 11 项 CLI/Desktop 安装、升级、重启、确认/撤销、列表投递、工具开关、包清单及宿主版本范围检查。外部微信、模型与 Apple 使用隔离测试服务。 - 正式归档 `telos-harness-0.4.17-macos-arm64.tgz`;SHA-256 `120f126bbfaa366178b42ae7768b0108da7fbd24f58ca4788ab91d05a8686413`。151 个清单文件校验通过,348 个归档条目的所有者及时间戳已归一化;767 个内嵌 Python 模块包含新的图片投递代码。包内文件和内嵌模块未检出本机构建用户名;Git 历史、包内可读文件与内嵌模块字符串的 Gitleaks 扫描通过。 - Apple 组件逐字节与 0.4.16 一致。图片发送逻辑与下方已完成真实收件验证的 local.3 一致;本次仅更新正式版本、文档和宿主测试预期。当前用户安装仍为 local.3,本条记录不表示已替换本机安装。 - DSH 兼容范围沿用 `>=0.2.1-rc.2 <0.3.0-0`;本版验证 CLI/Desktop 和版本范围矩阵,不代表允许范围内每个版本均已实测。安装包仍为 ad-hoc 签名,尚未完成 Developer ID 公证或另一台实体 Mac 的首次安装验证。 ## 2026-10-28 — 微信图片发送(0.4.17-local.3,本地验证,未发布) - 新增当前微信会话专用 `send_wechat_image`,发送公网 PNG/JPEG/WebP 图片;输入和转换结果均限制为 10 MiB。WebP 通过 macOS `sips` 转为 PNG,复用已有 cryptography 依赖完成 iLink 加密上传。图片后可附一条标题、摘要及完整原文链接,保留访问参数;未加入短链生成、标题隐藏超链接或原生链接卡片。 - 收件人来自已绑定的当前会话。发送前保存持久化回执,按会话和工具调用 ID 去重;超时、进程中断及部分发送不自动重发。仅明确的旧上下文拒收允许去掉上下文后重试一次;`prepare failed` 提示需要新的微信消息,不报告发送成功。 - 图片、微信投递及输出回归 **42 passed(25.42s)**,包含原生 DSH 工具调用、加密载荷、同会话绑定、重放去重及部分失败;补充 prepare-failed 回执和不重试用例后,相关定向回归 **5 passed(0.09s)**,其中 2 项新增。 - 实际 local.3 归档在隔离官方 CLI/Desktop Host 中的消息投递及重启回归 **2 passed(18.21s)**。这些自动化测试使用模拟微信服务,不向用户发送测试消息。 - 本机此前通过运行中的已安装 Telos `/send-image` 发送小红书封面与文字链接。新用户消息刷新会话后,两条消息均获 API 接受,用户已确认图片和文字链接实际收到。该结果验证本次实例,不代表每次 API 接受都能独立证明客户端展示。 - 已安装版本为 `0.4.17-local.3`;归档 SHA-256 `a4fa3eed1abc90c246248e01ace69b43738fe11c165d0ef3deabce49665e842c`。本次整理只补充测试和文档,运行代码与已验证本地包相同。未发布正式版本,仓库正式版本号仍为 0.4.16。登录信息、测试笔记数据、个人会话和安装包不纳入源码提交。 ## 2026-10-28 — 0.4.16 正式包与 DSH 多版本兼容验证 - 基于 0.4.15 主分支整合 Apple 诊断文本误冲突、macOS 分区参数、微信混合卡片和预览反馈修复;不包含本机屏幕使用时间、健康采集、相关配置或依赖。复用既有草稿、确认及消息记录,无新增状态机、数据表或持久字段。 - 业务源码回归 **189 passed**(187 项主回归及 2 项相邻确认保护);最终新增登录版本界面回归 **10 passed**。模型登录使用 DSH 原生运行版本,缺失时明确报错,不再固定发送 rc.2。 - DSH `engines.dsh` 为 `>=0.2.1-rc.2 <0.3.0-0`,允许从 rc.2 起的 0.2.x 候选版及正式版,避免补丁升级仅因版本号变化被拦截;0.3.0 及以上(包括预发布版)需重新审核。实际验证版本为 rc.2 / rc.3;未来版本在允许范围内,不等于已逐版验证。保留既有宿主必需服务检查。 - 最终包在官方 rc.2 CLI 的安装、升级、重启、直接写入/撤销、混合卡片反馈、列表、定时及包清单/构建卫生验证 **9 passed(70.86s)**。官方 rc.3 CLI/Desktop Host 的对应业务、首次配置/登录/授权、去重、定时与兼容矩阵验证 **11 passed(130.07s)**。矩阵直接调用 DSH `evaluatePluginCompatibility`,覆盖 12 个版本,并复现旧精确范围拒绝 rc.3;桌面状态中的宿主版本与实际应用一致。服务均为隔离测试桩,不发送真实微信、不改用户 Apple 数据。 - 核对官方 rc.2 与 rc.3:16 个直接引用上游模块的实现一致,Agent、工具、会话与系统提示相关实现亦一致。前一阶段 rc.2 Desktop Host 测试已通过;当前最终包新增的桌面版本读取在 rc.3 完整宿主回归通过,其原生 API 在 rc.2 / rc.3 均核验可用。 - 归档 `telos-harness-0.4.16-macos-arm64.tgz`,SHA-256 `2e5764ad9f4bf76f4bdb1afa418c4b706d7302da65e598751e9104d44f6f6375`。150 个清单文件全部校验;相对已验证的 dev.2,仅 README、包元数据和两份桌面 JavaScript 改动,Python 与 Apple 组件完全一致。Apple 修复沿用下方 macOS 27.0.1 的实机结果;未重复请求授权或写入真实提醒事项。 - 当前 528 个源码文件、347 个归档条目、155 个 ZIP 条目、761 个内嵌 Python 模块的规则扫描通过;Gitleaks 8.30.1 对源码、31 个提交的凭据历史、包内可读文件及模块字符串检查未发现泄漏。个人路径历史检查仍有 12 处,均来自 origin/main 已存在的 6 个旧测试断言对象,本次没有新增;不将这项结果表述为全历史无个人路径。归档所有者与构建元数据已归一化。 - 本机已完整备份后通过官方管理器从 dev.2 更新为正式 0.4.16;150 个安装文件与归档一致,安装前后 52 个非 profile 数据文件未变,281 条业务消息、5 份原生会话文件保留。安装不包含或改写本机实验采集配置。 - 当前包仍使用 ad-hoc 签名,未完成 Developer ID 公证或另一台实体 Mac 的首次安装验证;Apple 私有扩展在其他 macOS 版本仍需验证。 ## 2026-10-28 — 混合卡片与预览反馈修复(候选) - 根据本机聊天与原生工具记录复现:直接保存后同轮生成删除预览时,发送层把整段回复保护为一个气泡,两张卡的“1”分别表示撤销与确认。用户在预览有效期内询问格式,普通输入分支却删除 pending;模型重贴历史文本,后续“1”没有可执行预览。安装文件和运行进程均已是上一修复版,Apple 更新实际成功,此次并非旧组件或分区读取故障。 - 多张权威卡片分别保护并投递;混合回复中保存卡改为明确文字撤销说明,数字仅确认当前预览。普通反馈保留草稿并暂停旧预览确认,沿用匹配草稿的 `revise + request_mode=continue` 重新校验、展示后再确认;仅复制旧卡、失败修订、未送达和迟到发送回执均不能启用旧预览。只复用现有 pending、drafts 和 messages,没有新增状态机、数据库表或持久字段。 - 原有业务、steer、撤销、重启、上下文及定时回归首轮 81 passed、1 skipped、2 failed;两处失败是初次未送达提示及无反馈时重试恢复的兼容问题,修正后与新增流程用例合并复验 **16 passed(14.27s)**。发送层 **47 passed(0.12s)**。新增混合卡及格式反馈对话单独 **4 passed(6.36s)**,与上述 16 项重叠,不累加;全部使用隔离模拟服务,未向真实微信发送测试消息或修改用户 Apple 事项。 - 独立审查补齐尚未解析的媒体输入、撤销执行中记录和机器通知边界;扩展定向回归 **49 passed(29.57s)**。最终反馈与定时组合 **29 passed(84.99s)**,包括 17 个反馈用例和 12 个调度用例;无跳过。自然语言或数字机器通知不构成人工反馈/批准;未处理媒体和迟到发送回执不能恢复旧审批。各轮存在重叠,不累加为独立测试数。 - 最终归档 `telos-harness-0.4.16-dev.2-macos-arm64.tgz`,SHA256 `7a5d2a25454e31f997a70bffb44ab6f87ed92b1bfb8747555ed61399bf5aa5a2`。真实官方 CLI/Desktop 的混合卡片、反馈重新校验、重启确认、原有撤销开关和包清单共 **5 passed(38.31s)**,使用隔离 profile 及模拟模型/微信/Apple。复用已授权的 Apple 二进制,未重签名。 - 本机退出后完整备份,再由官方插件管理器从 dev.1 更新至 dev.2。150 个安装文件校验通过,启动前 50 个配置/登录/历史等受保护文件逐字节未变。重启后 279 条既有业务消息及 8 个会话文件保留,宿主配置未变;桌面显示 dev.2 运行中、微信已登录,已安装 Apple 组件的日历/提醒权限仍为 full_access。未发布正式 Release。 ## 2026-10-27 — Apple 版本误冲突与原生分区参数修复(候选) - 故障复现为连续三次只读同一事项,真实字段和修改时间不变,只有 `section_read_error` 中的 NSError 地址变化;旧版本对完整 payload 计算版本,并在原生保存前再次比较,因而误报冲突。 - Python 版本计算、原生事项比较及目标父任务比较均只排除顶层诊断文字。真实状态、未知分区值和修改时间仍参与比较,原始诊断仍可读取。分区查询补齐 macOS 27 必需的顶层 Bool 参数 `fetchPredefinedGroceryListSections=false`,保留既有配置与未知归属语义。 - Apple 业务回归 164 passed;两个 Swift/Foundation 契约测试及完整 helper typecheck 通过;候选包的工具/Skill 边界、官方 CLI/Desktop 保存撤销和包清单复验 4 passed。诊断变化后的修改、删除及撤销可通过,真实字段并发修改继续拒绝。 - 构建 `telos-harness-0.4.16-dev.1-macos-arm64.tgz`,SHA256 `dfc32957d6453e8ae963bea7d41b8fab4044f3794fff38a15b000b0463ba7724`。用户完成新原生组件签名的系统授权后,在 macOS 27.0.1 上只读复查原故障清单,连续读取版本稳定、分区归属可读取且无分区错误。 - 原生实机回归 **1 passed(20.63s)**:通过实际 helper 验证唯一临时清单中的查询/详情版本稳定、修改、完成、删除、创建/修改撤销、分区及父子任务操作;诊断文字变化不再误报,真实外部修改、原生事项及父任务基线不符仍拒绝保存。所有临时对象已清理,并只读确认临时清单不存在。该测试显式设置 `TELOS_REVISION_LIVE=1` 才运行,使用独立操作缓存,未知写入或外来内容会停止自动清理;未重放既有失败操作或向真实微信发送测试消息。 - 本机退出 DSH 并完整备份后,通过官方插件管理器从 0.4.15 更新至 0.4.16-dev.1;150 个安装文件与包清单一致,启动前 50 个配置/登录/历史等受保护文件逐字节未变。重启后界面显示新版运行中、微信已登录、日历与提醒事项已授权;安装后的 helper 权限均为 full_access,原故障事项三次只读版本稳定且无分区错误。未发布新的正式 Release。 ## 0.4.15 — 正式发布验证(2026-10-26) - 桌面复用 DSH 标准 Agent 预设,CLI 继承宿主通用工具,保留原生工具说明及执行权限策略。微信暂不开放桌面交互、跨会话控制、工作目录切换、子 Agent/工作流和自主目标;后台作业完成通知复用非人工输入保护与持久投递。 - 列表标题、项目、缩进说明与子项目保留为一条消息,代码块保留换行。普通回复与定时投递共用规则,预览及保存卡片仍完整发送,超长消息沿用长度分段。 - 合并后源码回归 73 passed(33.41s),覆盖发送、后台通知不能直接写入 Apple、定时发件箱及失败续发、保存撤销与预览;记忆、历史和网页回归 8 passed(32.37s);官方 CLI/Desktop 安装包回归 15 passed(149.78s),覆盖新增宿主工具继承、实际文件读写/编辑/搜索、宿主拒绝策略、禁用工具执行失败、后台完成不重复投递、重启、列表分泡、PDF/Word/Excel、模型及工具开关、压缩、调度和撤销。共 96 项通过,全部使用隔离模拟服务,未向真实微信发送测试消息。 - 正式包复验 10 passed(79.24s),覆盖官方 CLI/Desktop 安装、升级、微信登录与原生历史恢复、实际宿主工具及拒绝策略、列表重启投递、包清单和发布清理。功能与代码沿用上述 96 项已通过的回归;未操作真实微信、日历或现用安装。 - 正式归档 `telos-harness-0.4.15-macos-arm64.tgz`,SHA256 `dd848c34c0de118a335c3ae65bec3ed8aa747989675be0be55d6bc4db7b5d14d`;150 个包清单文件逐项一致,347 个归档条目的所有者和时间已清理,67 个内嵌 Python 模块及文本/路径审计无个人标识、凭据或私有采集接入命中。 - 未加入屏幕使用时间、健康数据采集、本机宿主/MCP 配置或个人数据。复用既有 Apple 签名组件;仍为 ad-hoc 签名,尚未完成 Developer ID 公证或另一台实体 Mac 的首次安装验证。 ## 0.4.14 — 正式发布验证(2026-10-23) - 正式归档 `telos-harness-0.4.14-macos-arm64.tgz`,SHA-256 `3d0c8b55e214f56550c76cda28b26cc61096c4e9e6fb83a4996a9888824534e8`;149 个包清单文件、包内 README、提示词与源码及校验文件一致。Apple 组件与本机已验证的 0.4.14-dev.1 完全一致。 - 最终包验证 **8 passed(73.21s)**:官方 DSH 0.2.1-rc.2 桌面/CLI 的直接写入开关、完整卡片、重启数字撤销、首次安装配置/登录/授权、升级与防重复,以及包清单和许可证/构建清理测试。模型、微信与 Apple 使用隔离测试桩。 - 本次回复修复的源码回归此前 **69 passed**,覆盖修改加查询、模型引用/遗漏卡片、独立答案投递、重启恢复及撤销;开发包桌面/CLI 和清单测试另 **3 passed**。用户已在本机开发包确认真实微信表现符合预期,记录核实完整保存卡片与独立查询答案已投递;未把未收到的撤销回执计为实机验证。 - 隐私检查覆盖 520 个源文件、346 个归档成员及 764 个嵌入模块,无构建者个人标识命中;归档所有者归一化、无 pilk,保留第三方公共 CI runner 路径。未重新运行不可用的 Gitleaks CLI。 - README、AI 安装指南、包内说明、排障下载链接和默认构建版本同步至 0.4.14,保留旧版本引入功能的历史说明。日志:本地忽略的 `reports/release-0.4.14-*`。仍为 ad-hoc 签名,另一台实体 Mac 首次安装及其他 macOS 版本的 Apple 扩展行为尚未验证。 ## 0.4.13 — 正式发布验证(2026-10-23) - 正式归档 `telos-harness-0.4.13-macos-arm64.tgz`,SHA-256 `d967d79e0743294c7f2b84818fa06bc6bf002d7168601c293031d34fd3bccad9`。包内版本为 0.4.13,README 与打包源码一致,清单及 SHA256 通过校验;Apple 组件与本机已验证的 dev.5 逐字节一致。 - 最终归档回归 **12 passed(110.85s)**:DSH 桌面/CLI 的直接写入开关、完整卡片、重启后数字撤销、关闭后的确认;标签及扩展操作的确认、修改、取消与去重;首次配置、登录、授权、升级与重启;包清单和许可证/构建清理检查。宿主为官方 DSH 0.2.1-rc.2,模型、微信和 Apple 为隔离测试桩,不操作用户数据。 - 当前 Mac 的原生 Apple 写入和真实微信保存卡片/数字撤销沿用此前开发包验证,下方保留明细;发布构建未重新安装到用户现用 profile。其他 macOS 版本的扩展行为、另一台实体 Mac 的首次安装授权尚未验证;仍为 ad-hoc 签名,未完成 Developer ID 公证。 - Gitleaks 检查 Git 历史、当前源码导出与最终包文件未发现凭据。隐私检查覆盖 520 个源文件、346 个归档成员和 764 个嵌入模块,无构建者个人标识命中,归档所有者归一化,无 pilk;保留第三方库公共 CI runner 路径。 - 根包元数据、默认构建版本、README、AI 安装指南、包内说明与排障链接同步至 0.4.13;明确新老用户缺省直接写入、显式关闭保留、卡片数字操作及 Apple 扩展范围。旧版发布附件保留。日志位于本地忽略的 `reports/release-0.4.13-*`。 ## 2026-10-23 — 本机验收与回执精简(0.4.13-dev.5,未发布) - 用户确认真实微信收到 dev.4 的保存卡片和数字撤销回复;本机记录核对:保存回复与完整卡片逐字一致、已投递,后续 `1` 的撤销成功回执已投递,对应原生撤销操作已完成。临时“Telos 卡片验证”新增已撤销。 - 按用户反馈将首次撤销成功回复精简为“已撤销这次保存。”,不改变撤销逻辑。直接写入专项和最终包清单 **24 passed(2.22s)**;桌面/CLI 的卡片及数字撤销宿主验证沿用 dev.4,不重复要求用户测试。 - 最终归档 `dist/telos-harness-0.4.13-dev.5-macos-arm64.tgz`,SHA-256 `6949bef8bf1b0cedf3d1b2988bad31b7b20344f23d58966b88428762a17be8eb`。官方管理器已将本机 dev.4 替换为 dev.5;替换前完整备份,150 个安装文件匹配,44 个非 profile 数据文件未变。重启后核对原有 196 条业务消息及 4 份原生会话历史保留;桌面显示 dev.5 运行中、直接写入已勾选,微信登录和 Apple full_access 权限保留。未发布正式 Release,0.4.12 安装包不变。 ## 2026-10-22 — 保存卡片与数字撤销(0.4.13-dev.4,未发布) - 根据真实微信反馈修正:保存回执复用预览的完整文字卡片,并接入发送层的整卡保护;避免按行拆分与模型重复复述。卡片底部为“回复【1】撤销;需要修改时直接回复修改内容”,不再显示内部操作编号。 - `1` 优先处理现有待确认预览/追问;无 pending 时只匹配当前会话最后一条已投递回复中的唯一保存卡片。使用既有草稿、回执和投递记录,重启可恢复;未投递、跨会话、最新回复已非保存卡片或重复数字不会回退撤销更早记录。保留文字“撤销”及旧编号兼容,不新增状态机。 - 回归首轮因沙箱禁止回环端口未能执行宿主测试;获准重跑后 62 passed、4 failed,修复测试夹具漏传配置及无可操作卡片时的提示兼容。直接写入与失败用例复测 **26 passed(6.09s)**。真实 DSH 桌面/CLI 安装包回归与包清单 **3 passed(28.35s)**,使用模拟模型、微信及 Apple 服务,覆盖单条卡片、重启后 `1` 撤销、重复数字以及关闭模式后的确认。 - 归档 `dist/telos-harness-0.4.13-dev.4-macos-arm64.tgz`,SHA-256 `5555edfab51a86a0cd24a154498ab81464610f6d1b04d5061e85607dbb289010`。本机官方管理器从 dev.3 升级到 dev.4;安装前完整备份,150 个安装文件逐一匹配,44 个非 profile 数据文件未变。重启后 194 条原有业务消息、4 份原生会话历史以及配置/凭据均保留;桌面显示 dev.4 运行中、微信已登录、直接写入已勾选,Apple 权限维持 full_access。原有正式 Release 不变。 ## 2026-10-22 — 直接写入开关与撤销(0.4.13-dev.3,未发布) - 新老配置缺省 `direct_write=true`;显式 false 保留。桌面开关使用既有“保存并应用”,CLI 使用 `--telos-direct-write on|off`;业务执行、提示词和状态页使用相同设置。现有待确认草稿不会因模式切换自行执行。 - 直接写入只开放可可靠恢复的单项新增/普通修改;删除、批量、重复对象、会议参与者、附件/结构变更等保留确认。同一消息最多一次直接写入,定时消息不能自动写入。复用现有草稿、pending、操作账本与发件箱,没有新增状态机或任务数据库。 - 写入前记录原值,完成后记录原生返回对象。保存卡片后的 `1` 或 `撤销` 只查当前会话回执;以保存后的完整版本为条件恢复字段或删除新增对象。外部修改、未知写入、撤销中断和重复撤销均不盲目重放;已触发通知不能收回。微信为文字指令,不是新增交互按钮。 - 最终业务及 macOS 实机回归 **208 passed(10.17s)**,其中 1 项实机测试用独立已授权组件,仅创建并清理临时清单/日历/事项,验证提醒事项与日程新增撤销、修改恢复及重复撤销。补充回执投递失败/重启重发用例后,直接写入专项 **21 passed(0.92s)**,与上述数字存在重叠,不累加作独立测试数。 - 最终归档在真实 DSH CLI/Desktop Host 的直接写入、开关切换、重启撤销、关闭后确认、既有扩展/标签确认及包清单共 **7 passed(69.76s)**;宿主测试使用模拟模型、微信和 Apple 服务。界面组件 **5 passed**,验证缺省开启及关闭时提交布尔值。 - 相邻通道回归首轮 52 passed、1 skipped、3 failed:确认回执测试固定了 JSON 首字段;两项定时测试仍断言原生文档工具 bash 不存在。更新测试假设后,确认回执与定时任务(含真实桌面/CLI 宿主)**11 passed(73.47s)**;未将首轮失败或跳过计为通过。 - 开发归档 `dist/telos-harness-0.4.13-dev.3-macos-arm64.tgz`,SHA-256 `b1cbc7c50411a56be47120c643b2dd0f69d36f2176c45431a7dbaca95bf36d3e`;复用已签名 Apple 组件,仅重建 Python 和插件。日志为 `reports/direct-*.log`。未发布新的 Release;正式 0.4.12 下载保持不变。 - 本机升级:退出 DSH 后完整备份 `.dsh`,通过官方插件管理器从 `0.4.13-dev.2` 升级为 `0.4.13-dev.3`。150 个安装文件与归档逐一一致,安装前后 44 个非 profile 数据文件完全一致;重启后原有 193 条业务消息和 4 份原生会话历史保留。配置未改写,缺省直接写入已生效,微信无需重新扫码;复用原签名 Apple 组件,日历与提醒事项均保持 full_access。桌面界面显示新版、运行中、微信已登录和“直接写入”已勾选,已确认业务进程重新启动,已安装 Apple 组件的只读快照查询通过。 ## 2026-10-22 — Apple 扩展能力(0.4.13-dev.2,未发布) - 当前 macOS 26.2 / Apple Silicon:181 项业务测试、4 项真实 DSH 桌面/CLI 宿主测试、2 项原生实机测试全部通过,无跳过计入通过。 - 原生验证覆盖分区创建/改名/移入/移出/删除、包含已完成事项的成员读取与非空删除拦截;子任务创建/完成/移出、父任务删除与循环关系拦截;紧急状态开关;图片/网页附件替换、保留和清空;序号星期重复;日历创建、改名、改色、删除;出行时间新增/修改/清除;会议只读字段;组合筛选,以及标签完整回归。 - 原生测试仅创建唯一命名的临时清单、事项与日历,全部清理。使用独立 bundle ID `com.telos.harness.apple.validation`,不改现用组件的权限身份。没有给外部联系人发送邀请,也没有验证紧急通知的实际响铃;会议测试核对读取字段,不等于验证外部会议服务。 - 宿主测试使用真实 DSH 桌面与 CLI、真实开发归档,微信、模型和 Apple 服务为模拟,覆盖预览不写入、确认后写入、取消、重启恢复和重复确认去重;不代表进行了真实微信端到端测试。 - 旧代码的“移出分区”与“移出父任务”写法经过实机修正:移出分区使用空目标归属;子任务移出后重新指定原清单。原生分区模型由 ReminderKitInternal 的 ListSectionsInvocation 读取,不访问 Apple 内部 SQLite、不恢复旧任务数据库、不新增状态机。 - 读取失败明确返回未知;不支持紧急状态的系统不应阻断普通事项读取。其他 macOS 版本尚未实机验证。 - 开发归档:`dist/telos-harness-0.4.13-dev.2-macos-arm64.tgz`,SHA-256 `d0b433ba3464074b782471e5eae1ce3b4265a8318dc38d4af434b24cccd26b8e`。日志:`reports/extended-business.log`、`reports/extended-final-live.log`、`reports/extended-final-hosts.log`。未发布 GitHub Release;正式下载仍为 0.4.12。 - 本机升级:退出 DSH 后完整备份数据和旧插件,通过官方插件管理器从 `0.4.12-dev.3` 替换为 `0.4.13-dev.2`。150 个安装文件与归档逐一一致;启动前 44 个非 profile 数据文件未变,重启后核对原有 185 条业务消息和 4 份原生会话历史保留,配置与凭据未变、微信无需重新扫码。Apple 组件签名变化后由用户重新授权;重新核验日历/提醒事项均为 full_access,已安装组件只读查询通过、分区读取无错误。桌面显示新版本、微信已登录、Telos 运行中,业务进程已重建。 - 用户在原微信窗口发送升级测试并确认收到回复;本机新增消息记录包含预期回复且标记已投递,复查原消息与压缩会话文件仍完整保留。此次实机收发验证不替代上面的扩展功能专项测试。 ## 提醒事项原生标签(未发布) - 复用旧 ReminderKit 标签写入接口,在当前 `PersonalReminderAlerts` 中读取 `hashtagContext.hashtags`,并与旗标、提前提醒共用保存请求。新增标签字段、预览显示、草稿保留与类型切换清理;标签纳入现有 revision 和确认前冲突检查,不新增状态机或数据库。 - 当前 **macOS 26.2** 上运行新编译组件(本地包 `0.4.13-dev.1`)的真实写入验证 **1 passed(9.22s)**:唯一临时清单/事项的创建、标签读取、追加、替换、清空、备注修改保留标签、并发冲突拒绝和日程标签拒绝;临时事项及清单已清理。首轮测试脚本缺少原生快照的日期范围,修正测试参数并清理空测试清单后完成验证。 - 字段、预览、草稿、重复规则和交互回归 **75 passed**;Apple 服务、清单和位置提醒相邻回归 **34 passed**;官方 CLI/Desktop Host 的安装包标签预览、重启后确认、修改、取消、防重复保存及包清单 **3 passed(27.13s)**。宿主测试使用模拟模型、微信和 Apple;真实 macOS 验证单独运行,不调用模型、不发送微信。 - 新旧 ad-hoc 签名切换需要重新授权。真实测试结束后重新授权现有已安装组件,恢复日常使用。未替换本机插件或发布新的 Release;已发布 0.4.12 不含此功能。私有接口只验证了上述 macOS 版本,其他版本仍需验证。 ## 0.4.12 — 正式发布验证 - 构建正式 `0.4.12` 归档,复用已验证的 Apple 组件;包内版本、149 个文件哈希、README 与提示词均与发布源码匹配,SHA-256 校验通过。 - 相关验证共 **22 项通过**:首轮 19 passed,另两项旧测试因预期工具列表缺少新增原生工具而失败;更新精确列表后,CLI/桌面首次安装、登录、授权、升级、重启和防重复确认测试 **2 passed(48.34s)**。补验模型选择与工具开关 **1 passed(12.37s)**,关闭的 Apple/地图功能保持关闭。 - PDF/DOCX/XLSX 解析、原件保存、引用附件、错误附件与确认保护使用真实官方 DSH 0.2.1-rc.2 宿主及原生命令;模型、微信、Apple 服务使用隔离测试桩,不访问个人配置或写入真实日历。既有开发包的本机微信验证见下方记录。 - Git 历史和最终包可扫描文件的 Gitleaks 检查未发现凭据;508 个源文件、346 个归档成员和 761 个嵌入模块的身份检查无个人路径命中,归档所有者已归一化。保留上游公共 CI 路径,不含 pilk。 - README、AI 安装指南、排障、维护版本与构建默认版本同步到 0.4.12;旧 0.4.11 附件保持不变。当前仍使用 ad-hoc 签名,未完成 Developer ID 公证或另一台实体 Mac 的首次安装授权验证。 ## 微信文件读取 — 原生工具方案(2026-10-21,未发布) - 保存微信直接发送或引用的原始附件;沿用消息去重、会话恢复与业务确认流程。删除早期“统一转 TXT”的原型和其新增依赖,未新增状态机、文档数据库或独立执行器。 - Word/Excel 复用官方 `dsh-skill-office`,依赖路径复用 `load_workspace_dependencies`;CLI 可用 `DSH_PRIMARY_RUNTIME` 接入同一个原生工具。处理命令由原生 `dsh-tool-bash` 执行,文本/图片复用 `read` / `read_image`,关闭后台命令与超时转后台。 - 核对 DSH 0.2.1-rc.2:`read` 只接受 UTF-8;[Office 技能](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-office) 通过 Python 库处理 DOCX/XLSX;[Office to PDF](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/office-to-pdf.md) 明确不创建模型工具。PDF 文字读取以小型技能调用 macOS PDFKit,每次最多 10 页/24,000 字符,可按页和字符偏移续读;未实现 OCR,不保证视觉版式。 - 原生功能与原件存储测试 **7 passed(6.12s)**;开发包实际安装、微信加密附件、CLI 三种格式及重启追问/确认、Desktop Host 三种格式与引用附件测试 **7 passed(67.42s)**;确认/steer、记忆隔离、历史回查、图片语音、包清单及人设规则回归 **33 passed(25.11s)**。共 **47 passed**。 - 实际宿主为官方 DSH 0.2.1-rc.2,文件解析和命令执行为真实调用;模型、微信及 Apple 是本地测试桩。没有验证真实模型自主选工具的成功率,也没有向个人微信发送消息或修改真实日历。CLI Office 测试使用已准备好的官方 primary-runtime;未重复下载官方资源。 - `bash` 沿用宿主沙箱/授权。其文件沙箱不提供“只能读取附件”的隔离;文档用途提示词不是操作系统安全边界。原生历史检索工具自身的当前会话限制与 Apple 工具的确认流程仍通过回归。 - 最终本地包为 `0.4.12-dev.3`:收窄旧提示词中的全局 shell 禁令,允许通过已注册的原生工具读取文档;仍禁止安装依赖、获取凭据或绕过 Apple 确认。最终包的清单、人设、CLI/桌面三种文件格式回归 **8 passed(64.40s)**。新包未包含 pypdf/python-docx/openpyxl 等原型新增解析库。 - 已通过官方插件管理器升级本机桌面安装,替换前备份并核对配置、微信登录和历史数据;安装过程未改写这些数据,原有业务消息完整保留。用户已确认 dev.2 的真实微信收发正常;随后仅修正上述提示词升级至 dev.3,重启后运行中、微信已登录、Apple 已授权,真实模型连接测试成功。未发布新的 Release,已发布的 0.4.11 安装包不变;安装文档仍明确区分开发版功能。 ## 插件市场提交准备(2026-10-20) - 补齐根目录正式 `package.json`、`dsh.bundle` 清单、仓库链接、MIT 许可、平台及已验证宿主版本声明;构建读取正式元数据,源码测试夹具仍保留隔离身份。 - 市场条目使用固定的 v0.4.11 GitHub Release `.tgz` 链接,避免市场回退到缺少编译组件的源码安装。没有重建、替换或重新上传 0.4.11 安装包。 - 现有 0.4.11 安装包的针对性回归:**3 passed,49.64s**。覆盖包内文件哈希与独立组件、CLI 首次配置/登录/授权/重启/升级去重,以及官方 Desktop Host 首次配置/登录修复/重启/确认操作。 - CLI 运行时和 Desktop Host 均为 DSH 0.2.1-rc.2,使用独立数据目录及模拟模型、微信和 Apple 服务;不访问个人凭据,不操作真实微信或日历。这不是另一台实体 Mac 的首次授权验证。 - 源码入口路径及构建后的导出映射检查通过;映射后的 exports 与已发布安装包一致。此次只验证元数据映射,未重新执行原生组件构建。 - `awesome-dsh-plugin` 收录条目已用其当前 YAML 校验器检查。社区目录支持 Release tarball;其供原生“发现”使用的索引生成器当前只导出具备 npm 版本和发布时间的条目,不能把社区目录收录等同于已进入该原生索引。 ## 首次安装文档复核(2026-10-20) - 明确新用户默认桌面版、已有宿主复用和显式 CLI 选择规则;区分桌面自带命令入口与独立 CLI,补齐安装 AI 位于目标宿主内部时的重启交接。 - 核对官方 macOS DMG 下载入口、0.2.1-rc.2 的 Node 要求和模型 API Key 入口;npm 包未声明 engines 时不再把空结果当作无版本限制。 - 匿名 GitHub API 本次返回 403;不依赖 API/账号/gh 的公开 SHA256 附件下载成功,与已发布 0.4.11 文件一致。指南提供固定附件地址及 curl 下载、校验命令。 - 在全新隔离 DSH_HOME 中,仅创建指南中的 CLI profile package.json,使用官方桌面附带 CLI 安装 0.4.11 并执行 `--telos-setup`,两步均退出 0。未预置凭据、Telos 配置或 cordis 文件;未启动真实微信、调用模型或请求系统授权。 - 本次仅修改文档,未重新安装宿主或修改正在使用的 Telos;完整宿主集成沿用下方 0.4.11 验证记录。不是另一台实体 Mac 的首次安装验证,也不代表任意 AI 均能自动操作用户电脑。 ## 0.4.11 — 合并既有开源准备(2026-10-20) 本版将此前开源准备目录中的 MIT 许可、SILK SDK 适配器、依赖许可收集和构建隐私清理合入最新主分支。保留当前 README 的简介及功能表;原生网页、历史回查、定时任务、业务与微信渠道核心模块与合并前逐字节一致,未回退到准备目录的旧功能版本。 - 复用此前 8 组 SILK 兼容性记录:8/12/16/24 kHz、标准及腾讯头,输出 PCM 与旧解码器一致。此次未重复执行这组比较。 - 对最终 0.4.11 安装包运行针对性回归:**51 passed,1 skipped,223.26s**。覆盖许可清理、媒体、实际安装与升级、桌面首次配置、网页搜索和读取、当前会话压缩前历史回查与越权拒绝、原生定时任务及停机/重启恢复。 - 使用官方 DeepSeek Harness 0.2.1-rc.2 Desktop Host 与其 CLI 实现,各自使用隔离的数据目录。模型、微信、网页与 Apple 服务使用模拟输入;本地 SenseVoice 测试使用已准备的模型和合成语音,不读取用户录音、不调用付费模型、不写入真实日历或连接真实微信。 - 唯一跳过项为需显式启用的真实视觉模型测试。未重新执行无关功能的全量回归。 - SILK 的 136 个源码文件与声明的上游固定提交逐一核对 Git blob 哈希一致。43 项 Python 依赖的许可证均已收集,版本与锁文件匹配。 - 检查安装包清单、归档所有者与 760 个嵌入模块:不含 pilk,不含本机构建者名称;归档 UID/GID 和时间戳已归一化。第三方二进制保留的公共 CI `/Users/runner/` 路径不属于个人构建路径。 - Gitleaks 检查历史提交、当前源文件及安装包可扫描文件。历史初扫的 3 处匹配均为百度 Skill 文档同一个字面示例值,已添加限定路径和完整示例值的规则;未发现真实凭据。历史提交中有两份测试文件曾以个人路径和称呼作为“不得出现在包中”的断言,当前改为通用断言,保留原提交历史。 - 已补齐历史独立 Web UI 的依赖许可文本;这些文件仅为保留 Git 历史的声明,不进入当前插件安装包。 测试日志与扫描报告保存在本地被忽略的 `reports/open-source-audit/`。这些检查不能保证穷尽所有漏洞。安装包仍使用 ad-hoc 签名,尚未完成 Developer ID 签名、公证及另一台实体 Mac 的安装授权验证。 ## 0.4.10 — DSH 原生微信定时任务(2026-10-20) Telos 在隔离作用域直接挂载原生 `dsh-schedule` 与 `dsh-tool-schedule`。原生存储 schema、规则、定时器及 Session 投递不做重写;通过独立存储域避免桌面调度实例与 Telos 双重驱动同一任务。受限恢复接口只接受已持久化且仍属于当前账号/允许用户的微信会话,调用原有 open/setup 保留工具、记忆、历史与模型选择。停止 Telos 会释放其调度实例;微信任务不进入桌面普通任务列表。 原生轮次结束后先 flush 会话,再将定时回复交给持久化发件箱。按 session + 事件 seq 去重,发送按分段记录成功进度;失败只重试投递,不重跑模型。重启时读取原生完整事件补齐尚未交接的输出。用户消息与定时任务并发时按实际轮次返回,避免把下一轮定时回复当作用户请求的响应。定时消息不执行人工确认分支,生成的 Apple 预览仍需后续用户确认。 验证结果: - 初轮桌面、CLI、安装包、steer、输出、历史、网页回归:39 passed,224.80s(`reports/schedule-regression.log`)。 - 最终代码的 CLI 调度、发送恢复、并发、确认和长历史回归:24 passed,73.99s(`reports/schedule-final-cli.log`)。覆盖冷启动后逾期触发、已完成输出从原生日志恢复且模型不重跑、账号变化拒绝恢复/发送、每日与固定间隔规则、跨会话查询/修改/删除限制,以及分段发送失败后重启续发。 - 最终 0.4.10 安装包:官方 dsh CLI 启动器 + 官方 Desktop Host,共 4 passed,57.56s(`reports/schedule-final-package.log`)。包括两个入口的定时触发与重启、桌面停止期间不执行、桌面根 schedule.catalog 保持为空、插件完整启停/禁用/卸载及安装包清单。 模型、微信、Apple 使用本地测试桩,未向真实微信发送测试消息。原生调度服务需 DSH/Telos 常驻;没有系统级唤醒或退出后执行保证。发送成功但回执丢失的网络窗口不承诺严格 exactly-once。 已使用官方插件管理器将本机 desktop profile 从 0.4.9 更新为 0.4.10,并正常退出/重新打开 DSH。安装的 index.mjs、schedule.mjs、history.mjs 与源码逐字节一致,业务组件与测试归档一致;新的 DSH Host 和 Telos serve 进程已运行,线上业务库已建立定时发件箱表。未改变用户配置、登录和会话历史。 ## 0.4.9 — 当前微信会话历史检索(2026-10-20) 复用 DSH 原生 session-query-sqlite 与 tool-session-query,仅注册 session_event_search、session_event_read;执行层校验调用者并强制当前会话,拒绝显式跨会话目标。Telos 独立作用域使用 first-search 内存索引,不改宿主配置,不复制聊天存储;每次最多 10 个搜索结果、前后文每侧最多 10 个原始事件。 真实 CLI 和官方 Desktop Host + 0.4.9 归档验证:模拟模型触发原生压缩,从 shadowed 用户消息检索并读取原文及前后文;进程重启后中文关键词再次命中;同工作目录下其他会话的搜索和读取被拒绝;桌面宿主 openAt 仍为 never。加上网页、steer、记忆和安装包生命周期回归共 30 passed(152.46s,reports/history-regression.log)。外部模型与微信服务为测试桩,没有发送真实微信测试消息。 已使用官方插件管理器替换本机 desktop profile 为 0.4.9,并完全退出/重新打开 DSH。安装的 index.mjs、history.mjs 与测试源码逐字节一致,新 DSH Host 与 Telos serve 进程已启动。搜索为原生 FTS 字面匹配,不保证同义词语义召回。 ## DSH 原生网页工具接入(2026-10-19) 微信 Agent 的 setup 显式加载 dsh-tool-web,启用 web_search/web_fetch;搜索超时沿用 DSH 标准配置的 60 秒。保留继承工具限制,搜索后端、凭据和网页读取服务继续由宿主提供。 官方 Desktop Host(重建安装包)与 CLI 原生运行时集成测试覆盖搜索→读取→模型获得结果、进程重启后恢复同一会话、工具定义不重复。使用确定性的测试搜索/读取供应商及模拟模型、微信服务;没有验证真实账号的公网搜索可用性,也没有向真实微信发消息。 网页工具、steer、桌面生命周期及 CLI 安装包回归:24 passed(132.79s,reports/web-integration.log)。搜索后端缺失时的原生错误与会话结束:1 passed(1.73s,reports/web-missing-provider.log)。已重建现有 0.4.7 本地归档用于测试,未替换用户正在运行的插件。 ## 0.4.7 — 取消微信泡泡数量限制(2026-10-19) 移除提示词的 1~3 个区间,以及按行发送时的尾部合并;微信默认配置不再限制泡泡数量,旧分隔符发送路径也不会截掉第 9 个以后的内容。操作预览仍作为完整原文保留。 源码分泡、预览、失败投递回归 32 passed(24.35s,reports/bubbles-unlimited-source.log)。实际 0.4.7 安装包、隔离官方 Desktop Host、按行与旧分隔符路径回归 4 passed(19.30s,reports/bubbles-unlimited-package.log):重启后的普通回复连续 12 个泡泡逐条完全匹配;预览前后各 12 行全部保留;预览独立发送、确认流程与记忆恢复正常。没有使用真实微信发送测试消息。 ## 0.4.6 — 普通聊天分泡与完整预览(2026-10-19) 普通聊天使用既有按行拆分配置;业务层将当前操作预览原文作为发送参数传递,预览内部格式保留,前后聊天分开发送。模型仍返回普通文本,没有新增模型轮次、输出标记或持久化状态。超出普通分泡预算时合并尾部文字,避免丢失内容;微信单条长度保护沿用原发送路径。 全量回归初轮 261 passed、42 skipped、2 failed(reports/bubbles-regression.log)。一个失败暴露生产 sidecar 显式关闭按行拆分,已启用并重建;另一个是旧测试仍假设提示与预览共用一泡,已改为断言两个独立泡泡且预览原文完整。最终重建包在官方隔离 Desktop Host、CLI 安装升级与过早确认保护复验 10 passed(89.50s,reports/bubbles-final-package.log)。独立模型、微信、Apple 桩验证,没有向真实微信发送测试消息。 归档 SHA-256:f0c656197ca9ab0a52fe2084fc64a706cd63442a9df2b13118587ec958201fa6。重建 Python 组件,保留原 Apple 组件签名。 ## 0.4.4 — 预览与追问单一展示(2026-10-19) 最新真实微信记录显示模型自行概括预览后,render 因未找到完整原文又追加一份。现在最终回答引用工具原文一次,投递层停止追加;原文缺失或重复时使用唯一工具正文。独立查询答案可与完整原文一同保留。未增加状态、输出标签、模型重试或自建循环。 官方 Desktop Host 使用真实 0.4.4 归档和隔离服务验证:1 passed(19.94s),涵盖预览唯一、重启后确认、追问唯一及现有生命周期。日志 reports/desktop-presentation-0.4.4.log。 源码回归 43 passed(79.54s),日志 reports/presentation-0.4.4-final.log。初轮的混合查询模拟回答未包含预览原文,按新规则回退后缺少查询答案;已将该模拟回答更新为原生工具原文加独立答案,保留“买菜”结果断言,并增加缺失/重复预览及追问回退测试。 完整退出旧宿主 60179、业务进程 60180 后离线安装并重启。新宿主 62930 于 19:57:37 启动,业务进程 62931 于 19:57:38 启动;已安装二进制和内置提示词与测试过的 0.4.4 产物逐字节一致。SHA-256 e5c57996ced62be4947182177d9c8aa1e9320bb477bc7d4e5256f634212951d0。 ## 0.4.3 — 取消伪造状态回复并核对升级生效(2026-10-19) 19:34:52 最新一轮仍返回 CONTEXT_WINDOW_EXCEEDED。排查确认业务 PID 53494 自 17:47:39 起未更换;该轮上下文仍注入 40,255 字符的 external_state。CLI 只替换安装文件,运行中的组件和模块没有切换,0.4.2 的生产验证误将插件元数据版本当成运行版本。 通道不再把非 completed 结束、传输异常、恢复未完成输入或空回答改写成固定聊天文本。保留模型实际文字、业务预览和实际回执;无内容则不调用微信发送接口,将该输入标为已处理,避免恢复时伪造消息。原始执行错误仍由 DSH 会话记录,通道也保留诊断日志。 - 源码回归首轮 44 passed,1 failed;失败来自测试模拟器在 DSH 重试空回答时返回默认文字,已修正为所有重试均返回空内容。该测试文件最终 3 passed,包含保留部分回答、失败后正常展示预览、空内容与恢复不发送状态话术。 - 实际 0.4.3 包在官方 Desktop Host 的长会话压缩、重启恢复、原生错误不投递状态话术及确认写入验证:2 passed(28.80s),日志 `reports/desktop-output-0.4.3.log`。 - 完整退出旧 DSH 后安装 0.4.3 并重新启动:旧 PID 29926/29934/53494 已退出;新宿主 PID 60179、新业务 PID 60180 均于 19:41:10 启动。已安装 index.mjs 和业务二进制与已测试产物一致。 - 归档:`dist/telos-harness-0.4.3-macos-arm64.tgz`;SHA-256 `ff8378fc071909bba3b254933dfce2a7956cd4762f8f3361bdff1de086658300`。重建 Python 业务程序,保留既有 Apple 授权组件。 ## 0.4.2 — 微信会话上下文与原生压缩(2026-10-19) 根因已通过官方 Desktop Host 的隔离环境复现。`dsh-web-app/cordis.patch.yml` 将全局 `compaction-basic` 和 `command-compact` 设为 disabled;标准预设在自身隔离作用域加载压缩组件。Telos 通过原生 agents.create/resume 直接创建微信会话,没有选用 UI 预设,原实现因而没有自动压力检查或超限恢复处理。只有 dsh-base 的 CLI 环境具备全局压缩,先前短会话回归没有覆盖这一差异。 同一段本地历史副本、同一 Desktop Host、同一本机模拟模型的对照:去掉本次作用域挂载时,两次输入只有两次普通模型请求,无 compaction 事件;启用修复后出现原生 prune、start、summary、end 事件,共三次模型请求(其中一次摘要),随后正常继续。副本仅用于本机模拟服务,未请求真实账号模型,未修改原会话。隔离宿主另有缺少 serviceVersion 的遥测组件警告,与此故障无关。 Telos 的 context 不再调用 Apple query,而只返回 pending、receipt、time;Apple 数据由现有 query/detail 工具读取。移除每步刷新时变化的 checked_at 和查询窗口,从而让 DSH 自己对未变化上下文去重。微信 scope 无全局 compaction 时,隔离挂载官方 BasicCompactionEngine 与 ToolResultPruner;已有宿主服务时不重复挂载、不覆盖策略。 - 源码定向回归:48 passed,覆盖原生上下文去重、连续工具读取新数据、确认回执、消息插入、全局/作用域两种原生压缩和压缩后重启恢复。 - 官方 Desktop Host 与实际归档回归:17 passed(123.85s),日志 `reports/desktop-context-0.4.2.log`,覆盖桌面长会话压缩、重启恢复、配置、工具开关及安装包确认流程。 - 0.4.2 文件安装与隔离验证通过,但当时生产生效验证不足:界面显示新版本不代表进程已换代。19:34 的后续失败仍由 17:47 启动的旧业务进程处理,继续注入完整 external_state 且没有压缩事件。0.4.3 的部署验收增加完整宿主重启及新业务进程启动时间核对。 - 0.4.2 包重新构建 Python 业务程序,复用 0.4.1 Apple 组件;三个 native 文件 SHA-256 全部一致。 - 归档:`dist/telos-harness-0.4.2-macos-arm64.tgz`;SHA-256 `c879db23a8e19baee4a8aad5c5beecde5b17c4feaf70448e8e9f2923d5ee3f67`。 ## 0.4.1 — 统一配置页、模型选择与工具开关(2026-10-19) - 最终安装包:`dist/telos-harness-0.4.1-macos-arm64.tgz`;SHA-256 `4f9dc6386c33766468687d22b2f6bd16576495d3c61eca91f17df0f305f962b8`。 - 模型目录、连接测试与 API Provider 注册调用原生 DSH llm/settings;账号登录调用原生 account;浏览器 API Key/百度 Token 直接进入 credentials,不经过 Telos Python、配置或模型历史。 - 微信模型选择及 Apple/地图开关使用既有 config.json;运行中“保存并应用”释放旧原生会话、保存后恢复。全局默认模型不变,确认和写入账本沿用原实现。 - 新增实际 Desktop Host 流程:添加自定义 API 模型、重启后测试连接、独立模型选择、关闭两类工具、无 Apple helper 仍正常聊天、错误模型不覆盖配置/不中断运行、重新开启地图、再次重启恢复人设与模型。所有模型/Apple/微信操作使用隔离模拟服务。 - 新增业务边界:关闭 Apple 后不读、不写、不核对账本,待确认草稿保留;重启、重新开启再确认只写一次;关闭地图拒绝过期工具调用。UI 回归验证模型/地图凭据只写 DSH,不进入 Telos 请求,失败不回显密钥,保留 Cordis 服务依赖检查。 验证结果: - 完整 Node 回归首轮 `243 passed, 44 skipped, 1 failed`(235.42s)。唯一失败是旧人设测试要求系统提示词逐字不变,与新增工具开关说明冲突;修改为核对原业务规则保留并检查关闭说明后,专项与最终包复核均通过。44 项跳过为显式开启的真实服务/系统授权及桌面专项,不将其计为通过。 - 最终业务代码的官方 Desktop/包安装/人设/媒体适配/工具开关专项:`33 passed`(143.57s),日志 `reports/desktop-0.4.0-final.log`。0.4.1 与该最终 0.4.0 归档仅 README 和 package.json 版本不同;代码和二进制相同。 - 最终 0.4.1 包完整性、适配器、人设规则和工具边界复核:`10 passed`(1.13s)。 - 真实用户桌面:实际展示 0.4.1 卡片布局、精简模型菜单、API 配置字段、凭据输入、人设和开关;真实 DeepSeek Account / deepseek-flash 简短连接测试成功。实测切换到同一账号模型、关闭地图并保存应用、恢复跟随默认模型和原工具开关,均恢复运行。未发测试微信消息、未写真实 Apple 对象、未更换用户凭据。 - 同版本归档在 pnpm 中被缓存,最终改用 0.4.1 正常升级;已安装 client.js/models.mjs 的 SHA-256 与最终源码一致。真实页面显示 0.4.1、微信已登录、Telos 运行中、Apple 已授权。 - Apple 已签名组件与 0.3.4 完全相同,本次升级没有重新签名,也没有重新请求授权。当前 DSH 未存百度 Token;页面提供输入入口,未声称地图已连通。语音准备失败为既有宿主状态,本次未更改语音模型。 # 0.3.4 桌面配置区恢复(2026-10-19) 用户已安装 0.3.3,但 Telos 详情只有组件和来源,没有配置表单。在实际 DSH 桌面开发者控制台复现:`cannot get property "remote" without inject`,来源为 Telos client.js。0.3.3 声明了 remote.credentials,遗漏了访问 ctx.remote 所需的上层 remote 声明;Cordis 在渲染配置插槽时拒绝访问。 已补齐一项依赖声明。前端测试的上下文现在检查访问的服务必须声明,避免旧的普通对象 mock 掩盖此类问题。桌面内置运行时的页面/语音适配与包清单检查 3 passed(页面测试内部包含 3 项)。没有重新运行不受影响的全部业务回归;0.3.3 的 238 passed 及 26 项桌面 Host 测试并未覆盖真实前端的 Cordis 依赖访问,不能据此宣称当时配置页面可用。 使用桌面自带官方插件管理器将用户当前安装从 0.3.3 更新为 0.3.4,短暂禁用后重新启用;已在实际桌面上确认配置表单、人设、百度 Token 输入框、凭据“尚未配置”状态均显示,Telos 正在运行、微信已登录、Apple 两项已授权。保留原配置(当前默认助手)、账号和业务数据,未切换旧 Telos 机器人、未发送测试微信消息或写入 Apple 数据。没有填写/更换任何 Key。完整模型选择与工具开关仍未实现。 归档清单 67 个文件验证通过,所有 bin/ 和 native/ 文件与 0.3.3 完全一致。SHA-256:`6fed3476bc211baca58719f8c0b912d8b902ae26b22feab46b1fe1926496db67`。产物 dist/telos-harness-0.3.4-macos-arm64.tgz。未提交或推送 GitHub。 日志:reports/install-desktop-0.3.4.log、reports/desktop-0.3.4-client.log。通用 Node CLI 拒绝管理 desktop profile 后,改用官方桌面自带 CLI 成功更新;未绕过 profile 管理限制。 --- # 0.3.3 确认回执、人设表单与凭据入口验证(2026-10-19) ## 诊断与修复 - 运行中的桌面 Telos 0.3.2 配置没有 persona 字段,实际采用默认助手;界面选择未成为持久化配置。新版本启动时一并保存当前表单,并明确显示已保存/生效人设与未保存状态,不把选择等同于生效。 - 官方 DSH 0.2.1-rc.2 的原生顺序是 systemPrompt.assemble → agent/pre-step → 上下文投影。原接入在 pre-step 执行确认,但业务上下文已经读取旧状态,导致本轮模型说“正在提交”、下一轮才看到成功回执。现在先创建上下文段,在 pre-step 确认后填入最新值,再由 DSH 原生 next() 投影;没有复制模型历史或新增循环。 - 仅确认/取消且没有后续工具工作的轮次直接发送实际回执;同轮有独立工具工作或混合输入时仍保留其回复。提示词明确回执已完成,不在下一轮主动重复历史结果。原有确认、版本核对与操作账本不变。 - 当前桌面模型提供商是 deepseek-account,通过 DSH 账号登录可用;DeepSeek API Key 是另外的“设置 → 模型 → 编辑 DeepSeek”入口。百度未配置。新增页面入口直接调用 remote.credentials.describe/set,不经 Telos 配置接口或 Python 组件保存,不回读 Key、不展示凭据错误原文。 ## 验证 - 原生确认/steer 定向首轮 9 passed、1 failed;失败是新测试误认为上下文含段落名称。改为解析实际 JSON 后确认用例通过,验证同轮 receipt 非空且 pending 清除、下一轮 receipt 为 null、只投递一次实际结果。 - 页面事件测试 3 passed:选择黎曼后直接启动携带最新表单;Token 仅提交 DSH 凭据服务;失败不回显密钥。 - 官方 Desktop Host 与安装包、人设、前端/语音适配专项:26 passed,132.50 秒,覆盖选择默认后启动时改为黎曼、原生模型收到黎曼提示、重启确认与重复写入保护。 - 完整 Node/CLI 回归:238 passed、43 skipped,231.38 秒;跳过项为未启用的真实模型/系统授权等专项,不计作通过。 产物 dist/telos-harness-0.3.3-macos-arm64.tgz,SHA-256:`94b9213a7f438fa42b9d908d41c1778227da992eb9d74ec19acaa1c83f6e6cad`;已核验清单中 67 个文件,Apple 应用所有文件与 0.3.2 完全相同,避免本次 Python/JS 修复改变 TCC 签名身份。仅重新构建业务组件,未重新编译/签名 Apple 应用。 本轮未切换生产微信、未写入真实 Apple 数据、未发送真实模型测试请求;没有替换用户当前桌面安装。完整模型选择与工具开关仍是后续讨论方案,未在本轮实现。 日志:reports/node-0.3.3-full.log、reports/desktop-0.3.3-regression.log、reports/confirmation-0.3.3-focused.log、reports/confirmation-0.3.3-corrected.log。 --- # 0.3.2 独立 Apple 授权验证(2026-10-19) 仅更新独立插件与隔离测试包,没有替换用户当前 DSH 中的 Telos 0.3.1,没有切换现有微信机器人,也没有提交或推送 GitHub。 ## 实现与边界 - 原先直接启动 helper 时,macOS 把权限责任归到 DSH;桌面宿主缺少 Calendar entitlement,导致授权失败。现在所有真实 Apple 调用通过 LaunchServices 启动独立的 Telos Apple(com.telos.harness.apple)。 - 应用携带 Calendar entitlement 与日历、提醒事项用途描述;每次处理一个请求后退出,无额外 Agent、业务状态机或常驻服务。 - JSON 请求与回执使用 0700 临时目录、0600 文件,完成或失败后清理。应用使用原生期限限制生命周期;未知写入结果沿用已有 pending 账本,不自动重放。 - 桌面与 CLI 共用授权、状态和实际数据访问路径;显式外部 helper 覆盖保留给兼容和模拟测试。 - 未修改 DSH 签名、系统权限数据库或生产配置;未写入真实日程、提醒事项,未连接真实微信或调用模型 API。 ## 验证结果 - Node/CLI 完整回归:236 passed、43 skipped,215.44 秒;跳过项包括未启用的外部模型与桌面专项等,不能计作通过。 - 官方桌面运行时专项:17 passed,86.69 秒,覆盖桌面配置/启停、安装升级、确认与防重复写入及新的传输失败保护。 - 真实 macOS 首轮授权、桌面重启、CLI 访问和同一已签名组件升级:1 passed,33.72 秒。用户在系统弹窗允许日历与提醒事项;EventKit 只读查询成功,不记录个人条目。 - 扩充后的真实升级用例:1 passed,96.12 秒。除上述流程外,实际改变组件内容并重新 ad-hoc 签名、升级安装,系统状态变为 not_determined;用户再次允许两项权限后恢复 full_access。配置保持不变。 - 新增传输用例覆盖临时文件权限和清理、超时、空回执、损坏 JSON、明确权限拒绝、兼容覆盖。未知回执保持 pending 且重复调用不会再次执行;明确权限拒绝不遗留已写入状态。 ## 签名与分发限制 本机没有可用的 Developer ID 签名身份;当前包为 ad-hoc + hardened runtime。相同已签名组件的重启与包升级保留授权已实测,但组件更新后重新授权同样已实测。构建增加 --sign-identity 参数,正式 Developer ID 签名、公证与另一台实体 Mac 仍未验证。不能把“升级保留授权”泛化到当前所有开发包更新。 产物为 dist/telos-harness-0.3.2-macos-arm64.tgz,附独立 SHA-256 文件。最终文档打包复用已验证的组件,不重新编译或签名。 归档内 67 个文件的清单哈希全部通过,原生二进制与已验证构建一致,插件代码与源码一致;代码签名检查、JS 语法和 git diff --check 通过。最终 SHA-256:`e7e912818a5505c82a7e2d77c56c8f1ef29bb21263040babc4a20f8453fe3d50`。生产 telos-personal-main 工作区保持干净。 日志:reports/node-0.3.2-full.log、reports/desktop-0.3.2-regression.log、reports/apple-0.3.2-real-permissions.log、reports/apple-0.3.2-real-upgrade.log。 --- # 0.3.1 微信人设验证(2026-10-19) 本轮仅更新独立插件源码与隔离测试包,没有安装到用户正在使用的 DSH,没有切换现有微信机器人,也没有推送 GitHub。 ## 实现 - `personas/liman.md` 随插件分发,保留既有黎曼身份、教练风格与平等交流偏好,删除原作者专属称呼;默认仍为通用助手。 - 桌面页提供默认助手、黎曼、自定义文件;CLI 使用 `--telos-persona` 或 `--telos-persona-file`。选择持久化到现有 config.json。 - 人设只组合进微信会话的完整提示词;原生 Agent setup/resume、历史内 system 更新仍由 DSH 管理,没有新增循环、记忆或状态机。 - 切换须停止并重新启动 Telos;确认草稿、历史、微信游标和操作账本保留。自定义文件须为非空 UTF-8 文本且不超过 64 KiB;无效输入不改配置,启动时文件失效会明确报错。 ## 验证结果 - Node 完整回归首次为 229 passed、42 skipped、1 failed;失败位于新增人设测试的协议读取断言。修正后重跑全部 13 项人设测试,13 passed(23.91 秒)。其余已通过用例无需重跑。 - 桌面安装、配置、重启、会话隔离、升级与人设测试首次为 23 passed、1 failed;同样是上述断言。官方桌面 Host 的黎曼加载、重启及独立会话隔离在首轮已通过;修正后单独重跑恢复用例为 1 passed(11.87 秒)。 - 失败原因:DSH 原生 DeepSeek Messages 使用顶层 system,并在恢复会话后通过历史内 system 消息更新人设;测试起初只读 Chat Completions 的消息字段,随后又只读了缓存保留的初始 system。最终检查最新的完整 system 提示词,保持对身份切换、业务规则和写入结果的断言。 - 完整人设流程覆盖:选择黎曼 → 错参纠正 → 生成预览但不写入 → 停止 → 选择自定义文件 → 恢复同一会话并确认 → 重复确认不再写入 → 切回默认助手。另覆盖非法选择、缺失/空/超限/编码错误文件、不覆盖配置与缺失文件恢复。 - 归档清单 67 个文件的 SHA-256 全部核验;内置人设与源码一致,不含原作者专属称呼或本机固定路径。JS 语法与 git diff --check 通过。 - 本次使用模拟模型、Apple 和微信,没有新增真实模型 API 调用或验证风格输出的主观质量。 日志:reports/node-0.3.1-full.log、reports/node-0.3.1-personas-final.log、reports/desktop-0.3.1-personas.log;桌面修正后的恢复用例另记 reports/desktop-0.3.1-resume-final.log。 产物:dist/telos-harness-0.3.1-macos-arm64.tgz,SHA-256:`31639ed7c7c72e05cda7a4f9d40d991b389562b0eb472aaf10fd670791274c62`。 --- # 0.3.0 精简验证(2026-10-19) 本轮只修改独立 telos-harness 仓库与测试环境。没有替换用户当前桌面安装、修改默认 DSH_HOME、移动语音模型或切换生产微信机器人;telos-personal-main 工作区仍干净。 ## 边界调整 - 分发包的 cordis.patch.yml 只声明 telos-bootstrap;不再覆盖 DSH 全局模型、提示词或工具配置,不再补装凭据、Skill 注册、检查点和语音服务。 - 模型选择来自 DSH agentDefaultModel。Telos 首次配置不接受模型地址或 Key,不写 credentials;旧非敏感模型字段保留但不使用。 - 原生 Skill filesystem / Skill tool / todo 与 Apple、地图工具在 DSH Agent setup 中配置,只属于 Telos 会话。没有新增循环或 Skill 调度器。卸载释放原生会话和本机组件。 - 地图 Token 由地图工具逐次解析,通过已鉴权的本机传输元数据注入;不写模型参数、历史或子进程启动环境。后端凭据回显仍脱敏。 - 语音是可选宿主依赖,不再由 Telos 下载或准备;语音缺失时文字和图片可用,既有 DSH SenseVoice 模型可复用。 - 宿主可以并行调度工具,业务入口按会话串行保护预览,避免两个草稿覆盖待确认内容;确认与操作账本保持原机制。 ## 回归结果 - 官方 Node/CLI 完整回归:**215 passed, 42 skipped**,176.41 秒,reports/node-0.3.0-full.log。 - 官方桌面运行时最终完整回归:**217 passed, 40 skipped**,179.50 秒,reports/desktop-0.3.0-final-full.log。 - 后续补充用例:Node 宿主 Skill/归档边界 2 通过、并行预览保护 1 通过;桌面同组 3 通过。归档检查是重跑的已有用例,不能把三个全部算作新增。 - 覆盖首次配置、无语音运行、真实 SenseVoice 对合成 SILK 的识别、图片下载/解密、参数修正、多需求、四项批量预览/确认/保存、原生 steer、重启恢复、重复确认、升级与卸载。 - 桌面额外验证:模型和地图凭据保持不变,拒绝 Telos 页面提交的 Key,独立 DSH 会话没有 Telos 业务工具或提示词,禁用/重启/卸载后宿主可继续使用。 早期桌面测试失败来自测试宿主的辅助标题请求消耗了脚本响应,以及测试把 DSH 自己维护凭据文件的行为误当作 Telos 修改;另外修正了探针导入/服务声明与接口就绪等待。上述问题已修正并通过最终整套回归,未绕过断言。标准基础配置使用压缩历史,因此历史存在检查兼容 jsonl 与 jsonl.zstd。 ## 真实模型评测 使用同样的六类虚构多需求输入,每类重复三次,通过实际安装包、模拟微信收发和模拟 Apple 运行:**18/18 通过**,167.87 秒。 同时要求创建预览完整、查询答案进入回复、没有未经确认的写入。仅使用通用业务提示与虚构数据,不加载私人聊天、人设或真实日历;测试隔离 DSH Skill 根目录。有限样本不代表所有真实请求都不会遗漏。 报告:reports/live-package-0.3.0.log 与 reports/live-package-20261019-155643.jsonl。未重新连接真实微信、未在另一台实体 Mac 验证系统授权。 ## 归档和升级 产物:dist/telos-harness-0.3.0-macos-arm64.tgz(约 21 MB),同目录附 SHA-256;未发布到 GitHub。 CLI 改用 dsh-base 的 headless profile,旧 sdk-minimal 不再由 Telos 自动补齐服务。升级前须在 DSH 自身配置模型与凭据,保持相同 DSH_HOME 以复用原生历史和业务账本。首次启用语音需由宿主准备;Telos 不包含识别模型。详见 packaging/README.md。 --- # 验证记录 ## 0.2.1 桌面与 CLI 兼容(2026-10-19) 验证平台:本机 macOS Apple Silicon;官方 Node/CLI 与官网下载的桌面版均为 DSH `0.2.1-rc.2`。新包尚未发布到 GitHub。 实际在独立 `DSH_HOME` 中通过桌面“插件”页面安装、启用和配置 Telos;模拟微信二维码正常显示,模型凭据持久化后重装仍可复用,启动后完成预览及文字确认保存。最终归档重新安装、启用后显示“Telos 正在运行”,禁用后组件关闭。全过程没有接入生产微信账号,也没有写入真实日历。 新增自动回归使用未经修改的官方 Desktop Host 和归档包,而非替代启动器:覆盖桌面 host/port 参数、空配置启动、认证保护、凭据保留、扫码及授权入口、参数纠错、压缩历史恢复、重复确认、停止后修改配置,以及配置版本错误不退出 Host。测试探针只存在临时 profile,调用原生插件管理器验证禁用、重新启用和卸载,保留已有业务数据库。 本轮还修复了三个实际兼容问题: - 桌面默认压缩历史为 `.jsonl.zstd`,恢复检测现可识别,历史仍由 Harness 读取。 - 进程和通道通过 Cordis `effect` 注册资源释放,停止或禁用会等待本机组件退出,避免重启抢占旧实例目录。 - 插件插入的组件使用独立标识;桌面复用已有 credentials 和 Skill 服务,避免重复注册及卸载时误判内置组件被占用。 模拟微信服务改为保留消息并按客户端游标确认。断开的旧长轮询不能再删除新进程尚未收到的消息,另有确定性竞态测试覆盖。 最终整套回归记录:Node/CLI 为 211 通过、1 失败、42 跳过;桌面运行时为 213 通过、1 失败、40 跳过。两次失败均来自测试覆盖文件仍引用改名前的语音组件,导致未复用已下载模型而进入下载超时;已修改测试覆盖的组件标识,并单独重跑完整媒体测试:Node/CLI 与桌面运行时均为 6 通过、1 跳过。其余完整流程通过,包括原生 steer、确认账本和插件生命周期。 跳过项目主要为未启用的外部真实模型评测;Node 运行时那组另跳过了需要显式桌面 app 路径的两项测试。媒体回归使用真实本地 SenseVoice 识别,Apple、微信和模型交互使用模拟服务。本轮未额外调用真实模型 API,也未重新验证真实微信账号登录和另一台 Mac 的系统授权。 归档:`telos-harness-0.2.1-macos-arm64.tgz`。SHA-256:`600b64e3728a21242b7754f799947d2d404d5c9fd46d89cd2e6e9a4536d30d34`。 ## 0.2.0 发布验证(历史记录) 验证日期:2026-10-19。平台:macOS Apple Silicon;运行时:官方 Node/CLI DSH `0.2.1-rc.2`。 从独立仓库目录执行完整回归:**211 passed, 40 skipped**,159.72 秒。已使用 Release 中的实际安装包;真实模型评测默认关闭,按需准备的服务测试可能跳过,不能把跳过项计作通过。 覆盖范围包括多需求、参数纠错、批量预览、文字确认、部分失败、重启恢复、写入回执、防重复写入、原生 steer、首次配置和升级,以及加密图片和语音的微信处理链路。外部 Apple/微信服务为模拟服务,未接管生产机器人。 本次发布前,同一安装包的真实 DeepSeek 视觉专项测试已通过(1 项);本次整理独立仓库没有重新调用模型 API。完整真实模型评测脚本保留在 tests/ 中,需显式提供本机配置才能运行。 源码及归档已扫描已配置凭据和常见密钥格式;未发现凭据。归档内 JavaScript 与本仓库插件源码一致,SHA-256 校验通过。 归档:`telos-harness-0.2.0-macos-arm64.tgz` SHA-256:`710900c8733ecc291ae8b30525f3aa480983fd46215ee8b1d9679f80555b9891` 未验证范围:官网桌面版 DSH、Intel Mac、另一台实体 Mac 的系统授权及 Developer ID 公证。安装包使用 ad-hoc 签名,作为私有预览版发布。 ## 0.2.0 官网桌面版初次验证(历史记录,2026-10-19) 从 https://www.deepseek.com/harness/ 的 macOS Apple Silicon 下载入口取得 `0.2.1-rc.2`。镜像中的应用通过 codesign 完整校验及 spctl 公证检查。使用独立 DSH_HOME、Electron 数据目录和模拟微信/Apple 服务验证;未登录真实微信、未写入真实日历、未切换生产机器人。 ### 桌面界面 - 在“插件 → 添加插件”输入 tgz 的绝对路径,可成功安装 `telos-harness 0.2.0`。CLI 使用的 `telos-harness@file:...` 写法不适用于该界面的输入框。 - 点击“立即启用”后,后台连接中断。 - 使用未修改的桌面 Host 入口复现,退出码为 2。Host 传入 `--no-open --host 127.0.0.1 --port 0`,插件 `bootstrap.mjs` 只接受单个 `--telos-*` 参数或空参数,因此报错并调用 appExit。 - 当前首次配置仍依赖 CLI 命令,不能宣称已经具备桌面界面的完整首次使用流程。 - 验证后关闭桌面应用,并在隔离 desktop profile 中禁用 Telos bundle,保留已安装的包供后续适配。 ### 桌面自带 CLI 直接使用应用内的 `Contents/Resources/runtime/cli/bin/dsh`,无需额外安装 Node/npm。测试启动器使用同一应用的 Electron Node 模式和官方 `dsh-desktop-host/lib/cli.js` 入口,插件归档未改动。 - 首轮安装包专项:4 通过、1 失败。 - 重启与媒体复测:7 通过、1 跳过,包含真实本地 SenseVoice 对合成中文 SILK 的转写;视觉模型 API 测试跳过。 - 完整离线回归:210 通过、1 失败、40 跳过;本轮未重新调用真实模型 API。 - 两次失败均为同一“重启后确认”测试的模拟微信长轮询竞态。记录显示:旧轮询在停止旧进程前开始;旧进程退出后,测试立即推入确认;模拟服务把确认交给该旧连接并从队列删除;新进程的轮询只取得空列表。确认消息没有进入业务层。 - 只在独立诊断脚本中增加“等待模拟服务器的旧轮询结束”,相同归档的首次配置、重启、升级及重复确认连续 3 次通过。没有修改插件,也没有将原始完整回归的失败改记为通过。测试模拟器的该竞态仍需在测试源码中修复。 当时的结论:桌面应用提供的运行时可承载 0.2.0 插件,但该版本桌面界面入口尚不兼容。下一步应适配启动参数和首次配置,保留已有业务工具、确认与防重复写入;不需要替换 Harness 循环。 ## 2026-10-19 — 0.4.5 原生用户文件记忆 接入前已将 0.4.4 提交并推送到私有仓库,备份提交 `60ba5e0`。每用户目录由渠道、租户和用户 ID 生成;模型不能选路径。DSH agent-instructions 负责文件检查、去重、更新和恢复。Desktop 独立挂载;CLI 复用已有加载器,用到 user.md 的符号链接接入其候选文件名,避免双加载器基线互相替换。 工具使用 DSH atomic-write 的文件锁和原子写入,完整内容与 expected_content 比较后提交,1,375 Unicode 码点上限,不截断。未新增刷新状态机或压缩策略。 验证:源码回归 238 passed / 42 skipped,另补旧会话工作目录迁移 1 passed;安装包/实际隔离 Desktop/媒体回归 17 passed / 2 skipped / 1 旧工具列表断言失败,修正预期新增 user_memory 后该项复查 1 passed。覆盖多用户和多租户隔离、同用户跨会话共享、外部修改、同内容重写去重、动态时间/pending/receipt 变化、Unicode 字符边界、冲突不覆盖、清空、重启恢复、原生压缩与旧会话迁移。Desktop 安装包测试实际通过微信模拟协议调用 user_memory,退出后重新启动宿主验证资料进入用户消息而非系统提示词。 报告:reports/memory-source.log、reports/memory-regression.log、reports/memory-migration.log、reports/memory-package.log、reports/memory-package-recheck.log。安装包重建 Python 组件,Apple 已签名可执行文件与 0.4.4 哈希一致。