前言¶
在 DeepSeek Harness 中进行多轮对话后,通常只能在本机查看记录。若需要将对话内容分享给他人独立阅读,或导出为网页与 Markdown,需要借助第三方服务或自行搭建中转。dsh-share 插件通过本机预览与脱敏,提供无需额外账号、支持 1/3/7/30 天有效期的分享链接,并支持撤销与导出。
是什么¶
dsh-share 是一个为 DeepSeek Harness 提供对话分享功能的社区插件,由 RestartBaiYe 维护。它把 DSH 对话转换为可独立阅读的网页,默认在本地进行内容检查与脱敏,再通过第三方服务(如 BrewPage)发布。发布成功后可关闭 DSH 或电脑,链接在有效期内可访问。插件不依赖外部注册,提供撤销与找回旧链接的能力,也支持导出为 HTML 或 Markdown。
核心功能¶
本机预览与编辑¶
打开对话后点击标题栏「分享」,插件会创建本机快照。此时不会上传内容,可在窗口中展开消息检查、修改标题、取消勾选消息或选择「仅最后一轮」。确认后点击「保存选择并预览」,生成新快照,原链接保持不变。
脱敏与隐私保护¶
默认开启路径大小写、分隔符与转义形式的处理,并脱敏可识别的访问令牌、私钥与密码字段。新快照使用 128 位随机标识。预览是最终检查依据,默认不包含思考、工具输出、系统提示或内部会话 ID。
多种有效期与托管通道¶
支持通过 BrewPage 选择 1/3/7/30 天有效期,无需额外账号。发布成功后显示服务端返回的链接和到期时间。插件提供多个托管通道:BrewPage(可设置有效期)、HTML Hoster(不保证自动到期)、自有中转(需自行部署)、临时公网隧道(仅 DSH 运行期间可用)。
撤销与找回旧链接¶
发布过程中撤销会等待上传结果,并阻止新的上传。未确认删除时保留记录和删除凭据。同一对话的历史快照集中显示在「分享记录」中,可打开、复制或撤销。再次发布同一有效快照会复用原链接,不延长时效;修改内容会生成另一份快照,旧链接仍在历史列表中。
导出与离线阅读¶
选好的内容可导出自包含 HTML 或 Markdown。HTML 内含搜索、目录和深色模式,可离线阅读。云端到期或撤销无法收回已下载的副本。
安装与启用¶
DSH Desktop 的「添加插件」中输入以下命令:
github:RestartBaiYe/dsh-share#v0.5.0
Web profile 使用:
dsh plugin --profile web add 'github:RestartBaiYe/dsh-share#v0.5.0'
也可使用 GitHub Releases 的 .tgz 安装包。插件没有运行时依赖、npm 安装脚本或构建步骤,需要 Node.js 22.13+。安装或升级后刷新页面,必要时重启 DSH。旧版本的快照和删除凭据可继续使用。
手动安装源码时运行:
node install.mjs --profile desktop
或双击 install-desktop.cmd;Web 使用 --profile web。
典型用法¶
- 打开对话,点击标题栏的「分享」。此时仅创建本机快照,不会上传。
- 展开消息检查内容。可以改标题、取消勾选,或点击「仅最后一轮」。
- 有修改时,点击「保存选择并预览」,确认新快照内容。
- 选择有效期,再点击「使用 BrewPage 限时分享」。成功后显示服务端返回的链接和到期时间。
- 需要找回或撤销旧链接时,在「分享记录」中选择对应快照。
配置¶
- id: dsh-share
config:
brewpageEnabled: true
htmlhosterEnabled: true
relayUrl: "" # 可选:自行部署的中转
publishProvider: auto # none 禁止所有上传
ttlDays: 0 # 本机快照与自有中转;不替代 BrewPage 的选择
publicTunnel: false
redactPaths: true
redactSecrets: true
includeReasoning: false
includeTools: false
maxMessages: 1000 # 取最近的消息;预览会提示截断
brewpageEnabled: false 可单独关闭 BrewPage。ttlDays > 0 时禁用 HTML Hoster,因为其没有可验证的自动到期保证。仅设置必要选项即可;界面的管理路径固定为 /share。
隐私与恢复¶
- 对话必须主动发布才会交给所选第三方;这不属于端到端加密分享。不要用公开链接传递未经允许公开的内容。
- 删除凭据保存在
$DSH_HOME/shares/index.json与pending-publications/中,不出现在公开页面、预览 API 或列表响应里。请保留该目录,不要上传到仓库。 - 索引或恢复日志损坏时,插件会停止写入,避免覆盖原记录;请先备份并修复存储。远端删除失败时可以稍后重试。旧 Gist / Neocities / 不支持自动撤销的记录不会因删除失败而被清空。
- 管理接口受宿主校验保护;没有宿主校验服务时,仅接受本机来源和同源请求。令牌只发送到对应服务的管理接口。
- 同一个分享目录应由一个 DSH 进程管理;同进程的存储实例会串行写入索引。
适用场景与注意¶
适合需要在本地检查内容后再公开分享 DSH 对话的用户。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。cloud/ 与 relay/ 是可选自部署示例,不是 BrewPage 的依赖。中转验证使用 DSH_SHARE_RELAY_URL 环境变量。兼容性基于当前宿主服务接口与本机 Desktop profile 验证,未声称覆盖每个 DSH 版本。
验证¶
npm test
npm run test:cloud
npm run verify:package
# 显式公网验证,仅使用合成文字,并在结束时撤销
node smoke-cloud.mjs --provider brewpage --ttl-days 1
生态背景¶
DSH 理念是「一切皆插件」;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
总结¶
dsh-share 提供从本机预览、内容编辑、脱敏处理到多渠道分享、撤销与导出的完整流程,适合需要在公开链接前确认内容的场景。插件无需额外注册,支持多种有效期与托管方式,适合需要长期保存或临时分享对话的开发者与用户。
- 插件目录页:https://www.skillhub.cn/plugins/RestartBaiYe/dsh-share
- GitHub 仓库:https://github.com/RestartBaiYe/dsh-share