Provenance & credits (please read)
This package is built and maintained by loyalchiiina — the favorites / pin / turns / auto-archive enhancements, the release packaging and the current documentation are all authored here.
| Item | Detail |
|---|---|
| Package author / maintainer | loyalchiiina — the enhanced build published in this repository |
| Baseline upstream | MichengAI/dsh-archive-manager — the "Archived sessions" plugin by MichengAI; all baseline capabilities and the original design come from his project (thank you!) |
| Baseline version | v0.1.40 (that release's code forms the base layer, patched on top) |
| License | Apache License 2.0 (upstream LICENSE retained verbatim; modifications documented in NOTICE) |
Copyright of the pre-existing baseline code remains with MichengAI as required by Apache-2.0; everything documented under "what this adds" below is authored and maintained by loyalchiiina.
What this fork adds
- Favorites for archived sessions — inline star buttons plus sidebar menu entries, a "favorites only" filter, favorited-first ordering inside each group, and automatic pruning when chats are deleted.
- One-click delete of unfavorited chats — two scopes: all archived chats outside favorites, or only those in the current filtered results, sharing the existing confirmation dialog.
- Pin sessions — pin from the sidebar session menu; pinned rows always sort first within their group without touching the host's manual ordering data.
- Sort by conversation turns — a new "Turns" sort plus a per-row turn badge. Counts are derived locally from session transcripts with the same semantics as official
sessionStats: no model calls, zero token cost, cached per persisted revision. - Copy session ID / transcript path — three clipboard entries in the sidebar menu; paths are resolved through the official persistence backend via a loopback-only read route.
- Archive settings layout rework — rows wrap onto two lines so titles are no longer squeezed; toolbar and batch-action header become grouped cards.
- Trimmed UI — this fork hides the "GitHub" / "Issues" header links and the built-in "check for updates" button (a pure UI preference, no functional impact).
⚠️ This package cannot coexist with upstream
dsh-archive-manager-plus: both provide the same host services (workspace / projection cache / ui-workspace). Install one of them.
功能总览 · At a glance(中英对照 / Bilingual)
The enhanced build on top of upstream v0.1.40. 在上游 v0.1.40 之上增强的功能。
收藏与筛选 · Favorites & filtering
| 中文 | English |
|---|---|
| 会话收藏:行内星标 + 侧边栏菜单入口,「只看收藏」一键过滤 | Favorites for archived sessions: inline stars + sidebar menu entries and a "favorites only" filter |
| 收藏项在分组内自动排最前;删除聊天后自动清理失效收藏 | Favorited-first ordering inside each group; auto-pruning when chats are deleted |
| 一键删除全部未收藏 / 当前筛选结果内未收藏 | One-click delete of unfavorited chats — all archives or only the current filtered results |
置顶与排序 · Pinning & sorting
| 中文 | English |
|---|---|
| 会话置顶:侧边栏「…」菜单置顶/取消,置顶项在组内始终排最前(不改动宿主手动排序数据) | Pin sessions from the sidebar menu; pinned rows sort first in their group without touching the host's manual ordering |
| 按时间三态排序:关闭 / 降序(新→旧)/ 升序(旧→新),置顶组整体优先 | New time sorting: off / newest-first / oldest-first, pins always ahead |
| 按对话轮次排序 + 每行轮次徽标;本地统计零 token(口径同官方 sessionStats) | New "Turns" sort with a per-row badge, computed locally — zero model calls, zero tokens |
一键归档 · One-click archive
| 中文 | English |
|---|---|
| 按闲置天数一键归档:设置阈值 → 实时统计闲置会话 → 逐条归档 + 进度条 | Idle-days archive: set the threshold, see "N idle over X days", archive with a live progress bar |
| 一键撤回上一步归档 | One-step undo of the last archive run |
| 判定以最后一次对话时间为准;只统计侧边栏可见的未归档会话 | Judged by last-conversation time; only visible unarchived sessions are counted |
删除与复制 · Delete & copy
| 中文 | English |
|---|---|
| 批量删除提速(修复上游 O(n²) 全盘扫描 → 索引 + 缓存 + 并发),90 秒+ → 几秒 | Bulk delete speed-up (upstream O(n²) scan → indexed cache + concurrency): 90s+ → seconds |
| 删除进度条 + 每步超时保护 + 安全/快速/分批/原版四级降级链 | Progress bar, per-step timeout, 4-tier fallback chain (safe → fast → batched → original) |
| 侧边栏菜单复制会话 ID / 转录文件路径 / ID+路径(三选) | Sidebar menu copies session ID / transcript path / both |
界面与协同 · UI & coexistence
| 中文 | English |
|---|---|
| 归档设置界面排版重整:两行排布 + 工具栏/批量操作分组卡片 | Reworked archive-settings layout: two-line rows, grouped toolbar & batch-action cards |
| 隐藏上游「GitHub / Issues」外链与「检查更新」按钮(纯界面取舍) | Hides upstream GitHub / Issues links and the update-check button (pure UI preference) |
与上游 dsh-archive-manager-plus 不能共存(同名宿主服务),请二选一 |
Cannot coexist with upstream dsh-archive-manager-plus (same host services) — install one |
DSH Archive Manager
Safely manage archived sessions in DeepSeek Harness
简体中文 · Changelog · Apache-2.0
DSH Archive Manager is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product.
What you can do
Put inactive conversations away and find them again when needed, keeping everyday task lists tidy.
- Archive conversations: put away one chat or all unarchived chats in a workspace.
- Find past work: search titles, filter by project, and sort by time or title.
- Restore tasks: restore one chat, selected chats, a project group, or all archives.
- Clean up records: permanently delete unwanted archived conversations after confirmation.
Screenshots
Archive, pin, and sort chats right from the sidebar session menu:

Find, restore, and clean up chats in Settings → Archived sessions:

Prerequisites
- A working DeepSeek Harness Web installation with
dshavailable in your terminal. - Supported DSH versions:
0.1.0-rc.8,0.1.1-rc.2,0.1.2-rc.1,0.1.5-rc.1, and0.1.5-rc.2. Other versions are not currently supported. - Node.js matching
^22.19.0 || >=24.0.0. Source installation also requires pnpm.
Installation
Examples use the web profile. Replace it with the profile you actually use.
Ask an agent to install it
Send this prompt to an agent that can run terminal commands on your computer:
Install the latest dsh-archive-manager-plus into my local DSH web profile using the official npm registry. Check the plugin configuration afterward, then explain how to reload DSH and open archived session management.
Install manually
Run in PowerShell:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh plugin --profile web add dsh-archive-manager-plus@latest --registry=https://registry.npmjs.org/
Restart DSH Web, then hard-refresh your browser with Ctrl+Shift+R. Open Settings → Archived sessions to get started.
Usage
| Goal | Action |
|---|---|
| Archive one chat | Open its sidebar menu and choose Archive session |
| Archive a workspace | Open the workspace menu and choose the option to archive its chats |
| Find an archive | Open Settings → Archived sessions, then search titles or filter by project |
| Change the order | Sort by update time, creation time, or title |
| Restore one chat | Click Unarchive beside the session |
| Restore or delete in bulk | Select chats and use the bulk actions, or use the project menu or page-wide actions |
Selections persist when filters change. Check the hidden selection count before applying bulk actions, or clear your selection first.
View and continue archived conversations
Available starting with 0.1.40:
- View conversation: open the native DSH session to view messages, attachments, and tool details. Continue chatting while keeping the session archived.
- Restore and open: unarchive the session and open it to resume work.
Updates
Click Check for updates in the archive management page header. DSH CLI or Desktop environments with automatic update support can update directly; other environments provide a manual command for the current profile. You can also rerun the installation command above.
FAQ
Why is the entry missing after installation?
Restart DSH Web and hard-refresh your browser. Make sure you installed into the profile you are using. If the entry is still missing, run:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
dsh --profile web --dump-config
The configuration should include workspace-archive-manager and ui-workspace-archive-manager. If you previously set the official ui-workspace to disabled: true in your profile's cordis.patch.yml, remove that disabling override and restart.
How is archiving different from deletion?
Archiving puts a conversation away so you can restore it later. Permanent deletion cannot be undone and may also remove that session's attachments. It does not delete your project working directory. Deletion requires confirmation.
Can I use it with Codex UI?
Yes. Codex UI keeps its sidebar appearance and interactions. Archive management remains available in Settings → Archived sessions.
For other problems, open an issue with your DSH and plugin versions, reproduction steps, and error details.
Install from source
Expand for development or testing unreleased changesRun these commands in a directory of your choice. For local changes that have not been pushed, use the existing working copy.
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
git clone https://github.com/MichengAI/dsh-archive-manager.git
Set-Location .\dsh-archive-manager
pnpm install --frozen-lockfile
pnpm build
dsh plugin --profile web add .
Restart DSH Web and hard-refresh your browser afterward. Edit src, not the generated lib directory. Run pnpm test to validate changes or pnpm verify for the full checks.
Related projects
DSH Codex UI provides project and conversation management. For a desktop workbench, see DSH Codex Desktop.
License
Licensed under Apache License 2.0.
No comments yet. Be the first to write one.