Skip to content

[Feature]: 关于远程服务器的网页服务映射 #2285

Description

@Raing5Days

Problem / opportunity

Image

如图,在远程服务器的shell 启动了一个网页服务端,点击之后在本地浏览器打开了一个本地对应链接的网址,而没有进行端口的映射。vscode 有类似的端口映射功能。


标题dsh web 在远程服务器上启动后,本地浏览器无法直接访问,需额外端口映射

类型:文档 / 体验改进(Feature request)

问题描述

在远程服务器(无本地图形界面,通过 SSH / VSCode Remote-SSH / JetBrains Gateway 连接)上运行 dsh web

  1. 终端启动 Web UI,输出 dsh web: http://127.0.0.1:<port>
  2. --host 0.0.0.0 被官方有意禁止error: --host 0.0.0.0 is intentionally not supported yet for safety: it would expose remote code execution to the network),服务只能绑定回环地址;
  3. 因此终端里显示的 URL 只在服务器本地有效,用户从本地浏览器访问必然失败;
  4. 必须额外手动配置端口映射才能访问:ssh -L <port>:127.0.0.1:<port> <host>,或 IDE 的端口转发面板。

实际现象(截图)

在远程 shell 启动网页服务端后,点击终端中的链接,本地浏览器打开的是本地对应的链接地址,而无需手动做端口映射——这是 IDE(如 VSCode Remote-SSH)的自动端口转发能力。

期望行为

  1. 补充远程使用文档:在 README / Web UI 指南中增加"Remote usage"章节,说明 SSH 隧道与 IDE 端口转发两种访问方式;
  2. 终端提示dsh web 启动时若检测到远程/无桌面环境,直接输出一行访问提示,例如:
    Web UI: http://127.0.0.1:3080 (server-local)
    Remote access: run `ssh -L 3080:127.0.0.1:3080 <host>` on your local machine, then open the URL above.
    
  3. (可选)受控远程绑定:考虑提供带访问令牌的安全远程绑定方式,作为 0.0.0.0 禁止的替代,方便远程容器/开发机直接访问。

环境信息

  • dsh 版本:0.1.0-rc.6@deepseek-ai/dsh,全局 npm 安装)
  • 服务器:openEuler 24.03 (LTS-SP2),aarch64,容器内运行(PID 1 为 bash 脚本,无 systemd)
  • Node.js:v24.19.0
  • 连接方式:SSH(VSCode Remote-SSH 或原生 ssh)
  • 服务:dsh web --port 8080,绑定 127.0.0.1

需要我按目标仓库调整格式(比如纯英文、精简版)吗?另外如果图片内容和我推断的截图场景不同,把图里的文字告诉我,我来修正细节。

Proposed behavior

希望可以默认对于这种web ui的服务启动,启动一个临时的端口映射,类似于vscode 里面启动opencode 或者deepseek harness。

Product surface

Desktop app

Details, examples, or constraints

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions