前言¶
在 DeepSeek Harness(DSH)日常开发里,手机拍的照片、录屏、文档经常要落到本机项目目录或下载文件夹。数据线、网盘或即时通讯「文件助手」都能做,但要么要插线、要么经过第三方云端。Shuttle 是 DSH 社区插件,在 Host 上展示二维码,手机与电脑在同一 WiFi 下扫码即可上传,数据不经过中转服务器,手机端无需安装 App。下面按定位、功能、安装与使用说明。
这是什么¶
Shuttle(文件穿梭机)由维护者 MC0571 发布,归类为客户端插件(dsh.client,Web 平台)。它在 DSH 侧边栏提供「文件穿梭机」入口:电脑生成局域网访问地址与二维码,手机用系统相机(或浏览器)打开上传页,把照片、视频和任意文件传到本机指定目录,并在 Web UI 里浏览、搜索和管理已接收文件。当前 package.json 版本为 0.5.1,许可证 MIT。
核心功能¶
依据仓库 README,已核实能力如下。
扫码与上传
- 手机与电脑连同一 WiFi,扫二维码进入上传页;提供「相册」「文件」入口(相册含系统相册与拍摄);微信内置浏览器也可用,但 README 对微信内能力有单独限制说明。
- 按文件逐个上传,实时进度;失败可重新选择该文件重传。
电脑端管理
- 「最近」按日期分组展示各子目录下的接收文件;「浏览」以文件管理器风格操作保存目录(面包屑、新建/重命名/删除文件与空目录、在系统文件管理器中打开)。
- 文件名搜索;类型、目录、时间筛选;宫格/列表与多种排序。
网络与安全相关
- 多网卡时可手动选择与手机同一 WiFi 的地址,二维码随之更新。
- 一键轮换一次性 token,旧二维码立即失效。
- 二维码在 Host 本地生成,不依赖外部服务;128-bit 一次性 token、仅监听局域网;管理 API 挂在 DSH Web 服务器(默认回环),不暴露给局域网。
当前不提供:电脑到手机的反向传输、剪贴板同步(README「已知限制」)。
安装与启用¶
从 GitHub 安装(默认分支 main):
plugin_manager install_bundle target=github:MC0571/Shuttle
本地目录安装(开发调试):
plugin_manager install_bundle target=<本仓库绝对路径>
安装后侧边栏会出现「文件穿梭机」。首次使用需允许系统防火墙「接受传入连接」。插件随 DSH 进程运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证。
典型用法¶
- 打开侧边栏「文件穿梭机」。
- 手机用系统相机扫描页面二维码(微信内置浏览器可打开,但相册/相机相关能力受限时 README 建议用系统相机扫码)。
- 在上传页选择照片/文件,可选保存子目录,等待上传完成。
- 回到电脑页面查看文件,可打开所在文件夹、重命名或删除。
接收目录默认在系统下载目录下的 FileShuttle,文件默认落在其 默认/ 子目录;界面修改会持久化到 $DSH_HOME/shuttle/settings.json。
配置要点¶
cordis.patch.yml 的 config 支持:
| 字段 | 含义 |
|---|---|
saveDir |
接收目录;默认 <系统下载目录>/FileShuttle。 |
运行期的保存目录、网络接口由界面写入同一设置文件;二维码 token 在每次 DSH 启动或手动重置时轮换。
局域网侧 HTTP 接口(端口随机)包括上传页、子目录列表、上传与健康检查等;同源管理 API 注册在 DSH Web 的 /shuttle 前缀,供本机 Web UI 调用(详见 README「接口」小节)。
适用场景与注意¶
适合:本机开发、素材整理、想在可信家庭/办公室 WiFi 里快速把手机文件落到电脑、且不希望走云端的用户。
使用限制(README 原文要点)
- iOS 网页上传可能将 HEIC 转为 JPEG,Live Photo 仅保留静帧。
- 微信扫一扫对局域网 IP + 非标准端口可能被拦截或缓存;大视频上传时 iOS 切后台会挂起页面。
- 微信内为稳定性仅保留「文件」入口;相册路径可能被系统回收导致页面重置。
- 删除目录仅支持空目录。
- 同一 WiFi 内他人理论上可嗅探风险时,请在可信网络使用。
延伸阅读¶
DSH 生态奉行「一切皆插件」;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。Shuttle 把「手机 → 本机」收敛为扫码与侧边栏一条路径,适合作为局域网文件投递的轻量客户端插件。