归档会话管理
An "Archived sessions" page in the DeepSeek Harness settings — reopen the sessions the sidebar hides.
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.
dsh-archived-sessions
An "Archived sessions" page in the DeepSeek Harness settings — reopen the sessions the sidebar hides.
🌐 中文 · English
A DSH plugin adding an Archived sessions page to the Settings panel: it lists every session in the registry-global archive set (normally hidden from the sidebar grouping surfaces and search), and clicking a row reopens that session and closes the settings panel.
🎯 Archiving shouldn't be a one-way door — every archived session stays one click away.
Contents
Why
In DSH 0.1.0-rc.6 archiving is one-way: workspace.archiveSession moves a
session into the registry-global archive set, all grouping surfaces and search
hide it, and this version ships no unarchive API. This plugin closes that
gap — session logs and workspace accounting survive archiving, so an archived
session can always be reopened from here.
Install
From GitHub (recommended):
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:hashdiana/dsh-archived-sessions
From a local checkout:
npx -p @deepseek-ai/dsh dsh plugin --profile web add <path-to-this-repo>
Restart the target profile afterwards. The plugin is a pure client plugin: an
empty host half plus a browser half registering one settings.section entry.
(lib/ build artifacts are committed, so Git installs never build.)
Develop
pnpm install
pnpm typecheck # tsc -b
pnpm build # tsc -b && tsdown → lib/index.js (host) + lib/client.js (browser)
pnpm test # vitest run --pool=threads
- The client bundle is emitted as
window.__ModuleLoader__.load({id, factory})by tsdown; CSS Modules go through lightningcss hashing plus<style data-plugin>injection. - After changing sources, run
pnpm buildand commitlib/(Git installs use the committed artifacts; they do not build).
Architecture
- Seam:
settings.section(list slot; typed bydsh-client-ui-settings, declared at runtime by ui-settings-general), entryid=archived-sessions,order=100, thunkedlabel: () => t('nav')— the shell re-resolves it on every locale revision, so language switches apply automatically. - Data:
ctx.workspaces.list(WorkspaceListState.archivedSessionIds, in archive order) andctx.sessions.list(SessionListState.byIdfor titles, timestamps, running state), passed into the component through the register inject factory and subscribed viauseSyncExternalStore. - Behavior: clicking a row calls
ctx.sessions.open(id)plus the section owner'sclose(); archived sessions stay in the session list store, so they open directly.
Verification matrix
pnpm typecheck/pnpm build/pnpm test- Fresh scratch profile:
dsh plugin --profile <scratch> add github:hashdiana/dsh-archived-sessions→dsh --profile <scratch> --dump-configmust show thedsh-archived-sessionslayer - GUI: open Settings in a web profile → the nav shows Archived sessions → archive a session and it appears in the list → click to reopen
License
MIT
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.