← ClaudeAtlas

session-cleanerlisted

清理 DeepSeek Harness 的会话与工作区——归档会话(从会话列表删除)、移除 workspace 分组、彻底删除会话日志。全部通过本地 Web API(http://127.0.0.1:3080)操作,一致性由 DSH 自己保证。
AndersOnLin4/andersonlin4-skills · ★ 0 · AI & Automation · score 76
Install: claude install-skill AndersOnLin4/andersonlin4-skills
# DSH 会话清理(Session Cleaner) 通过 DSH 本地 API 删除/归档会话与工作区,不触碰存储文件。 ## 铁律(必须遵守) 1. **绝不直接编辑** `G:\harness\dsh-home\storages\workspace.json` 和 `session_projcache.json`。 运行中的 dsh 进程会把内存状态回写磁盘,直接改文件几秒内被覆盖还原,产生"删不掉"的假象。所有操作只走 API。 2. **删除 = 归档**。`workspace.archiveSession` 是 DSH 的删除语义:会话从所有列表消失,但日志文件保留在 `sessions\` 目录(不占列表、可后续物理清除)。 3. **归档不可逆**:当前 API 没有 unarchive,归档后无法从 GUI 恢复。**执行前必须向用户复述将删除的会话(标题 + 编号),得到确认后才调用**(可加 `-Force` 跳过脚本内确认,但 SKILL.md 的确认义务不变)。 4. **物理删除(purge-files)更危险**:把会话日志目录真正删掉。仅当用户明确说"彻底删除"时才用,且必须二次确认。 ## 用法(pwsh 工具里执行,每条一行) ```powershell $s = '<本 skill 目录>\scripts\session-cleaner.ps1' # 已设 DSH_HOME 时也可:Join-Path $env:DSH_HOME 'skills\session-cleaner\scripts\session-cleaner.ps1' Set-ExecutionPolicy -Scope Process Bypass -Force # 1) 列出全部会话(按 workspace 分组,含标题/运行态/归档标记) & $s -Action list # 2) 归档某个会话(先 list 拿 id;-Force 跳过交互确认) & $s -Action archive -SessionId 'session-8992e893-294c-4754-ba85-192a49bb6a07' -Force & $s -Action archive -SessionId 'id1','id2','id3' -Force # 批量 # 3) ��标题模糊匹配归档(匹配多个时列出候选,需 -Force 全部归档) & $s -Action archive -SessionTitle '天气' -Force # 4) 移除 workspace 分组(不删目录与文件,分组从列表消失) & $s -Action delete-workspace -WorkspaceId 'a4fa0353-225e-4754-9f36-3e2d164eb5ca' -Force # 5) 彻底删除会话日志文件(归档后仍想清磁盘 —— 高危,二次确认) & $s -Action purge-files -SessionId 'session-8992e893-294c-4754-ba85-192a49bb6a07' -Force ``` ## 参数速查 | 参数 | 说明 | |---|---| | `-Action` | `list` \| `archive` \| `delete-workspace` \| `purge-files`(必填) | | `-SessionId` | 会话 id,支持逗