DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Pin Session — DeepSeek Harness 插件(DSH Plugin)
← Plugins
P

dsh-pin-session

Pin Session

将 DSH 会话固定在侧边栏顶部,并将其标记为未读以便稍后查看。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:RaberShef/dsh-pin-session#c10eff74be81bdc2fe67eedc4560db52d1387629
README兼容性版本

兼容性与来源证明

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

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

版本

0.1.0stable
2026/8/26

相关插件

正在加载相关插件…

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

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

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

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

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

相关插件

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

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。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 包。Agent Teams@nanmicoder/dsh-agent-teamsAgentTeams for DeepSeek Harness:通过自然语言驱动多智能体团队协作(队长、成员、具有依赖关系的任务、消息传递),并在 Web GUI 中提供树状监视器

README

dsh-pin-session

A client-side DeepSeek Harness Web plugin for keeping important sessions visible:

  • Pin session puts a session in a dedicated Pinned group at the top of the sidebar.
  • Mark unread restores the native green completion dot, even after the session has already been opened.
  • Mark read removes the plugin-owned unread marker.
  • State is persisted in the browser's profile-local storage and is independent on each machine/browser profile.
  • Pin/unread actions are available from the session's existing three-dot menu.

The plugin deliberately does not modify DSH session logs or the host database. It is a reversible browser-side annotation layer: uninstalling it leaves all sessions and their logs untouched.

Requirements

  • DSH Web with the standard @deepseek-ai/dsh-client-ui-sidebar and @deepseek-ai/dsh-client-ui-workspace packages.
  • A recent DSH 0.1.x Web profile. The plugin targets the public sidebar/workspace slot contracts and checks the runtime shape before mounting.

Install

Install from npm when published:

dsh plugin --profile web add dsh-pin-session

Install directly from a GitHub repository:

dsh plugin --profile web add github:RaberShef/dsh-pin-session

For local development:

dsh plugin --profile web add file:/absolute/path/to/dsh-pin-session

After installing, restart dsh web if the profile does not hot-reload, then refresh the browser page.

Use

  1. Hover a session in the left sidebar and click its three-dot actions button.
  2. Choose Pin session to move it to Pinned at the top.
  3. Choose Mark unread to restore the green dot. Opening the session does not erase this explicit marker; choose Mark read when finished.
  4. Use Unpin session to return it to the normal DSH session list.

Pinned sessions retain their normal workspace/session list behavior below the Pinned group. In search results the plugin leaves DSH's search ordering untouched; actions remain available when the session is visible in the normal sidebar list.

Persistence and portability

Annotations are stored under the namespaced key dsh-pin-session.v1 in localStorage. They are portable with the browser profile's local-storage data, but are intentionally not written to the DSH host so that the package remains safe for multi-machine use and does not require a server-side schema.

Compatibility and fallback behavior

The plugin uses the supported shell.overlay slot and the global useSessions hook. It observes the stock workspace browser only to add session annotations and menu actions, so DSH continues to own workspace/session controls, search, rename, fork, archive, drag ordering, and directory picker composition. The client is loaded immediately so it can observe native menu openings; it resolves the clicked row from DSH's live session snapshot and retries portal mounting briefly because the stock menu is rendered in a portal. If the expected runtime shape or overlay seat is unavailable, it declines to mount rather than replacing the sidebar with a broken surface.

A DSH release that changes the shell.overlay contract or native session-row accessibility markup may require a compatibility update. The plugin's version should be pinned in shared deployments so an app upgrade and plugin upgrade can be tested together.

Session identification

Stock session rows carry no stable id attribute, so the plugin resolves a clicked row to its runtime session in this order: a cached id from a previous scan, a semantic data-session-id-style attribute if DSH ever ships one, and — as the primary reliable path — the exact id read from the row's React fiber (the row is rendered by the session item component whose props carry the session record; the same id DSH itself uses for open/rename/fork/archive). Title matching with workspace-group disambiguation remains only as a last-resort fallback, so sessions with identical or prefix-overlapping titles still resolve correctly. If a row genuinely cannot be mapped to a session, its native menu is left untouched and tracking terminates deterministically — the plugin never annotates the wrong session. One known limitation: DSH's blank "new session" placeholder rows render no three-dot action button at all, so they cannot be pinned or marked unread until they become real sessions.

Development

npm install
npm run check
npm pack --dry-run

The package commits the generated lib/ browser and host artifacts so it can be installed without a TypeScript/esbuild toolchain. The build script uses only Node.js and emits a small ModuleLoader client wrapper.

License

MIT