前言¶
DeepSeek Harness(DSH)提供 dsh web 命令,在本地啓動 Web 界面。默認情況下它只監聽 127.0.0.1,同一局域網內的手機或其他設備無法直接訪問。若要把服務暴露到局域網或 Tailscale 網段,通常需要自行查 IP、拼裝 dsh web 的 --host、--port、--public-url 等參數,並從日誌裏解析帶 token 的登錄 URL。weichengwu 維護的 dsh-web-control 插件把上述流程收進 DSH:在設置頁或智能體工具裏選擇綁定地址、啓停實例、複製 token URL、查看日誌。
這是什麼¶
- 名稱:dsh-web-control
- 維護者:weichengwu
- 分類:admin-security(社區目錄歸類爲管理與安全相關能力)
- 倉庫:github.com/weichengwu/dsh-web-control
- 版本(package.json):0.1.0,MIT 許可證
插件在後臺調用 DSH 自帶的 dsh 可執行文件(而非直接 node CLI),大致等價於:
dsh web --no-open --port <PORT> --host <IP> --public-url http://<IP>:<PORT>/
並從子進程日誌中解析就緒行:
dsh web: http://<IP>:<PORT>/?token=<TOKEN>
核心功能¶
- 綁定地址選擇:支持 Tailscale 地址(如
100.64.0.10)、局域網 IPv4(如192.168.1.100)或迴環;bindHost爲null時按 Tailscale → 局域網 → 迴環 自動檢測。 - 生命週期管理:啓動、停止、重啓
dsh web子進程。 - Token URL:複製完整登錄鏈接;每次啓動 token 輪換且一次性,首次瀏覽器交換後變爲 cookie。
- 日誌:讀取
dsh web子進程的 stdout/stderr 彙總日誌。 - 智能體工具:
dsh_web_control、dsh_web_config供 Agent 查詢狀態或改配置。
Tailscale 與局域網(README 對比)
| Tailscale | LAN | |
|---|---|---|
| 可達範圍 | 有互聯網的任意網絡 | 同一 WiFi / 路由器 |
| 加密 | WireGuard 端到端;隧道內 HTTP 仍爲明文 | 明文 HTTP,同網段可嗅探 |
| 依賴 | 兩端安裝並登錄 Tailscale | 無額外依賴 |
| 適用 | 外出用手機訪問家中 Mac 等 | 家裏或辦公室內網 |
安裝與啓用¶
從 GitHub 安裝(需使用 --profile desktop):
dsh plugin --profile desktop add github:weichengwu/dsh-web-control
或安裝 Releases 中的預構建 tarball(路徑須爲絕對路徑):
dsh plugin --profile desktop add file:/absolute/path/to/dsh-web-control-0.1.0.tgz
安裝後退出並重新打開 DSH。macOS 分步說明見倉庫內 docs/SETUP-MAC.zh.md。
注意:不要使用 dsh plugin add dsh-web-control 這類裸名;插件未發佈到 npm,否則會觸發 ERR_PNPM_FETCH_404。
典型用法¶
設置頁¶
打開 Settings → Web 訪問:選擇地址、設置端口(默認 3080),點擊 啓動,再將 URL 複製到手機瀏覽器。
配置文件與狀態文件¶
配置位於 ~/.dsh-web-control/config.json:
bindHost:null表示自動檢測port:默認3080autoStart:默認false
同目錄下還有 instance.json(pid、url、bindHost、port、startedAt)、dshweb.log、url.txt(當前完整 URL,權限 600)。
Agent 工具¶
dsh_web_control — 參數示例:
{ "action": "status|start|stop|restart|url", "host?": "...", "port?": 3080 }
返回:{ running, url, bindHost, port, message }。
dsh_web_config — 參數示例:
{ "bindHost?": "...", "port?": 3080, "autoStart?": false }
無參數時讀取配置;返回 { config, candidates }。
適用場景與注意¶
適合誰:需要在手機或其他設備上通過瀏覽器使用同一臺機器上的 DSH Web,且願意在受信網絡(家庭/office 局域網或 Tailscale)上暴露 HTTP 監聽口的用戶。
技術約束(README 原文要點)
--host必須是具體 IPv4 字面量,不接受0.0.0.0。- 日誌裏
listening on <IP> over plain HTTP; restrict this port...是提示而非錯誤;Tailscale 上由 WireGuard 加密,純局域網下 HTTP 不加密。 - 綁定到非迴環地址後,能訪問該地址且持有 token 或 cookie 的一方,具備該機器上 DSH 的同等權限(文件、命令、工具)。僅在可信網絡使用;勿在公共 WiFi 上以 LAN 模式長期開啓;用畢停止;將 token URL 視爲憑證。
插件運行方式:插件隨當前 DSH 桌面進程加載,管理的是本機上的 dsh web 子進程。安裝前可在 GitHub 查看源碼與 MIT 許可證;社區插件目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,屬社區「一切皆插件」生態中的獨立條目。
結尾¶
dsh-web-control 把「選 IP、起服務、拿 token URL」從 shell 腳本收進 DSH 界面與 Agent API,適合 Tailscale 或家庭局域網遠程使用 dsh web 的場景。目錄頁:https://www.skillhub.cn/plugins/weichengwu/dsh-web-control;源碼與中文主文檔:https://github.com/weichengwu/dsh-web-control(README.zh.md)。