dsh-codex-pin
Codex-style session pinning for the DeepSeek Harness Web sidebar: a durable pinned flag plus a Pinned section above every workspace, with zero order mutation. 会话置顶:标记而非位置,绝不改写会话顺序。 适合需要快速访问常用会话,同时保持原有列表顺序不乱的用户。
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jackovibe/dsh-codex-pinREADME
Read the full README ↗Usage
| Action | How |
|---|---|
| Pin / unpin a session | hover the row, click the pin control (📌 toggles) |
| Open a pinned session | click its row in the 已置顶 / Pinned section |
| Unpin from the section | click the filled pin on the section row |
| Rename / fork / archive / delete / copy title or id | right-click any session row for the row menu |
| Pin / rename / archive the current session | Ctrl+Alt+P / Alt+Ctrl+R / Ctrl+Shift+A |
Pinned and unpinned rows carry the same pair of controls — the pin (outlined
when unpinned, filled when pinned) and archive — and the rows inside the Pinned
section carry them too, so archiving stays available while a session is pinned.
The menu's red Delete session entry calls the archive manager's
workspaceRegistry.deleteSession behind a confirmation dialog; without that
plugin the entry reports why instead of failing silently.
Menu copy and tooltips follow the GUI language: the plugin registers zh/en
dictionaries through ctx.inject(['locale']), so a Chinese GUI shows
重命名 / 置顶聊天 / 归档会话 / 删除会话 and an English GUI shows
Rename / Pin chat / Archive session / Delete session — switching the language
re-labels a running page with no reload.
Ctrl+Shift+A asks for confirmation before archiving the current session (a
single global keystroke should not archive silently); the row menu's archive
entry is a deliberate click and archives directly. Right-clicking a session row opens
this plugin's menu — a Codex-style overlay. It only intercepts rows it can act
on; a row without a session identity keeps whatever context menu it had. The app's
own surfaces (multi-select, search, the settings pages) are untouched.
Configuration
| Key | Default | Meaning |
|---|---|---|
maxPins | 0 | Cap on pinned sessions; 0 = unlimited. Set it on the loader entry: |