DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-android-portability

L

dsh-android-portability

Manifest valid

DSH 插件安卓可移植性静态体检:17 条规则查一个插件装到 DSHA(Linux arm64 + glibc proot)上会不会直接跑不起来。Static portability audit for DeepSeek Harness plugins targeting Android.

hasBundlePatchMachine translated

dsh-android-portability

发插件之前先量一下:这东西装到安卓手机上跑得起来吗?

DSHA(DeepSeek Harness for Android)里跑的是 Linux arm64 + glibc 的 proot 容器,不是你的 Windows 台式机。 一个在电脑上完美运行的 DSH 插件,搬到手机上最常见的死法有三种:

  1. 依赖 sharp / better-sqlite3 / node-pty 这类要编译的原生模块 —— arm64 预编译包多半没有,现编译又没有工具链;
  2. 代码里写死 C:\Users\...、%APPDATA%、powershell.exe —— 安卓容器里这些一个都不存在;
  3. 下载逻辑只认 x64,装到 arm64 上直接下错二进制然后崩。

这个插件在装之前把这些都指出来,逐条给 文件:行 + 原文片段 + 改法。只读源码文本,不执行、不装依赖、不联网。

装

dsha-plugin install Liaoyun666/dsh-android-portability

装完在任意会话里直接问模型「帮我查一下这个插件能不能装到手机上」,或者显式调工具:

  • dsh_check_android_portability —— 查一个插件目录
  • dsh_scan_profile_android —— 批量查 /root/.dsh/profiles/*/node_modules 里已装的插件

命令行

也能脱离 DSH 单独跑(CI 里很好用):

node tools/cli.js ./my-plugin              # 人看的报告
node tools/cli.js ./my-plugin --json       # 机器读
node tools/cli.js ./my-plugin --github     # GitHub Actions 注解,直接标在文件的对应行
node tools/cli.js . --verbose              # 每处都列出来(默认每组只列 3 处)
node tools/cli.js . --strict               # 警告也算失败
node tools/cli.js --list-rules             # 看 17 条规则

退出码:0 可装 / 1 有问题 / 2 用法错误。

17 条规则

依赖与清单(D 组)

号查什么级别
D1dependencies 里有原生模块(sharp、better-sqlite3、node-pty…)阻断
D2optionalDependencies 里只有 win32/darwin 二进制,缺 linux-arm64 那份阻断
D3安装期跑 node-gyp / node-pre-gyp / prebuild-install / cmake-js阻断
D4包里带 binding.gyp 或 .node 二进制(.wasm 只提示)阻断
D5os / cpu 字段排除了 linux / arm64阻断
D6files 白名单漏了入口文件阻断
D7engines.node 要求高于容器的 Node阻断
D8开发依赖里有原生模块提示(开发期无所谓)

源码(S 组)

号查什么级别
S1Windows 绝对路径(C:\ E:\)阻断
S2%APPDATA% 这种 Windows 环境变量阻断
S3调 cmd.exe / powershell阻断
S4引用 .bat / .ps1 / .exe警告
S5只写了 win32/darwin 分叉,安卓走 else警告
S6下载逻辑里出现 x64警告
S7写死 /bin/bash(容器里通常只有 sh)警告
S8直接 require('./x.node')阻断
S9child_process 调外部程序(PATH 很短)提示

注释行不算 —— 写了「不要用 C:\ 路径」的注释不会被误报。

误报怎么办

规则定义文件、测试样本里天然带着一堆坏例子(不然怎么测)。用 .portabilityignore 排除:

# 一行一个,支持三种写法
lib/rules.js        # 精确路径
tests/              # 目录前缀
*.min.js            # 通配符

也可以写在 package.json:

{ "dsh": { "androidPortability": { "ignore": ["generated/"] } } }

两处叠加生效。

它不做什么

  • 不执行插件代码,不 npm install,不联网 —— 纯静态读文本,安全到可以对着陌生仓库跑。
  • 不替你改代码,只给结论和改法。
  • 扫不到运行时才暴露的问题(比如某个 API 在安卓上行为不同)。静态检查的边界就到这。

开发

node --test tests/rules.test.js tests/scan.test.js tests/report.test.js tests/cli.test.js
node tools/check-manifest.js
node tools/cli.js .        # 自检:本插件自己也得是可移植的

零运行时依赖,纯 ESM,node >= 20。

License

MIT

Comments

Loading…

Similar plugins

dsh-compat-vet

by liujianqiao701

DSH(DeepSeek Harness)插件兼容性体检:预警下次启动会被拒绝加载的插件,并在页面上按键一键隔离/卸载修掉它(改前自动备份、失败自动回滚)。Plugin compatibility vet for DeepSeek Harness.

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 30, 2026

dsh plugin --profile web add dsh-compat-vet

by jkrandom-sudo

Security audit for DeepSeek Harness plugins: static permission profile with file/line evidence + a runtime sentinel gating credential access and unknown-host egress · DSH 插件安全审计:静态权限画像(附文件/行号证据)+ 运行时哨

Manifest valid

★ 4

↓ 85/wk

MIT

TypeScript

Sep 11, 2026

dsh plugin --profile web add dsh-plugin-audit

by 618527

DeepSeek Harness 插件安装前兼容性预检守卫:检查 Node/engines、@deepseek-ai 核心包 peer 版本与 dsh 清单,支持隔离试启动与确认后修复安装,防止版本不兼容导致崩溃。

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Aug 30, 2026

dsh plugin --profile web add dsh-install-guard

by feely0208

装第三方插件之前,先看它会动什么 —— 静态审查一个包的代码能力(执行/读凭据/出网/装时钩子)

Development & InfrastructureManifest valid

★ 1

MIT

Shell

Oct 21, 2026

dsh plugin --profile web add @deepwhale-cn/dsh-tool-vet

by ZSeven-W

DeepSeek Harness plugin for Android — build, run, and interact with a live emulator or USB device stream inside a conversation, driven entirely through adb.

Tools & CapabilitiesManifest valid

★ 210

MIT

TypeScript

Oct 8, 2026

dsh plugin --profile web add @zseven-w/dsh-android

by cheng-wj

DSH plugin: restart / update / inspect the DeepSeek Harness desktop app from the model side (Windows)

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Oct 21, 2026

dsh plugin --profile web add dsh-app-control