편집자 노트

归档会话管理

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.

GitHub stars License: MIT DSH Plugin

🌐 中文 · 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 build and commit lib/ (Git installs use the committed artifacts; they do not build).

Architecture

  • Seam: settings.section (list slot; typed by dsh-client-ui-settings, declared at runtime by ui-settings-general), entry id=archived-sessions, order=100, thunked label: () => 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) and ctx.sessions.list (SessionListState.byId for titles, timestamps, running state), passed into the component through the register inject factory and subscribed via useSyncExternalStore.
  • Behavior: clicking a row calls ctx.sessions.open(id) plus the section owner's close(); 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-sessionsdsh --profile <scratch> --dump-config must show the dsh-archived-sessions layer
  • 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

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.