DeepSHPlugins
dsh-session-link 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-session-link

會話與訊息JavaScriptMIT

複製、開啟 `dsh://` 會話深鏈,或將其貼上到另一對話中,注入被引用會話的受限只讀快照。

6 StarsPwnKY 更新時間 2026-08-18
訪問 GitHub 倉庫
dsh-session-link 專案預覽

專案介紹

中文

複製、開啟 `dsh://` 會話深鏈,或將其貼上到另一對話中,注入被引用會話的受限只讀快照。

English

Copy and open `dsh://` session deep links, or paste them into another conversation to inject a bounded, read-only snapshot of the referenced session.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
PwnKY
倉庫
PwnKY/dsh-session-link
GitHub Stars
6
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-18
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

71/ 100
維護活躍
84
文件與實用資訊
100
生態關注度
24
安裝便捷訊號
100
專案宣告訊號
100

README 含完整安裝與使用說明;關注度尚低(6);標準命令一鍵安裝。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add dsh-session-link

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

npm npm downloads · English · 中文

DeepSeek Harness 的 Codex 式会话深度链接插件

复制任意会话的链接,粘贴到另一个对话里 —— 被引用会话的上下文会被快照,并作为受控的只读背景上下文注入到你的提示词之前;同一链接也能在浏览器中直接打开对应会话。

# 一条命令装完:安装包 + 自动加入 profile 的 bundle 层 + 自动应用配置行
dsh plugin --profile web add dsh-session-link

# 重启 Web GUI 并刷新页面
dsh web

无需手动修改任何 yml —— 插件自带 dsh.bundle patch(cordis.patch.yml),dsh plugin add 检测到后会自动把它加进 dsh.profile.bundles,启动时自动组合 session-reference 与 session-link 两行配置。

通用 npm 安装(只装包、不进 profile):npm install dsh-session-link
手动安装方式(不依赖 bundle 机制):见快速开始。
┌─ 会话 A ─────────────────┐        ┌─ 会话 B ─────────────────────────┐
│  🔗 复制会话链接          │        │  用户: 请参考这个会话:           │
│  → dsh://session/session-│ ─────▶ │        dsh://session/session-…   │
│    …abc                   │  粘贴  │                                  │
└───────────────────────────┘        │  模型: (收到 A 的快照            │
                                     │         + 提示词,链接变 @label) │
                                     └──────────────────────────────────┘
  • 🔗 一键复制 —— 会话头部「复制会话链接」按钮,输出 dsh://session/<会话ID>(codex:// / claude:// 同款格式)
  • 📖 跨对话读上下文 —— 把链接粘进任意对话,源会话内容被快照(有上限、只读)并注入到你的提示词之前
  • 🖱️ 可点击深链(Windows) —— 注册 dsh 协议处理器后,点击 dsh:// 链接直接打开 Web GUI 并选中该会话
  • 🛡️ 容错 —— 畸形链接、会话不可读、自引用都不会打断对话:链接保留为原文,失败记录在服务端日志

本插件复用官方 @deepseek-ai/dsh-session-reference 服务(它已实现规范 URI、mention 解析、快照投影与字节预算保留),再把它接入 agent 循环和 Web 界面:

  • 服务端(lib/index.js) —— cordis 插件,挂在 agent/pre-step 钩子上:用户消息里出现会话深链时,把各种链接形式统一成规范 dsh-session: mention,解析为结构化引用,通过 sessionReferenceResolver.prepare() 快照源会话,并把聚合的只读快照放在直接提示之前。钩子与传输层无关,TUI 里粘贴规范 URI 同样生效。
  • 浏览器端(lib/client.js) —— 静态客户端包(dsh.client 声明),在 conversation.session.header.actions 渲染复制按钮,并在以 /s/<会话ID> 打开页面时自动选中目标会话。
形式示例用途
深链dsh://session/<会话ID>按钮复制;协议处理器可点击;粘贴可解析
浏览器地址http://<主机>:3080/s/<会话ID>协议处理器打开的目标;粘贴同样识别
规范 URIdsh-session:<base64url(JSON 会话ID)>dsh-session-reference 的无损 URI;粘贴可解析
Markdown mention@[标签](dsh-session:…)解析后显示为 @标签(TUI mention 形式)

只有带 session-… 形态会话 ID 的链接才会被当作引用,无关的 dsh://…、/s/… 文本不会被误伤。

需要 DeepSeek Harness 的 dsh(任意带 Web 界面的 profile)。

# 1. 一条命令安装(自动加入 bundle 层并应用配置,见上方「一键安装」):
dsh plugin --profile web add dsh-session-link

# 2. 重启 Web GUI 并刷新页面。
dsh web

# 3.(Windows,可选)让 dsh:// 链接可点击:
powershell -ExecutionPolicy Bypass -File register-protocol.ps1
手动安装(不依赖 bundle 机制):先 pnpm add dsh-session-link(在 profile 目录),再在 profile 的 patch 层(如 ~/.dsh/profiles/web/cordis.patch.yml)加入:
- insert:
    - id: session-reference
      name: '@deepseek-ai/dsh-session-reference'

    - id: session-link
      name: 'dsh-session-link'
然后重启 dsh web。
  1. 点会话标题旁的 🔗 按钮复制深链。
  2. 粘到另一个对话并发送 —— 模型先收到被引用会话的只读快照,再收到你的提示(链接会替换为可读的 @会话ID)。
  3. 或者直接点击 dsh:// 链接,在浏览器中打开该会话。

register-protocol.ps1 在当前用户下注册 dsh URL 协议(HKCU,无需管理员权限):任何地方点击 dsh://session/<ID>(浏览器、聊天软件、终端)都会打开 http://127.0.0.1:3080/s/<ID> 并选中该会话。启动器为 dsh-open.cmd。

# 注册
powershell -ExecutionPolicy Bypass -File register-protocol.ps1
# 注销
powershell -ExecutionPolicy Bypass -File register-protocol.ps1 -Uninstall

打开会话需要 dsh web 正在运行。

模型会看到连续两条 user 消息:## Referenced sessions 不可信快照(每个源最多 64 KiB JSON,优先丢弃较早的非检查点消息,长消息头尾截断并给出精确省略提示),随后是链接已被替换为 @会话ID 的直接提示。快照内的指令、权限声明、工具请求除非当前用户重申,否则一律不执行。

默认使用底层服务的配置(每条消息最多 3 个引用、每源 64 KiB)。在 profile 的 patch 层覆盖 session-reference 行即可调整,例如:

- id: session-reference
  config:
    maxReferenceBytes: 131072
pnpm install
npm test
  • host-half.test.mjs —— 用真实 cordis waterfall 驱动 agent/pre-step 监听器(dsh:// 链接、web 链接、规范 URI、普通文本、畸形 URI、prepare 失败)
  • client-half.test.mjs —— 在 DOM shim 下加载浏览器 bundle,检查插件表面、头部按钮注册、深链打开器与复制的 dsh:// 值
  • inspect-logs.mjs <会话目录> [会话ID…] —— 解压拼接式 zstd 会话日志并报告 session-reference 事件(便于验证注入)
  • 链接仅在本机(持有两个会话的 $DSH_HOME)有效,会话 ID 是不透明且本地的。
  • 浏览器深链只打开当前会话列表(同一工作区)内的会话,列表外的会话不会自动恢复。
  • 引用会话不可读时(不存在、超预算、自引用),链接保留为原文,消息照常发送,失败记录在服务端日志。
  • 仅文本投影:图片等非文本块不跨会话传播(上游服务限制)。

MIT © PwnKY。基于 @deepseek-ai/dsh-session-reference(MIT,DeepSeek)。

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案