
SCSpotato/dsh-remote
dsh-remote
Native Android client to remotely control DeepSeek Harness (DSH) from your phone
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-better-sidebarRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/scspotato-dsh-remote)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from SCSpotato/dsh-remote, cleaned of badges and images.
DSH Remote
一千万以内,最好的遥控器。
来小d给我整个活,哇哇哇哇哇。
希望你用的开心^_^
目录
- 整体架构
- 功能特性
- 仓库结构
- 快速开始(TL;DR)
- 第一步:安装 DSH Harness
- 第二步:安装插件
- 第三步:启动 dsh web
- 第四步:Tailscale 组网
- 第五步:Caddy HTTPS 反向代理
- 第六步:手机安装并连接
- 如何自己构建 App
- 实现原理
- 常见问题(FAQ)
- 安全须知
整体架构
Android 手机 (DshRemote App)
│ HTTPS + WebSocket(/api/events.mux)
▼
Caddy 反代 (https://<你的机器>.ts.net:8443 → localhost:3080)
│
▼
DSH 宿主 (dsh web, 127.0.0.1:3080)
│ ┌─ @deepseek-ai/dsh-base
│ ├─ @deepseek-ai/dsh-web-app
│ ├─ dsh-better-sidebar (侧边栏增强)
│ ├─ dsh-computer-control (电脑控制,供模型调用)
│ └─ dsh-remote-control (本仓库:给手机提供的 /remote/* 接口)
▼
LLM(DeepSeek 等,含原生 vision 模型)
- 手机 App 只做「展示 + 交互」,所有会话、工具、文件都在电脑上的 DSH 宿主里。
dsh-remote-control是本仓库自带的服务端插件,负责暴露/remote/*路由(列目录、上传下载文件、删除重命名等)给手机 App。
功能特性
下面按界面模块,详细介绍 App 目前能实现的所有功能(基于 v1.4.4)。
首页 / Dashboard
- 连接状态:标题栏左侧的圆点实时显示与电脑 DSH 的连接状态(蓝色 = 已连接,灰色 = 未连接)。
- DeepSeek 余额卡片:显示当前 DeepSeek 账户的**余额(CNY)**与「可用」状态;点「刷新」重新查询。
- 正在运行:若电脑上正在跑任务,这里会列出「运行中 · 点击查看」的入口,点进去直接跳到对应会话。
会话管理
- 会话列表:展示所有会话,正在运行的会话实时标注。
- 新建 / 归档 / 重命名 / 搜索:随手新建会话,归档不再需要的,按标题搜索定位。
- 子代理:点「子代理」卡片进入子代理会话树,父会话下的子代理一目了然,点进去单独查看子代理的对话。
- 工作区:点「工作区文件」进入文件浏览器(见下)。
对话 / 轨迹
- 对话 / 轨迹双标签:顶部可切换「对话」和「轨迹」两个视图。
- 流式输出:助手正文与思考过程(reasoning)实时逐字显示。
- Markdown 渲染:标题、粗体、行内代码(灰底)、代码块、链接、多级列表、引用、勾选清单。
- Todo 清单:模型的任务列表实时展示进度。
- 工具调用卡:终端命令、文件编辑(diff)、搜索、网页抓取等工具,都折叠成可展开的卡片。
- 产物列表:每个回合结束,自动列出本回合新建/修改的文件路径(如
image_report.html)。 - 图片缩略图:对话里的图片(你发或 AI 生成的)以缩略图形式显示,点击即可全屏放大查看清晰原图。
- 分支(Fork)与复制:对任意一条消息一键 fork 出子会话,或复制其文本。
轨迹面板
三泳道(输入 / 模型 / 工具)时间线,展示每个回合的详细数据:
- 统计栏:轮次、步骤、模型耗时、工具耗时、首 token 延迟、输入 token 总量、缓存命中率。
- 上下文用量:已用上下文百分比(如 53%),并分解为「系统提示词 / 工具 / 对话消息」三部分的 token 占用量。
- 时间轴:按顺序 / 时长 / 真实时间查看每一步(模型、工具)的调用。
输入区
- 命令 / 权限选择器:底部可直接切换权限预设(read-only / workspace-write / danger-full-access),并列出当前生效的命令。
- 模型选择:切换 provider / model(如
deepseek-v4-flash-vision-exp),并可设推理强度(如high)。 - 图片发送:点输入框左侧的附件按钮,可从相册选图或拍照发给模型。
- 消息输入:输入框 + 发送按钮;以
/开头的行会走宿生命令通道(/plan、/goal、/permission等),而不是当普通消息发。
决策交互(内联卡片)
计划审批、工具批准、AI 提问这三类决策,都以卡片形式内联在对话流底部,不会弹窗盖住聊天内容:
- 计划审批:
确认执行/继续规划(带左侧色条 + 图标,长计划可滚动)。 - 工具批准:
允许一次/拒绝。 - AI 提问:单选 / 多选 + 自定义回答。
工作区文件管理
通过 dsh-remote-control 服务端插件,在手机上浏览电脑工作区目录:
- 目录浏览:进入任意文件夹,看子目录列表。
- 上传:把手机上的文件传到电脑当前目录。
- 下载 / 删除 / 重命名 / 复制:对文件做全套操作。
设置
- 服务器地址:填写电脑 DSH 的
https://…:8443地址,点「保存并连接」,改完自动重连。 - 语言:中文 / English 一键切换。
- 外观:浅色 / 深色 / 跟随系统三档主题。
- 通知:
- 任务完成提醒:回合完成时发送通知并播放提示音。
- 提问 / 批准提醒:AI 提问或请求批准时发送通知。
- DeepSeek 平台:查询余额 / 用量。
- 关于:显示 App 版本号。
目标 / 待办 / 后台任务
对话流中,模型正在执行的目标、任务清单和后台任务都以内联卡片透出,实时可见:
- 目标(Goal):当前正在推进的目标标题 + 状态(
active),可「暂停 / 完成」。 - 待办(Todo):模型拆出的任务清单,逐项√进度(已完成 / 进行中 / 未开始)。
- 后台任务(Jobs):正在后台跑的 Shell / 命令,显示命令与「进行中」状态。
通知与后台
- 前台服务常驻,App 退到后台也能收到:任务完成、任务出错、AI 提问、需要批准等系统通知。
- 点通知直接跳转到对应会话。
仓库结构
…
