DSH Chat Privacy Blur:Web 对话显示层隐私遮罩

前言

在 DeepSeek Harness(DSH)里用 Web 界面跑对话时,提问和回答会整屏铺在界面上。工位旁边有人、共享屏幕或录屏时,这些内容很容易被旁人扫到。关掉窗口或换应用能躲一时,但日常开发又需要界面一直开着。

下面介绍的是客户端插件 dsh-chat-privacy-blur(仓库 outmanwt/dsh-chat-privacy-blur):在对话列表里用 CSS 模糊提问与回答行,只有鼠标悬停或键盘聚焦到某一行时才显示该行原文;离开窗口时还会临时「上锁」,避免失焦后某条仍露着。它不改动消息正文在 DOM 里的内容,也不联网。

这是什么

DSH Chat Privacy Blur 由维护者 outmanwt 发布,分类为客户端,许可证 MIT。插件通过 DSH 的客户端模块加载器注入 Web GUI,在输入框下方(conversation.composer.dock)增加一个模式切换控件,并用样式表控制哪些对话行被画成模糊。

一句话:给 DSH Web 对话加一层显示层隐私遮挡,适合开放办公、共享屏幕和录屏场景;不是访问控制,文字仍可选中、复制或被辅助技术读取。

核心功能

三种模式

输入框下方按钮在三种模式间循环,选择写入浏览器 localStorage,键名为 dsh-chat-privacy-blur:mode;删除该键后恢复默认「悬停显示」。

模式 行为
关闭 · Off 不遮罩,与未装插件时一致
悬停显示 · Hover to reveal(默认) 全部行模糊;悬停或 Tab 聚焦到某行才显示该行;窗口失焦时见下文「失焦上锁」
始终模糊 · Always blurred 全部行保持模糊,指针停在上面也不显示

失焦上锁

悬停和键盘聚焦在窗口失去焦点后仍可能让某行保持可读。因此在窗口失焦、页面被隐藏(例如 Alt+Tab、切应用、标签页不可见)时,遮罩会临时按「始终模糊」绘制,控件 tooltip 会说明已上锁;回到窗口后恢复你选的模式。若当前模式是「关闭」,不会被强行打开遮罩。

模糊范围

插件根据宿主已发布的对话行属性选择要遮罩的行:

行属性 内容
data-chat-flow-kind="user" 用户提问
data-chat-flow-kind="assistant-step" 助手回答(含折叠成小卡的最终回答)
data-chat-flow-kind="steering" 回合进行中插入的补充输入

不遮挡:工具调用卡片、思考过程外层、侧边栏会话列表、输入框、/goal 输入条与轮次预览。

若宿主日后改了这些属性名,插件会退化为不模糊任何行,而不是破坏页面。

其它行为

  • 只改变「画出来」的像素;样式表随控件挂载与卸载,不留全局残留。
  • 跟随宿主主题令牌(--dsw-alias-*)与界面语言,支持浅色/深色。
  • 模糊半径默认 6px;可通过 CSS 自定义属性 --dsh-chat-blur 调整,例如主题层写入:
:root { --dsh-chat-blur: 10px; }
  • 数据与隐私:不发起网络请求、无分析、不访问凭据、不写宿主会话状态;模式仅存页面 localStorage。

安装与启用

插件以 GitHub Release 上的固定包名 dsh-chat-privacy-blur.tgz 分发,未发布到 npm。安装后按宿主提示刷新或重启,输入框下方才会出现模式按钮。

在 DSH 里对 AI 说:

安装插件 https://github.com/outmanwt/dsh-chat-privacy-blur/releases/latest/download/dsh-chat-privacy-blur.tgz

或调用插件管理工具:

{
  "action": "install_bundle",
  "target": "https://github.com/outmanwt/dsh-chat-privacy-blur/releases/latest/download/dsh-chat-privacy-blur.tgz"
}

CLI 自行管理的 profile:

dsh plugin --profile YOUR_PROFILE add https://github.com/outmanwt/dsh-chat-privacy-blur/releases/latest/download/dsh-chat-privacy-blur.tgz

桌面版应通过正在使用的应用的插件管理器安装到当前 profile,不要另建无关的 web profile。

兼容说明:在 DSH 0.2.1-rc.4(桌面版 Web GUI)上开发;依赖客户端模块加载器、conversation.composer.dock、locale 词条注册及上述对话行属性。其它版本未验证;最坏情况是遮罩失效,不影响页面功能。

典型用法

  1. 按上一节任一方式安装 bundle,刷新或重启 DSH Web 界面。
  2. 在输入框下方找到模式按钮,在「关闭 / 悬停显示 / 始终模糊」间切换;默认「悬停显示」。
  3. 日常录屏或共享屏幕时保持「悬停显示」或「始终模糊」;需要长时间阅读某条时,将指针停在该行或 Tab 聚焦到该行。
  4. 临时切到其它应用前无需手动关遮罩:失焦后会自动全屏模糊,回到窗口再继续用你保存的模式。
  5. 需要更强模糊时,在主题或自定义 CSS 中设置 --dsh-chat-blur(默认 6px)。

适用场景与注意

适合:开放工位、演示/录屏时降低对话内容被旁观的概率;希望快速切换「全显 / 悬停才显 / 全糊」且按浏览器记住偏好。

务必了解:

  • 插件在当前 DSH 进程与 Web 前端里运行;安装前建议阅读仓库源码与 MIT 许可证,确认符合你的安全与合规要求。
  • 遮挡仅是视觉层;DOM 中的文本仍在,复制、选中、屏幕阅读器等不受此插件限制,不能替代真正的保密或权限控制。
  • DSH 生态强调「一切皆插件」;社区目录站点(如 SkillHub 上的插件页)与 DeepSeek / 幻方无官方从属关系,本文安装方式以 GitHub README 为准。

结尾

dsh-chat-privacy-blur 用纯前端样式在 DSH Web 对话里默认模糊提问与回答,悬停或聚焦单行才显示原文,并在失焦时自动收紧遮罩,改动面小、可随浏览器记住模式。需要详情、Issue 与 Release 包时,见插件目录页与仓库:

  • 目录页:https://www.skillhub.cn/plugins/outmanwt/dsh-chat-privacy-blur
  • GitHub:https://github.com/outmanwt/dsh-chat-privacy-blur
羽毛球分组比赛记分
小程序二维码

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

小夜