Splits the DeepSeek Harness sidebar into independently scrollable Pinned and Recents panes, and hides pinned sessions from Recents.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:robbywang25/dsh-codex-pins
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 中文
Codex-style pinned sessions for DeepSeek Harness. The sidebar splits into two panes — Pinned and Recents — each with its own heading and scroll. Pinned chats do not repeat in Recents.
┌─ sidebar ─────────────────────┐
│ New session │
│ │
│ Pinned │
│ 📌 Fix login flow 3h │
│ 📌 Weekly review 2d │
│ ─────────────────────────── │
│ Recents │
│ other sessions… │
└───────────────────────────────┘
Install
dsh plugin --profile web add github:robbyisrobby/dsh-codex-pins
dsh plugin --profile desktop add github:robbyisrobby/dsh-codex-pins
Restart DeepSeek Harness (or DSH Desktop), then:
- Hover a session row and click the pin.
- Or open a session and click the pin in the conversation header.
- The sidebar shows Pinned on top and Recents below. Click a pinned row to open it; click the pin again to move it back to Recents.
Why this plugin
Community pin plugins either reorder rows inside a workspace or hide the list behind a footer panel. Codex (and ChatGPT) keep Pinned and Recents as two separate panes. That is the whole product.
Behaviour
- Newest pin is listed first.
- Pins persist in
localStorage(dsh-codex-pins.v1), per browser origin. - If you previously used
dsh-session-pin, existing local pins are imported once. - At most 50 pins. Stale ids are dropped when the session catalog is ready.
- UI-only: no model traffic, no host HTTP routes, no session-log reads, no install scripts.
Uninstall
dsh plugin --profile desktop remove dsh-codex-pins
dsh plugin --profile web remove dsh-codex-pins
Plugin markets
dsh-market and other storefronts that follow awesome-dsh-plugin pick this repository up after it is listed there. The install spec is github:robbyisrobby/dsh-codex-pins.
License
MIT
Links
More in this category
ranxianglei/billion-context★ 4316
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
Minglink/dsh-infinite-gen-4★ 3977
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
liangmianya/dsh-synapse★ 676
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
MichengAI/dsh-archive-manager★ 304
Adds an archived-sessions page in Settings to search, restore, and delete archived DeepSeek Harness sessions by workspace.
Nwflower/dsh-chat-import★ 287
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
SiriLee/dsh-rewind★ 242
Conversation rewind: one click back to any earlier user message, in the same window — no new branch, no leftover copy; the target message is refilled into the composer, with optional workspace-file restore — the full Claude Code /rewind semantics.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.