
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-archived-sessions
Advanced tools
DSH web plugin: manage archived sessions from the Settings page — unarchive to restore a session, or permanently delete it (log and related attachments) behind a confirmation dialog.
English | 中文
A DeepSeek Harness (dsh) web plugin that adds an Archived Sessions section to the Settings page for managing archived conversations.
Official source: this repository is the official source of the npm package
dsh-archived-sessions—dsh plugin add dsh-archived-sessionsinstalls exactly this code.

~/.dsh/sessions/...) plus the attachment objects its log references that no other remaining session still uses, then drops the session from workspace accounting. A confirmation dialog must be acknowledged first.@deepseek-ai/dsh-client-store snapshot store and the remote.session / workspaces client services, which replaced the former dsh-client-runtime / connection.api surfaces.workspaceRegistry.archivedSessionIds / unarchiveSession).unarchiveSession, whose contract is exactly what a delete needs: it drops the id from archivedSessionIds, touches no accounting slot, runs no session-existence check, and no-ops on an id that is not archived. Workspace sessionIds need no write either — that getter is already filtered by the canonical-cwd header index, so removing the log drops the session from the workspace projection by itself.partial result rather than thrown.Install from npm:
dsh plugin add dsh-archived-sessions
The plugin is then mounted automatically (its dsh.bundle patch joins the profile's bundle stack). Refresh the page (hard refresh) to load the client half, then open Settings → Archived Sessions.
Alternatively, install from source:
git clone https://github.com/Jxy-hy/dsh-archived-sessions.git
cd dsh-archived-sessions
pnpm install
pnpm run build
dsh plugin --profile web add link:./dsh-archived-sessions
Then mount it by appending to ~/.dsh/profiles/web/cordis.patch.yml (or via your preferred bundle mechanism):
- insert:
- id: dsh-archived-sessions
name: 'dsh-archived-sessions'
The host half hot-mounts through the profile's config HMR; refresh the page (hard refresh) to load the client half. Open Settings → Archived Sessions.
src/index.ts) — registers GET/POST /__dsh-archived-sessions/{list,unarchive,delete} on the shared web server. The delete flow: dispose the live session first if it is open (so the in-memory store drops it and persistence retires its state) → wait for the write-behind flush to materialize the log → remove the session log directory → parse attachment references (sha256:) from the log → delete only the objects no other remaining session references → clear the archive set via workspaceRegistry.unarchiveSession.src/client/) — registers the settings.section entry "Archived Sessions"; the list merges the remote.session listing (including the projection title) with the plugin's host surface (creation time, log size); both mutations go through the host surface because the core RPC map offers neither operation. After a successful delete the client re-pulls the session-list baseline: deleting a cold (persisted, not-open) session emits no session/disposed, so the sidebar would otherwise keep the stale row under Ungrouped until the next reconnect.There is no test runner in this repo; both checks are standalone Node scripts over the built artifacts, so run pnpm run build first.
pnpm run verify
verify:delete — points DSH_HOME at a throwaway tree and drives lib/index.js over a real HTTP socket: list reports rows with log facts; delete removes the log directory, GCs only the attachment objects no surviving session references (a shared object must survive), clears the archive set, and reports a complete result; a core lacking unarchiveSession degrades to partial instead of throwing.verify:client — executes lib/client.js against stubs for the shell's frozen module table, then mounts and renders the section. This catches the failure mode that once shipped a blank settings page: a named import the shell does not export (e.g. the removed IconTrashOutline16) resolves to undefined and only throws at render time, inside the slot's error boundary, so the page renders empty instead of failing loudly. Every name the bundle imports must be a real export of the shell's primitives.dsh-plugin topic so it can be discovered.FAQs
DSH web plugin: manage archived sessions from the Settings page — unarchive to restore a session, or permanently delete it (log and related attachments) behind a confirmation dialog.
The npm package dsh-archived-sessions receives a total of 39 weekly downloads. As such, dsh-archived-sessions popularity was classified as not popular.
We found that dsh-archived-sessions demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.