Blank-not-black/dsh-Remote

DSH Remote · 口袋里的 DSH 控制台 会话 · 审批 · 提问 · 文件传输,局域网 / Tailscale 直连 多服务器自动选优,聊天记录离线可看 带 Token 鉴权,数据只在你的设备之间流动 Sessions · approvals · questions · file transfer over LAN / Tailscale. Automatic fastest-server selection. Chat history available offline. Token-authenticated — your data flows only between your devices.

Bundle verified MIT JavaScript v0.5.8
Bundle verified

Listed

8

Remote

Bundle verified

Versionv0.5.8
LanguageJavaScript
LicenseMIT
View on GitHub

What it does

Mobile remote-control suite: bundle plugin with native sidebar entry and admin drawer, self-healing bearer-token gateway over LAN/Tailscale, Android app (sessions/approvals/questions/goals), /fs/* file transfer (Range resume, 2GB upload), latency-based multi-server auto-switch, offline chat cache.

Best for

  • Android users who need remote DSH sessions, approvals, questions, goals, and file transfer from a phone.
  • People operating one or more DSH servers over LAN or Tailscale who want latency-based automatic server selection.
  • Workflows that need resumable large-file transfer, offline conversation history, and token-authenticated remote access.

Not ideal for

  • iPhone or iPad users; the documented mobile application is Android.
  • Production use requiring a fully validated macOS gateway binary; the Apple Silicon build is explicitly a preview without real-device verification.
  • Workflows requiring exact background polling intervals on Android; Doze and vendor power management may delay or stop polling.

README

📱 DSH Remote

口袋里的 DSH 控制台 —— 手机远程会话 · 审批 · 提问 · 文件互传,局域网 / Tailscale 都能用

中文 · English

Awesome DSH Plugin npm npm Release Stars License Platform CI DSH Compat

躺床上也能批准 DSH 的工具调用、随时查看会话、把手机照片直接传进服务器——安卓 App(Capacitor 混合应用,含相机原生插件),不是 PWA 网页套壳。装 App 即用;Windows / Linux 单文件网关,无需 Node 环境。

插件 + 内置网关 + 手机 App 是一个整体:装插件时网关随插件分发、随 DSH 自动启停,抽屉里直接拿到令牌和主机地址,手机 App 填上即可远程操控 DSH。

📥 下载

平台 文件 说明
Android dsh-remote.apk 手机远程会话 / 审批 / 提问 / goal / 文件互传,支持扫码配对与 App 内更新
Windows x64 dsh-remote-win-x64.exe 单文件网关,双击运行,免 Node 环境
Linux x64 dsh-remote-linux-x64 单文件网关,chmod +x 后运行,免 Node 环境
macOS (Apple Silicon) dsh-remote-macos-arm64 预览版:CI 盲验、未真机验证,功能更新周期较长,见下方说明

⚔️ 原生 dsh web vs dsh-remote

能力 原生 dsh web dsh-remote
手机端 无(桌面 UI 不适配窄屏) 安卓 App + 窄屏 WebUI
访问方式 绑定 127.0.0.1 仅本机 扫码配对,局域网 / Tailscale / 公网均可
文件传输 无 2GB 断点续传 + SHA-256 校验
多服务器 单实例 多服务器测速切换
离线使用 依赖桌面在线 App 离线缓存
账号要求 — 免账号

🛡️ 质量保障

  • 自动化测试:当前 16 项测试覆盖鉴权 / 路径穿越 / 符号链接逃逸 / Range / 断点续传 SHA-256 / 事件轮询 / Token 统计 / 发布一致性。
  • CI 自动构建:APK + Linux/Win 单文件网关 + npm 发布 + 独立仓库同步。
  • Editor Picks 精选:Editor Picks
  • 多市场收录:awesome-dsh-plugin / Oh-My-DSH / dsh-suite / dsh-plugins-store / vlln/plugin-registry。
  • DSH Compat:每周自动在最新 DSH 上验证插件可安装、可加载(compat workflow)。

✨ 亮点

   
📱 安卓 App(Capacitor) 不是 PWA 套壳:会话 / 审批 / 提问 / goal / 文件互传,一个 App 全搞定
🔐 自愈网关 插件内置网关随 DSH 自动启停,挂了自动拉起;Bearer token 鉴权,谁拿 token 谁操控
📦 2GB 文件互传 /fs/* 直连传输,断点续传 + 暂停/继续/取消 + SHA-256 完整性校验
⚡ 多服务器自动切换 局域网 / Tailscale 地址全填上,测速自动选当前最快的
🛡️ 路径安全 路径穿越与符号链接逃逸全拒绝,上传根可白名单配置
📴 离线缓存 网关断线时,会话列表和看过的历史仍可离线浏览
🔔 后台轮询(Android) App 退后台后由前台服务每 30 秒~15 分钟拉取事件,待办审批/提问不遗漏;灭屏后 Doze 会拉长间隔(平台限制)
🔄 令牌二维码配对 抽屉里扫个码,服务器地址 + 令牌一次配好
🪟 单文件网关 Windows / Linux 免 Node 单文件二进制,独立部署也成;macOS 提供 Apple Silicon 预览版
📊 Token 统计 管理页 + App 内置统计页:今日四桶 / 费用 / 高峰占比与近 7 日柱状图,按北京时间高峰计费
🖥️ 桌面端 WebUI 浏览器打开网关地址自动进入桌面布局(侧栏会话 + 文件 + 设置 + 统计抽屉 + 审批通知卡片栈),手机自动进入 App 界面
💬 三端反馈 App 顶栏 / 桌面端侧边栏 / 管理页右上角都有入口;App 内可直接写反馈,网关转发到自建收集器,无需任何 token
🎨 四套皮肤 默认深空 / 落日 / 易北爱乐厅 / 草原孤塔,面板一键切换,默认跟随系统深浅偏好

🔔 后台轮询(Android)

  • 机制:App 退后台后 WebView 会被系统挂起,实时事件收不到;开启后由 Android 前台服务定时调用 GET /api/events.poll?kind=mux|host&since=... 拉取增量事件,有新事件时发系统通知。
  • 间隔档位:30 秒 / 1 分钟 / 5 分钟 / 15 分钟,默认 1 分钟;在 App「设置 → 后台轮询」里调整。
  • Doze:灭屏后系统会冻结后台任务,实际轮询间隔可能被拉长(平台限制,非 App bug)。
  • 国产 ROM:小米 / 华为 / OPPO / vivo 等默认会杀后台,请在系统设置里允许 DSH Remote 自启动、后台运行、省电策略不限制,否则前台服务可能被系统清理。

📸 截图

手机 App 手机 App
手机会话 手机审批
手机文件 手机设置
网关管理面板  
网关管理面板  

❓ FAQ

Frequently Asked QuestionsFAQ

Use the verified command dsh plugin --profile default add github:Blank-not-black/dsh-Remote in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.