dsh-archived-chats 1.6.4 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,24 @@
4
4
 
5
5
  Entries describe behavior at each release, not necessarily current behavior. Consult the READMEs and user guides for current usage.
6
6
 
7
+ ## 1.7.0 — 2026-11-07
8
+
9
+ ### 中文
10
+
11
+ - 来源与分支按工作区展示会话列表,提供基础信息及会话谱系入口。谱系图展示完整来源、同级分叉与子智能体关系,支持拖动、缩放、适应画布和只读预览。
12
+ - 通过官方分叉调用记录新分支来源,并按会话身份校验记录。归档与未归档各自搜索标题和正文,类型筛选使用统一菜单。
13
+ - 统一单条、工作区及批量永久删除的范围预览与确认。删除关联子智能体并保留独立分叉,失败后可重试已确认范围。
14
+ - 移除旧回收记录恢复、保护快照及残留会话维护入口和专用接口。升级保留磁盘上的旧文件,并承接已确认的待删除任务。
15
+ - 对齐官方菜单、按钮和顶部标签的样式,保留黑色选中状态,统一工作区悬停交互与默认工作区翻译。官方归档提示增加快速查看入口。
16
+
17
+ ### English
18
+
19
+ - Organize Origins & branches as workspace-grouped chat lists with basic metadata and a Conversation lineage action. The graph shows the complete source family, sibling forks and subagents, with panning, zooming, fit and read-only previews.
20
+ - Record new fork sources through the official fork call and validate stored session identities. Archived and Unarchived each search their own titles and content, with shared type-filter menus.
21
+ - Unify scope previews and confirmation for individual, workspace and bulk permanent deletion. Include related subagents, preserve independent forks and retry the previously confirmed scope after failures.
22
+ - Remove legacy recovery, protection snapshots and residual-chat maintenance controls and dedicated endpoints. Upgrades preserve existing files and continue previously confirmed pending deletion tasks.
23
+ - Align menus, buttons and top tabs with Host styles, retaining black selected tabs. Unify workspace hover behavior and default-workspace translations, and add a quick-view action to the official archive notice.
24
+
7
25
  ## 1.6.4 — 2026-11-06
8
26
 
9
27
  ### 中文
package/README.md CHANGED
@@ -30,11 +30,12 @@
30
30
 
31
31
  Archive Management adds conversation search, organization and backups to DeepSeek Harness. Find a past solution, preview its context, archive by workspace, or save a ZIP before deleting a chat.
32
32
 
33
- - **Find past work:** search titles, messages, tool results, tags and notes; open a match with surrounding context.
33
+ - **Deep search:** search titles, message bodies and tool results within Archived or Unarchived, plus tags and notes in Archived; results show the matching turn in context with a direct link to jump there.
34
34
  - **Organize chats:** manage Archived and Unarchived, including workspace groups, ungrouped chats, bulk actions, tags and notes.
35
- - **Keep a backup:** export JSON + Markdown ZIPs; preview imports and skip existing IDs instead of overwriting them.
35
+ - **Portable backups:** export and import JSON + Markdown ZIPs; imports preview before writing and skip existing IDs to avoid overwrites.
36
+ - **Conversation lineage:** read-only Origins & Branches view traces sources, forks and subagent relationships across all workspaces, including archived and unarchived chats.
36
37
 
37
- > This document describes 1.6.4. New recycle operations and automatic cleanup are retired; see [upgrading](#upgrading-from-older-releases) for existing data.
38
+ > This document describes version 1.7.0. Previous recovery features are removed, with explicit retries for permanent-deletion tasks.
38
39
 
39
40
  ## Install and open
40
41
 
@@ -59,69 +60,82 @@ dsh plugin --profile web update dsh-archived-chats
59
60
  3. Choose **Select**, check chats, and choose **Export selected**; narrow layouts place this action in the three-dot menu. Verify the ZIP in browser downloads.
60
61
  4. **Unarchive** to continue chatting. Before deleting, decide whether to keep a backup: deletion is permanent and cannot be undone.
61
62
 
63
+ Deletion covers the exclusive session directories and corresponding records of selected chats and their subagent descendants. Project files, shared attachments outside session directories, and independent backups are retained. See [deletion scope and retries](docs/USER_GUIDE.md#permanent-deletion-and-retries).
64
+
62
65
  ## Pages and capabilities
63
66
 
64
67
  | Page | Purpose |
65
68
  | --- | --- |
66
69
  | Archived | Search, filter, preview, tags and notes, import/export, unarchive and confirmed permanent deletion. |
67
- | Unarchived | Ordinary workspace and ungrouped chats, preview, individual/workspace/global archiving. |
68
- | Origins & Branches | Read-only sources, forks and subagents related to archived chats. |
69
- | About | Automatic update checks, host and local-checkout detection, copyable installation details, host-supported updates, and manual residual-chat checks. |
70
- | Recycle Bin, when records exist | Recover legacy records to Archived, export protection snapshots, or confirm permanent deletion; hidden when empty. |
70
+ | Unarchived | Workspace and ungrouped chats, scoped search, preview, archive and confirmed permanent deletion. |
71
+ | Origins & Branches | Read-only sources, forks and subagents across all workspaces and archive states. |
72
+ | About | Automatic update checks, host and local-checkout detection, copyable installation details, host-supported updates. |
73
+
74
+ Content search starts at two characters and scans the selected scope in batches, showing progress, matches and failures; it supports Stop and Retry. See the [user guide](docs/USER_GUIDE.md) for scope, long-log limits and detailed operations.
71
75
 
72
- Content search starts at two characters and scans the selected scope in batches, showing progress, matches and failures; it supports Stop and Retry. Unarchived searches titles or session IDs. See the [user guide](docs/USER_GUIDE.md) for scope, long-log limits and detailed operations.
76
+ Archived searches archived chats; Unarchived searches unarchived chats. Both support body search and anchored previews. Bulk archive shares the list’s hidden-session exclusions.
73
77
 
74
- ## Archive, delete and maintain
78
+ ## Archive and delete
75
79
 
76
80
  **Archive organizes; Delete permanently removes.** Archive and unarchive use official Host operations. Row deletion, selected deletion, workspace Delete all and global Delete all require confirmation. Workspace deletion never deletes project directories. Search and filters do not narrow workspace or global bulk actions.
77
81
 
78
- **Residual checks are manual maintenance.** Open **About → Maintenance → Check residual chats** to inspect subagents with an explicit parent reference whose parent no longer exists. Preview or export first, then select and confirm permanent deletion; eligibility is rechecked at execution. Ungrouped chats, independent forks, ordinary unarchived chats and blank chats are excluded. Opening the page never scans or cleans automatically.
79
82
 
80
83
  ## Backups and data boundaries
81
84
 
82
85
  | Format | Contents | Use |
83
86
  | --- | --- | --- |
84
87
  | Conversation backup ZIP | JSON, Markdown, tags, notes and attachment references; no attachment bytes or automatic descendant bundling. | Preview with Import backup, then restore; existing IDs are skipped. |
85
- | Legacy protection-snapshot ZIP | Legacy record, validated session payload and image attachments; 64 MiB per record. | Preserve legacy data; not accepted by the ordinary conversation importer. |
86
88
 
87
- Successful exports are validated against the same format and budgets as import before the download starts. This applies to ordinary conversation backups; protection snapshots use a separate format. A download-started notice does not confirm the file was saved; check browser downloads.
88
-
89
- - Data stays on the DSH host under `$DSH_HOME/plugin-data/archived-chats/`, defaulting to `~/.dsh/`. The plugin does not upload or cloud-sync chats.
90
- - Permanent deletion removes session and related plugin data, not all global Host attachments, caches or external backups. Failures retain retryable tasks.
91
- - A chat without a working directory remains in Archived; a missing workspace alone allows an ungrouped chat.
92
- - Empty Recycle Bin uses the exact recycle-record incarnations shown at confirmation; changed targets do not expand the deletion scope.
89
+ Successful exports are validated against the same format and budgets as import before the download starts. A download-started notice does not confirm the file was saved; check browser downloads.
93
90
 
94
91
  ## Upgrading from older releases
95
92
 
96
- Version 1.6.0 disables new Move to Recycle Bin actions, removes Storage & Retention navigation, and stops automatic expiry and startup snapshot sweeping.
97
-
98
- **Removing navigation does not migrate or delete existing data.** Legacy recycle records, snapshots and saved policies remain. Records keep the Recycle Bin visible; catalog read errors retain a retry view instead of being mistaken for an empty bin. Saved cleanup policies do not run, and incomplete permanent deletions require explicit retry.
99
-
100
- Recovery prefers an intact original and returns it to Archived. Missing-original snapshot recovery depends on Host capabilities; unsupported or invalid recovery keeps the record and reports failure. Export a protection snapshot to preserve data first. Never treat manually deleting plugin data as emptying the Recycle Bin.
101
-
102
93
  Installing an older release can restore its earlier cleanup rules. Before downgrading, keep a full data backup and check pending tasks and format compatibility.
103
94
 
104
95
  ## Compatibility
105
96
 
106
97
  The declared range is DSH `>=0.1.0-rc.7 || 0.2.2-rc.1`; features still depend on Host capabilities. Native integration tests cover official `0.1.7-rc.2`, `0.2.1-rc.2`, `0.2.1-rc.5` and `0.2.2-rc.1` backends; CI runs the Host matrix on macOS, Windows and Linux.
107
98
 
108
- Archive, unarchive and inventory use official capabilities. Permanent deletion coordinates Host session lifecycle and storage locations rather than calling one unified public deletion API. ZIP import and legacy snapshot recovery also have different writer requirements. See [compatibility and limits](docs/USER_GUIDE.md#compatibility-and-limits).
99
+ Archive, unarchive and inventory use official capabilities. Permanent deletion coordinates Host session lifecycle and storage locations rather than calling one unified public deletion API. See [compatibility and limits](docs/USER_GUIDE.md#compatibility-and-limits).
109
100
 
110
101
  ## Screenshots
111
102
 
112
- These 1.6.0 screenshots use synthetic example chats. The legacy Recycle Bin appears only when records exist; [screenshots.json](screenshots.json) owns the order.
113
-
114
103
  <details>
115
104
  <summary>View screenshots</summary>
116
105
 
117
- 1. [Archived chats](assets/screenshots/preview-01.png)
118
- 2. [Full-text search and selected actions](assets/screenshots/preview-02.png)
119
- 3. [Unarchived and workspace archiving](assets/screenshots/preview-03.png)
120
- 4. [Conversation preview](assets/screenshots/preview-04.png)
121
- 5. [Legacy Recycle Bin](assets/screenshots/preview-05.png)
122
- 6. [Restore confirmation](assets/screenshots/preview-06.png)
123
- 7. [About and manual maintenance](assets/screenshots/preview-07.png)
124
- 8. [Origins & Branches](assets/screenshots/preview-08.png)
106
+ Screenshots use demonstration conversations in an isolated official Host.
107
+
108
+ ### 1. Archived chats by workspace
109
+
110
+ ![Archived chats by workspace](assets/screenshots/preview-01.png)
111
+
112
+ ### 2. Read-only conversation preview
113
+
114
+ ![Read-only conversation preview](assets/screenshots/preview-02.png)
115
+
116
+ ### 3. Content search and matching snippets
117
+
118
+ ![Content search and matching snippets](assets/screenshots/preview-03.png)
119
+
120
+ ### 4. Unarchived conversations
121
+
122
+ ![Unarchived conversations](assets/screenshots/preview-04.png)
123
+
124
+ ### 5. Bulk archive confirmation
125
+
126
+ ![Bulk archive confirmation](assets/screenshots/preview-05.png)
127
+
128
+ ### 6. Origins & branches list
129
+
130
+ ![Origins & branches list](assets/screenshots/preview-06.png)
131
+
132
+ ### 7. Conversation lineage graph
133
+
134
+ ![Conversation lineage graph](assets/screenshots/preview-07.png)
135
+
136
+ ### 8. About and updates
137
+
138
+ ![About and updates](assets/screenshots/preview-08.png)
125
139
 
126
140
  </details>
127
141
 
@@ -157,3 +171,10 @@ dsh plugin --profile web remove dsh-archived-chats
157
171
  Removing the package preserves plugin data and does not permanently purge chats. See [local data and uninstall](docs/USER_GUIDE.md#local-data-and-uninstall).
158
172
 
159
173
  [MIT License](LICENSE)
174
+
175
+ ## Deletion failures
176
+
177
+ Failed permanent deletions show an error and retain internal state for incomplete operations. Current functionality removes previous recovery and protection-snapshot actions while carrying forward committed deletion tasks.
178
+
179
+
180
+ A chat without a working directory remains in Archived until the official main list can reach it.
package/README.zh-CN.md CHANGED
@@ -28,11 +28,12 @@
28
28
 
29
29
  归档管理为 DeepSeek Harness 补充会话查找、整理和备份能力。搜索过去的解决方案,直接预览内容,按工作区归档,或在删除前保存一份 ZIP 备份。
30
30
 
31
- - **找回内容:** 搜索标题、正文、工具结果、标签和备注,点击命中片段查看上下文。
31
+ - **深度搜索:** 在已归档或未归档各自范围内搜索标题、消息正文和工具结果,已归档还支持标签和备注;结果直接展示命中轮次及其上下文,支持跳转定位。
32
32
  - **整理会话:** 管理已归档和未归档聊天,支持工作区分组、未分组、批量操作及标签备注。
33
- - **保存备份:** 导出 JSON + Markdown ZIP,导入前预览并跳过已有会话,避免覆盖。
33
+ - **可迁移备份:** 导出和导入 JSON + Markdown ZIP;导入前预览,跳过已有 ID,不覆盖现有数据。
34
+ - **会话溯源:** 只读的「来源与分支」视图查看所有工作区中已归档、未归档会话的来源、分叉和子代理关系。
34
35
 
35
- > 本文对应 1.6.4。此版本停止新增回收和自动清理,旧数据的处理方式见[从旧版升级](#从旧版升级)。
36
+ > 本文描述 1.7.0,旧恢复功能已移除,永久删除支持任务重试。
36
37
 
37
38
  ## 安装与打开
38
39
 
@@ -57,69 +58,82 @@ dsh plugin --profile web update dsh-archived-chats
57
58
  3. 点击 **选择**,勾选聊天后 **导出选中**;窄屏下该操作位于三点菜单。到浏览器下载中确认 ZIP 已保存。
58
59
  4. 需要继续聊天时 **取消归档**。删除会话前先确认备份是否需要保留;删除为不可撤销的永久删除。
59
60
 
61
+ 删除覆盖所选会话及其子智能体后代的专属存储目录和对应记录。项目文件、会话目录外的共享附件及独立备份保留。详见[删除范围与失败重试](docs/USER_GUIDE.zh-CN.md#永久删除与失败重试)。
62
+
60
63
  ## 页面与能力
61
64
 
62
65
  | 页面 | 用途 |
63
66
  | --- | --- |
64
67
  | 已归档 | 搜索、筛选、预览、标签备注、导入导出、取消归档和确认永久删除。 |
65
- | 未归档 | 获取工作区及未分组中的普通聊天,预览并按单条、工作区或全局归档。 |
66
- | 来源与分支 | 查看与已归档聊天相关的来源、分叉和子代理关系;只读,不改变会话。 |
67
- | 关于 | 自动检查更新、运行环境与本地开发版识别、复制安装信息、宿主支持时一键更新,以及手动「检查残留会话」。 |
68
- | 回收站(有旧记录时) | 处理旧记录:恢复到已归档、导出保护快照或确认永久删除;空目录隐藏。 |
68
+ | 未归档 | 工作区及未分组聊天,范围内搜索、预览、归档和确认永久删除。 |
69
+ | 来源与分支 | 查看所有工作区中会话的来源、分叉和子代理关系,包含已归档及未归档;只读,不改变会话。 |
70
+ | 关于 | 自动检查更新、运行环境与本地开发版识别、复制安装信息、宿主支持时一键更新。 |
71
+
72
+ 正文搜索从两个字符开始,分批扫描当前筛选范围,展示进度、命中和失败数量;支持停止和重试。完整范围、长日志限制及操作说明见[用户指南](docs/USER_GUIDE.zh-CN.md)。
69
73
 
70
- 正文搜索从两个字符开始,分批扫描当前筛选范围,展示进度、命中和失败数量;支持停止和重试。未归档搜索标题或会话 ID。完整范围、长日志限制及操作说明见[用户指南](docs/USER_GUIDE.zh-CN.md)。
74
+ 已归档只搜索已归档,未归档只搜索未归档。两个列表均支持正文搜索和命中上下文定位;批量归档与列表共用隐藏会话排除规则。
71
75
 
72
- ## 归档、删除与维护
76
+ ## 归档与删除
73
77
 
74
78
  **归档用于整理,删除用于永久移除。** 归档和取消归档使用 Host 的官方操作。行内垃圾桶、选中删除、工作区全部删除和全局全部删除均需确认;工作区删除不会删除项目目录。搜索和筛选不会缩小工作区或全局操作范围。
75
79
 
76
- **残留检查是手动维护工具。** 从 **关于 → 维护工具 → 检查残留会话** 打开,仅检查有明确父来源且父会话已不存在的子代理会话。可先预览或导出,再勾选确认永久删除;执行时重新核对范围。未分组、独立分叉、普通未归档和空白聊天不作为该工具的清理目标。进入页面不会自动扫描或清理。
77
80
 
78
81
  ## 备份与数据边界
79
82
 
80
83
  | 格式 | 内容 | 使用方式 |
81
84
  | --- | --- | --- |
82
85
  | 会话备份 ZIP | JSON、Markdown、标签备注及附件引用;不包含附件文件,不自动打包后代会话。 | 通过「导入备份」预览后导入;已有 ID 跳过。 |
83
- | 旧回收保护快照 ZIP | 旧记录、已验证的会话载荷及图片附件;单条上限 64 MiB。 | 用于保存旧数据,不能通过普通会话导入器导入。 |
84
86
 
85
- 导出成功前会按导入使用的同一格式和预算完成验证。此保证针对普通会话备份;保护快照是独立格式。浏览器提示开始下载不代表文件已保存,需自行核对下载结果。
86
-
87
- - 数据保存在运行 DSH 的主机 `$DSH_HOME/plugin-data/archived-chats/`,默认位于 `~/.dsh/`;插件不上传或云同步聊天。
88
- - 永久删除清理会话及插件关联数据,不承诺擦除 Host 全局附件、缓存或外部备份。失败保留可重试任务。
89
- - 没有工作目录的聊天会留在已归档;仅缺少工作区时可显示为未分组。
90
- - 旧回收站清空仅处理确认时展示的精确回收记录实例;目标变化时拒绝扩大删除范围。
87
+ 导出成功前会按导入使用的同一格式和预算完成验证。浏览器提示开始下载不代表文件已保存,需自行核对下载结果。
91
88
 
92
89
  ## 从旧版升级
93
90
 
94
- 1.6.0 不再提供新增「移入回收站」,移除「空间与策略」入口,并停用自动到期清理和启动快照清扫。
95
-
96
- **已有数据不会因为移除入口而自动迁移或删除。** 旧回收记录、快照和策略文件保留。只要存在回收记录,仍显示回收站;目录读取失败时保留错误与重试入口,不能当作空目录隐藏。旧策略不执行,未完成的永久删除需明确重试。
97
-
98
- 恢复优先使用仍完好的原会话,成功后回到已归档。原会话丢失时,快照回退依赖 Host 能力;不支持或校验失败会保留记录并报错,不伪报成功。可先导出保护快照保存数据。不要通过手动删除插件数据目录来清空回收站。
99
-
100
91
  重新安装旧版本可能重新启用其原有清理规则;降级前应保留完整数据备份,并确认待删除任务和数据格式兼容。
101
92
 
102
93
  ## 兼容性
103
94
 
104
95
  声明范围为 DSH `>=0.1.0-rc.7 || 0.2.2-rc.1`,具体能力仍取决于 Host。原生集成测试覆盖官方 `0.1.7-rc.2`、`0.2.1-rc.2`、`0.2.1-rc.5` 与 `0.2.2-rc.1` 后端;CI 在 macOS、Windows 和 Linux 上运行 Host 测试矩阵。
105
96
 
106
- 归档、取消归档、列表读取以官方能力为基础。永久删除由插件协调会话生命周期和存储位置完成,并非调用一个官方统一删除接口;ZIP 导入和旧快照恢复的写入能力要求也不同。详见[兼容性与限制](docs/USER_GUIDE.zh-CN.md#兼容性与限制)。
97
+ 归档、取消归档、列表读取以官方能力为基础。永久删除由插件协调会话生命周期和存储位置完成,并非调用一个官方统一删除接口。详见[兼容性与限制](docs/USER_GUIDE.zh-CN.md#兼容性与限制)。
107
98
 
108
99
  ## 界面截图
109
100
 
110
- 以下截图来自 1.6.0,使用虚构示例会话。旧回收站仅在存在旧记录时显示;[截图清单](screenshots.json)保持以下顺序。
111
-
112
101
  <details>
113
102
  <summary>查看界面截图</summary>
114
103
 
115
- 1. [已归档](assets/screenshots/preview-01.png)
116
- 2. [全文搜索与选中操作](assets/screenshots/preview-02.png)
117
- 3. [未归档与工作区归档](assets/screenshots/preview-03.png)
118
- 4. [会话预览](assets/screenshots/preview-04.png)
119
- 5. [旧回收站](assets/screenshots/preview-05.png)
120
- 6. [恢复确认](assets/screenshots/preview-06.png)
121
- 7. [关于与手动维护](assets/screenshots/preview-07.png)
122
- 8. [来源与分支](assets/screenshots/preview-08.png)
104
+ 截图使用隔离的官方 Host 和演示会话。
105
+
106
+ ### 1. 按工作区整理已归档会话
107
+
108
+ ![按工作区整理已归档会话](assets/screenshots/preview-01.png)
109
+
110
+ ### 2. 只读会话预览
111
+
112
+ ![只读会话预览](assets/screenshots/preview-02.png)
113
+
114
+ ### 3. 正文搜索与命中片段
115
+
116
+ ![正文搜索与命中片段](assets/screenshots/preview-03.png)
117
+
118
+ ### 4. 未归档会话
119
+
120
+ ![未归档会话](assets/screenshots/preview-04.png)
121
+
122
+ ### 5. 批量归档确认
123
+
124
+ ![批量归档确认](assets/screenshots/preview-05.png)
125
+
126
+ ### 6. 来源与分支列表
127
+
128
+ ![来源与分支列表](assets/screenshots/preview-06.png)
129
+
130
+ ### 7. 会话谱系图
131
+
132
+ ![会话谱系图](assets/screenshots/preview-07.png)
133
+
134
+ ### 8. 关于与版本更新
135
+
136
+ ![关于与版本更新](assets/screenshots/preview-08.png)
123
137
 
124
138
  </details>
125
139
 
@@ -155,3 +169,10 @@ dsh plugin --profile web remove dsh-archived-chats
155
169
  卸载插件包保留插件数据,不执行永久删除。详见[本地数据与卸载](docs/USER_GUIDE.zh-CN.md#本地数据与卸载)。
156
170
 
157
171
  [MIT License](LICENSE)
172
+
173
+ ## 删除失败处理
174
+
175
+ 永久删除失败时显示错误提示,并在后台保留未完成状态。当前版本移除旧恢复与保护快照操作,仅承接已确认的待删除任务。
176
+
177
+
178
+ 没有工作目录的聊天会留在已归档,取消归档前需确认官方主列表能读取该会话。
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file