把安卓设备画面接进对话,可点按滑动与注入文字
30.6/100
综合分
1
GitHub 星标
88
npm 周下载
—/5
用户评分
数据截至 2026/10/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @nszzj/dsh-android-scrcpynpm 源 · @nszzj/dsh-android-scrcpy 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 33 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@nszzj/dsh-android-scrcpy @ 1.0.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 16:18:28
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 12 处,展示前 12 条)
- 读取本地文件lib/index.js:70
const o = JSON.parse(readFileSync(CONFIG_FILE, 'utf8')) - 写入本地文件lib/index.js:97
mkdirSync(CONFIG_DIR, { recursive: true }) - 写入本地文件lib/index.js:98
writeFileSync(CONFIG_FILE, JSON.stringify(cfg, null, 2), 'utf8') - 读取本地文件lib/index.js:117
if (cfg.adbPath && existsSync(cfg.adbPath)) return { path: cfg.adbPath, source: 'config' } - 读取本地文件lib/index.js:118
for (const c of adbCandidates()) if (existsSync(c)) return { path: c, source: 'candidate' } - 执行外部命令固定命令lib/index.js:120
if (spawnSync('adb', ['version'], { stdio: 'ignore' }).status === 0) return { path: 'adb', source: 'PATH' } - 执行外部命令来自配置/变量lib/index.js:130
execFile(bin, sn ? ['-s', sn].concat(args) : args, { maxBuffer: 16 * 1024 * 1024, windowsHide: true }, (err, stdout, stderr) => { - 执行外部命令来自配置/变量lib/index.js:142
execFile(bin, ['version'], { windowsHide: true }, (err, stdout, stderr) => resolve({ err, stdout: String(stdout || ''), stderr: String(stderr || '') } - 写入本地文件lib/index.js:261
appendFileSync(join(os.tmpdir(), 'dsh-scrcpy-ws.log'), line) - 执行外部命令来自配置/变量lib/index.js:539
execFile(ADB, ['-s', sn].concat(args), { encoding: 'buffer', maxBuffer: 64 * 1024 * 1024, windowsHide: true }, (err, stdout, stderr) => { - 读取本地文件lib/index.js:666
if (!existsSync(JAR_LOCAL)) return { ok: false, error: '包内资源缺失:' + JAR_LOCAL } - 执行外部命令来自配置/变量lib/index.js:706
dev.serverProc = spawn(ADB, ['-s', sn, 'shell', cmd], { stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true })
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 多设备实时投屏
- 鼠标点按滑动
- 注入文字
展开完整介绍(186 字)↓
DSH 的安卓投屏 provider —— 通过 adb(USB 调试或已配对的无线调试)把安卓设备接进对话: 多设备实时投屏、鼠标点按滑动、返回/主页与音量电源按键、控件树读取、UHID 虚拟外接键盘(PC 键盘直接变设备键盘); AI 可以截图识别画面、读控件清单、按坐标点击与长按、注入文字。界面与 AI 工具在 dsh-scrcpy-core,两个平台可同时投屏。
最近更新
在 GitHub 查看全部 →1.0.22026-10-01
· 更新日志 — 修复改名后装不上(前后翻车三次)
· 修复
· 第一次:装不上,报 failed to import:给包加 npm scope 时,包名、README、安装记录都改了,
唯独忘了 cordis.patch.yml 里硬编码的包名。加载器按旧名找不到包。
· 第二次:1.0.1 还是装不上:名字改对了,但 name: @nszzj/... 没加引号 —— YAML 里以 @ 开头的裸标量是非法字符,
DSH 当场拒装(bad indentation of a mapping entry)。
· 第三次:1.0.2 装上了,但 DSH 起不来:client/client.js 里还硬编码着旧 id 'dsh-scrcpy-core',
客户端半区被加载两次 → duplicate factory registration → web boot 失败、应用打不开。
现在 id 已改,并加了一道幂等守卫(第二次执行直接跳过,不再重复注册)。
· 自我评价:三刀,一刀比一刀深 —— 先漏配置、再漏 YAML 语法、最后漏客户端入口,
全靠 DSH 的崩溃日志才把最后一处挖出来。作者是个傻逼,认了。
· 安装方式
在 DSH 的插件面板里装上:
· core(必装):@nszzj/dsh-scrcpy-core@1.0.2
· 本包:@nszzj/dsh-android-scrcpy@1.0.2
或者下载下方的 Provider tgz包 和 Core tgz包。
1.0.02026-09-29
· 安装方式
在 DSH 的插件面板里装上:
· core(必装):@nszzj/dsh-scrcpy-core
· 本包:@nszzj/dsh-android-scrcpy
或者下载下方的 Provider tgz包 和 Core tgz包。
provider 单独装不会激活(设计如此,不是报错)。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-android-scrcpy
DSH 的安卓投屏 provider —— 让 DSH 通过 adb 连上安卓设备:看画面、点/滑、按键、读控件树、给 AI 看。
界面、AI 工具、设备与焦点、路由、门槛全在 core 里;本包只负责"这台设备怎么连、怎么点、怎么出画面"。
这是什么
| 角色 | dsh-scrcpy 的 provider(安卓平台) |
| 依赖 | 需要 dsh-scrcpy-core(不装它本包不激活)。本包不声明对 core 的包依赖 —— 两包自由装,互不自动拉取 |
| 传输 | adb:USB 调试,或已配对的无线调试 |
| 协议 | scrcpy-server 4.1 的 video + control 两路 socket;本 provider 在流路径里:自己解包、自己维护 GOP 缓存、自己把画面尺寸推给浏览器半区 |
| sidecar 生命周期 | scrcpy-server.jar → adb push → 设备上 app_process 起进程 → adb forward 分配端口;就绪判据 = /proc/net/unix 里出现 @scrcpy |
| 没有 | 浏览器半区、AI 工具、AI 提示词、UI 注册、焦点逻辑(都归 core) |
特点
| 特点 | 说明 |
展开完整文档(README 剩余 1 节)
dsh-android-scrcpy DSH 的安卓投屏 provider —— 让 DSH 通过 adb 连上安卓设备:看画面、点/滑、按键、读控件树、给 AI 看。 界面、AI 工具、设备与焦点、路由、门槛全在 core 里;本包只负责"这台设备怎么连、怎么点、怎么出画面"。 这是什么 | 角色 | dsh-scrcpy 的 provider(安卓平台) | | 依赖 | 需要 dsh-scrcpy-core(不装它本包不激活)。本包不声明对 core 的包依赖 —— 两包自由装,互不自动拉取 | | 传输 | adb:USB 调试,或已配对的无线调试 | | 协议 | scrcpy-server 4.1 的 video + control 两路 socket;本 provider 在流路径里:自己解包、自己维护 GOP 缓存、自己把画面尺寸推给浏览器半区 | | sidecar 生命周期 | scrcpy-server.jar → adb push → 设备上 app_process 起进程 → adb forward 分配端口;就绪判据 = /proc/net/unix 里出现 @scrcpy | | 没有 | 浏览器半区、AI 工具、AI 提示词、UI 注册、焦点逻辑(都归 core) | 特点 | 特点 | 说明 | | 跨平台多设备 | 多台同时投屏,各自独立会话与独立标签页;安卓和鸿蒙可以同时显示,互不冲突。操作只作用于当前聚焦(面板可见)的那台,不会点错 | | UHID 虚拟外接键盘 | PC 键盘直接变成设备的外接键盘(发的是真 HID 报告),不是"文本注入"那种替代方案 | | 转屏 | 转屏后画面跟着走,不需要重连、不会黑屏(重建只由流里的 SPS 驱动,平台无关) | | 切页 / 暂停 | 切走时自动暂停:不用常驻、也不用断开重连,暂停期间占资源很少;切回来立刻出画(provider 侧缓存"配置 + 最近关键帧起到现在的帧"并补发);暂停期间转过屏,切回来也不崩 | | 画质 | 有线 / 无线分别配缩放与帧率;两端都能到原画,帧率 120 封顶 | | AI 操作与权限 | 界面与全部 AI 工具在 core(截图识别 / 控件清单 / 点击 / 长按 / 按键 / 文字输入);权限四项各自"禁止使用 / 每次确认 / 无需确认"三态,后三项依赖截图,关掉时工具直接报原因、不反复重试 | | 自由装卸 | provider 不含界面、不含 AI、不写提示词;装 core + 装对应平台的 provider 即可,两个 provider 各装各的、互不拉依赖 | 安装 在 DSH 的插件面板里装上两个包: | 顺序 | 装什么 | 地址 | | 1 | core —— 界面与 AI 工具都在这里 | @nszzj/dsh-scrcpy-core | | 2 | 本包 @nszzj/dsh-android-scrcpy —— 安卓 provider | @nszzj/dsh-android-scrcpy | - 两包各装一次,别只装 provider(core 缺了本包不会激活) - 装完 完全退出 DSH 再打开(宿主半区改动只有重启才生效;浏览器半区刷新即可) - 只装 provider 不装 core:本包因注入不满足而静默不激活(设计如此,不是 bug) 快速开始 1. 设备端打开 USB 调试,确认 adb devices 能看到它(无线调试同理) 2. DSH 顶部菜单 → 设备列表里出现这台设备(core 每 3 秒拉一次,本包只负责上报) 3. 「连接设置」里可以配: - adb 路径(不在 PATH 时) - 画面四件套:有线 1/2 · 60fps、无线 1/4 · 30fps(默认值;两端都能到"原画",帧率 120 封顶) 环境要求 - adb(按「连接设置里的路径 → 环境变量 → PATH」依次找) - 一台安卓设备 + USB 调试(或已配对的无线调试) - 不需要 Java —— scrcpy-server 由设备上的 app_process 直接跑 目录结构 lib/index.js provider 实现(3.0.0 形状:传输 / 发现 / 动作 / 环境检测 / 连接配置 + 画面四件套) resources/scrcpy-server-v4.1 scrcpy 项目自己的服务器文件,运行时 adb push 到设备 cordis.patch.yml DSH 插件清单 Dev/demo/ 独立测试件(不依赖 DSH,也不进 npm 包) Dev/doc.md 开发资料说明(含"基于 core 开发 provider"的链接) 已知限制 - 连接中途不能改缩放/帧率:两个平台都不支持中途换档,要换就断开重连(改设置只对下次连接生效) - 首次连接/授权类弹窗要人在设备上点确认,provider 不能代劳 - 断流/切后台后的恢复依赖 GOP 补发;若设备端太久没出关键帧,恢复会慢一点 二次开发 - 本目录的开发资料(每个 demo 是干嘛的、怎么跑)→ Dev/doc.md - 基于 core 开发一个 provider(契约、core 会调你的动作、文案与语言规则、坐标与画面尺寸的坑)→ core/Dev/doc.md - 逐字段契约以 core 的 CONTRACT.md 为准 许可与第三方 - 本包:MIT - 随包发布 resources/scrcpy-server-v4.1 —— 来自 Genymobile/scrcpy,Apache-2.0,版权 Copyright (C) 2018 Genymobile / Copyright (C) 2018-2026 Romain Vimont,原样分发、未修改。 出处、许可与完整许可文本见 THIRD_PARTY_NOTICES.md。 - Dev/demo/jmuxer.min.js(开发件,不随 npm 包发布,但随 Git 仓库分发)→ 声明在 Dev/demo/THIRD_PARTY_NOTICES.md
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ns-zzj/dsh-android-scrcpy
把安卓设备画面接进对话,可点按滑动与注入文字
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71
这是你的仓库?认领条目