前言¶
DSH 的 Web 界面如果通过 Tailscale 做远程访问,通常需要同时确认几件事:HTTPS 入口是否可用、本机代理是否会拦掉 *.ts.net 和 100.64.0.0/10、中继服务器是否可用、DSH 是否信任远端访问地址。这些步骤分散在 Tailscale、系统代理、DSH profile 和 ACL 中,容易漏掉其中一项。
下面介绍 dsh-tailscale-console。它是 DSH 的一个插件,把这些常见检查和修复入口集中到一个面板里。
这是什么¶
dsh-tailscale-console 是 DeepSeek Harness(DSH)的 Tailscale 远程访问运营面板,由 evanfang0054 维护,许可证为 MIT。
它面向已经使用 DSH web profile 的场景,主要解决远程访问过程中的入口检查、macOS 代理绕过、中继服务器运维和 ACL 片段生成问题。
核心功能¶
下面列出已核实的卡片能力:
- 设备与在线提醒:按设备显示在线/离线状态;离线设备恢复在线时自动提醒。
- 健康检查:一键检查 HTTPS 入口、页面、
/apisession list、/sidebar/api、server direct path、proxy bypass。 - HTTPS 入口:查看 Tailscale Serve 状态和 URL,并提供开启/关闭开关,支持验证和重试。
- 代理绕过:检查 macOS 系统代理绕过列表中的
*.ts.net和100.64.0.0/10,可一键重新应用;仅 macOS 可用。 - 中继服务器:查看中继服务器在 Tailnet 中的状态,启用 Peer Relay,并做 ping 验证。
- 访问:展示远程 HTTPS URL、本地 URL,以及完整的
dsh web启动命令。 - ACL 片段:根据当前设备 IP 生成
tailscale.com/cap/relaygrants JSON。
安装与启用¶
包名为 dsh-tailscale-console。已核实资料没有给出官方安装命令,为避免凭名称拼接,本文不给出具体安装命令。
启用前可以先确认运行前提:
- DSH 版本不低于
0.1.0-rc.6,因为需要--trusted-host和webRuntimeservice。 - profile 运行环境使用 Node 20.x 和 pnpm >= 9;已验证过的组合是 Node 20.19.2 和 pnpm 10.27.0。
- 修改
cordis.patch.yml、插件代码或dsh-better-sidebarpatch 后,需要重启dsh web,这会中断当前运行的会话。 - 插件以当前
dsh进程权限运行;安装前应检查源码与许可证。当前已核实许可证为 MIT。
典型用法¶
先确认 HTTPS 入口¶
Tailscale Serve 用于把本地服务暴露到 tailnet 内的 HTTPS 地址。先执行:
tailscale serve --bg 3080
再查看状态:
tailscale serve status
HTTPS 是必须的,因为浏览器只在 secure context 下暴露 crypto.randomUUID。
启动 DSH Web¶
启动 dsh web 时,把本地 tailnet IP 和 <hostname>.<tailnet>.ts.net 都加入 trusted host:
dsh web --trusted-host <local-tailnet-ip>:3080 --trusted-host <hostname>.<tailnet>.ts.net
如果希望把 trustedHosts 固化到 profile,可以把对应 trustedHosts 追加到:
~/.dsh/profiles/web/cordis.patch.yml
说明:修改后需要重启 dsh web。
macOS 代理绕过¶
如果本机使用会修改系统代理的代理工具,*.ts.net 和 100.64.0.0/10 可能被代理拦掉。先查看当前绕过列表:
networksetup -getproxybypassdomains "Wi-Fi"
再写入包含 Tailscale 域段的绕过列表:
networksetup -setproxybypassdomains "Wi-Fi" "*.ts.net" "100.64.0.0/10" "*.local" "<local>" "localhost" "127.0.0.1" "192.168.0.0/16" "10.0.0.0/8" "172.16.0.0/12"
说明:-setproxybypassdomains 会替换该网络服务的整个绕过列表,所以先备份。该卡片只适用于 macOS;非 macOS 系统会隐藏该卡片。
配置中继 ACL¶
如果需要通过手机做中继,需要为设备到中继服务器之间的 relay 能力授权。可以在 Tailscale ACL 的 grants 中加入类似片段:
{
"grants": [
{
"src": ["<device-A-ip>", "<device-B-ip>"],
"dst": ["<server-tailnet-ip>"],
"app": { "tailscale.com/cap/relay": [] }
}
]
}
说明:src 是允许使用 relay 的设备,dst 是 relay server。缺少该授权时,手机中继会不可用。
中继端口与安全组¶
如果配置 Peer Relay,已核实资料要求云安全组允许入站 UDP 40000 和 41641。
适用场景与注意¶
- 适合在 macOS 本机运行 DSH web,并通过 Tailscale 手机或远程设备访问的场景。
- 适合需要维护 HTTPS 入口、代理绕过、relay server 和 ACL 的运维场景。
- 面板中的代理绕过卡片只适用于 macOS;非 macOS 会隐藏该卡片。
dsh-better-sidebar0.10.3 的trustedHostsOf存在问题;如果 profile 使用它,node_modules中的 patch 会在pnpm install后丢失,需要重新应用。- 修改
cordis.patch.yml、插件代码或dsh-better-sidebarpatch 后,需要重启dsh web,并会中断当前会话。 - 插件以当前
dsh进程权限运行,安装前应检查源码与许可证。
结尾¶
dsh-tailscale-console 把 DSH 远程访问中容易分散的几个检查点集中到面板里:入口、代理、中继、访问命令和 ACL。DSH 的插件生态强调「一切皆插件」;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。
目录页地址未在已核实资料中确认,本文不列出。GitHub 地址为:
https://github.com/evanfang0054/dsh-tailscale-console