Zum Hauptinhalt springen
G

dsh-mcloud

giyn-s/dsh-mcloud

China Mobile Cloud Drive (139) inside DSH: browse, upload, download and move files, plus 12 model tools. Its /api/dsh-mcloud routes (sign-in, list, download, move, delete) are mounted with webServer.register without DSH Host/Origin admission, so a web page open in your browser can act on the signed-in cloud drive through them.

Installation

dsh plugin --profile web add github:giyn-s/dsh-mcloud

README

dsh-mcloud

把 中国移动云盘(139) 接进 DeepSeek Harness:在会话页顶部加一个「移动云盘」页签, 可以直接浏览、上传、下载、转移网盘文件;同时给模型提供一整套 mcloud_* 工具。

📖 常见问题 FAQ · 📝 更新日志 · 🤝 贡献指南

npm license

快速开始

环境要求

项目要求
DeepSeek Harness>= 0.2.1-rc.5,< 0.3.0
Node.js>= 22
系统Windows

五步用起来

  1. 装插件(见下方「安装」)
  2. 重启 DSH —— 插件在 profile 启动时加载
  3. 会话页顶部标签栏点「移动云盘」
  4. 用扫码或账号密码登录(全新安装一定是未登录状态)
  5. 看到容量和文件列表 → 可以用了

之后可以直接让 AI 操作网盘,也可以右键菜单自己动手。

安装

最省事:在 DSH 的「添加插件」里输入包名:

dsh-mcloud

或者用命令行:

dsh plugin --profile desktop add dsh-mcloud

也可以从 GitHub 装:

dsh plugin --profile desktop add github:GIYN-S/dsh-mcloud

或下载 Release 里的 tgz:

dsh plugin --profile desktop add https://github.com/GIYN-S/dsh-mcloud/releases/download/v0.2.0/dsh-mcloud-0.2.0.tgz

本地开发用 link:

dsh plugin --profile desktop add "link:/path/to/dsh-mcloud"

装完重启 DSH 才生效。

登录

打开面板会看到登录页,两种方式任选。

扫码登录(推荐)

点「开始扫码登录」→ 弹出一个浏览器窗口 → 手机扫码 → 完成。

  • 不需要输密码
  • 凭据会自动续期,日常不需要反复扫码
  • 弹出的是独立 profile 的浏览器,不影响你日常用的 Edge

账号密码登录

在「账号密码」页签填手机号/邮箱和密码。

  • 密码默认只用一次,登录成功后立刻丢弃
  • 勾选「记住密码」才会保存,用 Windows DPAPI 加密存在本机

退出登录

面板里点「退出登录」,会清掉本机凭据,回到未登录状态。

凭据存在哪

%USERPROFILE%\.dsh-mcloud\authorization.dpapi —— 当前用户的 DPAPI 加密, 换用户或换机器都解不开。想换位置在配置里写 credentialDir。

不要把凭据贴到 Issue、聊天记录或截图里。

功能

面板内操作

操作说明
浏览目录点击文件夹进入,顶部面包屑可回退
容量显示总量 / 已用 / 剩余
上传右键 → 上传文件 / 上传文件夹 / 拖动上传
下载右键 → 下载到本地 / 打开下载直链 / 下载整个文件夹
转移右键 → 转移到…(选择目标文件夹)
复制路径右键 → 复制路径
重命名 / 删除右键菜单

模型工具

工具用途
mcloud_quota查询容量
mcloud_list列目录
mcloud_search按文件名搜索
mcloud_upload上传本地文件(按路径,直接从磁盘读)
mcloud_upload_folder上传整个本地文件夹
mcloud_download下载到本地
mcloud_download_folder递归下载整个文件夹
mcloud_download_link获取下载直链
mcloud_mkdir新建文件夹
mcloud_rename重命名
mcloud_move转移
mcloud_remove删除(进回收站)

使用提醒

  • 大文件或整个目录:让模型调用 mcloud_upload,走本机路径直传,效率最高。 面板里的上传需要经过浏览器中转一次。
  • 下载整个文件夹不是压缩包:移动云盘没有打包下载接口,插件会递归遍历后逐个下载。
  • 删除进回收站,可以在网盘里恢复。
  • 写入类操作会弹审批,这是 DSH 的安全机制,不是出错。
  • 一次只显示 10 项,点「加载更多」翻页;看过的目录会被缓存,再次进入很快。
  • 如果长时间不用,登录凭据可能过期,届时重新登录即可。

配置

可选,在 profile 的 cordis.patch.yml 里:

- id: dsh-mcloud
  name: 'dsh-mcloud'
  config:
    credentialDir: '/custom/credential/dir'   # 凭据目录
    enableWrites: false                        # 设为 false 则关闭写入审批闸(不建议)

文件结构

lib/index.js      宿主端:网盘客户端、工具、HTTP 路由、凭据存储
lib/login.js      账号密码登录
lib/scan-login.js 扫码登录
lib/transfer.js   上传下载的传输层
lib/client.js     会话页面板(登录页、文件浏览、右键菜单、传输进度)
cordis.patch.yml  bundle patch
locale/*.json     面板标题与描述

免责声明

使用本项目即表示你已阅读、理解并同意以下全部内容。如果你不同意,请不要安装或使用。

1. 与官方无关

本项目是一个第三方社区项目,由个人开发者在业余时间编写,不是中国移动、中国移动云盘(139) 或其任何关联公司的官方产品。我们与中国移动:

  • 没有任何隶属、合作、赞助、背书或授权关系;
  • 没有获得中国移动的任何许可、技术支持或数据访问权限;
  • 不代表中国移动的立场,也不承担其任何义务。

「中国移动」「移动云盘」「139」等名称与标识是其各自权利人的商标,本项目仅作描述性使用 (说明本工具连接的是哪个服务),不主张任何商标权利。

2. 技术实现方式

本项目通过非官方接口与移动云盘通信。这些接口并非公开 API,而是社区通过观察网页端 行为整理得出(参考了 OpenList 与 cloud_driver_sdk 的开源实现)。

这意味着:

  • 接口没有任何稳定性承诺,中国移动可以随时修改、限制或关闭,且无需通知;
  • 接口变更可能导致本插件完全失效,且不保证能及时修复;
  • 部分行为(如分页上限、请求频率限制)是观察到的现象,不保证在所有账号上一致。

3. 账号与合规风险

你需要自行确认使用本插件不违反你与中国移动之间的服务协议。

需要注意的现实风险包括但不限于:

  • 服务协议通常禁止使用非官方客户端或自动化工具访问服务;
  • 高频或异常调用可能触发风控,导致账号被限制、临时封禁或功能受限;
  • 中国移动可能随时调整政策,使此类第三方工具不再可用。

因使用本插件导致的任何账号处置、服务中断、数据丢失或协议违约后果,由使用者自行承担。

4. 数据与隐私

  • 你的凭据只存在你自己的机器上,使用 Windows DPAPI(当前用户级)加密, 不会上传到任何第三方服务器,本项目的开发者也无法获取。
  • 插件只与 *.yun.139.com、*.10086.cn(登录)及文件 CDN 通信, 不含任何统计、埋点或遥测代码。
  • 账号在界面上以脱敏形式显示(只露前 3 位与末 2 位)。
  • ⚠️ 但请注意:本项目对凭据的保管仅做到「本机 DPAPI 加密」这一层。 如果你的电脑本身被入侵、被他人物理接触、或登录了不受信任的账号环境, 凭据仍可能被读取。请自行评估你所在环境的安全水平。

5. 数据完整性

本插件会真实地修改你的网盘内容(上传、移动、重命名、删除)。

  • 删除操作走的是回收站,通常可以恢复,但不保证(例如回收站被清空、或服务端策略变化);
  • 上传、移动等操作可能因网络中断、接口异常而产生不完整或重复的文件;
  • 请勿把本插件用于你无法承受丢失的数据。重要数据请自行另行备份。

6. 无担保

本项目按「现状」(AS IS)提供,不附带任何明示或暗示的担保,包括但不限于 适销性、特定用途适用性、以及不侵权的担保。

作者不对任何直接、间接、偶然、特殊、惩罚性或后果性损害承担责任, 包括但不限于数据丢失、利润损失、业务中断、账号损失—— 无论这些损害是如何产生的、基于何种责任理论,也无论作者是否已被告知此类损害的可能性。

7. 关于 Issue 与支持

  • 本项目不提供任何形式的商业支持或 SLA;
  • 因接口变更导致的问题,作者没有义务修复;
  • 提交 Issue 时绝不要附带凭据(Authorization / cookie / token)或截图中的敏感信息。

许可

本项目以 MIT 许可 发布。你可以在许可条款范围内自由使用、修改与分发, 但必须保留原版权声明与许可声明。MIT 许可同样包含上述免责条款。

详见 LICENSE。

Ähnliche Plugins