DeepSeek Harness 会话上下文菜单插件

前言

在管理多个会话时,频繁切换固定状态或标记阅读进度往往依赖原生操作,不够直观。dsh-session-context-menu 插件通过扩展 DeepSeek Harness 的会话行注册表和配件槽位,提供类似 Codex 的生命周期安全会话上下文操作。它不修补安装的包,不检查 React Fiber,也不查询私有 DOM。

核心功能

该插件在会话行上下文菜单中提供以下操作:

  1. 固定与取消固定:保持固定行在现有相对顺序内领先。
  2. 标记已读/未读:带有可访问行指示器的状态标记。
  3. 工作区目录:使用 DSH 原生路径打开器显示工作区目录。
  4. 复制信息:复制工作区路径、会话 ID 或浏览器深度链接。
  5. 打开链接:在新浏览器窗口中打开深度链接。
  6. 集成操作:在同一个菜单中使用 DSH 内置的“重命名”、“Fork”和“归档”操作。

使用方法

通过以下方式打开共享操作模型:
* 会话行上的省略号按钮。
* 原生右键点击。
* Shift + F10。
* 菜单键。

深度链接使用 ?session=<id>,并且仅当会话列表包含该 ID 时才会被解析。

安装

在兼容的上游版本发布后,通过以下命令安装:

dsh plugin --profile web add github:Harzva/dsh-session-context-menu

对于隔离的本地开发:

DSH_HOME=/path/to/throwaway-dsh-home dsh plugin --profile web add /absolute/path/to/dsh-session-context-menu
DSH_HOME=/path/to/throwaway-dsh-home dsh web

移除插件以清理 Host 路由、注册表操作、配件组件和深度链接监听器:

dsh plugin --profile web remove dsh-session-context-menu

持久化与隐私

Pin/read 状态存储在 $DSH_HOME/storages/dsh-session-context-menu/state.json(或配置中提供的 storeRoot)中的仅布尔值的 JSON 文件中。文件创建权限为 0600。会话记录、提示、工作区路径、凭据和剪贴板内容永不持久化。主机在 /dsh-session-context-menu/state 处暴露一个同源无存储 JSON 路由。

适用场景与注意

  • 兼容性要求:需要 DSH 提供的 ctx.sessionRows 和 sidebar.workspaces.session.accessory 支持。插件有意在缺少必要服务时拒绝加载,避免静默回退到私有 UI 附件。
  • 权限与安全:插件以当前 DSH 进程权限运行,不进行 DOM 检查或私有 API 调用。Pin/read 状态仅保存布尔值,不会保存会话记录、提示、路径、凭据或剪贴板内容。
  • 许可证:项目使用 MIT 许可证,安装前建议检查源码以确保符合当前环境需求。

总结

该插件通过将标准会话操作集成到上下文菜单中,减少了管理聊天历史所需的点击次数,同时保持了安全性和生命周期安全。获取更多详情或提交问题,请访问 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜