Repository navigation
Releases: Ultroncn/dsh-archived-chats
Release list
1.6.1
中文
修复与 DSH 0.2.1-rc.5 共同安装时的会话 peer 依赖解析冲突,保留此前支持的宿主版本。
新增 rc.5 官方后端锁定测试,并将其纳入 Ubuntu、macOS、Windows 原生集成检查。原有 0.1.7-rc.2 和 0.2.1-rc.2 回归覆盖继续保留。
本次无界面或持久化格式变更,无需迁移聊天数据。在插件管理中更新至 dsh-archived-chats@1.6.1,完成后重启 DSH。
English
Fix the session peer-dependency resolution conflict when installing alongside DSH 0.2.1-rc.5, while retaining support for earlier Host versions.
Add a pinned official rc.5 backend to native integration checks on Ubuntu, macOS and Windows. Keep regression coverage for 0.1.7-rc.2 and 0.2.1-rc.2.
There are no UI or persistence-format changes and no chat-data migration is required. Update to dsh-archived-chats@1.6.1 in the plugin manager, then restart DSH.
1.6.0
Archive Management 1.6.0
中文
- 兼容只有旧待删除标记、没有回收记录的会话:读取回收站时补齐待重试入口,不自动删除,也不撤销已提交的永久删除意图。
- 修复旧回收记录恢复时将同一工作区的路径别名误判为 ID 冲突的问题;只有真实路径相同才允许恢复,不同或无法验证的路径仍拒绝。
- 收拢归档管理入口:停止新增移入回收站,移除「空间与策略」。停止自动到期清理与启动快照清扫,保留旧回收记录、快照和策略文件;旧客户端的新增回收及策略请求返回 410。
- 有旧回收记录时保留恢复、导出保护快照及确认永久删除;空回收站隐藏,读取异常时保留错误入口。未完成删除必须明确重试。保护快照 ZIP 包含会话与图片,单条上限 64 MiB,不能通过普通会话备份导入器导入。
- 统一已归档、未归档和来源与分支的搜索、筛选、工作区折叠及操作布局;未归档只提供归档操作。已归档和未归档默认按官方首页的「最近更新」逻辑排序,支持未分组和定时任务筛选。
- 全文搜索按筛选后的候选分批执行,展示进度并支持停止、重试;不再只展示前 100 个匹配。点击摘要定位命中消息,自动展开包含工具或推理内容的折叠轮次。
- 修复永久删除归档时官方侧栏短暂重新显示会话的问题:确认文件删除后通知客户端移除,在归档状态下清理工作区成员关系,失败保留可重试任务。单条预览只读取所选聊天,待删除会话不再参与预览或标题读取。
- 关于页提供手动残留会话检查、失败重试、预览、备份及确认删除;进入页面不自动扫描。新增定时、页面恢复和联网后的更新检查,失败 15 分钟后重试。
- 更新弹窗提供当前宿主对应的命令、安装信息复制和本地开发版保护;宿主允许时安装已展示的精确版本,完成后明确提示重启,不自动重启 DSH。
- 同步中英文 README、用户指南、架构文档及八张界面截图。
- 已知宿主限制:DSH 0.2.1-rc.2 在首次配置未完成时,归档当前会话可能触发引导并关闭设置弹窗。已向官方反馈 #10596,本版不包含宿主修复。
English
- Keep legacy pending-only deletions visible for explicit retry by recording them when the Recycle Bin is read, without automatically deleting data or reversing committed deletion intent.
- Fix legacy recovery rejecting aliases of the same workspace directory as ID conflicts. Allow differing path strings only when both resolve to the same directory; retain rejection for different or unverifiable paths.
- Simplify archive management: retire new Recycle Bin moves and Storage & Policy navigation. Disable automatic expiry and startup snapshot sweeping while retaining legacy records, snapshots and saved policies. Stale recycle/policy mutation requests return 410.
- Keep recovery, protection-snapshot export and confirmed permanent deletion for legacy records. Hide an empty bin and retain its error view when the catalog cannot be read. Incomplete deletions require explicit retry. Protection-snapshot ZIPs include session data and images, are limited to 64 MiB per record, and cannot be imported by the ordinary conversation-backup importer.
- Align search, filters, workspace folding and actions across Archived, Unarchived and Origin & Branches. Unarchived offers archive actions only. The two chat lists default to the official home page's Recently updated ordering and support Ungrouped and Scheduled tasks filters.
- Search all filtered candidates in batches with progress, stop and retry controls instead of showing only the first 100 matches. Open matching messages from result snippets and expand folded turns containing tool or reasoning matches.
- Prevent permanently deleted archived chats from briefly reappearing in the official sidebar: notify clients after file removal, detach workspace membership while still archived, and retain retryable tasks on cleanup failure. Preview only the selected chat and exclude pending deletions before preview or title reads.
- Add manual residual-chat checks, retry, preview, backup and confirmed deletion to About; opening the page never starts a scan. Check for updates periodically, after visibility/network recovery, and retry failures after 15 minutes.
- Provide host-specific update commands, copyable installation information and local-checkout protection. Where supported by the official plugin manager, install the exact reviewed version and report restart requirements without restarting DSH automatically.
- Update both READMEs, user guides, architecture documents and all eight interface screenshots.
- Known Host limitation: in DSH 0.2.1-rc.2, archiving the current chat while initial setup is incomplete can trigger onboarding and close Settings. Reported upstream in #10596; this release does not include a Host fix.
更新 / Update
在当前 DSH 环境的插件管理中更新,或使用对应 profile 执行:
dsh plugin --profile web update dsh-archived-chatsweb 为示例,请替换为实际使用的 profile。更新后按宿主提示重启。旧回收记录保留;自动清理已停用。
Update through plugin management in the current DSH host, or use the matching profile with the command above. Replace web with the actual profile, then follow the Host restart prompt. Legacy recycle data is retained; automatic cleanup is disabled.
1.5.3
中文
修复 #60:归档管理现在可以与 DSH 0.2.1-rc.2 一起安装,同时保留此前支持的 Host 版本。
- 在可选
dsh-sessionpeer 范围中显式加入0.2.1-rc.2,解决新版安装时的依赖冲突。 - 为新版官方 Host 增加锁定的集成测试夹具,并适配 JSONL 持久化模块的新插件初始化入口。
- CI 在 Ubuntu、macOS 和 Windows 上分别验证
0.1.7-rc.2与0.2.1-rc.2,每套 Host 强制执行八项原生集成测试,覆盖备份恢复、删除、失败回滚及分叉会话标题。 - 更新中英文文档。此次更新不改变界面或数据格式,无需迁移聊天数据。
更新 Web profile 中的插件:
dsh plugin --profile web update dsh-archived-chats更新后重启 DSH。
English
Fixes #60: Archive Management now installs alongside DSH 0.2.1-rc.2, while retaining support for earlier Host versions.
- Explicitly admit
0.2.1-rc.2in the optionaldsh-sessionpeer range to resolve installation conflicts. - Add a pinned official Host integration fixture and support the JSONL backend's plugin initialization entry point in the test harness.
- Validate both
0.1.7-rc.2and0.2.1-rc.2on Ubuntu, macOS, and Windows in CI. Each Host must pass eight native integration cases covering backup/restore, deletion, rollback failures, and forked-session titles. - Update bilingual documentation. No UI or data-format changes; no chat-data migration is required.
Update the plugin in your Web profile with the command above, then restart DSH.
1.5.2
中文
- 修复新版 Host 使用两参数
cachedSnapshot(meta, keys)时,导入后标题同步误报cache-read-failed的问题;保留旧版三参数接口适配。 - 新版 Host 已支持分叉会话的冷列表标题读取,不再返回过时的
seeded-cold-list-unsupported警告;旧版 Host 仍保留该限制提示。 - 增加官方投影缓存、标题投影和 JSON 存储的集成回归,覆盖普通与分叉会话的标题、事件水位和继承边界。强制原生集成门禁增至八项。
English
- Fix imported-title synchronization reporting
cache-read-failedon newer Hosts usingcachedSnapshot(meta, keys), while retaining the older three-argument interface. - Stop reporting the obsolete
seeded-cold-list-unsupportedwarning on newer Hosts that support cold listing titles for forked sessions; retain the limitation warning on older Hosts. - Add integration coverage using the official projection cache, title projection, and JSON storage for ordinary and forked sessions, including titles, event watermarks, and inherited boundaries. Increase the mandatory native integration gate to eight cases.
1.5.1
-
残留会话整合为顶部最后一张统计卡片,进入空间与策略自动检查,点击「查看明细」后管理明细;离开取消请求,迟到结果不覆盖新检查。目录及恢复快照异常归入对应卡片提示;空间统计加载或失败不再隐藏独立的残留检查入口。
-
Move residual chats into the final summary card and scan automatically on entry to Storage & Retention. View details opens the management dialog; cancelled late responses cannot replace newer results. Show measurement and recovery-snapshot issues in their respective cards. Keep residual access available while storage statistics load or fail.
-
全部八张市场功能截图更新至最新界面,移除预览页顶部的英文及本地会话管理说明,并展示最新选择操作。
-
Refresh all eight marketplace screenshots from the latest UI, remove the extra preview header, and show the current selected actions.
-
顶部更多新增「全部移入回收站」,确认并处理所有工作区的已归档聊天,筛选不会缩小范围。
-
Add header More → Move all to Recycle Bin, confirming the complete archive scope across workspaces regardless of filters.
-
已归档新增选择模式,支持当前结果全选、半选、隐藏已选项计数及取消清空。直接提供取消归档和永久删除;更多提供导出选中和移入回收站。选择模式行内保留预览,操作先确认精确选中范围。
-
Add Archived selection mode with filtered Select all, indeterminate state, hidden-selection counts, and Cancel. Expose Unarchive and Delete permanently; More contains Export selected and Move to Recycle Bin. Rows retain Preview and actions confirm the exact selected scope.
Validation: 414 local tests passed; 7 mandatory native Host integration cases passed; package contents and release version verified.
1.5.0
中文
- 永久删除、清空回收站及重启重试一并清理子代理后代,保留独立分叉;删除目标持久化,活动代理先停止,失败可重试(#57)。
- 新增「未归档」视图,复用已归档的工作区分组排版;搜索在顶部,筛选行右侧提供刷新图标。会话行提供只读预览图标,支持单条归档、工作区全部归档及全局全部归档,归档均先确认;搜索和筛选不缩小批量范围。
- 修复弹窗、对话预览顶栏、菜单及成功提示的背景穿透,使用随明暗主题变化的不透明宿主层。
- 修复下载中断后的导出流释放,以及部分删除后的回收站和侧栏刷新。
- 在「空间与策略」新增按需残留会话检查:仅处理明确缺父的子代理,提供完整 ID、搜索多选、只读预览、备份及确认删除。超限先询问,删除与重启重试只处理选中项(#58)。
English
- Cascade permanent deletion and recovery through subagent descendants while preserving forks and independent recycle records. Persist targets before removal and quiesce live agents (#57).
- Add Unarchived using Archived’s workspace-group layout, with search above filters and a refresh icon at the right. Offer read-only chat previews and confirmed individual, workspace-wide, and global archiving; search and filters do not narrow bulk scope.
- Fix transparent dialog, preview-header, menu, and success-toast backgrounds with opaque Host surfaces that follow light and dark themes.
- Release interrupted export streams and refresh the sidebar and recycle list after partial deletion.
- Add an on-demand residual check in Storage & Retention for subagents with confirmed missing parents: full IDs, search, selection, read-only previews, backups and confirmed deletion. Ask before excluding oversized backups; delete and retry only selected records (#58).
1.4.6
中文
- 修复会话库同时保留旧版 v3 与当前 v4 日志时,任意旧会话会使所有永久删除、清空回收站及自动回收清理报
session-location-unavailable的问题(#55)。Host 的locate()返回当前代写入路径,不能据此要求该文件已经存在。 - 删除安全检查以真实会话独占目录为范围,兼容实际存在的规范代际日志及尚未生成日志的空目录;清单中的已不存在目录不再阻塞删除和中断任务重试。继续拒绝符号链接/junction、非文件日志、目录重叠、不属于会话的路径及不可读清单。
- 新增混合日志、空/缺失目录和删除安全回归,以及使用官方后端验证单条永久删除、归档直接删除、清空回收站的集成用例。原生 CI 门禁增加到六项;另在隔离目录验证官方
0.2.0-rc.2后端,并在可选 peer 范围中显式加入这个已验证版本。
English
- Fix
session-location-unavailableblocking every permanent deletion, Empty Recycle Bin, and automatic recycle purge when the inventory contains a historical v3 log beside current v4 logs (#55). The Host'slocate()names the current append target, which may not exist yet. - Use the actual exclusive session directory as the deletion scope, accepting canonical stored generations and unmaterialized empty directories. Absent inventory directories no longer block deletion or interrupted-purge retries. Keep refusing links/junctions, non-file logs, overlapping directories, non-session-scoped paths, and unreadable inventory.
- Add mixed-generation, empty/missing-directory, and safety regressions plus an official-backend integration for individual purge, direct archive deletion, and Empty Recycle Bin. The mandatory native CI gate now runs six cases. Also verify the official
0.2.0-rc.2backend in an isolated fixture and explicitly admit that tested version in the optional peer range.
1.4.5
中文
1.4.5 更新中英文文档和八张插件界面截图。截图来自隔离的演示环境,使用虚构聊天,展示当前已归档、搜索、批量归档、只读预览、回收站、恢复确认、空间与策略及来源与分支界面。
README、用户指南和架构说明现统一说明 1.4.5 以及基于 @deepseek-ai/dsh-session@0.1.7-rc.2 的 v4 会话格式验证。运行时代码、数据格式和 Host 兼容范围与 1.4.4 相同。已安装 1.4.4 的用户无需为功能修复而升级;若需要包内最新文档与截图,可更新到 1.4.5。
English
1.4.5 refreshes the English and Chinese documentation and all eight plugin screenshots. The screenshots were captured from an isolated demo Host with synthetic chats and show the current Archived, search, bulk archive, read-only preview, Recycle Bin, restore confirmation, Storage & Retention, and Origins & Branches views.
The READMEs, user guides, and architecture notes now align on 1.4.5 and the v4 session-format verification against @deepseek-ai/dsh-session@0.1.7-rc.2. Runtime code, data format, and Host compatibility range are unchanged from 1.4.4. Users on 1.4.4 do not need this update for a functional fix; update if you want the latest packaged documentation and screenshots.
Verification
- Pull request CI: Ubuntu Node 18 and Ubuntu, macOS, and Windows Node 24 passed; CodeQL passed.
- Local full suite: 343 passed, 0 failed, 7 expected skips.
- Official Host native integration: 5 passed, 0 skipped on macOS against
@deepseek-ai/dsh-session@0.1.7-rc.2. - Package dry run contains the eight refreshed screenshots.
1.4.4
说明
本版运行时代码与 1.4.3 完全相同,只更新包元数据。
- 可选 peer 范围原本就通过
>=0.1.2-alpha.1 <0.2.0-0覆盖 0.1.7,现在额外显式列出已验证的0.1.7-rc.2,让声明与 CI 实际验证的 Host 一致。 - 发布验证用的 Host fixture 从
0.1.5-rc.2(会话格式 v3)升级到0.1.7-rc.2(v4),CI 因此在 Ubuntu、macOS 和 Windows 上真正执行 v4 路径。1.4.3 的缺陷此前无法被 CI 复现,正是因为旧 fixture 的会话格式是 v3。 - 已安装 1.4.3 或更高版本并运行在 DSH
0.1.7-rc.2上的用户,本版没有需要采取的动作。修复删除归档失败的改动在 1.4.3 中已经发布。
包名与数据目录不变。
What this release is
Runtime code is identical to 1.4.3; only package metadata changed.
- The optional peer range already admitted 0.1.7 through
>=0.1.2-alpha.1 <0.2.0-0. It now also lists the verified0.1.7-rc.2explicitly, so the declaration matches the Host CI actually tests against. - The release-verification Host fixture moves from
0.1.5-rc.2(session format v3) to0.1.7-rc.2(v4), so CI now exercises the v4 path on Ubuntu, macOS, and Windows. The 1.4.3 defect could not be reproduced by CI before this change precisely because the old fixture's session format was v3. - Users already on 1.4.3 or later running DSH
0.1.7-rc.2have no action to take. The fix for failed archive deletion shipped in 1.4.3.
The package name and data location are unchanged.
Verification
- Local full suite: 343 passed, 7 environment-specific or optional-native skips, 0 failed.
- Native Host integration: 5 passed, 0 failed, against
@deepseek-ai/dsh-session@0.1.7-rc.2. - Release automation gates publication on Ubuntu Node 18 and Ubuntu, macOS, and Windows Node 24 tests, mandatory native Host integration, and package checks; all passed for this tag on the first run.
- Unlike 1.4.3, the native gate now runs against a Host whose session format is v4, so the format the plugin's compatibility layer accepts is exercised end to end in CI rather than by unit test alone.
1.4.3
修复
- 修复在 DSH
0.1.7-rc.2及更高版本 Host 上删除归档会话失败的问题。该版本把会话格式提升为 v4,磁盘上的header.version因此变为4;插件的持久化兼容层只接受 v2 和 v3,在读取列表时就拒绝,删除随即以persistence-response-invalid中止。 - v4 相对 v3 只是版本号递增,header 字段形状不变,因此接受 v4 时其余校验(必需字段类型、
cwd必须为绝对路径、createdAt/delegationDepth的取值范围、未知扩展字段保留等)全部保持原样。 - 删除归档依赖读取列表,因此该缺陷同时影响删除、批量删除、预览与搜索等所有经过持久化兼容层的入口。
- 新增 v4 header 的读取用例,覆盖列表与检查两条路径;该用例在放宽前失败,可阻止回归。
包名与数据目录不变。更新后请重启 DSH。
Fixes
- Fix deleting archived chats on DSH
0.1.7-rc.2and later Hosts. Those versions raise the session format to v4, so the on-diskheader.versionis now4; the plugin's persistence compatibility layer accepted only v2 and v3, rejected the header during list, and the deletion aborted withpersistence-response-invalid. - v4 differs from v3 by the version number alone and keeps the same header field shape. Accepting v4 therefore leaves every other check intact: required field types,
cwdhaving to be absolute, thecreatedAtanddelegationDepthranges, and preserving unknown extension fields. - Deletion reads the list first, so the defect also affected every entry point that goes through the compatibility layer, including bulk deletion, preview, and search.
- Add a v4 header read test covering both list and inspect; it failed before the relaxation, so it guards against regression.
The package name and data location are unchanged. Restart DSH after updating.
Verification
- Local full suite: 343 passed, 7 environment-specific or optional-native skips, 0 failed.
- Native Host integration: 5 passed, 0 failed.
- Release automation gates publication on Ubuntu Node 18 and Ubuntu, macOS, and Windows Node 24 tests, mandatory native Host integration, and package checks; all passed for this tag. The Windows native job failed once on an unrelated pre-existing flake in
test/durable.test.mjs(the deny-delete helper did not signal ready within 5 s) and passed on re-run; the same commit had already passed the Windows job on themainpush run. - Scope limit: the CI native integration runs against a pinned DSH
0.1.5-rc.2Host, whoseSESSION_FORMAT_VERSIONis3. The v4 path is therefore exercised by the unit test, not by CI against a real Host. v4 was confirmed by reading the0.1.7-rc.2source:SESSION_FORMAT_VERSION = 4, andsnapshotSessionHeader/SessionStore.prepareemit the same header fields as v3 with the version raised. - Real-browser behavior was not re-verified for this change, which affects the persistence compatibility layer only.