dsh-install-profiler

DSH PLUGIN会话与消息

仓库 MLMLZJ/dsh-install-profiler

会话与消息 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DeepSeek Harness 插件:Windows 安装包静态画像 + 静态画像驱动的动态取证与故障排查

一句话选型结论

按资料字段整理

dsh-install-profiler 是会话与消息类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 未标注 · 未关闭 issue 未标注
最近更新 2026-10-19 创建于 未标注
README 9.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:MLMLZJ/dsh-install-profiler
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

文件读写

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-install-profiler当前 L5 · 运行验证通过 低风险 0 未标注 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方MLMLZJ仓库 dsh-install-profiler · 默认分支 未标注
分类会话与消息desktop
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证NOASSERTION商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 2026-10-19最后推送 未标注
本站收录2026-10-30首次进入本站目录的时间

README 全文

9.6 KB
作者原文,中文版优先;只做安全转义,不改内容

Install Profiler — a switchable DSH skill plugin

A DeepSeek Harness bundle that registers one model-invocable skill,
install-profiler, in the profile-global skill layer. It teaches the agent to
turn a Windows installer (or an installed application) into an evidence-backed
map — install paths, registry writes, services, config files, logs, Event Log
sources — and then diagnose install/startup/runtime faults with a
symptom→cause→mechanism→fix chain.

Part of the DSH plugins index:
Companion plugin: (decompilation;
consumes the handoff.md this plugin produces).

Disable the row (or the whole bundle) in Plugin Manager and the skill disappears
from the session catalog; enable it again and it comes back, re-reading
SKILL.md so edits apply without restarting Harness.

What it does

  • Static profiling, no execution. Classifies MSI / NSIS / Inno Setup /
    InstallShield / WiX Burn / Squirrel / Electron / MSIX / SFX packages, then
    extracts the payload and reads the install definition.
  • MSI is read as a database. export-msi-tables.ps1 drives the built-in
    WindowsInstaller.Installer COM server — no lessmsi needed — and emits
    profile.json plus one CSV per table (Directory, File, Registry,
    ServiceInstall, ServiceControl, Shortcut, Environment, CustomAction,
    InstallExecuteSequence, LaunchCondition, Upgrade, …).
  • Runtime state, read-only. collect-state.ps1 gathers uninstall entries,
    live services (with binary existence), drivers, startup items, scheduled
    tasks, Event Log source registrations, app data/log dirs, WER crash folders,
    MSI logs and pending-reboot flags, and flags concrete anomalies.
  • Fault playbook. references/fault-playbook.md carries the MSI error-code
    table, the service-startup triage order, crash evidence sources, the
    upgrade/repair/uninstall failure matrix, and how to read a before/after diff —
    with the mechanism behind each one.

Where this stops and reverse-engineering starts

The two skills are complementary, not overlapping:

  • install-profiler answers what should be observed — install layout, registry, services, logs, event sources, and which of them to watch at runtime.
  • reverse-engineering answers how to read the code — .NET (ilspycmd), Electron (asar), native (objdump/rizin/Ghidra).

When an installer is itself a .NET bootstrap or an Electron/Squirrel app and strings are not enough, build-handoff.ps1 packages the handoff: it classifies the branch (dotnet / electron / pyinstaller / native / packed), lists the facts already established, turns the gaps into branch-specific questions, emits the exact decompile commands with tool availability, and writes handoff.md + handoff.json. The receiving skill is told not to redo discovery and to tag every answer [verified]/[inferred]/[unknown].

mine-strings.ps1 covers the common case without needing any decompiler; its output is evidence of capability, not proof of behaviour.

The loop: static map → dynamic probe

Static facts say what should happen; the fault is in what actually happens.
The profile is the aiming device, not the deliverable:

export-msi-tables   → profile.json          (what the installer promises)
build-probe-plan    → probe-plan.json/.md   (exactly what to watch, and where)
capture-snapshot    → before.json           (baseline)
… reproduce ONE failing action …
capture-snapshot    → after.json
diff-snapshots      → findings.json/.md     (errors/warnings anchored to promises)

build-probe-plan resolves MSI directory roots to real machine paths, lists the
registry keys worth snapshotting (ARP, services, EventLog, Run, COM), states each
service's expected start type/account against its live state, names the process
names and config/log candidates, emits Event Log providers/IDs and Procmon filter
expressions, and produces a check list with the command and expectation for each.
It also writes ops-card.md — a one-page, copy-pasteable sheet for whoever is
fixing the machine: where everything is, the triage order, and the exact commands
for layout, process, log tail, crash events, service config, ports and uninstall.

MSI packages feed it -Profile. Portable, PyInstaller and Electron apps have no
MSI: feed it -AppDir plus the collect-state / mine-strings output, and the
plan is built from real machine paths and runtime-discovered directories instead.

diff-snapshots ranks what moved: files added/removed/modified under watched
paths, registry values created/changed/deleted, service state changes, processes
appearing/exiting, ports opening/closing, new Event Log entries, new WER crash
folders.

Scripts

Script Purpose
scripts/probe-tools.ps1 Which extractor/inspector tools exist (read-only, ~2 s)
scripts/detect-installer.ps1 Classify the package + emit the extraction plan
scripts/mine-strings.ps1 No MSI database? Mine registry paths, log paths, services, URLs, GUIDs and error templates out of the binary (ASCII + UTF-16LE)
scripts/build-handoff.ps1 Package the evidence into a paste-ready brief for the reverse-engineering skill: branch, established facts, questions, commands, evidence contract
scripts/build-ops-sheet.ps1 Assemble the complete operations sheet: every uninstall value, full service registry keys, all startup entries, every log/config file, event sources, MSI registry rows + triage commands
scripts/watch-process.ps1 Sample a process over time to prove CPU/thread/handle/memory leaks and name the threads that consume CPU
scripts/export-msi-tables.ps1 MSI tables → JSON/CSV + derived profile
scripts/collect-state.ps1 Read-only runtime snapshot for an installed app
scripts/build-probe-plan.ps1 Static profile → targeted dynamic-observation plan
scripts/capture-snapshot.ps1 Execute the plan: files, registry, services, processes, ports, events
scripts/diff-snapshots.ps1 Before/after diff → ranked findings with mechanism hints

Invoke with powershell -NoProfile -ExecutionPolicy Bypass -File …
(Windows blocks local scripts by default).

Install (once)

From a DSH session with Full access or approval:

plugin_manager action=install_bundle target=

Confirm with approval-free cordis_inspect_query on Config, filtered by
@local/dsh-install-profiler (row id install-profiler).

On / off

  • plugin_manager action=set_plugin target=install-profiler enabled=false
  • plugin_manager action=set_plugin target=install-profiler enabled=true
  • plugin_manager action=remove_bundle target=@local/dsh-install-profiler

Layout

package.json                 bundle manifest (dsh.bundle.patch)
cordis.patch.yml             inserts row id `install-profiler`
index.js                     registers the skill via ctx.skills.register()
locale/en.json, zh.json      Plugin Manager title/description
icon.svg                     original icon
skills/install-profiler/
SKILL.md                   the instructions the model loads
references/fault-playbook.md
assets/report-template.md
assets/profile.schema.json
scripts/*.ps1                the four tools

Verified during development

  • detect-installer on a 30 MB Chinese setup EXE → 7z-sfx, medium confidence,
    correct extraction command.
  • export-msi-tables on Microsoft Visual C++ 2005 Redistributable (96 files,
    492 registry writes, 749 directory rows), Adobe Acrobat DC (64-bit)
    (6406 files, 3306 registry rows, 1 service, 6 shortcuts, 46 s) and the Office
    Click-to-Run licensing MSI (service account NT AUTHORITY\NetworkService).
  • collect-state on an installed app → uninstall entry, data dir, log files,
    pending-reboot flag.
  • mine-strings on 7zFM.exe → 4239 unique runs in 1 s, recovered Software\7-Zip\FM\Columns and the shell-extension key without any decompiler; on a 30 MB self-extracting installer it runs in ~8 s and correctly yields little, because the payload is compressed (the doc says to extract first).
  • build-handoff on a PyInstaller bundle → branch pyinstaller, 7 targeted
    questions, tool readiness (pyi-archive_viewer, python), SHA256 of the main
    executable; on 7zFM.exe → native branch with objdump/rizin availability.
  • build-probe-plan on the Acrobat profile → 85 watched paths (logical MSI
    directories resolved to real ones, incl. ProgramFilesFolder → C:\Program Files), 300 registry keys, 1 service with expected state, 32 process names,
    14 checks with commands.
  • capture-snapshot + diff-snapshots on a controlled lab: a deleted file in an
    install root reported as error/files/removed, a new log file as
    info/files/added, an edited config as info/files/modified, a new HKCU value
    as info/registry/value-created.
  • Start-type mapping cross-checked against a live service (Start=2 → auto).

Safety

The skill never runs the installer on the host and never modifies the target
machine. Repair commands are proposed, not executed, until the user explicitly
confirms the machine and the action. It refuses license/DRM circumvention and
credential extraction; profiling is limited to authorized targets.

Known traps baked into the code

PowerShell 5.1 quirks are documented in SKILL.md so the agent doesn't rediscover
them: [void] before MSI COM Execute()/Close(), no $var name that collides
with a [switch] parameter, Record.FieldCount unavailable via late binding,
Directory.DefaultDir being target:source, and -File not splitting comma lists.

常见问题

5 问
答案由本站依据条目字段整理,不引用上游原文
dsh-install-profiler 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:MLMLZJ/dsh-install-profiler` 即可。

dsh-install-profiler 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-install-profiler 安全吗?

低风险。

dsh-install-profiler 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-install-profiler 用的是什么许可证?

上游标注为 NOASSERTION。商用或二次分发前请到仓库确认许可证原文。

会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

MLMLZJ 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。