DSH 插件 dsh-deeplink:从 URL 直接打开指定会话或工程

前言

DSH WebUI 默认会恢复最后一次会话。当你需要把某个具体对话或某个工程的最新对话通过链接打开时,手动查找会话会比较麻烦。dsh-deeplink 是一个 DSH WebUI 插件,通过 URL 查询参数直接打开指定项目对话,并让当前会话地址可以跟随会话变化。

这是什么

dsh-deeplink 的一句话定位是:用 ?session=<会话id>?workspace=<工程id> 直接打开指定项目对话。

仓库位于 https://github.com/qyw233/dsh-deeplink,许可证为 MIT,Copyright (c) 2026 DSH Community Contributors。它通过 dsh plugin 安装到 DSH profile 中,浏览器端处理 URL 参数和会话切换,node 端注册模型提示。README 称该插件无 cordis import、无 peerDependencies

核心功能

  • 从 URL 读取 ?session=<session-id>,直接打开对应会话。
  • 从 URL 读取 ?workspace=<workspace-id>,打开该工程的最新/空白会话。
  • 当同时提供 sessionworkspace 时,session 优先。
  • 目标会话/工程不存在,或处于 archived / hidden 状态时,静默回退到默认行为,即恢复最后一次会话。
  • 当前会话变化后,通过 history.replaceState 将地址栏改写为 ?session=<current-session-id>,不污染浏览器历史,不触发页面重载。
  • 提供两个独立设置开关:
  • dsh-deeplink.jump:深链跳转,默认开启。
  • dsh-deeplink.follow:地址栏跟随,默认开启。
    两个开关都持久化在 localStorage
  • node half 注册全局模型提示段落,让模型在回复中引用其他会话或工程时,可以附加深链;提示要求模型只输出真实存在的会话/工程 id,不编造 id。

安装与启用

1、使用官方 profile 安装:

dsh plugin --profile web add github:qyw233/dsh-deeplink

2、安装后重启 Web UI,并刷新浏览器页面。

3、插件会出现在 __DSH_BOOT__ boot graph 中。

4、进入设置中的插件配置,可按需切换两个开关:

  • 跳转到指定对话:对应 dsh-deeplink.jump。该开关在页面加载时读取一次,所以建议先开启,再打开深链。
  • 地址栏跟随:对应 dsh-deeplink.follow。该开关在每次同步时读取,可即时切换。

典型用法

打开指定会话时,在 WebUI URL 后追加 ?session=<session-id>

http://127.0.0.1:3080/?session=session-304ae36e-1e66-453a-a946-2b0a9a2b173d

打开指定工程的最新/空白会话时,追加 ?workspace=<workspace-id>

http://127.0.0.1:3080/?workspace=fc8b75ae-107c-4b6c-978c-276270b03b8b

会话 id 和工程 id 可以这样查找:

  • 会话 id:~/.dsh/sessions/--<project>--/<session-id>/ 下的目录名,或 ~/.dsh/storages/workspace.jsontables.workspaces[].sessionIds
  • 工程 id:~/.dsh/storages/workspace.jsontables.workspaces 的 key,即 UUID。

适用场景与注意

适合需要把 DSH WebUI 会话链接化、收藏、分享,或希望模型在回答中引用其他会话/工程时直接给出深链的 DSH 用户。

使用前注意:

  • 插件包含轻量 node half,会以当前 dsh 进程权限运行。安装前建议检查源码、许可证(MIT)和仓库内容。
  • browser half 依赖运行时提供的 sessions / workspaces services 及其 list snapshots;node half 依赖 systemPrompt / webServer services,资料称由 dsh-base 与 web compositions 提供。
  • 插件提示要求模型只输出真实存在的会话/工程 id,不编造 id。
  • browser half 的变更由 HMR(stat-poll,约 0.5s)拾取,刷新页面可见;node half 的变更需要重启 dsh web
  • 该插件无构建步骤,lib/ 已提交或可直接编写。

链接

  • GitHub:https://github.com/qyw233/dsh-deeplink
  • 社区目录页 URL 未出现在已核实资料中,本文不附链接。
羽毛球分组比赛记分
小程序二维码

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

小夜