🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

随身连 Wade300/dsh-pocket

DeepSeek Harness
Wade30012 天前有提交已提供中文文档扫描:含敏感能力

在鸿蒙手机上远程连电脑,流式收发会话与工具卡片

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Wade300/dsh-pocket
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 36 处,展示前 19 条)
  • 读取本地文件
    host/dsh-native-host.mjs:153
    if (existsSync(file)) {
  • 读取本地文件
    host/dsh-native-host.mjs:154
    const saved = readFileSync(file, 'utf8').trim();
  • 写入本地文件
    host/dsh-native-host.mjs:162
    mkdirSync(dirname(file), { recursive: true });
  • 写入本地文件
    host/dsh-native-host.mjs:163
    writeFileSync(file, fresh + '\n', { mode: 0o600 });
  • 读取本地文件
    host/dsh-native-host.mjs:227
    if (!existsSync(link)) continue;
  • 执行外部命令固定命令
    host/dsh-native-host.mjs:229
    const ps = spawnSync('powershell.exe', ['-NoProfile', '-NonInteractive', '-Command', `(New-Object -ComObject WScript.Shell).CreateShortcut('${safe}').
  • 读取本地文件
    host/dsh-native-host.mjs:231
    if (ps.status === 0 && target && existsSync(target)) return target;
  • 读取本地文件
    host/dsh-native-host.mjs:239
    if (!existsSync(p)) throw new Error(`找不到 --dsh 指定的文件:${p}`);
  • 执行外部命令来自配置/变量
    host/dsh-native-host.mjs:242
    const probe = spawnSync(isWindows ? 'where' : 'which', ['dsh'], { encoding: 'utf8', windowsHide: true });
  • 读取本地文件
    host/dsh-native-host.mjs:248
    if (electron && !existsSync(electron)) throw new Error(`找不到 --electron 指定的文件:${electron}`);
  • 执行外部命令来自配置/变量
    host/dsh-native-host.mjs:269
    const probe = spawnSync(isWindows ? 'where' : 'which', ['7z'], { encoding: 'utf8', windowsHide: true });
  • 执行外部命令来自配置/变量
    host/dsh-native-host.mjs:302
    const out = spawnSync(SEVEN_ZIP, ['x', file, '-so'], { maxBuffer: 64 * 1024 * 1024, windowsHide: true });
  • 写入本地文件
    host/dsh-native-host.mjs:459
    try { if (!existsSync(backup)) copyFileSync(file, backup); } catch {}
  • 写入本地文件
    host/dsh-native-host.mjs:461
    writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', 'utf8');
  • 写入本地文件
    host/dsh-native-host.mjs:462
    try { renameSync(tmp, file); }
  • 删除本地文件
    host/dsh-native-host.mjs:463
    catch (e) { writeFileSync(file, JSON.stringify(data, null, 2) + '\n', 'utf8'); try { unlinkSync(tmp); } catch {} }
  • 写入本地文件
    host/dsh-native-host.mjs:463
    catch (e) { writeFileSync(file, JSON.stringify(data, null, 2) + '\n', 'utf8'); try { unlinkSync(tmp); } catch {} }
  • 执行外部命令来自配置/变量
    host/dsh-native-host.mjs:600
    const acp = spawn(acpCmd, acpArgs, { cwd: argv.cwd, env: acpEnv, stdio: ['pipe', 'pipe', 'pipe'], windowsHide: true });
  • 执行外部命令固定命令
    host/dsh-native-host.mjs:612
    if (isWindows && acp.pid) spawnSync('taskkill', ['/pid', String(acp.pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' });
扫描于 2026/11/4(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的原生 HarmonyOS 客户端:通过 WebSocket 跑 ACP,用 ArkUI 构建,不用 WebView。

README

由 DeepSeek 最新模型翻译生成
DSH Pocket · 随身连 DeepSeek Harness(DSH)的原生 HarmonyOS 客户端,用 ArkTS/ArkUI 编写,不用 WebView。 手机通过 WebSocket 连一个小型 Node 桥接服务。桥接服务用 ACP JSON-RPC 与 PC 上的 dsh --profile acp 通信。这样手机就能列出会话、流式接收回复、显示工具卡片、应答权限请求。 状态:实验性。已在 HarmonyOS NEXT(API 26)和一台折叠屏手机上测试过。难免有粗糙之处。 使用手册 · 安装 · 架构 · 排错 · 安全 功能 - 原生 ArkUI 聊天界面,不内嵌浏览器。 - 会话列表、恢复会话、新建会话、选择模型。 - 流式 Markdown:标题、列表、引用、代码围栏、表格、行内样式和链接。 - 工具调用以卡片显示,权限提示,用量行。 - 复制消息、引用回复、编辑已发送的提示词、复制代码块。 - 会话搜索和时间戳。 - 历史分页:首次打开加载最新 10 条消息;滚到顶部加载更早的页。 - 本地缓存最后打开的窗口及其最新 10 条消息;重启后网络就绪前窗口就能回来。 - 首次连接成功后,自动连接上次可用的 URL。 - 会话文件夹和隐藏会话跟随 PC 上的 ~/.dsh/storages/workspace.json。
展开完整文档(README 剩余 1 节)
DSH Pocket · 随身连

DeepSeek Harness(DSH)的原生 HarmonyOS 客户端,用 ArkTS/ArkUI 编写,不用 WebView。

手机通过 WebSocket 连一个小型 Node 桥接服务。桥接服务用 ACP JSON-RPC 与 PC 上的 dsh --profile acp 通信。这样手机就能列出会话、流式接收回复、显示工具卡片、应答权限请求。

状态:实验性。已在 HarmonyOS NEXT(API 26)和一台折叠屏手机上测试过。难免有粗糙之处。

使用手册 · 安装 · 架构 · 排错 · 安全

功能

- 原生 ArkUI 聊天界面,不内嵌浏览器。
- 会话列表、恢复会话、新建会话、选择模型。
- 流式 Markdown:标题、列表、引用、代码围栏、表格、行内样式和链接。
- 工具调用以卡片显示,权限提示,用量行。
- 复制消息、引用回复、编辑已发送的提示词、复制代码块。
- 会话搜索和时间戳。
- 历史分页:首次打开加载最新 10 条消息;滚到顶部加载更早的页。
- 本地缓存最后打开的窗口及其最新 10 条消息;重启后网络就绪前窗口就能回来。
- 首次连接成功后,自动连接上次可用的 URL。
- 会话文件夹和隐藏会话跟随 PC 上的 ~/.dsh/storages/workspace.json。
长按会话可隐藏或取消隐藏,改动会写回 PC 上的文件。
- 三折叠布局:紧凑栏、中等分栏、展开列表 + 聊天。
- 固定桥接 token,同时只允许一个活动连接,同一 IP 输错 10 次 token 封禁一小时。

工作原理

┌──────────────────────┐ WebSocket / JSON-RPC ┌──────────────────────┐
│ HarmonyOS app │ ws:// or wss:// .../ws?token=... │ Node bridge │
│ ArkTS + ArkUI │ ─────────────────────────────────► │ dsh-native-host.mjs │
└──────────────────────┘ └──────────┬───────────┘
│ stdio JSON-RPC (ACP)
▼
┌──────────────────────┐
│ dsh --profile acp │
│ DeepSeek Harness │
└──────────────────────┘

桥接服务在 ACP 之上加了几个私有方法:

| 方法 | 用途 |
| phone/hello | 桥接服务版本和工作目录 |
| phone/info | 默认 cwd 和平台 |
| phone/history | 重放会话日志,支持 limit / before 分页 |
| phone/titles | 从会话日志读取标题 |
| phone/workspaces | 读取工作区文件夹和隐藏会话 |
| phone/archive | 隐藏或取消隐藏会话,写回 workspace.json |
应用使用的 ACP 方法:initialize、session/list、session/new、session/resume、session/set_config_option、session/prompt、session/cancel,外加 session/update 通知。

环境要求

- PC:Node.js 22 或更高版本;已安装并登录 DeepSeek Harness;PATH 中有 7-Zip,用于历史回放(可选,但推荐)。
- 手机:HarmonyOS NEXT / API 12 或更高版本。项目使用 compile SDK 26,target API 12。
- 构建:DevEco Studio 与 HarmonyOS SDK。签名使用你自己的华为开发者证书。
- 网络:手机和 PC 在同一局域网,或使用 TLS 隧道做远程访问。

快速开始

1. 启动 PC 桥接

在仓库根目录执行:

node host/dsh-native-host.mjs --port 3090

Windows 上可以直接双击 host\start-native-host.cmd。

桥接会打印局域网 URL、配置后的公网 URL,以及二维码页面。固定 token 存放在:

~/.dsh/dsh-pocket-token

删除该文件即可轮换 token,也可以传入 --token <value>。

选项:

--host <addr> bind address (default: auto-detected LAN address)
--port <port> default 3090
--public-url <url> public tunnel URL; forces loopback binding and wss://
--token <value> fixed token (default: read/create ~/.dsh/dsh-pocket-token)
--no-open do not open the QR page in a browser
--list-hosts list local IPv4 addresses and exit

2. 构建并安装应用

1. 在 DevEco Studio 中打开 harmony/。
2. 配置签名:File → Project Structure → Signing Configs,使用你的华为账号。
3. 构建 entry 模块(debug 或 release),安装 HAP。

应用只申请 ohos.permission.INTERNET。

3. 连接

使用桥接打印的 URL,例如:

ws://192.168.1.10:3090/ws?token=<token>

你也可以在 PC 上打开二维码页面(http://<pc-ip>:3090/?key=<token>),用应用扫码。

首次连接成功后 URL 会保存下来,下次启动自动重连。

4. 远程访问(可选)

不要把桥接直接暴露到公网。在它前面放一个 TLS 隧道,并让桥接绑定回环地址:

node host/dsh-native-host.mjs --host 127.0.0.1 --port 3090 \
--public-url https://your-tunnel.example.com

然后让应用连接:

wss://your-tunnel.example.com/ws?token=<token>

公网模式下,/ 的控制页面同样需要 ?key=<token>。

安全

桥接 token 权限很大:拿到它,配对的手机就能驱动 DSH 智能体,在 PC 上运行工具。请像对待 SSH 密钥一样对待它。

- 别让 token 出现在截图、日志和仓库里。
- 优先用 TLS 隧道;不要把明文 ws:// 端口转发到公网。
- 桥接只接受一个活跃 WebSocket;新的有效连接会替换旧连接。
- 同一 IP 在十分钟内出现十次错误 token,该 IP 会被封禁一小时。封禁记录在内存中,重启后清除。
- 公开模式用同一个 token 保护 /;/ws 始终需要它。
- phone/archive 会写入 ~/.dsh/storages/workspace.json;bridge 会保留一份一次性的 .dshpocket.bak 备份。不要对无法恢复的 workspace 文件运行它。
- 本项目未经过审计。暴露之前请先审查代码。

详见 SECURITY.md。

限制

- ACP 只暴露 DSH 的一部分。图片/附件、终端、文件树、预览和计划视图都不可用。
- 历史回放最多保留每个会话最新的 200 条消息;应用每次翻页 10 条。
- 窗口缓存最多存 10 条消息,且每条消息都会截断。它只是图方便,不是离线归档。
- 文件夹/隐藏同步是拉取式的:手机刷新时读取 PC 上的文件,再把隐藏/取消隐藏写回去。它不是实时推送通道。并发写入遵循后写覆盖先写。
- bridge 会先解析完整会话日志,再切出一页;日志很大时,首次打开仍可能很慢。
- HarmonyOS 的 WebSocket 行为在不同版本间有差异。应用在握手时加上 ngrok-skip-browser-warning,用于 ngrok 免费隧道。

项目结构

harmony/ HarmonyOS app (ArkTS, Stage model)
AppScope/ bundle metadata
entry/src/main/ets/ pages, ACP client, Markdown renderer, storage
host/
dsh-native-host.mjs Node bridge, WebSocket server, history and workspace APIs
start-native-host.cmd Windows launcher
vendor/qrcode.js QR rendering (MIT, see vendor/NOTICE.txt)
scripts/build-hap.cmd command-line build helper
docs/ usage, install, architecture and troubleshooting

许可证

MIT。详见 LICENSE。

DeepSeek Harness 及其标识归各自所有者所有。本项目是独立客户端,不是 DeepSeek 官方项目。
预览分享卡片长什么样 ↓Wade300/dsh-pocket
分享 · DeepSeek Harness Hub
Wade300/dsh-pocket

在鸿蒙手机上远程连电脑,流式收发会话与工具卡片

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部