dsh-remote (dsh-remote)
随时随地用手机操作 DSH:自托管中继 + 桌面 host 插件组成令牌认证隧道(保序 HTTP 反向代理 + WebSocket 桥接),扫码配对、管理台可管理设备与令牌,并自动注入移动适配层(聊天全宽、设置弹窗全屏、侧栏抽屉化)。
jochenyang
@jochenyang
⬇ 1
★ 0
main
安装
dsh plugin --profile web add github:jochenyang/dsh-remote
需要可复现安装时,可在仓库后追加 #commit 固定提交。
随时随地用手机操作 DSH:自托管中继 + 桌面 host 插件组成令牌认证隧道(保序 HTTP 反向代理 + WebSocket 桥接),扫码配对、管理台可管理设备与令牌,并自动注入移动适配层(聊天全宽、设置弹窗全屏、侧栏抽屉化)。
该插件未提供要点说明,请参考仓库 README。
deepseekdeepseek-harnessdsh-pluginmobilereverse-proxyself-hosted
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/jochenyang/dsh-remote/tree/main/dsh-remote |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 1 |
| GitHub 星标 | 0 |
| 最近推送 | 2026-09-12 |
| 收录日期 | 2026-09-19 |
| 分类 | 通知与集成 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# dsh-remote — 手机上的 DeepSeek Harness
[](./LICENSE)
[](https://github.com/JochenYang/dsh-remote/actions/workflows/ci.yml)
[](https://www.typescriptlang.org/)
[](https://nodejs.org/)
[](https://pnpm.io/)
[](./docs/PROTOCOL.md)
[](./README.md)
简体中文 | [English](README.en.md)
> 用手机浏览器完整操作 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 桌面端:
> 自托管中继 + 桌面插件的点对点隧道,不改 dsh 内核与前端,
> 并为手机自动注入移动适配层。
## 组成
| 目录 | 角色 | 文档 |
|---|---|---|
| [`relay-server/`](./relay-server/) | 自托管中继:配对认证、HTTP 反向代理、WS 帧桥接、管理台。部署在公网 VPS(TLS 之后)。 | [简体中文](./relay-server/README.md) · [English](./relay-server/README.en.md) |
| [`dsh-remote/`](./dsh-remote/) | 桌面 host 插件:注册到中继,把手机流量桥接到本地 dsh web server;内置移动适配层与设置页。 | [简体中文](./dsh-remote/README.md) · [English](./dsh-remote/README.en.md) |
| [`android-app/`](./android-app/) | 原生 Android 客户端(开发中):配对+会话+聊天骨架,直连 relay 代理面;设计方向见需求确认记录。 | — |
| [`docs/PROTOCOL.md`](./docs/PROTOCOL.md) | 两端共同遵守的隧道协议契约(v1):帧格式、握手、安全边界。 | — |
## 架构
```
手机浏览器 ──HTTPS──> relay-server ──WS 帧──> dsh-remote 插件 ──HTTP/WS──> 本地 dsh web server
│ │ └─────────── 下行事件流透传(/events/*)────────────┘
│ (127.0.0.1:)
├── 上行:/d//* 全量反代,帧序即流序(SSE / blob 不受影响)
├── 配对:6 位配对码 + 一次性挑战-响应(HMAC-SHA256),HOST_TOKEN 为信任边界
└── 安全:落盘只存 sha256 摘要;日志永不打印令牌与配对码
```
## 快速开始
1. **部署中继**(公网 VPS,Node ≥ 22 + caddy TLS):
`relay-server/` 内 `pnpm build` 后按其 README 的 systemd + caddy 步骤部署;
CentOS/Rocky/Alma 可用自带 `deploy/install.sh <域名>` 一键完成。
2. **安装插件**(桌面 DSH,含 web profile):
从 [Releases](https://github.com/JochenYang/dsh-remote/releases) 下载 `dsh-remote-.tgz`,
`dsh plugin --profile web add ./dsh-remote-.tgz` 并重启 DSH。
从源码构建:`dsh-remote/` 内 `pnpm install && pnpm build && pnpm build:client && pnpm pack`。
3. **配对**:桌面 **设置 → 手机连接** 填中继地址与 `HOST_TOKEN`,
手机扫二维码或在 `/pair` 输入 6 位配对码即可进入与桌面同源的操作界面。
## 移动适配(亮点)
dsh 自带 web 界面是纯桌面布局,本仓库在**隧道内**为手机补齐了完整移动体验:
- 聊天正文与输入卡片全宽(重定义布局 CSS 变量,非侵入);
- 设置弹窗全屏化、导航横滑条;模型下拉视口钳制;
- 侧栏抽屉化(展开时悬浮,不再挤压聊天区);
- 键盘不再遮挡输入框(`interactive-widget=resizes-content`)。
适配样式只注入隧道流量,桌面 / GUI 打开的界面零变化;锚点全部避开构建期
hash 类名,dsh 升级若结构变化则自动退回原生桌面布局,不会更糟。
## 安全模型
- `HOST_TOKEN` 是 relay 的唯一信任边界;配对走一次性挑战-响应,防重放。
- 中继落盘只存 `sha256(code)` / `sha256(token)`;日志脱敏。
- 手机经 HttpOnly 会话 cookie 认证;管理台独立口令与会话。
- 新版 dsh 的浏览器会话认证(`client-connection`)由主机插件在进程内桥接:
用 Connection 启动令牌换取绑定回环 authority 的 cookie 并附到隧道流量上,
令牌绝不下发手机;老版 dsh 无此服务时自动降级为透传。
- 部署必须置于 TLS 之后(README 提供 systemd + caddy 完整示例)。
完整威胁模型与帧格式见 [docs/PROTOCOL.md](./docs/PROTOCOL.md)。
## 开发
两个包均为独立 pnpm 项目:
```sh
cd relay-server && pnpm install && pnpm build && pnpm typecheck
cd dsh-remote && pnpm install && pnpm build && pnpm typecheck
```
> `dsh-remote` 的 tsconfig 类型映射指向本机的 deepseek-harness 检出
> (`../../deepseek-harness`),CI 只做构建与 `node --check`。
## License
[MIT](./LICENSE) © 2026 JochenYang
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。