DimitriLIAN / dsh-archive-viewer

목록에 있음

List and restore archived sessions from the DeepSeek Harness Web settings

main세션 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:DimitriLIAN/dsh-archive-viewer

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 c10e2bf동기화 2026. 8. 18.

dsh-archive-viewer

English | 中文

A DeepSeek Harness (DSH) plugin that adds an Archived sessions page to Web settings, listing every archived conversation grouped by its folder with a one-click Restore and a two-tap Delete. Restoring clears the session from the registry-global archive set so it reappears in the sidebar; deleting permanently removes the stored session log.

No DSH core is modified: the host half registers two REST ops on ctx.webServer (/api2/archive/unarchive + /api2/archive/delete) over the live workspaceRegistry and sessionPersistence services; the browser half composes the list from the standard useSessions + useWorkspaces seats and registers a settings.section (id archive).

Why this exists

DSH's official workspace surface only exposes archiveSession — there is no unarchive or delete RPC, and the Web UI hides archived sessions from every grouping with no way to find, restore, or remove them. This plugin fills that gap without touching DSH core.

Install

dsh plugin add --profile web github:DimitriLIAN/dsh-archive-viewer

Then restart the web profile (dsh --profile web) so the bundle layer loads. Open Settings → Archived sessions to list, restore, or delete archived conversations.

How it works

LayerMechanism
Host halfctx.inject(['webServer', 'workspaceRegistry', 'sessionPersistence'])ctx.webServer.register() for unarchive + delete
Restoreremove the id from archivedSessionIds via setStatedomain.global.sethost/archived-sessions-changed broadcast
DeletesessionPersistence.locate()rmSync the session directory, then clear the id from archivedSessionIds
Browser halfsettings.section slot (id archive), list from useWorkspaces(archivedSessionIds) + useSessions(byId)

Build

pnpm install
pnpm run build

build = host tsc + client tsc (declarations) + tsdown (the __ModuleLoader__.load client bundle).

Known limitations

  • Reaches a runtime-visible method — the official workspace RPC has no unarchive, so the host half calls workspaceRegistry.setState (declared private in the types, present at runtime) to perform the inverse of archiveSession. It mirrors archiveSession's own write path exactly.
  • Delete is permanent — deleting removes the session log from disk with no undo.
  • Delete settles on restart — the archive list drops the row immediately, but the sidebar's session list and the workspace sessionIds slot finish clearing on the next DSH restart (the bootstrap detects the missing header). DSH storage is append-only and has no official session-delete RPC.

저장소 정보

언어
TypeScript
라이선스
MIT
마지막 업데이트
2026. 8. 15. 오후 2:46

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.