DSH HUB
首页插件商店插件包社区排行榜资源发布指南
插件源码
返回插件目录

hashdiana /

hashdiana/dsh-archived-sessions

已验证

这个插件还没有填写简介。

★ 0 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
查看 GitHub
README来源: main@1a2b9dba

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
  • Install
  • Develop
  • Architecture
  • Verification matrix
  • License

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-sessions → dsh --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

—/ 5

暂无评分

已验证 DSH bundle

Commit 1a2b9dba8d01

社区评论

还没有评论,来写第一条。

DSH HUB

社区维护的 DSH 插件索引。不是 GitHub 或 DeepSeek AI 的官方产品。

社区资源API关于