← 返回列表
需源码安装
让 DeepSeek Harness 运行在 Mac 上,在手机上随时控制。
暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;engines.node 要求 >=24,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/6 · 已提供中文文档
综合分
36.9
GitHub 分
36.9
用户评分
—
★ Stars
7
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Zouu-X/dsh_remote缺少 main/exports/bin 入口声明;engines.node 要求 >=24,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · market
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 19 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-remote-control(未发布到 npm,仅可源码安装)
✗Node 引擎要求 >=24 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
缺少 main/exports/bin 入口声明;engines.node 要求 >=24,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 08:26:55
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成DSH Remote
CI
License: MIT
让 DeepSeek Harness 运行在 Mac 上,在手机上随时控制。
DSH Remote 通过你的私有 Tailscale 网络,为 DeepSeek Harness 提供专为手机设计的工作界面。离开电脑也能发起任务、实时跟进 Agent、处理审批并阅读结果,同时不把 Harness 暴露到公网。
English
你可以做什么
- 在 Mac 已配置的任意工作区中发起任务。
- 开始前选择 Agent 工作模式、模型和思考强度。
- 在适合手机阅读的任务对话中实时查看 Agent 消息与任务状态。
- 从任务输入框排队下一条指令,或在运行中直接追加要求。
- 回答 Agent 问题,允许或拒绝一次性权限请求。
- 在适合手机浏览的工作区视图中搜索并继续既有任务。
- 添加到主屏幕作为 PWA 使用,并在网络恢复后自动重连。
安装
你需要:
- 一台已经配置 DeepSeek Harness 凭据的 Mac;
- Mac 和手机都安装 Tailscale,并登录同一个 tailnet;
- 为该 tailnet 启用 MagicDNS。
1. 运行引导式安装
git clone https://github.com/Zouu-X/dsh_remote.git dsh-remote
cd dsh-remote
./macos/launch-agent/setup.sh
安装脚本会检查 Mac 环境、安装项目依赖、构建手机端、安装用户级 LaunchAgent、配置 Tailscale Serve,并打印手机访问地址。如果缺少 Node.js 或 Tailscale 且系统已有 Homebrew,脚本会提供标准安装路径。
2. 启动 DeepSeek Harness
安装完成后会打印适用于当前 Mac 的完整命令,形式如下:
npx @deepseek-ai/dsh web --trusted-host ..ts.net
保持 Harness 运行。只要 Harness 在 127.0.0.1:3080 监听,DSH Remote 就会自动上线。
3. 在手机上打开
打开安装脚本打印的地址:
https://..ts.net
添加到主屏幕,即可获得接近原生应用的启动体验。
不打扰工作的手机流程
1. 打开新任务并选择工作区。
2. 选择工作模式;需要时设置模型和思考强度。
3. 提交任务,实时查看 Agent 执行过程。
4. 在等待处理中回答问题或处理一次性审批。
5. 返回任务对话,阅读 Agent 的结果或继续追问。
6. 之后可从任务继续同一项工作。
私有优先的设计
DSH Remote 把敏感部分留在你的 Mac 上:
- DeepSeek Harness 只监听 127.0.0.1:3080。
- Remote Host 只监听 127.0.0.1:3090。
- Tailscale Serve 提供私有 HTTPS 入口,不使用 Tailscale Funnel。
- Remote Host 从可信的本机代理连接解析真实 Tailscale 对端,不信任浏览器提交的身份 Header。
- 远程只开放下方列出的任务方法;凭据、设置、本地文件选择和 Preset 编辑继续只在 Mac 本机可用。
- DeepSeek API 凭据继续由 Harness 自己管理,DSH Remote 不会读取它。
- Remote Host 的设备私钥保存在 macOS Keychain。
DSH Remote 面向个人 Mac 与私有的单用户 tailnet。你可以使用内置白名单管理器,把访问范围进一步限制到指定手机。
只允许你的手机访问
默认情况下,已经通过身份验证加入同一 tailnet 的设备可以访问 Remote Host。若只允许指定设备:
查找手机的 Tailscale 节点 ID。
tailscale status
把手机加入白名单。
macos/launch-agent/devices.sh add
查看当前白名单。
macos/launch-agent/devices.sh list
LaunchAgent 重启后改动立即生效。脚本会拒绝删除最后一个允许设备,避免一次编辑意外扩大访问范围。如需主动恢复为允许整个 tailnet,请运行:
macos/launch-agent/devices.sh allow-all
日常运行
安装后的用户级 LaunchAgent 会在登录时启动并等待 Harness。Harness 启动后 DSH Remote 自动上线;Harness 停止后 Remote Host 也会随之退出。默认 auto 唤醒策略只在有 Harness Session 运行时阻止 Mac 休眠。
常用诊断命令:
确认两个本地服务。
lsof -nP -iTCP:3080 -sTCP:LISTEN
lsof -nP -iTCP:3090 -sTCP:LISTEN
检查本地 Remote Host。
curl http://127.0.0.1:3090/api/health
查看 Tailscale Serve。
tailscale serve status
跟踪日志。bash
tail -f ~/.dsh-remote/logs/remote-host.err.log
卸载 LaunchAgent:
bash
macos/launch-agent/uninstall.sh
手动安装
如果希望自己控制每一步,可以使用下面的流程。
构建
bash
corepack pnpm install
corepack pnpm -r build
获取 MagicDNS 主机名
bash
DSH_TS_HOST=$(tailscale status --json | python3 -c 'import json,sys; print(json.load(sys.stdin)["Self"]["DNSName"].rstrip("."))')
echo "$DSH_TS_HOST"
启动 Harness 并安装 Remote Host
bash
npx @deepseek-ai/dsh web --trusted-host "$DSH_TS_HOST"
在另一个终端中运行:
bash
macos/launch-agent/install.sh
macos/launch-agent/configure-tailscale-serve.sh
tailscale serve status
配置
install.sh 会读取当前环境变量,也可以从已被 Git 忽略的 macos/launch-agent/launch-agent.env 读取。
| 变量 | 默认值 | 用途 |
| --- | --- | --- |
| DSH_REMOTE_HARNESS_URL | http://127.0.0.1:3080 | Harness HTTP 地址 |
| DSH_REMOTE_PORT | 3090 | Remote Host 监听端口 |
| DSH_REMOTE_STATIC_DIR | /apps/mobile-web/dist | 构建后的手机端目录 |
| DSH_REMOTE_STATE_FILE | ~/.dsh-remote/host-state.json | 持久化的 Mac Host 身份 |
| DSH_REMOTE_ALLOWED_DEVICE_IDS | 空 | 逗号分隔的 Tailscale 设备 ID;为空时允许整个 tailnet |
| DSH_REMOTE_IDENTITY_PROVIDER | tailscale | 解析 Tailscale 对端身份;none 时仅接受 loopback |
| DSH_REMOTE_SECRET_STORE | mac-keychain | 在 Keychain 中保存 Remote Host 设备私钥 |
| DSH_REMOTE_CAFFEINATE | 安装后为 auto | Session 活跃时保持 Mac 唤醒 |
| DSH_REMOTE_HARNESS_POLL_SECONDS | 15 | Harness 可用性检查间隔 |
| DSH_REMOTE_NODE | 安装时自动检测 | LaunchAgent 使用的 Node 可执行文件 |
如果希望 LaunchAgent 同时管理 Harness:
bash
DSH_INSTALL_HARNESS_SUPERVISOR=1 macos/launch-agent/install.sh
默认仍由用户手动管理 Harness,让升级和凭据始终处于你的控制之下。
工作原理
text
手机 PWA
│ 私有 tailnet 内的 HTTPS/WSS
▼
Mac 上的 Tailscale Serve
│ TLS 终止 + PROXY protocol
▼
Remote Host · 127.0.0.1:3090
│ 身份解析、能力检查、幂等、事件信封
▼
DeepSeek Harness Adapter
│ 白名单 HTTP/WS 转换
▼
DeepSeek Harness · 127.0.0.1:3080
手机 UI 只依赖 AgentHostTransport,不依赖 Harness 内部类型。所有 DeepSeek Harness 上游调用集中在唯一 Adapter 中;协议、领域模型、认证策略、客户端传输和 Host 进程保持为独立包。
Remote API 边界
Remote Host 只开放:
- host.describe
- workspace.list、workspace.create
- session.list、session.search、session.create、session.history、session.prompt
- agent-preset.list、agent-preset.select
- session.models、session.select-model
- approval.respond、question.respond
设置、凭据、本地路径选择/打开和 Preset 修改方法均不可远程调用。
仓库结构
| 路径 | 职责 |
| --- | --- |
| apps/mobile-web | React/Vite 手机 PWA |
| packages/remote-protocol | 版本化 RPC 与事件信封 |
| packages/remote-domain | Host、工作区、任务、审批、问题和事件历史模型 |
| packages/remote-client | AgentHostTransport 与 tailnet 直连传输 |
| packages/remote-host | Loopback HTTP/WebSocket Host 与身份边界 |
| packages/auth-core | Principal、角色、能力和远程方法策略 |
| packages/adapter-deepseek | 唯一使用 Harness 线协议的包 |
| macos/launch-agent | 引导安装、LaunchAgent 模板、访问管理和诊断 |
| tools | 连通性与 Remote Host 检查工具 |
开发
bash
corepack pnpm install
corepack pnpm typecheck
corepack pnpm test
corepack pnpm build
启动开发服务:
bash
corepack pnpm dev:mobile
corepack pnpm dev:host
构建并启动 Harness 后运行 Remote Host 自检:
node tools/remote-host-check/check.mjs --base http://127.0.0.1:3090
DSH Remote 是独立社区项目,与 DeepSeek 没有隶属或背书关系。
许可证
MIT