DeepSeek Harness(DSH)默認將“本機”定義爲桌面殼注入的 globalThis.__DSH_TRANSPORT__ 或迴環地址(localhost)。當通過 Tailscale Tailnet 或反向代理域名訪問 DSH 時,設置頁會報 settings are unavailable in this browser,且瀏覽器會話認證(token)在重啓後失效。dsh-tailnet-admin 插件將這兩個問題拆解爲獨立開關,讓設置頁在非迴環地址可用,並支持按需關閉瀏覽器會話校驗,同時保留 Host/Origin 柵欄。
基本信息¶
- 插件名:
dsh-tailnet-admin - 維護者:he0119
- 分類:聯網工具
- 許可證:MIT
- 核心價值:把 Tailnet / 反向代理頁面當作“本機”來用:啓用 host 持久化設置,並按需關閉瀏覽器會話校驗(Host/Origin 柵欄保持不動)。
核心功能¶
- 設置頁可用性:允許 DSH 的設置頁在非迴環地址上可用,解決
settings are unavailable in this browser的問題。 - 會話認證控制:提供開關關閉瀏覽器會話校驗(
disableBrowserAuth),解決重啓後 token 失效的問題。 - 安全柵欄保留:保留 Host/Origin 柵欄,僅移除瀏覽器端的 token 校驗。
- 本地開發支持:支持通過
link:/path/to/...進行本地開發安裝。
安裝與配置¶
1. 安裝插件¶
安裝前請確保 Node.js 版本爲 ^22.19.0 || >=24.0.0。
使用官方命令安裝:
npx @deepseek-ai/dsh plugin --profile web add @he0119/dsh-tailnet-admin
本地開發時,先構建再通過鏈接安裝:
pnpm run build
npx @deepseek-ai/dsh plugin --profile web add link:/path/to/dsh-tailnet-admin
2. 註冊爲 Bundle¶
dsh plugin add 僅執行 pnpm add,DSH 啓動時只讀取 dsh.profile.bundles。安裝後需在 profile 的 package.json 中註冊。
// ~/.dsh/profiles/web/package.json
{
"dsh": {
"profile": {
"bundles": [
"@he0119/dsh-tailnet-admin"
]
}
}
}
也可以在 DSH 界面操作:設置 → 插件,找到“已安裝但未啓用”的包,啓用一次即可完成註冊。
3. 配置開關¶
插件提供兩個獨立配置項:pageHosts 和 disableBrowserAuth。
方法一:通過配置頁¶
- 打開 DSH 設置 → 插件。
- 找到
dsh-tailnet-admin插件頁面。 pageHosts:按“本機”處理的頁面主機,一行一條。.開頭表示後綴匹配(如.ts.net匹配a.ts.net)。*表示匹配所有。- 默認爲空,需手動配置。
disableBrowserAuth:關閉瀏覽器會話校驗。默認關閉,打開前請閱讀“安全邊界”。- 保存配置。
方法二:修改配置文件¶
直接編輯 ~/.dsh/profiles/web/cordis.patch.yml:
- id: tailnet-admin # 插件固定約定的 id
name: '@he0119/dsh-tailnet-admin'
config:
pageHosts:
- .ts.net # 或精確主機名,或 *
disableBrowserAuth: true # 默認 false
注意:
disableBrowserAuth立即生效,pageHosts需刷新頁面生效。
安全邊界¶
disableBrowserAuth 打開後無瀏覽器 token 認證,依賴 Host/Origin 柵欄。這意味着任何能打開此頁面的人即可擁有機器控制權(讀寫文件、執行命令、動用 API key)。暴露面取決於 Tailscale ACL 或反向代理的訪問控制。
建議組合:
* pageHosts 按需開啓。
* disableBrowserAuth 僅在需要解決 token 頻繁失效問題時開啓。
* 開啓後確認 Tailscale ACL 僅放行可信設備。
排障¶
| 現象 | 原因 |
|---|---|
設置頁仍報 settings are unavailable in this browser |
pageHosts 未命中當前主機名(需帶點後綴),或未刷新頁面 |
| 請求直接 403 | Host/Origin 柵欄未過:需在 dsh web 啓動參數中添加 --trusted-host <authority> |
仍然要 ?token= |
disableBrowserAuth 未打開 |
啓動日誌沒有 [dsh-tailnet-admin] |
包名未加到 dsh.profile.bundles,或包未安裝 |
| 配置頁顯示“只寫進這個瀏覽器” | 當前頁面未被當作“本機”,需先從迴環地址打開或修改 cordis.patch.yml |
總結¶
dsh-tailnet-admin 解決了 DSH 在 Tailnet 或反向代理環境下的設置頁不可用及會話認證問題。通過拆分 pageHosts 和 disableBrowserAuth 兩個開關,在保留安全柵欄的前提下,提供了靈活的配置能力。
- GitHub: https://github.com/he0119/dsh-tailnet-admin
- 目錄: https://www.skillhub.cn/plugins/he0119/dsh-tailnet-admin