GCWing / GCWing/OpenBitFun

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

オープン
#2,285 コメント 0 件 リアクション 0 件 担当者 1 名 @bobleer が担当を希望しています GitHub で見る
feature
主要言語
Rust
スター
2.2k
フォーク
229
平均マージ
2時間 46分
マージ済み PR(30日)
577

説明

### 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:`;
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 :127.0.0.1: `,或 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 ` 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_

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。