UI Enhancements

dsh-remote-web-gateway

summer1238/dsh-remote-web-gateway · ★ 170

summer1238

A remote web gateway with one-time pairing, GitHub authentication, per-device authorization, and revocation; possessing a link alone grants no access.

License
MIT
Added
2026-08-23
Maintenance
active
Install kind
github
npm
dsh-remote-web-gateway

No manifest check is available; listing does not imply compatibility or security review.

安装

dsh plugin --profile web add github:summer1238/dsh-remote-web-gateway

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. DSH Remote Web Gateway
  2. Keep using DeepSeek Harness from your phone.
  3. Scan a code, and the DSH on your computer goes with you.
  4. A link is not permission · One-time pairing · GitHub identity · Per-device authorization, revocable anytime
  5. No remote desktop · No SSH · No public IP / port forwarding
  6. Your DSH is still working on the computer — and you already left?
  7. What's it doing? Did it finish?
  8. Open your phone and keep using the exact DeepSeek Harness that is running on your computer.
  9. You simply take DSH with you.
  10. ⭐ Does this project solve your problem? Give it a Star →
  11. A Star is not a requirement to install, and it changes nothing about the features.
  12. It only lets me know:
  13. This project is worth maintaining, and it helps more people searching for "DSH on your phone" find it.
  14. 🚀 One command, and you're ready
  15. After installing:
  16. Restart DSH → Settings → Remote Control → Enable remote control → Scan with your phone
  17. 📘 First time? Open the User Guide →
  18. 🤖 Don't want to install it yourself? Let an AI do it →
  19. DSH on your phone is not a "miniature Windows"
  20. How do I keep using DSH after I leave the computer?
  21. Check progress · Continue conversations · See results · Handle the actions that need your confirmation
  22. Not a Windows desktop that needs endless zooming and dragging.
  23. You just want DSH on your phone — do you really need all that hassle?
  24. To glance at your Agent, do you really need to remote into all of Windows?
  25. Take only DSH to your phone.
  26. To reach your computer from your phone, do you really need a VPS, SSH, and router port forwarding first?
  27. One click sets up a Cloudflare Quick Tunnel.
  28. To use DSH from your phone, do you really need to redeploy an Agent?
  29. Keep using the DSH, projects, and tools already running on your computer.
  30. For convenience, should a long-lived token really travel around inside every link?
  31. One-time pairing + per-device authorization + revoke anytime.
  32. Getting connected is only the first step. Security is the default design.
  33. Who gets in?
  34. What happens when a credential leaks?
  35. Can an authorized device be un-authorized later?
  36. Waking up to a drained API quota is only one of the milder outcomes.
  37. A link is not permission.
  38. The pairing credential is not a long-lived password.
  39. Every device is authorized independently.
  40. Authorization can be taken back.
  41. 🛡️ Read the full Threat Model →
  42. A reverse proxy could do it — why did we make it this complex?
  43. How do I open this page from the outside?
  44. How do I make it actually suitable for long-term remote use?
  45. Than mistake "it opens" for "it is safe to trust".
  46. How does it actually connect?
  47. DeepSeek Harness and the Gateway still listen only on the local machine.
  48. 🏗️ Read the Architecture notes →
  49. The capabilities you will actually use
  50. 📱 Phone-tailored UI
  51. ⚡ One-click Quick Tunnel
  52. 🔐 One-time QR scan / 8-digit pairing code
  53. 📱 Per-device authorization
  54. 🚫 Revoke anytime
  55. 🐙 Optional GitHub identity
  56. 🌐 Automatic network adaptation
  57. 🔄 Update reminders
  58. 📚 Documentation
  59. 📘 User Guide
  60. 🧰 Troubleshooting
  61. 🛡️ Threat Model
  62. 🏗️ Architecture
  63. 💻 Compatibility
  64. 🔐 Security Policy
  65. 📋 CHANGELOG
  66. 🤖 Stuck? Hand the project link to an AI
  67. The project link + your error message / screenshot
  68. 🤖 Have an AI install / debug for you →
  69. Open source
  70. ☕ If it actually helped you
  71. If you would like to support future maintenance, you can also buy me a Coke. ❤️
  72. Of course, sponsoring is never a condition for using this project — but a Star ⭐ really matters!
  73. Leave one ⭐ and I will already be very happy.
  74. Join the community — it is more than Issues, pull requests, device-compatibility reports, and suggestions: it is a fun, friendly vibe-coding group!
  75. See CONTRIBUTING.md →
  76. ⭐ If it actually got you away from your desk, please leave a Star
  77. That is what this project is for.
  78. ⭐ Please remember to Star DSH Remote Web Gateway so more DSH users can find it →

简体中文 · English

DSH Remote Web Gateway

Keep using DeepSeek Harness from your phone.

Scan a code, and the DSH on your computer goes with you.

No remote desktop · No SSH · No public IP / port forwarding

DSH Remote Web Gateway mobile access

Your DSH is still working on the computer — and you already left?

You are on your way home, and the Agent is still running tasks.

You just want to pull out your phone and see:

What's it doing? Did it finish?

Then it stops and waits for your confirmation while you're away.

Or you're already in bed and you suddenly think:

"I still need to add one more thing to that request."

What you actually want is simple:

Open your phone and keep using the exact DeepSeek Harness that is running on your computer.

That is what DSH Remote Web Gateway does.

No need to squeeze your whole Windows desktop into a phone, and no need to deploy a second Agent on your phone.

Projects, sessions, tools, and Agents stay on the computer.

You simply take DSH with you.


⭐ Does this project solve your problem? Give it a Star →

A Star is not a requirement to install, and it changes nothing about the features.

It only lets me know:

This project is worth maintaining, and it helps more people searching for "DSH on your phone" find it.


🚀 One command, and you're ready

dsh plugin --profile web add dsh-remote-web-gateway

After installing:

Restart DSH → Settings → Remote Control → Enable remote control → Scan with your phone

That's it.

📘 First time? Open the User Guide →

Install, pairing, a second device, revoking access, updates, and common issues — all covered step by step.

🤖 Don't want to install it yourself? Let an AI do it →

Send the project link and the ready-made prompt from the User Guide to DSH, Codex, Claude Code, or another coding agent.

An agent that can run your terminal can help install it directly; an agent that cannot touch your computer can still walk you through the official docs step by step.


DSH on your phone is not a "miniature Windows"

DSH on your phone, not a miniature Windows Remote desktop solves this question:

How do I fit my whole computer into a phone screen?

We solve this one:

How do I keep using DSH after I leave the computer?

The Agent on your computer keeps working.

From your phone you can:

Check progress · Continue conversations · See results · Handle the actions that need your confirmation

What your phone shows is DSH.

Not a Windows desktop that needs endless zooming and dragging.


You just want DSH on your phone — do you really need all that hassle?

To glance at your Agent, do you really need to remote into all of Windows?

No.

Take only DSH to your phone.

To reach your computer from your phone, do you really need a VPS, SSH, and router port forwarding first?

Not by default.

One click sets up a Cloudflare Quick Tunnel.

To use DSH from your phone, do you really need to redeploy an Agent?

No.

Keep using the DSH, projects, and tools already running on your computer.

We chose a different way:

One-time pairing + per-device authorization + revoke anytime.


Getting connected is only the first step. Security is the default design.

Security model: a link is not permission

Making DSH reachable from a phone is not that hard.

A reverse proxy plus a tunnel can get a Web UI onto a phone quickly.

What is actually hard:

Who gets in?

What happens when a credential leaks?

Can an authorized device be un-authorized later?

Because behind DSH is not an ordinary web page.

It can reach:

Your project source code, development files, local tools, and the model capabilities you have configured.

If this is a company development machine, an overly simple remote entry risks more than "someone sees a page".

It can expose your development environment.

Someone could even keep calling the model quota you already paid for.

Waking up to a drained API quota is only one of the milder outcomes.

So we never treated:

"the phone can open it"

as:

"remote access is done".

The whole access flow looks more like:

Temporary connection
    ↓
One-time pairing / GitHub identity
    ↓
Per-device authorization
    ↓
Continuous authentication
    ↓
Revoke anytime
    ↓
DeepSeek Harness

Having the address does not mean you have control of DSH.

The pairing credential is not a long-lived password.

First pairing uses a one-time credential instead of a universal long-lived token riding along in every QR code and link.

Every device is authorized independently.

Not every phone shares one long-lived master key.

Authorization can be taken back.

A device no longer trustworthy?

Revoke it from the computer.

For the full security boundary — what we protect against and what we don't:

🛡️ Read the full Threat Model →


A reverse proxy could do it — why did we make it this complex?

Because a minimal implementation mainly solves:

How do I open this page from the outside?

We also wanted to solve:

How do I make it actually suitable for long-term remote use?

So beyond the connection, we added:

One-time pairing · per-device Device Sessions · single / global revocation · HTTP / WebSocket authentication · a loopback-only management plane · optional GitHub identity

We would rather make this slightly more complex.

Than mistake "it opens" for "it is safe to trust".


How does it actually connect?

Connection flow: phone → HTTPS → Cloudflare Quick Tunnel → gateway → DSH

Phone browser
     │
     │ HTTPS
     ▼
Cloudflare Quick Tunnel
     │
     ▼
DSH Remote Web Gateway
     │
     │ 127.0.0.1
     ▼
DeepSeek Harness

The computer establishes the Tunnel outbound.

DeepSeek Harness and the Gateway still listen only on the local machine.

So by default you need no public IP, and no new inbound port on your router.

🏗️ Read the Architecture notes →


The capabilities you will actually use

📱 Phone-tailored UI

Not a desktop UI squeezed onto a phone.

⚡ One-click Quick Tunnel

No VPS, SSH, or port forwarding by default.

🔐 One-time QR scan / 8-digit pairing code

First-time device access, simple and direct.

📱 Per-device authorization

Multiple devices each get their own access rights.

🚫 Revoke anytime

Take back access from a single device or from all devices, right from the computer.

🐙 Optional GitHub identity

Bind your GitHub identity if you want to.

🌐 Automatic network adaptation

Uses the system / environment proxy, and falls back to verified mirror paths when the official download is failing.

🔄 Update reminders

You are notified when a new version exists; you confirm the install, and your working DSH is never restarted behind your back.


📚 Documentation

📘 User Guide

Start here if it's your first time.

It also includes copy-paste prompts for installing / troubleshooting with an AI.

🧰 Troubleshooting

Common issues with the tunnel, downloads, pairing, network, and updates.

🛡️ Threat Model

What we protect, what we trust, and where the security boundary is.

🏗️ Architecture

How Quick Tunnel, the Gateway, DSH, and device authorization fit together.

💻 Compatibility

Which platforms are actually verified, and which are not yet.

🔐 Security Policy

Found a security issue? Report it here.

📋 CHANGELOG

Version changes and update contents.


https://github.com/summer1238/dsh-remote-web-gateway

Send:

to DSH, Codex, Claude Code, or another AI.

Tell it:

First read this project's README, User Guide, and Troubleshooting, then help me debug according to the project's current docs.

🤖 Have an AI install / debug for you →


Open source

☕ If it actually helped you

This project will always stay free and open source.

If it saved you a remote-desktop hassle, a VPS, or just let you keep using DSH comfortably after work —

that is already worth it.

If you would like to support future maintenance, you can also buy me a Coke. ❤️

Users in China: WeChat Pay / Alipay

Of course, sponsoring is never a condition for using this project — but a Star ⭐ really matters!

Leave one ⭐ and I will already be very happy.

Join the community — it is more than Issues, pull requests, device-compatibility reports, and suggestions: it is a fun, friendly vibe-coding group!

Great projects are shared there all the time

DSH Remote Web Gateway community

See CONTRIBUTING.md →

This project is licensed under the MIT License.

DSH Remote Web Gateway is a DeepSeek community open-source project — not an official DeepSeek product.


⭐ If it actually got you away from your desk, please leave a Star

Continue your work from your phone

The Agent on your computer keeps running.

You have already left the office.

And you finish the task from your phone.

That is what this project is for.

⭐ Please remember to Star DSH Remote Web Gateway so more DSH users can find it →