DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Session Deck — DeepSeek Harness 插件(DSH Plugin)
← Plugins
S

dsh-session-deck

Session Deck

Codex 风格的 DeepSeek Harness 侧边栏:用于固定项目和对话的置顶栏,可折叠的置顶/项目/组件分区,显示最近使用对话的铃铛活动视图(以最后一条回答作为预览),以及每个项目的表情图标。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Timebro9999/dsh-session-deck#0bef2066e048bc3117dc7121c153b54e871e78ee
README兼容性版本

兼容性与来源证明

Session Deck 以 dsh-session-deck 发布,当前版本为 0.2.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/28

版本

0.2.2stable
2026/9/28
0.2.1stable
2026/9/27
0.1.0stable
2026/9/27

相关插件

正在加载相关插件…

最新版
0.2.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/1
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Ab Chartdsh-ab-chart带有绘制其调用的浏览器卡片的图表渲染工具,封装在一个可发布的插件包中Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

English | 简体中文

dsh-session-deck

Manage your whole workspace, not just one conversation. A Codex-style sidebar for DeepSeek Harness: pin projects and conversations to one band, switch the sidebar to a "recently used" activity view, give every project its own icon, and collapse the sections you are not using.

Why

DSH's sidebar is organized per project, and that is fine until you work across several of them:

  • the built-in pin only reorders a conversation inside its own project — there is no place for "these are the threads I am actually working on right now";
  • the projects you use most sit wherever they happened to be created, and every project looks the same (one folder glyph);
  • finding "what did I touch yesterday" means scrolling a tree;
  • the bottom of the column fills up with widgets you cannot get out of the way.

This plugin adds the four things you reach for: a pinned band, a recent view, an icon per project, and collapsible sections.

What you get

Pinned band (置顶)Pin a conversation or a whole project into one band above every project. A pinned project unfolds in place and lists its own conversations — like the project row below, but reachable without scrolling. Click to open, ✕ to unpin, the header collapses.
Activity view (🔔)The last icon of the workspace row switches the sidebar to recently used: day groups (today / yesterday / weekday / date), two lines per conversation (title + project, then the beginning of the last answer), a running indicator, and click-through that keeps the view open so you can walk through several threads in a row.
Project iconsReplace a project's folder icon with any emoji — on the sidebar's project rows and in the directory picker. A Codex-style picker: recently used, category tabs, an icon grid, and reset.
One state everywhereRename a conversation, finish a turn or change a project icon and every view follows: the pinned band and the activity view resolve each row against the live stores, and a working conversation shows the shell's own running ring.
Collapsible sections置顶, 项目 (the shipped project list) and 组件 (the sidebar's bottom widgets) each collapse from their own header and remember their state.

Sidebar anatomy

┌ 工作区                        🔍  ⌘  📁+  🔔   ← the bell opens the activity view
│ ▾ 置顶                                  3       ← pinned band (conversations + projects)
│   ▸ 🌈 deepseek调试                     项目
│     🚀 新出了个GLM5.3 flashx…           会话
│     🌈 我没发现现在有什么这个左侧…      会话
│   ────────────────────────────────────
│ ▾ 项目                                  9       ← the shipped project list, collapsible
│   📁 pdf
│   🚀 前沿方向研究
│       新出了个GLM5.3 flashx…            1天
└
  ⋯ widgets ⋯
  ▸ 组件                                          ← the bottom widgets, collapsible

Usage

  1. Pin — hover a conversation row and press ☆ in its action strip, or hover a project row and press the ☆ left of the pencil. The pinned band appears on top; its header collapses it and ✕ removes a single pin.
  2. Recent — press the bell at the end of the workspace row. Pick a conversation; the view stays open, so you can pick several. Press the bell again (or ✕) to return to the project list.
  3. Icons — hover a project row and press the pencil (or right-click the row) to open the picker. Pick an emoji, paste one from the system emoji panel (⌃⌘Space), or reset to the folder glyph. The same picker works on the folder rows inside the directory picker.
  4. Collapse — click any section header (置顶 / 项目 / 组件). States are remembered per DSH home.

Install

# from npm — also available in the in-app "add plugin" dialog by name
dsh plugin --profile desktop add dsh-session-deck

# or straight from this repository (no npm)
dsh plugin --profile desktop add github:Timebro9999/dsh-session-deck

Restart the desktop app (or reload the window) once; after that the plugin loads with the profile. The same spec works in the in-app plugin pages (they accept a GitHub target), and #v0.1.1 pins a release instead of tracking main:

dsh plugin --profile desktop add github:Timebro9999/dsh-session-deck#v0.1.1

Listing in the DSH plugin market comes from the curated index awesome-dsh-plugin (the market reads its plugins.json). The submission is one file — data/plugins/Timebro9999__dsh-session-deck.yml, kept in this repo under marketplace/ — and scripts/open-marketplace-pr.sh opens the PR.

Requirements

  • Platform: anywhere DSH's web client runs — the macOS desktop app, Windows and Linux builds alike: the plugin is a browser-side DOM overlay with no native code and no OS-specific API (the only platform-aware bit is the emoji-panel shortcut printed in the icon picker).

  • DSH 0.1.7-rc.2 on the desktop profile. The plugin reads the shipped sidebar's DOM and its client services, so there is no slot or service contract to depend on — but a future shell redesign can move the anchors it uses.

  • No runtime dependencies and no build step: lib/client.js is hand-written and shipped as-is.

  • The interface follows DSH's own language (the locale service first, then the rendered UI, then the browser), so its copy is Chinese or English like the rest of the app.

How it works

The plugin registers no slot and requires no client service (inject: []). It mounts a DOM overlay: it finds the shipped rows ([data-row-key^="workspace:"], session:), the section header, the list scroller and the sidebar foot area; adds controls styled from the row's own buttons; and paints the states the shell does not offer. Anything it needs beyond the DOM comes from client services it reads on demand (ctx.get('sessions' | 'workspaces' | 'uiWorkspace' | 'locale')).

Every node it inserts is marked data-dsh-session-deck, so a later mount reclaims its predecessor's leftovers — the shell does not unload an old client instance when it reloads a bundle. The working notebook of that exploration (anchors, mirrored CSS, traps, and the remote probe that reports page state through a slot id) lives in docs/implementation.md (Chinese).

Storage

Everything is browser localStorage, per DSH home:

KeyContents
dsh-session-deck:v1{ emoji, recent, pinnedSessions, pinnedProjects, expandedProjects, pinnedCollapsed, workspaceCollapsed, widgetsCollapsed }
dsh-session-deck:previews:v3The answer preview of each conversation, keyed by its updatedAt stamp

Project icons are stored under two keys on purpose — the workspace id when a surface knows it, and name:<basename> when only the folder name exists — and either resolves everywhere.

Development

npm test        # 148 + 7 assertions, no dependencies

The suite boots the real lib/client.js under a fake module loader with a fake DOM, a fake client context and fake session records, then drives every surface: registrations, painted icons, triggers, the picker, the pinned band, the sections, the activity view (including which part of a message becomes the preview), locale handling, and unload/reload safety. CI runs it on Node 22 and 24.

Uninstall

dsh plugin --profile desktop remove dsh-session-deck

There is no host-side state: remove it, reload, and the shell is exactly as it was.

License

MIT