DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Pin Sessions — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
P

@opendsh/dsh-plugin-pin-sessions

Plugin Pin Sessions

DSH web plugin: pin sessions to the top of the sidebar for quick access to recurring workflows

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:fallow5/dsh-pin-sessions#ac7553b297b88f2889165c39a7a93660fbb845fa
READMECompatibilityVersions

Compatibility and provenance

Plugin Pin Sessions is published as @opendsh/dsh-plugin-pin-sessions and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/31/2026

Versions

0.1.0stable
8/31/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
9/4/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio and its curated slide templates as a native DeepSeek Harness conversation view.

README

DSH Pin-Sessions Plugin

A DeepSeek Harness (DSH) web plugin that lets users pin sessions to a dedicated sidebar section for quick access to recurring workflows, and provides an archive-sessions settings panel with batch delete, restore, workspace grouping, and pagination.

Features

  • Pin / Unpin sessions — Pin sessions to the top of the sidebar, hidden from their workspace browser
  • Archive panel — Settings panel for managing archived sessions with batch delete, per-row restore, workspace grouping, and 20-per-page pagination
  • Context menu integration — Right-click pin/unpin via @baihejiangnan/dsh-session-context-menu
  • Pin = Archive — Pinning archives the session from the workspace browser; unpinning restores it

Architecture

Standard DSH plugin split: host half (Cordis loader entry + TYPERT manifest) + client half (window.__ModuleLoader__.load wrapper).

Host Side

FileResponsibility
src/index.tsOpens pin_sessions storage domain, creates PinsStore + PinsRuntime
src/runtime.tsPinsRuntime extends TypertRemoteService — 8 TYPERT methods
src/typert.tsHost TYPERT manifest (must match client)
src/store.tsDurable pin store over the pin_sessions domain
src/domain.tspin_sessions domain declaration
src/schemas.tsZod schemas for pin records

TYPERT Methods

list, pin, unpin, toggle, isPinned, deleteSessions, listArchived, unarchiveSession

Key Design: Pin = Archive

Pinning calls workspaceRegistry.archiveSession(sessionId) to hide the session from the workspace browser. Unpinning calls unarchiveSession() which removes the ID from archivedSessionIds. This triggers domain/changed → host/archived-sessions-changed frame → client auto-updates.

Client Side

FileResponsibility
src/client/index.tsRegisters locale, mounts TYPERT_REMOTE, context-menu extensions, portals PinnedSection + ArchiveSection
src/client/PinPanel.tsxPinned section portaled to top of sidebar
src/client/ArchivePanel.tsxSettings panel with workspace grouping, pagination, batch delete, restore
src/client/styles.tsCSS mirroring native DSH classes
src/client/locales.tsi18n strings
src/client/remote.tsTYPERT remote interface
src/client/typert-remote.tsClient TYPERT manifest (must match host)

Build & Install

# Build
cd dsh-pin-sessions
pnpm install
pnpm run build        # tsc + tsdown + wrap-client.mjs

# Typecheck
pnpm run typecheck

# Install into DSH
dsh plugin --profile web add /path/to/dsh-pin-sessions
  • Host-side changes require DSH server restart
  • Client-side changes require browser refresh

Key Service Access Patterns

ServiceUsage
ctx.get("workspaceRegistry")archiveSession(), archivedSessionIds, list(), enqueueOperation(), setState()
ctx.get("sessionPersistence")list() returns headers with {id, cwd?, origin?}
ctx.get("sessions")get(id) returns live session or undefined
ctx.get("agents")get(id) returns agent with cancel() and whenIdle()
ctx.get("storageDomain")get("session_projcache") for projection cache
GlobalStandardPropsAuto-injects useSessions and useWorkspaces hooks

Context Menu Integration

@baihejiangnan/dsh-session-context-menu exposes a global registry at Symbol.for("dsh.session-context-menu.extensions") with .register(entry). The plugin may load after us, so we poll every 500ms until the registry appears.

Entries: {id, label, order?, visible?, run}. The context menu's isAction() checks for "会话"+"操作" or "session"+"action" in aria-label; titleFrom() extracts the quoted title.

License

MIT