[Feature]: 关于远程服务器的网页服务映射
@bobleer is already working on this.
Since Aug 15, 2026.
Assessment
This issue has not been assessed yet.
Description
Problem / opportunity
如图,在远程服务器的shell 启动了一个网页服务端,点击之后在本地浏览器打开了一个本地对应链接的网址,而没有进行端口的映射。vscode 有类似的端口映射功能。
标题:dsh web 在远程服务器上启动后,本地浏览器无法直接访问,需额外端口映射
类型:文档 / 体验改进(Feature request)
问题描述
在远程服务器(无本地图形界面,通过 SSH / VSCode Remote-SSH / JetBrains Gateway 连接)上运行 dsh web:
- 终端启动 Web UI,输出
dsh web: http://127.0.0.1:<port>; --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),服务只能绑定回环地址;- 因此终端里显示的 URL 只在服务器本地有效,用户从本地浏览器访问必然失败;
- 必须额外手动配置端口映射才能访问:
ssh -L <port>:127.0.0.1:<port> <host>,或 IDE 的端口转发面板。
实际现象(截图)
在远程 shell 启动网页服务端后,点击终端中的链接,本地浏览器打开的是本地对应的链接地址,而无需手动做端口映射——这是 IDE(如 VSCode Remote-SSH)的自动端口转发能力。
期望行为
- 补充远程使用文档:在 README / Web UI 指南中增加"Remote usage"章节,说明 SSH 隧道与 IDE 端口转发两种访问方式;
- 终端提示:
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. - (可选)受控远程绑定:考虑提供带访问令牌的安全远程绑定方式,作为
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
- Dominant language
- Rust
- Stars
- 2.3k
- Forks
- 236
- Avg merge
- 2h 56m
- Merged PRs (30d)
- 619
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from GCWing/OpenBitFun
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
GCWing/OpenBitFun#3213 · 1 comment ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
GCWing/OpenBitFun#2363 ·
-
question
Difficulty 1/5 Under an hour Newbie friendliness 78/100
GCWing/OpenBitFun#2340 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
GCWing/OpenBitFun#3210 ·
-
GCWing/OpenBitFun#3195 · 2 comments · 1 assignee ·
All issues in GCWing/OpenBitFun
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
state:needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
zed-industries/zed#64680 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
RustPython/RustPython#8802 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
TheLarkInn/aipm#2390 ·