# 更新记录 ## Unreleased 暂无。 ## 0.0.23 — 2026-10-25 本预发布版从整合后的 `main` 构建,接续 `v0.0.22`,包名保持 `@a2d2/dsh-a2d2`。以下为两个标签之间的变更;安装包、源码提交和校验和随 [GitHub Release v0.0.23](https://github.com/a2d2-dev/dsh-plugin/releases/tag/v0.0.23) 提供。 ### 列表搜索与列设置(#246、#247) - Project、Issue、PR 表格新增逐列 `⋯` 菜单和列表搜索,支持适用列的排序、真实值过滤、分组、切片、隐藏恢复及列移动;保留条目入口,不能使用的操作说明原因。 - 同列选值取并集,多列与搜索取交集;未观察字段与确认空值分开。浏览及列操作不启动处理或修改 GitHub 字段。 ### 100 行滚动加载与层级(#248、#249、#253) - 三类列表首批最多 100 行,滚动接近底部继续追加,每批最多 100 行,取代页码按钮。后续读取失败保留已有行并可重试,追加去重并保持滚动位置,切换来源或查询后旧响应不会污染新列表。 - Project 查询覆盖当前保存视图的完整观察快照,PR 查询覆盖当前目录并说明完整性;Issue 列查询覆盖已加载范围,搜索整个来源使用独立来源搜索。 - 搜索、过滤、排序或分组后仍保留匹配项之间的 Project 父子层级、展开/折叠及原有子项会话入口;只匹配子项时独立显示,不补入不匹配父项。 ### 原任务恢复与接续(#250、#252、#256) - 已受管会话更换 provider、模型或推理强度后,恢复沿用宿主当前选择并更新原执行记录,保留 Task、Execution、Session 与 epoch,不把旧模型或全局默认写回。首次接管其他会话仍校验资源、preset、模型和权限;不符合项目策略或不可用的模型显示具体错误。 - 接续详情不再被等值关联轮询反复取消;失败、等待、暂停和创建中的执行显示原因及原执行重试/恢复入口。接受恢复请求与恢复成功分别呈现。 - 完成任务仍显示禁用的接续动作及原因(#226、#242)。 ### 工作数据与完成记录(#240、#241、#244) - 引入按工作目录共享的 Work DAO,合并并发读取,普通更新不再反复解析全部历史;历史、命令回执及来源大字段保存为不可变归档,按需读取,保留原有历史、幂等结果及协调身份。 - 读取同时核对控制文件内容,避免同 inode、大小和时间戳碰撞时错误复用旧缓存并覆盖完成记录或外部更新;未知 schema 和缺失归档引用拒绝读写。 - 补齐既有完成行为的真实宿主回归:完成报告后本轮最终回复及后续人工对话保持可用,重建宿主不会自动重开已完成 Task;验证父完成和外部关闭不重复,父汇总不能替代子 Task 独立验收(#139)。 ### Issue 详情加载(#257、#258) - 点击列表中的 Issue 立即进入详情,先显示所选身份和加载状态,再异步载入完整要求与已有工作进展。 - 读取失败保留详情及重试入口;加载中返回列表或切换 Issue 会取消旧读取,迟到响应不能覆盖当前页面。跨仓库同编号条目按 node ID 区分。 ### Project 视图刷新(#254) - 兼容 GitHub 为无筛选视图返回的 `filter: null`,在响应解析边界将其转换为空字符串,恢复视图目录刷新;保留非空筛选内容,并继续拒绝缺失字段或非法类型。 ### 官方 DSH 兼容(#243) - 使用官方公开 `Agent.model.select` 记录会话本地模型,验证目录及推理强度,保留已开始会话和全局默认设置。 - 通过公开持久化与 `SessionController.resolveAgent` 恢复预留会话 ID,在 Agent 发布前装配 preset,并保留权限继承、丢回执重试和旧 Host 兼容。 - 官方 UUID 作业通过非消费 `list/get` 观察;最终 canonical 终态 payload 与精确成功提交的 Session result 配对后,由公开插件记录保存收取回执,阻止消费后失败、取消或空重复读取误放行。有 payload 的 running wait 可直接建立回执;真正空结果及缺少回执的 inline/PTC 消费保守保留待处理,不能以重复读取伪造交付。保留旧 fork journal 与迁移后 ignorable 记录,失联历史只提醒。 - 去掉官方已退役、仅开发期类型使用的 `dsh-invariants` 运行 peer,防止 profile 解析沿祖先目录带入旧核心;旧 Host 开发类型依赖保持。 - 已验证未经修改的官方源码构建 `22ddee3792402c3e70ec5f86a63c3e3e895a2f60`(CLI `0.2.1-rc.3`)。相同版本的 npm 包不一定包含所需公开接口,版本声明不能代替运行能力检查;本节不表示生产实例已升级。 - 新增 `verify-dsh-upgrade` 检查入口,固定候选后支持 Session/model、jobs、metadata 与打包检查的快速或分阶段重跑;对应 #243、#245,使用方式见[升级测试集](docs/verification/dsh-upgrade-test-suite.md)。 ### 仓库与交付 - 将 v4 工作面板和发布线修复整合回 `main`,保留原主干的 Apache-2.0、推理强度与干净源码打包检查。 - 统一包身份 `@a2d2/dsh-a2d2`,开发版本与既有不可变发行标签分开。 - 为所有分支、PR 和版本标签启用 Node 22/24、打包及凭据检查;新增仅构建候选包的发布流程与版本/主干来源校验。 - 补齐贡献、安全、支持、Issue/PR 模板和依赖维护说明;测试图片及项目测试资料迁往 `a2d2-dev/project`。 - 隔离 GitHub watch 测试中的真实 `gh` 认证进程并保证失败后的连接清理,修正已过时的测试辅助代码和发现周期断言。 - 兼容任务运行时卸载时停止调度、等待当前恢复完成,再释放 runner;避免 Context 关闭后仍写入运行目录,新增确定性关闭顺序回归。 ### 其他任务与来源修复 - Goal 旧消息停止反复重放,未消费的旧自动消息保留原文并标为 discarded(#214)。 - 接续材料脱敏保留普通规格路径,在接任前校验消息,并恢复已接任后继的投递(#217)。 - 任务会话名称保留任务编号和接续序列;执行失败后仍能查看真实的当前会话(#211、#223)。 - 接续材料请求失败可显式重试;来源目录显示缓存状态与观察时间。PR 会话入口按仓库限定的 Issue URL/node ID 解析,避免跨仓库同编号 Issue 打开错误会话(#137、#212)。 ### 安装、迁移与兼容范围 - 下载 Release 的 `a2d2-dsh-a2d2-0.0.23.tgz`,不解压,通过实际使用的 DSH profile 插件管理器安装;升级后完整退出并重新打开 DSH。插件要求 Node.js 22 起;下述官方源码宿主要求 Node 24.9 起。 - **升级前备份完整工作目录,包含控制文件、来源 sidecar 与 archive。** 旧格式在首次写事务或来源初始化时迁移;旧插件不能直接读取带 `storage.version: 1` 的新格式。需要降级时停止所有写者,使用完整备份或当前版本提供的离线全量导出;不要只恢复控制 JSON、删除 `storage` 或清理归档。详见[存储迁移与离线降级](docs/architecture/work-dao.md)。 - Session/model 与 jobs 集成证据来自未经修改的官方源码构建 [`22ddee3792402c3e70ec5f86a63c3e3e895a2f60`](https://github.com/deepseek-ai/deepseek-harness/tree/22ddee3792402c3e70ec5f86a63c3e3e895a2f60)(CLI `0.2.1-rc.3`),并保留匹配开发宿主的回归。相同版本的 npm 宿主包缺少所需公开模型 API,会明确拒绝;版本声明不能代替运行能力检查。 - 列表、层级、接续和详情修复已有原 GUI 验收记录;这些记录与官方宿主集成测试分开,不代表所有桌面发行版均完成端到端安装,也不表示发布操作已升级运行实例。分发使用 GitHub Release,未宣称本版已发布到 npm registry。验收范围及已知限制见[发布要求](docs/releasing.md)。 ## 0.0.22 — 2026-10-23 此预发布版接续当前已部署的内部版本 0.0.21,保留包名 `@a2d2/dsh-a2d2`。GitHub 上先前的 v0.0.1 使用不同包名 `dsh-a2d2`;不要同时启用两个 A²D² 实例。 ### 修复 - 任务等待、暂停、完成或交接后,原生人工消息不再被 Task 执行状态静默拦截。 - 等待、暂停、完成工具返回后,本轮可正常给出最终回复;普通宿主工具按原有权限使用。 - 旧会话显示任务已转交的提示和当前会话入口,仍可继续对话;Task 写操作单独检查协调身份。 - 旧版暂存在当前 Task 收件箱内的未消费人工消息,在原会话下一次人工输入时保留原 ID、内容及附件恢复,排除已经消费的消息和自动 Goal 输入。 - 保留之前已部署的接续材料重试、丢失作业提醒和模型工具紧凑回包修复。 ### 安装与验证 下载 Release 的 `a2d2-dsh-a2d2-0.0.22.tgz`,不解压,通过插件管理器输入绝对路径安装。更新后完整退出并重新打开 DSH;仅刷新页面无法移除已经挂在旧会话实例上的回调。 Node.js 22 起。当前匹配的 DSH 0.2.1-rc.2 开发宿主已验证两个真实故障会话恢复回复、旧会话交接提示和当前会话导航;未验证所有官方桌面端版本。自动任务状态不会因安装或普通聊天而被重开。 源码基线为已部署修复 `92a81be`;本发布另外接入主线的打包前构建、完整导出检查及许可证文件,修正客户端类型声明路径。安装包包含编译后的模块、共享分块、浏览器 bundle、类型声明和插件配置,用户无需自行构建。