在手机上远程操作电脑端会话、审批与插件
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Imzl-zl/deepseek-harness-mobile该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 0 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)
查看扫描证据(共 33 处,展示前 25 条)
- 读取本地文件connector/src/index.ts:183
const parsed = JSON.parse(readFileSync(url, 'utf8')) as { version?: unknown } - 写入剪贴板mock/proto/app.js:3783
navigator.clipboard && navigator.clipboard.writeText(text); - 写入剪贴板mock/proto/app.js:4210
navigator.clipboard && navigator.clipboard.writeText(curFile); - 写入剪贴板mock/proto/app.js:4373
navigator.clipboard && navigator.clipboard.writeText(t.dataset.copy || ""); - 读取本地文件protocol/verify-fixtures.mjs:351
const files = readdirSync(FIXTURES_DIR).filter((f) => f.endsWith('.json')).sort() - 读取本地文件protocol/verify-fixtures.mjs:355
const fx = JSON.parse(readFileSync(join(FIXTURES_DIR, file), 'utf8')) - 读取本地文件protocol/verify-vectors.mjs:32
const hs = JSON.parse(readFileSync(join(VECTORS, 'handshake.json'), 'utf8')) - 读取本地文件protocol/verify-vectors.mjs:61
const aead = JSON.parse(readFileSync(join(VECTORS, 'aead.json'), 'utf8')) - 读取本地文件relay/src/issue-token.ts:102
const raw = await readFile(configPath, 'utf8') - 写入本地文件relay/src/issue-token.ts:116
if (found) await writeFile(configPath, `${JSON.stringify({ ...config, tokens }, null, 2)}\n`, 'utf8') - 读取本地文件relay/src/issue-token.ts:131
const raw = await readFile(configPath, 'utf8') - 写入本地文件relay/src/issue-token.ts:145
if (changed) await writeFile(configPath, `${JSON.stringify({ ...config, tokens }, null, 2)}\n`, 'utf8') - 读取本地文件relay/src/issue-token.ts:158
const raw = await readFile(configPath, 'utf8') - 写入本地文件relay/src/issue-token.ts:170
if (changed) await writeFile(configPath, `${JSON.stringify({ ...config, tokens }, null, 2)}\n`, 'utf8') - 读取本地文件relay/src/issue-token.ts:183
const raw = await readFile(configPath, 'utf8') - 写入本地文件relay/src/issue-token.ts:189
await writeFile(configPath, `${JSON.stringify({ ...config, tokens }, null, 2)}\n`, 'utf8') - 读取本地文件relay/src/issue-token.ts:209
const raw = await readFile(configPath, 'utf8') - 写入本地文件relay/src/issue-token.ts:219
await writeFile(configPath, `${JSON.stringify({ ...config, tokens }, null, 2)}\n`, 'utf8') - 读取本地文件relay/src/issue-token.ts:233
const raw = await readFile(configPath, 'utf8') - 写入本地文件relay/src/issue-token.ts:242
if (restored) await writeFile(configPath, `${JSON.stringify({ ...config, tokens }, null, 2)}\n`, 'utf8') - 读取本地文件relay/src/main.ts:120
const raw = await readFile(configPath, 'utf8') - 读取本地文件relay/src/metering-state.ts:49
raw = await readFile(path, 'utf8') - 写入本地文件relay/src/metering-state.ts:61
await rename(path, `${path}.corrupt`) - 写入本地文件relay/src/metering-state.ts:89
await writeFile(tmp, `${JSON.stringify(state)}\n`, 'utf8') - 写入本地文件relay/src/metering-state.ts:90
await rename(tmp, options.path)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
把 DeepSeek Harness 装进手机:手机端 App + 电脑侧 DSH 插件 + 公网中转(端到端加密)
README
由 DeepSeek 最新模型翻译生成DSH Mobile
把 DeepSeek Harness 装进手机:手机端 App + 电脑侧连接器 + 公网中转。
手机端 v0.2.3:会话页(新会话)/ 设置页(当前连接 · 通用偏好 · 模型)—— 截图与仓库同版本,界面改了会一起换
在手机上用什么
- 完整的会话:对话、轨迹、改动卡、文件预览,不是网页缩略版。
- 审批与提问就地答:DSH 的 composer takeover 原样搬过来,不用切回电脑。
- 子智能体与后台任务:谁在跑、跑了多久、产出什么,一屏看完。
- 插件能管:清单、逐行启停、按包卸载("是不是内置、能不能卸"由电脑侧的宿主判定,手机只显示它的原话)。
- 两种连法:同局域网/Tailscale 直连;出门在外走公网中转(端到端加密,中转只见密文与路由元数据)。
中转是选出来的:内置一条开箱即用,也可以切成自己的(换回来点一下,不用记域名)。
- 一台手机记多台电脑,同一时刻只服务一台(独占 1:1),切换是显式动作。
- 两端都能查更新:设置页「检查更新」(App;启动时静默查一次)与电脑侧面板的「版本」卡(查 npm 上的最新插件版)。只告诉你有没有新版,不自动装。
展开完整文档(README 剩余 1 节)
DSH Mobile
把 DeepSeek Harness 装进手机:手机端 App + 电脑侧连接器 + 公网中转。
手机端 v0.2.3:会话页(新会话)/ 设置页(当前连接 · 通用偏好 · 模型)—— 截图与仓库同版本,界面改了会一起换
在手机上用什么
- 完整的会话:对话、轨迹、改动卡、文件预览,不是网页缩略版。
- 审批与提问就地答:DSH 的 composer takeover 原样搬过来,不用切回电脑。
- 子智能体与后台任务:谁在跑、跑了多久、产出什么,一屏看完。
- 插件能管:清单、逐行启停、按包卸载("是不是内置、能不能卸"由电脑侧的宿主判定,手机只显示它的原话)。
- 两种连法:同局域网/Tailscale 直连;出门在外走公网中转(端到端加密,中转只见密文与路由元数据)。
中转是选出来的:内置一条开箱即用,也可以切成自己的(换回来点一下,不用记域名)。
- 一台手机记多台电脑,同一时刻只服务一台(独占 1:1),切换是显式动作。
- 两端都能查更新:设置页「检查更新」(App;启动时静默查一次)与电脑侧面板的「版本」卡(查 npm 上的最新插件版)。只告诉你有没有新版,不自动装。
组成
| 目录 | 是什么 | 安装方式 |
| app/ | Flutter 手机端:连接层 + 会话界面 | Release 里的 APK |
| connector/ | DSH 插件:电脑侧网关 | npm:dsh plugin add dsh-mobile-connector或 Release 的 dsh-mobile-connector-.tgz |
| relay/ | 公网中转(独立 Node 服务,无构建步骤) | docker compose up -d |
| protocol/ | 通道协议:握手、AEAD、流控、恢复 | 被上面两者引用 |
电脑侧:「手机」面板——总览(中转 · 在线数 · 直连端口)、连接(中转可选内置/自定义、令牌只在电脑上)、通道与地址(逐条启停/删除)、已配对设备(停用/接管/删除)、出配对码
快速开始
1. 电脑侧:装插件,在侧边栏「手机」面板选「内置中转」(或自定义)并填令牌
dsh plugin --profile <名字> add dsh-mobile-connector
2. 中转(只在需要公网时)
cd relay && docker compose up -d --build && docker compose logs -f relay
3. 手机:装 Release 里的 APK,扫电脑屏幕上的二维码
细节:连接器与中转 · 部署中转
安全模型
- 手机只信任二维码里带出的电脑公钥,不接受网络下发的公钥。
- 每连接新密钥(前向保密);配对秘密一次性,且不进中转。
- 中转只存 sha256 摘要(连接器/设备/管理令牌),只记元数据。
- 明文 ws:// 仅限私网或用户显式确认;公网请用反代终结 TLS。
开发与门禁
| 命令 | 覆盖 |
| node protocol/verify-{fixtures,loopback,vectors}.mjs | 通道协议 454 / 26 / 49 项 |
| cd relay && pnpm typecheck && node --test | 中转,161 项 |
| cd connector && pnpm exec tsc --noEmit && pnpm build && pnpm test | 插件,831 项 |
| cd app && dart format --output=none --set-exit-if-changed lib test integration_test && dart analyze --fatal-infos lib test integration_test && flutter test | 手机端,1659 项 |
dart format 是先决条件,不是风格偏好:超宽的单行 if (...) return ...; 会被它折成两行无括号形式,而 curly_braces_in_flow_control_structures 在 --fatal-infos 下就是红。
所以顺序永远是 format → analyze → test(CI 里同样是这个顺序,先红就没后面了)。
CI(ci.yml)跑同一组命令;每次 push 归档一版 debug APK。
发版见 release:v 出 APK + 插件 tgz,connector-v* 发 npm。
文档
- 协议:通道协议 · 配对 v2
- 端:连接器与中转 · 手机端通道客户端
- 操作:部署中转 · 发版
友链
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Imzl-zl/deepseek-harness-mobile
在手机上远程操作电脑端会话、审批与插件
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目