DSH Plugin: UI Session Pin
August 22, 2026 · View on GitHub
English | 中文
Important
This plugin does not run on a stock harness. It injects sessionPins, a
service no released DeepSeek Harness provides, so an unpatched install leaves
the entry pending forever and the web UI fails to load with
Failed to load plugins.
Applying patches/harness-session-pin.patch to a
dsh-v0.1.1-rc.2 checkout is a prerequisite, not an optional extra. The pin
control lives on each sidebar session row and pinning changes session
ordering; neither is reachable from any extension point the harness exposes
today. Why, and when this ends.
Provides a global session pinning feature for the DeepSeek Harness web interface, pinning important conversations to a dedicated top section of the sidebar for instant access across all workspaces.
Target Audience and Use Cases
Designed for users managing multiple projects with numerous sessions who want to keep ongoing goals, key references, or daily conversations easily accessible at the top of the sidebar.
Key Features
- Cross-Workspace Persistence: Pinned sessions stay in a dedicated section above all workspace folders, remaining reachable when switching projects.
- Codex-Style Interaction: Click "Pin / Unpin" directly from any session menu; newly pinned sessions automatically stay at the top.
- Archive Lifecycle Integration: Retains pin status when sessions are archived, automatically restoring pin placement upon unarchiving.
- Lightweight Local Storage: Stores only session IDs in
$DSH_HOME/settings.yamlunderui-session-pin.pinnedSessionIds, updated automatically without manual editing. - Clean Unload: Removing the plugin restores every session to its ordinary position without modifying transcript logs or workspace records.
Installation and Quick Start
Install a reviewed revision into your Web profile. The repository tracks prebuilt lib/ artifacts, so Git installation requires no local build step:
dsh plugin --profile web add github:OpenSaozi/dsh-session-pin#<commit-sha>
After installation, refresh the page and hover over any conversation in the left sidebar to access the "Pin Session" menu action.
Compatibility
This plugin requires a DeepSeek Harness version whose @deepseek-ai/dsh-client-ui-workspace package exposes the ctx.sessionPins provider registry.
Storage and Privacy
The host settings provider persists only an ordered list of session IDs. The plugin stores no prompt text, model response, credential, workspace path, or provider request.
Model Experience
Request Context and Condition
What the model sees
Nothing. The only persisted field is pinnedSessionIds, and request assembly never reads it; this package adds no prompt, message, tool schema, or provider request field.
Token effect
Zero direct tokens.
KV Cache effect
None; pin and unpin operations do not issue or alter model requests.
Known Limitations and Deferred Work
- Host-owned settings exposure is required — a deployment that does not expose
ui-session-pinthrough its settings API shows no pin controls rather than storing a second browser-local copy. - No manual ordering inside the pinned section — pinning moves a Session to the top; drag ordering remains limited to ordinary Workspace and flat-list rows.