DeepSeek Harness Hub
← 返回列表

hakimedes/dsh-easyremote

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

把电脑上的 AI 工作流安全地带到 Android 手机

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/8 · 已提供中文文档

本地优先的 Android 远程工作区,一条命令即可完成 Cloudflare Tunnel 设置

综合分
30.4
GitHub 分
30.4
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add hakimedes/dsh-easyremote
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH EasyRemote

把电脑上的 AI 工作流安全地带到 Android 手机

Latest release
npm version
npm downloads
CI
License: MIT

Node.js
Android
Host platforms
Local Hub
GitHub stars

🚀 三步开始 · ⬇️ 下载 Android APK · 📖 部署指南 · 🛠️ 故障排查

🌐 中文 · English

DSH EasyRemote 是一套本机优先的 Android 远程工作台:Hub 和 Connector 运行在你自己的电脑上,手机通过 Cloudflare Tunnel 安全访问,无需开放路由器端口,也不需要把 Hub 部署到云服务器。

[!IMPORTANT]
DSH EasyRemote 是独立社区项目,与 DeepSeek 官方无隶属或背书关系。项目采用 MIT License,当前处于公开预览阶段。

你可以做什么

| 能力 | Mobile 体验 |
| --- | --- |
| 远程对话 | 查看最近会话和完整历史,创建会话,流式接收回复,处理运行状态与审批 |
| 模式与模型 | 新建会话时选择 Agent 模式;按当前 Node 能力切换模型与思考强度 |
| 文件与图片 | 拍照、选择图片或文件,分块上传;输入 @ 搜索并引用当前工作区文件 |
| 富内容与 GenUI | 安全渲染 Markdown、代码、表格、图片、表单、统计、基础图表及受限 dsh-ui 可视化 |
| 两种连接方式 | 无域名的临时 Quick Tunnel,或使用自有域名的 Named Tunnel 固定连接 |
| 本机优先 | Hub 只监听 127.0.0.1;不提供托管中继,不持久化完整聊天正文或上传文件字节 |

普通文件会保存到当前工作区的 .dsh-easyremote/uploads//;图片使用 DSH 原生持久附件。候选文件搜索只返回路径,不读取文件内容。更多边界见隐私模型与威胁模型。

三步开始

准备好以下环境:

- Node.js 22.19 或更新版本;
- 已安装并可启动的 DeepSeek Harness Web;
- Android 7.0 或更新版本手机。

1. 打开本机引导页

npx @hakimedes/dsh-easyremote@latest

命令不会执行 postinstall,引导页只监听 127.0.0.1,并使用随机会话令牌与 CSRF 防护。

2. 下载 APK 并选择连接方式

引导页会先展示 Community APK 下载二维码。也可以直接下载最新版 APK,安装完成后返回引导页继续配置连接。

然后选择:

- 快速启动:不需要账号或域名,自动启动临时 Cloudflare Quick Tunnel;
- 深度配置:使用自己的域名和 Cloudflare 账号,在本机创建稳定的 Named Tunnel。

3. 扫描互联二维码
Connector 与 Tunnel 就绪后,引导页才会展示第二个二维码——手机互联二维码。首次安装 Connector 后如页面提示,请重启一次 DSH Web,再用 APK 扫码连接。

后续需要重连时,在 DSH Web 的 Settings → Remote 生成或刷新一次性二维码。新二维码生成后,旧二维码立即失效。

[!TIP]
APK 下载二维码用于“安装应用”,互联二维码用于“绑定当前 Hub”,两者不是同一个二维码。

快速启动与深度配置

| | 快速启动 | 深度配置 |
| --- | --- | --- |
| Cloudflare 账号 | 不需要 | 需要 Free 账号 |
| 自有域名 | 不需要 | 需要可修改 Nameserver 的域名 |
| 公网地址 | 临时 *.trycloudflare.com,重启后变化 | 固定 HTTPS 域名 |
| 运行方式 | 当前终端前台管理 | 当前用户登录后自动启动 |
| 数据与身份 | 持久保留 | 与快速模式复用同一数据库、hubId 和 Node 身份 |
| 适合场景 | 首次体验、临时访问 | 日常稳定使用 |

快速模式关闭终端后会停止 Hub 与 Tunnel,但不会删除数据库、设备身份或手机缓存。深度配置只在本机完成 Cloudflare 浏览器授权,不读取 Cloudflare/注册商密码,不请求 sudo、管理员权限、SSH 或云服务器。

固定域名的 Nameserver 配置、Quick → Named 无损升级和自启说明见本机部署指南。

Android 下载

- 下载最新版 Community APK
- 下载 SHA-256 校验文件
- 查看全部 Releases 与变更记录

APK 不包含在 npm 包中;引导页从 GitHub Releases 提供下载二维码。Community APK 使用独立长期签名,可连接用户明确确认过的任意 HTTPS Hub。项目当前仅发布 Android 版本,暂无 iOS App Store 版本。

系统结构

Android Community APK
│ HTTPS / WSS
▼
Cloudflare Quick 或 Named Tunnel
│ 仅转发到 127.0.0.1
▼
本机 EasyRemote Hub ── WSS ── DSH Connector ── DeepSeek Harness

- Hub 不暴露局域网或公网监听端口;手机与 Connector 使用独立身份和令牌。
- Quick Tunnel 地址变化或升级到固定域名时,hubId、Node Secret 与 Install ID 保持不变。
- Hub 保存身份、会话索引、上传状态和最小幂等元数据,不保存完整聊天正文。
- 上传内容只在权限受限的临时 spool 中中转,Connector 接收后立即清理;普通文件最终由用户工作区管理。
- 复杂 GenUI 运行在禁用网络与文件访问的受限 WebView 中;原始 HTML、模型 JavaScript 和敏感表单字段均被拒绝。

管理命令

使用 npx 的用户无需全局安装,每次都可以执行最新版 CLI:

npx @hakimedes/dsh-easyremote@latest setup
npx @hakimedes/dsh-easyremote@latest quick
npx @hakimedes/dsh-easyremote@latest start
npx @hakimedes/dsh-easyremote@latest stop
npx @hakimedes/dsh-easyremote@latest status
npx @hakimedes/dsh-easyremote@latest doctor
npx @hakimedes/dsh-easyremote@latest backup
npx @hakimedes/dsh-easyremote@latest restore
npx @hakimedes/dsh-easyremote@latest upgrade
npx @hakimedes/dsh-easyremote@latest uninstall

无参数命令是智能入口:未配置或处于快速模式时打开本机引导/控制页;深度模式下确保服务运行并打开控制页。安装状态与本机数据默认位于 ~/.dsh-easyremote/。

常见问题

先运行:

npx @hakimedes/dsh-easyremote@latest status
npx @hakimedes/dsh-easyremote@latest doctor

| 现象 | 建议 |
| --- | --- |
| 引导页没有互联二维码 | 首次安装 Connector 后重启一次 DSH Web;页面会继续轮询配对状态 |
| DSH Web 显示 Hub unreachable | 确认本机 Hub 已启动,并用 doctor 检查 Connector 的 hubUrl |
| 手机二维码过期 | 在 Settings → Remote 生成新的互联二维码 |
| Quick Tunnel 无法建立 | 检查出站 HTTPS/QUIC 网络;详见 cloudflared 日志和故障排查文档 |
| 固定域名一直等待 NS | 检查注册商 NS 与残留 DNSSEC/DS;DNS 生效可能需要数小时 |

更多解决方案见故障排查。报告问题时,请勿公开 install.json、数据库、cert.pem、Tunnel 凭据、配对 Token 或包含 Token 的完整日志。

从源码开发

pnpm install --frozen-lockfile
pnpm test
pnpm typecheck
pnpm build
pnpm pack:community

工作区包含:
- apps/easyremote:npm CLI、引导页、Tunnel 管理、自启、诊断与备份恢复;
- apps/hub:本机 Fastify / SQLite Hub;
- apps/dsh-plugin:DSH Connector;
- apps/mobile:React Native / Expo Android 客户端;
- apps/fake-plugin:协议集成测试夹具。

贡献前请阅读 CONTRIBUTING.md;安全问题请按 SECURITY.md 私下报告。备份与恢复见 BACKUP-RESTORE.md。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群