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

插件解析器手机版 sakikoTGW/dsh-plugin-resolver-dshgo

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

在手机上搜索、解析并安装插件,带镜像与代理回退

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 35 处,展示前 26 条)
  • 读取本地文件
    plugin/host/register.js:33
    const stat = statSync(new URL(file, LOGIC_DIR))
  • 读取本地文件
    plugin/logic/install.js:116
    return JSON.parse(await readFile(path.join(packageDir, 'package.json'), 'utf8'))
  • 读取本地文件
    plugin/logic/install.js:145
    if (existsSync(path.join(candidate, 'package.json'))) return candidate
  • 读取本地文件
    plugin/logic/install.js:160
    entries = await readdir(current, { withFileTypes: true })
  • 读取本地文件
    plugin/logic/install.js:177
    files.push(`${path.relative(dir, abs).split(path.sep).join('/')}:${sha256(await readFile(abs))}`)
  • 读取本地文件
    plugin/logic/install.js:198
    const manifest = JSON.parse(await readFile(path.join(dir, 'package.json'), 'utf8'))
  • 读取本地文件
    plugin/logic/install.js:307
    if (typeof explicit === 'string' && explicit !== '' && existsSync(explicit)) return explicit
  • 请求外部主机codeload.github.com
    plugin/logic/install.js:470
    const response = await fetch('https://codeload.github.com/', { method: 'HEAD', signal: controller.signal, redirect: 'manual' })
  • 发起网络请求
    plugin/logic/install.js:470
    const response = await fetch('https://codeload.github.com/', { method: 'HEAD', signal: controller.signal, redirect: 'manual' })
  • 删除本地文件递归
    plugin/logic/install.js:505
    await rm(temp, { recursive: true, force: true })
  • 写入本地文件
    plugin/logic/install.js:506
    await mkdir(temp, { recursive: true })
  • 写入本地文件
    plugin/logic/install.js:508
    await writeFile(tarball, bytes)
  • 写入本地文件
    plugin/logic/install.js:510
    await mkdir(extractDir, { recursive: true })
  • 删除本地文件递归
    plugin/logic/install.js:516
    await rm(root, { recursive: true, force: true })
  • 写入本地文件
    plugin/logic/install.js:517
    await mkdir(path.dirname(root), { recursive: true })
  • 写入本地文件
    plugin/logic/install.js:518
    await rename(path.join(extractDir, children[0].name), root)
  • 删除本地文件递归
    plugin/logic/install.js:519
    await rm(temp, { recursive: true, force: true })
  • 发起网络请求
    plugin/logic/install.js:535
    const response = await fetch(url, { signal: controller.signal, redirect: 'follow' })
  • 读取本地文件
    plugin/logic/util.js:38
    return JSON.parse(readFileSync('/etc/dsh-app/runtime.json', 'utf8'))
  • 读取本地文件
    plugin/logic/util.js:71
    return JSON.parse(await readFile(file, 'utf8'))
  • 写入本地文件
    plugin/logic/util.js:85
    await mkdir(path.dirname(file), { recursive: true })
  • 写入本地文件
    plugin/logic/util.js:86
    await writeFile(file, JSON.stringify(value), 'utf8')
  • 发起网络请求
    plugin/logic/util.js:101
    const response = await fetch(url, {
  • 发起网络请求
    plugin/logic/util.js:124
    const response = await fetch(url, {
  • 执行外部命令来自配置/变量
    plugin/logic/util.js:172
    const child = spawn(file, argv, {
  • 读取本地文件
    plugin/logic/util.js:226
    return existsSync(target)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:codeload.github.com

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

dsh-plugin-resolver 的 dsh-go 手机 harness 适配版:原生卡片、镜像/GitHub 代理回退、deep 校验;含两轮消融数据与 6 条问题记录

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-resolver-dshgo dsh-plugin-resolver 的 dsh-go 手机 harness 适配版:工具名、参数、版本选择规则、安装路径全部沿用上游;改动只针对「在手机上跑」和「在 dsh-go 里看」。 - 包名:dsh-plugin-resolver-dshgo · 版本:0.1.3-go.1 · License:MIT(上游 sakikoTGW,本仓库为适配分支) - 上游基线:dsh-plugin-resolver@0.1.3(engines.dsh >=0.2.0-rc.2 <0.3.0,Node >=20) - 本机验证环境:dsh-go(Android · arm64 proot)· DSH 0.2.1-rc.2 · Node 24.22.1 · pnpm 11.28.5 安装 npm(推荐) dsh plugin --profile web add dsh-plugin-resolver-dshgo GitHub 源(锁 tag,或换成 Release 页里的完整 commit) dsh plugin --profile web add github:sakikoTGW/dsh-plugin-resolver-dshgo#v0.1.3-go.1 本地开发(装的是指向 plugin/ 的链接,别删这个目录)
展开完整文档(README 剩余 1 节)
dsh-plugin-resolver-dshgo

dsh-plugin-resolver 的 dsh-go 手机 harness 适配版:工具名、参数、版本选择规则、安装路径全部沿用上游;改动只针对「在手机上跑」和「在 dsh-go 里看」。

- 包名:dsh-plugin-resolver-dshgo · 版本:0.1.3-go.1 · License:MIT(上游 sakikoTGW,本仓库为适配分支)
- 上游基线:dsh-plugin-resolver@0.1.3(engines.dsh >=0.2.0-rc.2 <0.3.0,Node >=20)
- 本机验证环境:dsh-go(Android · arm64 proot)· DSH 0.2.1-rc.2 · Node 24.22.1 · pnpm 11.28.5

安装

npm(推荐)

dsh plugin --profile web add dsh-plugin-resolver-dshgo

GitHub 源(锁 tag,或换成 Release 页里的完整 commit)

dsh plugin --profile web add github:sakikoTGW/dsh-plugin-resolver-dshgo#v0.1.3-go.1

本地开发(装的是指向 plugin/ 的链接,别删这个目录)

git clone https://github.com/sakikoTGW/dsh-plugin-resolver-dshgo
dsh plugin --profile web add /path/to/dsh-plugin-resolver-dshgo/plugin

卸载

dsh plugin --profile web remove dsh-plugin-resolver-dshgo

装完在 dsh-go 引擎页重启一次引擎,四个工具(plugin_search / plugin_resolve / plugin_install / plugin_status)就上线了;之后改 logic/ 下一次工具调用即生效,改 host/register.js 或 index.js 需重启引擎。

可选配置(profile 的 cordis.patch.yml)

- id: plugin-resolver
config:
registry: https://registry.npmmirror.com
githubProxy: https://gh-proxy.com
catalogTtlMs: 43200000

环境变量:DSH_GITHUB_PROXY(GitHub 下载前缀)、DSH_GO=1(在非 dsh-app 主机上强制按手机处理)、DSH_PNPM_PATH(源码构建用的 pnpm)。

相对上游改了什么

| 上游行为 | 手机上的问题 | 适配版 |
| 输出只有纯文本 | 手机上长报告难读 | 四个工具都带 presentationMeta → dsh-go/view 卡片:搜索是列表、解析是计划卡、安装是步骤条、状态是清单。文字版原样保留,桌面端不受影响 |
| 安装后提示 restart DSH fully / Ctrl+R | 这两个操作在 App 里不存在 | 检测到 dsh-go 时改成「在 App 的引擎页重启引擎」「下拉刷新会话」 |
| GitHub 只直连 codeload,代理只能写 profile patch | 手机网络经常连不上 | 支持 DSH_GITHUB_PROXY;直连失败自动换 gh-proxy.com / ghfast.top;成功的下载方式记 7 天,下次先走它 |
| registry 缺省回落 npmjs.org | 手机上容易 90 秒超时 | dsh-go 上缺省回落 registry.npmmirror.com |
| profile 推断按 desktop → web | 手机只有 web,顺序反了会读错 | dsh-go 上按 web → desktop |
| pnpm install 跳过被 pnpm 11 拦下的构建脚本却不吭声 | 会出现「构建成功但产物坏」 | 解析 Ignored build scripts:,在文字和卡片里告警;plugin_install 的 pendingBuilds 也一并提示 |
| 构建超时 20 分钟、下载 5 分钟 | 手机后台易被冻结 | dsh-go 上构建 10 分钟、单次下载 90 秒,失败快速换镜像 |
| 源码构建无沙箱、以 root 执行 | 风险不透明 | 计划卡和安装卡上直接写明,只构建可信仓库 |
| plugin_status 把绝对路径加载的 entry 当第三方 | dsh-app 的桥接会混进列表 | 过滤绝对路径 / cordis: / file: / node: |
| resolvePnpm() 只认 DSH_PNPM_PATH 和 PATH | 部分宿主的 pnpm 不在 PATH | 追加 /usr/local/bin/pnpm、/usr/bin/pnpm、/opt/pnpm/bin/pnpm |
| 模型侧输出约 1.8 KB | 每步都要重读 | 约 270 B(卡片信息不变),版本文档缓存 10 分钟 |
| 安装后校验只能读 loader | headless 没有 HMR,看不到 entry | 新增 verify: "quick" \| "deep";deep 会 --dump-config + 真启动一次 profile |

细节与卡片示意见 plugin/README.dsh-go.md。

效果(同一模型、同一任务、全新 profile)

第一轮(headless 两臂,无插件 vs 有插件)

| | 无插件 | 有插件 |
| 耗时 | 337 / 215 s | 116 / 125 s |
| step | 37 / 42 | 19 / 18 |
| 输入+输出 token | 72.7k / 60.2k | 15.2k / 15.2k |

第二轮(优化后三臂:无插件 / 插件 quick / 插件 deep)

| 臂 | 墙钟 | step | 工具调用 | 输入+输出 token |
| 无插件 | 187.0 s | 21 | 33 | 29,423 |
| 插件 + quick | 54.6 s | 15 | 14 | 14,245 |
| 插件 + deep | 48.4 s | 2 | 1 | 1,927 |

deep 的 48.4 s 里有 26.7 s 是它自己启动一次 profile 验所有 entry——即使这样仍最快,因为全程只有 1 次工具调用。结论:贵的不是校验,是模型为自证多走的十几步。

口径:第二轮 quick/deep 的提示词点名了校验方式;基线历史波动 187–337 s;单次数据看方向。完整方法、原始事件流与复现命令见 ablation/RESULTS.md、ablation/runs/。

时间花在哪(一次 121 s 的插件运行)

- 模型往返 43.1 s(18 步 × 2.4 s)
- 两次「起新引擎验证」 52.0 s(每次 26 s:4 s 启动 + 2 s 回答 + 22 s 退出等待)
- pnpm 安装 8.9 s(热缓存 3.7 s)
- 解析 2.8 s + 状态 2.4 s
- 引擎开销 8.9 s;主进程启动 4.7 s(不在会话跨度内)

那 22 s 退出等待是 dsh-builtin-browser 自己造成的:把它的 bundle 从 profile 去掉,同样命令 4.0 s 就退出(这个网络下它加载时的请求要等超时)。

发现的问题

这次适配过程中记录到 6 个 dsh-go / harness 侧的问题(会话污染、投影缓存、子代理权限、--help 启动、编译缓存、会话来源标记),详情与复现步骤见 FINDINGS.md。

复现

1) 干净 profile(headless 模板 + 账号与模型 patch,见 RESULTS.md)
dsh --profile abx-plain --from-default-profile headless

2) 需要插件的臂
dsh plugin --profile abx-quick add /path/to/plugin

3) 跑(脚本自带 flock 串行、输出 summary JSON) ./ablation/bench.sh abx-quick quick-a "在当前 profile 里安装插件 dsh-builtin-browser(npm 包),装好后确认它真的安装成功、能加载。"

已知限制

- 已装插件重复安装会被管理器拒绝(先 remove 再换版本);
- GitHub 源码构建仍在手机上以 root 执行、最长 10 分钟;
- 宣传图(plugin/assets/banner.*)上的名字是旧命名 dsh-plugin-solve-go,包名与安装命令以 dsh-plugin-resolver-dshgo 为准,改名需重绘 banner 并同步 package.json / cordis.patch.yml / 安装命令;
- 上游同名消歧、兼容性判定、重启判定等限制照旧。

许可与致谢

- 上游 sakikoTGW/dsh-plugin-resolver(MIT)· 本适配版同样以 MIT 发布,见 LICENSE。
- 适配与实验在 dsh-go(非官方 Android 客户端)上完成;dsh-go 与 DeepSeek 无关联。
预览分享卡片长什么样 ↓sakikoTGW/dsh-plugin-resolver-dshgo
分享 · DeepSeek Harness Hub
sakikoTGW/dsh-plugin-resolver-dshgo

在手机上搜索、解析并安装插件,带镜像与代理回退

这是你的仓库?认领条目

回到顶部