dsh-lan-share:DeepSeek Harness 局域网文字与文件共享

前言

在多台机器上跑 DeepSeek Harness 时,常见做法是 U 盘、网盘或临时 HTTP 服务传文件和一段文字。这些方式要么多一步拷贝,要么要自己搭服务、记地址。DSH 社区插件 dsh-lan-share(维护者 Endless-zby,分类:联网工具)把「同网段发现设备、定向收发文字与文件、接收策略与进度」收进 Harness 右侧栏的 局域网服务 标签,也可通过对话里的模型工具完成同样操作。

下面介绍它做什么、如何安装,以及日常使用里需要注意的点。

这是什么

dsh-lan-share 是面向 DeepSeek Harness 的局域网共享插件:在同一本地网络中发现同样安装了该插件的设备,向选定设备发送文字或文件,并按策略接收对方发来的内容。简介中的 accept-or-ask policy 指总开关、未知设备默认策略,以及按设备覆盖的接收方式。

插件以 MIT 许可证发布,源码与说明见 GitHub 仓库;社区目录页为 SkillHub 插件页。DSH 生态强调「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。

核心功能

以下能力均来自插件 README 与 package.json 描述,安装后可在侧栏 局域网服务 中使用,或通过七个模型工具由智能体调用:lan_share_devices、lan_share_send_text、lan_share_send_file、lan_share_inbox、lan_share_respond、lan_share_rename_device、lan_share_settings。

发现与设备管理

  • 通过 UDP 组播与广播发现同网段设备;若网络过滤组播/广播,可 手动添加设备 IP。
  • 可重命名:本机在局域网中的显示名,或对他人设备的本地别名。
  • 可见性:可完全隐藏本机,或要求对方持有 共享口令 才能建立连接。

发送与接收

  • 向选定设备发送文字或文件;发文件时需填写 本机绝对路径(面板无法从浏览器文件选择器得到真实路径)。
  • 接收文字与文件;文件保存位置可在 当前工作区目录 与 指定目录 之间选择,面板顶部会显示解析后的绝对路径。
  • 接收策略:全部默认接收 总开关、未知设备回退策略、按设备单独设置;另有体积上限与扩展名过滤,决定哪些文件可跳过确认。
  • 到达通知:标签未读数、需决策时的全页提示、带本地路径的接收历史。
  • 每次收发显示进度(字节、速率、预计剩余时间、取消);中断后可从接收端已保留的字节处 续传。

网络与面板

  • 默认 UDP 48900(发现,组播 239.255.77.88 及广播)、TCP 48901(传输,绑定 0.0.0.0);可在 composition patch 中改 discoveryPort、transferPort 等。
  • 传输平面独立于 DSH Web 服务器(对端经 LAN 访问);侧栏面板走同源 API,由宿主信任边界保护。

安全相关(README 摘要)

  • 信标仅用于 advertisement,不授权数据传输;数据请求需握手 token;设置 共享口令 后,改口令会使已有 token 失效。
  • 发送方显示名取自接收方本地设备表;文件名消毒并校验写入路径;默认拒绝多种可执行扩展名。

安装与启用

DSH Desktop 使用 web profile;安装后须重启应用,宿主侧仅在启动时加载。

在已配置 dsh 命令行的环境中:

dsh plugin --profile web add dsh-lan-share

若 dsh 不在 PATH,可用 Desktop 内置二进制(将 <INSTALL_DIR> 换成实际安装目录):

$app = "<INSTALL_DIR>\DSH Desktop\resources\app"
node "$app\node_modules\@deepseek-ai\dsh\lib\bin.js" plugin --profile web add dsh-lan-share

验证是否装好

  1. profiles\web\package.json 的 dependencies 与 dsh.profile.bundles 中均包含 dsh-lan-share。
  2. profiles\web\node_modules\dsh-lan-share\lib\ 存在 index.js 与 client.js。
  3. 重启后,对话右侧「添加标签」引导中出现 局域网服务,对话标题栏出现对应按钮。

另一台机器需 各自安装一次,并非装一台全网可用。除上述 registry 安装外,README 还说明可用 npm pack 得到 .tgz 在目标机离线添加,或 npm publish 后各机仍用同一条 dsh plugin --profile web add dsh-lan-share。目标机可用 curl 探测 http://127.0.0.1:48901/lan-share/v1/info 等(端口以实际日志或面板为准)。

package.json 要求 dsh >= 0.1.5,Node ^22.19.0 || >= 24.0.0;当前包版本为 0.1.1。

典型用法

先做发现,再发送或处理收件箱。

  1. 打开侧栏添加标签中的 局域网服务,或在对话中让智能体调用上述工具。
  2. 同一局域网 下,一般数秒内可互相发现;若不能,用 手动添加设备 填入对方 IP(访客 Wi‑Fi、管控交换机常丢弃组播)。
  3. 首次在可信网络:共享口令 留空,或两台机器设相同口令;设口令后,不知道口令的设备无法连接。
  4. 发送:选设备后点 发文字 或 发文件;文件路径必须是本机绝对路径。
  5. 接收:默认会在写入前询问;开启 全部默认接收 可跳过;可为单台设备单独选手动或自动。

未完成的大文件暂存于 <保存目录>/.dsh-lan-share-incoming,完成后移入目标目录。

适用场景与注意

适合:同一办公室或家庭 LAN 内,多台 DSH Desktop / dsh web 之间传日志片段、配置、小中型文件,且希望留在 Harness 界面内完成。

务必注意:

  • 插件以 当前 dsh 进程权限 运行,可读写你配置的保存目录及你指定的发送路径;安装前应阅读源码与 MIT 许可证,自行评估是否用于生产或敏感网络。
  • 传输监听在 0.0.0.0,需在防火墙中放行相应 TCP/UDP 端口(默认可在 patch 中查看)。
  • 安装或更新 lib/client.js 后必须 重启 Harness;面板路由注册可能略晚于端口监听,瞬时 404 不等于未安装。
  • 发文件依赖本机路径,远程桌面或权限受限目录可能无法发送。

结尾

dsh-lan-share 把局域网内的设备发现、定向文字/文件传输、接收策略与进度展示集成进 DeepSeek Harness,减少在 Harness 与外部传文件工具之间来回切换。

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

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

Xiaoye