DeepSeek Harness Hub
← 返回列表

RaberShef/dsh-pin-session

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

一个客户端 DeepSeek Harness Web 插件,用于让重要会话保持可见:

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/27 · 已提供中文文档

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

综合分
27.6
GitHub 分
27.6
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add RaberShef/dsh-pin-session
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-runtime
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-pin-session

DSH plugin

一个客户端 DeepSeek Harness Web 插件,用于让重要会话保持可见:

- Pin session 将会话放入侧边栏顶部一个专用的 Pinned 分组中。
- Mark unread 恢复原生的绿色完成圆点,即使该会话已经被打开过。
- Mark read 移除插件所拥有的未读标记。
- 状态持久化在浏览器的配置文件本地存储中,并且在每台机器/浏览器配置文件上相互独立。
- 置顶/未读操作可从会话现有的三点菜单中使用。

该插件刻意不修改 DSH 会话日志或宿主数据库。它是一个可逆的浏览器端注释层:卸载它后,所有会话及其日志都保持原样。

要求

- 带有标准 @deepseek-ai/dsh-client-ui-sidebar 和 @deepseek-ai/dsh-client-ui-workspace 包的 DSH Web。
- 较新的 DSH 0.1.x Web 配置文件。该插件面向公开的侧边栏/工作区插槽契约,并在挂载前检查运行时形态。

安装

发布后从 npm 安装:

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

直接从 GitHub 仓库安装:

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

用于本地开发:

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

安装后,如果配置文件不会热重载,请重启 dsh web,然后刷新浏览器页面。

使用

1. 将鼠标悬停在左侧边栏中的某个会话上,然后点击其三点操作按钮。
2. 选择 Pin session 将其移动到顶部的 Pinned。
3. 选择 Mark unread 以恢复绿色圆点。打开会话不会清除这个显式标记;完成后选择 Mark read。
4. 使用 Unpin session 将其返回到正常的 DSH 会话列表。

置顶会话在 Pinned 分组下方保留其正常的工作区/会话列表行为。在搜索结果中,插件不会改动 DSH 的搜索排序;当会话在正常侧边栏列表中可见时,操作仍然可用。

持久化与可移植性

注释存储在 localStorage 中命名空间键 dsh-pin-session.v1 下。它们可随浏览器配置文件的本地存储数据一起移植,但有意不写入 DSH 宿主,以便该包在多机器使用中保持安全,并且不需要服务端 schema。

兼容性与回退行为
该插件使用受支持的 shell.overlay 插槽和全局 useSessions 钩子。它仅观察原生工作区浏览器,以添加会话标注和菜单操作,因此 DSH 继续拥有工作区/会话控件、搜索、重命名、复刻、归档、拖拽排序和目录选择器组合。客户端会立即加载,以便观察原生菜单的打开;它从 DSH 的实时会话快照中解析被点击的行,并短暂重试挂载 portal,因为原生菜单是在 portal 中渲染的。如果预期的运行时结构或覆盖层位置不可用,它会拒绝挂载,而不是用损坏的界面替换侧边栏。

如果 DSH 版本更改了 shell.overlay 契约或原生会话行的无障碍标记,则可能需要兼容性更新。在共享部署中,插件的版本应被固定,以便应用升级和插件升级可以一起测试。

会话识别

原生会话行不携带稳定的 id 属性,因此插件按以下顺序将点击的行解析为其运行时会话:来自先前扫描的缓存 id、DSH 如果将来提供的话语义化的 data-session-id 风格属性,以及——作为主要可靠路径——从该行的 React fiber 读取的精确 id(该行由会话项组件渲染,其 props 携带会话记录;DSH 自身用于打开/重命名/复刻/归档的也是同一个 id)。带工作区分组消歧的标题匹配仅作为最后手段的兜底保留,因此具有相同或前缀重叠标题的会话仍能正确解析。如果某一行确实无法映射到会话,其原生菜单将保持不变,跟踪会确定性地终止——插件绝不会标注错误的会话。一个已知限制:DSH 空白的“新会话”占位行完全不渲染三点操作按钮,因此在它们成为真实会话之前,无法被固定或标记为未读。

开发

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

该包提交了生成的 lib/ 浏览器和宿主产物,因此无需 TypeScript/esbuild 工具链即可安装。构建脚本仅使用 Node.js,并生成一个小的 ModuleLoader 客户端包装器。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群