🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

HuanLinOTO/DSH-Remote

DeepSeek Harnessspec-screened扫描:高危在 GitHub 查看 ↗
需源码安装

ds-harness-remote 的第三方桌面 / Android 客户端:

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明。 · 最近上游提交 2026/9/14 · 已提供中文文档

ds-harness-remote 的第三方桌面 / Android 客户端(Tauri 2 + React,UI 修改自 OpenCodeUI)| Third-party desktop & Android client for ds-harness-remote (UI derived from OpenCodeUI)

综合分
29.3
GitHub 分
29.3
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add HuanLinOTO/DSH-Remote
缺少 main/exports/bin 入口声明,改用 GitHub 源安装
信任档位:需留意静态安装检查未通过
是什么
dsh 原生插件 · browser
装得上吗
静态安装检查未通过,可能需要源码安装
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 11 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-remote-ui @ 0.6.5
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

缺少 main/exports/bin 入口声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 21:39:11

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
DSH Remote

ds-harness-remote 的第三方桌面 / Android 客户端:
登录 DSH Remote Server 账号,选择在线 Host,通过端到端加密(Noise IK)隧道远程操作 DeepSeek Harness ——
发送文本与图片、查看流式回复与工具调用、应答审批与提问、取消任务、切换模型。

界面层修改自 OpenCodeUI(Tauri 2 + React 19,GPL-3.0 衍生作品),
在其聊天渲染 / 多窗格 / 主题 / 移动端布局之上,针对「远程 Host + 移动端」重做了交互体验:
过程折叠、连接路径可视化、后台不掉线、长会话流式不卡顿。

与上游的关系

| 上游 | 关系 | 本仓库对它的依赖 |
| --- | --- | --- |
| lehhair/OpenCodeUI | UI 上游 / 直接来源 | 前端与桌面壳的起点(聊天渲染、多窗格、终端、主题、Tauri 壳);本仓库是它的 GPL-3.0 衍生作品,保留原许可证与署名 |
| liguobao/ds-harness-remote | 协议与服务端上游 | vendor 其 packages/protocol、packages/webrtc、packages/client-core(见 src/dsh/VENDOR.md);本仓库是它的第三方客户端,不是官方客户端 |
| @deepseek-ai/dsh web | 被远程操作的 Host 运行时 | 官方 npm 包,不属于本仓库 |
| DSH Remote Server | 控制通道 / Relay / Signaling 服务 | 官方部署  |

本仓库既不是 OpenCodeUI 的官方 fork,也不是 ds-harness-remote 的官方客户端。
协议细节以两份上游文档为准(ds-harness-remote/docs/protocol.md 是线协议权威规范)。

预览

DSH Remote 在 Android 平板上的会话视图

(Android 平板,P2P 直连;顶部状态条显示连接路径与 Host 工作目录)

相比 OpenCodeUI 改了什么

- 远程会话适配:harness.api.(rc.2)/ harness.remote.(alpha)官方隧道 →
sessionStore 状态机(bootstrap → login → host list → connect → chat),
session.history 还原历史 + mux 实时流渲染(text / reasoning 流式、工具卡片、审批、提问)。
- 连接体验:lan > p2p > turn > relay 自适应传输,标题栏徽标实时显示实际选中的路径与 RTT;
控制通道由 Rust 侧 tokio-tungstenite 拨号(不带 Origin 头,绕开服务器 Origin 白名单),
应用层心跳 pong 由 Rust 原生回(WebView 后台冻结也不掉线),回前台自动补一次重连。
- 过程折叠:一个回合的中间过程收进「已处理 Xm Ys」折叠块,最终回答留在外面
(默认开启,设置 → 对话 → 过程折叠可关)。
- 渲染性能:ChatItem → UI Message 的引用稳定投影(WeakMap 缓存)+ bridge 推送节流(~10fps)
+ 虚拟滚动,长会话持续流式不再打满主线程。
- 移动端:Tauri Android(arm64 / armeabi-v7a),状态栏 inset 与安全区、三栏 pager、
主机列表垂直居中、侧栏「切换主机」入口。
- 品牌与数据迁移:dsh- localStorage 键 / IndexedDB 库名 / DOM 标识全量改名,
启动时一次性迁移旧键(见 src/utils/legacyStorageMigration.ts)。

下载与安装

从 Releases 下载:

| 平台 | 产物 |
| --- | --- |
| Android | DSH-Remote--android-arm64.apk / -armv7.apk(包名 cn.r2049.dsh.remote) |
| Windows | NSIS 安装包 .exe |
| macOS | .dmg(Apple Silicon / Intel) |
| Linux | .deb |

Android 签名密钥不入库(src-tauri/gen/android/dsh-remote.keystore,已 git-ignore):
官方包始终使用同一把密钥,升级时请安装同一来源的 APK,否则会因签名不一致而无法覆盖安装。

功能

- 登录:知乎 OAuth / GitHub OAuth(打开系统浏览器授权 → dshremote://oauth 回跳完成设备注册)
或邮箱密码;本机生成 X25519 设备身份并注册(POST /api/v1/devices/register);访问令牌到期前自动刷新。
- 主机列表:同账号下的 Host(在线状态 / 版本 / 指纹),点选后完成
connect.request → connect.incoming → Noise IK 握手,状态条展示 auth → transport → secure → loading → ready。
- 会话:workspace.list 选择工作区 → 会话侧栏(按 Host 工作区分组)→ 历史还原 + 实时流;
支持重命名、置顶、归档、懒建会话。
- 交互:发送文本与图片(>2 MiB 自动走 transfer 分块)、session.cancel 停止、切换模型、
应答审批 / 提问、断线指数退避重连 + 历史重拉。
- 协议合规:只使用上游官方隧道;协议栈直接 vendor 自 ds-harness-remote,自带协议 conformance 测试。

开发

npm install
npm run dev        # vite;dev 代理 /api、/ws → https://dsh.r2049.cn(VITE_DSH_SERVER 可覆盖)
npm run validate   # typecheck + lint + test + build
npm run tauri dev  # 桌面应用(先起 vite,再起 Rust)

注册入口:。

Android APK

release(默认产物,存在 gen/android/keystore.properties 时自动签名)
npx tauri android build --apk --target aarch64
产物:src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk

adb install -r src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release.apk

keystore.properties 需包含 storeFile / storePassword / keyAlias / keyPassword
(密钥与口令均已 git-ignore,丢失后已安装版本无法升级,请备份)。
CI 发布签名 APK 时,在仓库 Secrets 里配置 KEYSTORE_BASE64、KEYSTORE_PASSWORD、
KEY_ALIAS、KEY_PASSWORD(未配置时 Release 工作流会跳过 Android 产物)。

自托管(同源反代)

docker compose -f docker-compose.standalone.yml up -d --build

docker/Caddyfile.standalone 托管静态文件并把 /api、/ws 反代到 $DSH_SERVER
(默认 dsh.r2049.cn:443),绕过浏览器跨源限制;Tauri 桌面 / Android 构建不受 CORS 影响。

架构

OpenCodeUI UI(ChatArea / InputBox / Sidebar / ModelSelector /
PermissionDialog / QuestionDialog / 移动端三栏 pager)
│  Message{info, parts[]}(渲染边界)
┌───────▼────────────────────────────────────────────┐
│ dsh 适配层(src/dsh/)                               │
│  event-reducer.ts(native 事件 → ChatItem,纯函数)    │
│  toUiMessages.ts(ChatItem → Message/Part,引用稳定)  │
│  sessionStore(连接 / 会话 / 审批 / 提问,zustand)     │
│  RemoteApiProxy(rc.2) ── HarnessAlphaClient(alpha)    │
│  RemoteClientCore + SecureTransport(Noise IK)         │
│  AdaptiveTransport(Control WSS + WebRTC/Relay)        │
│  RemoteServerApi(REST:login/register/refresh/TURN) │
└───────┬────────────────────────────────────────────┘
│ HTTPS + WSS
DSH Remote Server ──relay──▶ Host 插件(真实 Harness)

许可证与署名

- 本仓库以 GPL-3.0-only 发布,继承自上游 OpenCodeUI;
上游版权与许可证声明见 LICENSE 与 NOTICE。
- 协议栈源码 vendor 自 ds-harness-remote(MIT),
来源与改动记录见 src/dsh/VENDOR.md。
- 保留不动的上游遗留物:@opencode-ai/sdk 类型导入、docker/、openapi.json。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群