一键修复桌面端白屏闪屏与启动崩溃
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/jincheng3870682453-hash/dsh-doctor.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/26) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 158 处,展示前 34 条)
- 发起网络请求plugin/lib/client.js:120
const response = await fetch('/dsh-doctor/status' + (force === true ? '?force=1' : ''), { headers: { accept: 'application/json' } }) - 发起网络请求plugin/lib/client.js:126
const response = await fetch('/dsh-doctor/cached', { headers: { accept: 'application/json' } }) - 发起网络请求plugin/lib/client.js:132
const response = await fetch('/dsh-doctor/history', { headers: { accept: 'application/json' } }) - 发起网络请求plugin/lib/client.js:138
const response = await fetch('/dsh-doctor/rescue', { - 发起网络请求plugin/lib/client.js:148
const response = await fetch('/dsh-doctor/report', { headers: { accept: 'application/json' } }) - 发起网络请求plugin/lib/client.js:154
const response = await fetch('/dsh-doctor/update', { headers: { accept: 'application/json' } }) - 写入剪贴板plugin/lib/client.js:386
navigator.clipboard.writeText(text).then(() => { - 读取本地文件plugin/lib/index.js:65
return JSON.parse(readFileSync(path, 'utf8')) - 执行外部命令固定命令plugin/lib/index.js:73
const result = spawnSync('powershell.exe', [ - 读取本地文件plugin/lib/index.js:92
if (typeof configured === 'string' && configured.length > 0 && existsSync(configured)) return configured - 读取本地文件plugin/lib/index.js:95
if (existsSync(bundled)) return bundled - 执行外部命令来自配置/变量plugin/lib/index.js:118
const run = spawnSync(command, argv, { windowsHide: true, encoding: 'utf8', timeout }) - 读取本地文件plugin/lib/index.js:133
try { return JSON.parse(readFileSync(rescueRegistryPath(), 'utf8')) } catch (error) { return null } - 写入本地文件plugin/lib/index.js:139
writeFileSync(rescueRegistryPath(), JSON.stringify(value, null, 2), 'utf8') - 执行外部命令固定命令plugin/lib/index.js:154
const result = spawnSync('/bin/sh', ['-lc', command], { encoding: 'utf8', timeout }) - 读取本地文件plugin/lib/index.js:183
for (const entry of readdirSync(dir, { withFileTypes: true })) { - 读取本地文件plugin/lib/index.js:187
else newest = Math.max(newest, statSync(full).mtimeMs) - 写入本地文件plugin/lib/index.js:604
copyFileSync(parsed.file, backup) - 写入本地文件plugin/lib/index.js:609
try { writeFileSync(parsed.file, head.concat(body).join('\n') + '\n', 'utf8') } catch (error) { - 执行外部命令来自配置/变量plugin/lib/index.js:658
const probe = spawnSync(candidate, ['--version'], { encoding: 'utf8', timeout: 5000 }) - 执行外部命令来自配置/变量plugin/lib/index.js:682
const check = spawnSync(nodeBinary, ['--check', entry], { encoding: 'utf8', timeout: 5000 }) - 写入本地文件plugin/lib/index.js:840
writeFileSync(probe, 'ok', 'utf8') - 删除本地文件plugin/lib/index.js:851
try { unlinkSync(probe) } catch (error) { } - 写入本地文件plugin/lib/index.js:1074
mkdirSync(join(dshHome(), 'dsh-doctor'), { recursive: true }) - 写入本地文件plugin/lib/index.js:1075
writeFileSync(lastScanFile(), JSON.stringify({ at: Date.now(), findings })) - 删除本地文件plugin/lib/index.js:1187
try { unlinkSync(file) } catch (error) { } - 删除本地文件plugin/lib/index.js:1197
try { unlinkSync(file) } catch (error) { } - 删除本地文件plugin/lib/index.js:1409
try { unlinkSync(probe) } catch (error) { } - 删除本地文件plugin/lib/index.js:1422
try { unlinkSync(probe) } catch (error) { } - 删除本地文件plugin/lib/index.js:1557
try { unlinkSync(historyPath() + '.1') } catch (error) { } - 执行外部命令固定命令plugin/lib/index.js:1595
if (isWindows) spawn('cmd.exe', ['/c', 'start', '', url], { windowsHide: true, stdio: 'ignore', detached: true }).unref() - 发起网络请求plugin/lib/index.js:1744
const response = await fetch(url, { signal: AbortSignal.timeout(1500) }) - 请求外部主机api.github.complugin/lib/index.js:2355
const response = await fetch('https://api.github.com/repos/' + REPO + '/releases/latest', { - 发起网络请求plugin/lib/index.js:2355
const response = await fetch('https://api.github.com/repos/' + REPO + '/releases/latest', {
扫描于 2026/11/1(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:api.github.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
只要是 DSH 引起的毛病,无论什么奇葩症状,我都能治好。DSH 桌面端的底层运行时急救箱:一键修复图标变白/屏闪/白屏/启动崩溃,后台自动巡检 + 修复录 + 网页版逃生,支持 Windows / macOS / Linux。
README
由 DeepSeek 最新模型翻译生成DSH Doctor · DSH 私人医生
只要是 DSH 引起的毛病,无论什么奇葩症状,我都能治好。
点一下修复。
更新记录 · Bug 图鉴 · 贡献者清单 · 参与贡献
你的 DSH 已经坏了?先拿急救包
不用看报错、不用装环境、不用联网。 直接下载对应安装包,双击当急救箱用:
| 你的系统 | 下载 | 怎么用 |
| Windows | dsh-doctor.exe | 双击 → 选 1 体检 / 2 修桌面图标 / 7 起网页版 / 8 生成报告 |
| Windows,连 Node 都没装 | dsh-doctor-env-win-x64.zip | 解压 → 双击 start.cmd(自带 Node) |
| Linux / macOS | dsh-doctor-unix.tar.gz | 解压 → ./dsh-doctor.sh(需要 Node ≥18) |
只发这 3 个文件;doctor-sys.exe / dsh-doctor-native.exe 是内部组件,不再单独下载。
它不依赖 DSH 能不能启动。生成的报告已自动脱敏,可以直接提 issue 或丢给任何 AI。
下载最新版 · 更新记录 · 提 issue
写文件、改权限请在桌面双击运行;在 DSH 的沙箱终端里跑,写操作可能被限制(EXE 会打印报告并提示手动复制)。
展开完整文档(README 剩余 1 节)
DSH Doctor · DSH 私人医生 只要是 DSH 引起的毛病,无论什么奇葩症状,我都能治好。 点一下修复。 更新记录 · Bug 图鉴 · 贡献者清单 · 参与贡献 你的 DSH 已经坏了?先拿急救包 不用看报错、不用装环境、不用联网。 直接下载对应安装包,双击当急救箱用: | 你的系统 | 下载 | 怎么用 | | Windows | dsh-doctor.exe | 双击 → 选 1 体检 / 2 修桌面图标 / 7 起网页版 / 8 生成报告 | | Windows,连 Node 都没装 | dsh-doctor-env-win-x64.zip | 解压 → 双击 start.cmd(自带 Node) | | Linux / macOS | dsh-doctor-unix.tar.gz | 解压 → ./dsh-doctor.sh(需要 Node ≥18) | 只发这 3 个文件;doctor-sys.exe / dsh-doctor-native.exe 是内部组件,不再单独下载。 它不依赖 DSH 能不能启动。生成的报告已自动脱敏,可以直接提 issue 或丢给任何 AI。 下载最新版 · 更新记录 · 提 issue 写文件、改权限请在桌面双击运行;在 DSH 的沙箱终端里跑,写操作可能被限制(EXE 会打印报告并提示手动复制)。 DSH 还能用?装成插件,平时自动巡检 - 应用内:侧边栏 → 插件 → 添加,填 dsh-doctor-plugin → 安装 - 命令行:dsh plugin --profile <name> add dsh-doctor-plugin - 离线 / 本地目录:git clone 本仓库,在「添加插件」里粘 ...\dsh-doctor\plugin(仓库根不是 package,别直接填 GitHub 地址) 别装 dsh-doctor——那是第三方的同名包。详细安装见 docs/install.md。 它到底能干什么 - 查:体检本机 DSH 状态,每条带路径和原始证据,默认只读; - 修:一键修复,先备份 → 改最小 → 立刻复检,失败自动还原; - 守:后台每 30 秒巡检桌面完整性标签,被 DSH 改坏就拉回来,不闪屏; - 报:一键生成给 AI / 给 issue 的脱敏报告(求助报告 + 环境差异报告); - 逃:真修不好时,生成交接报告 + 起隔离端口的网页版 DSH 接手。 它能治哪些症状? 看 docs/fixable.md——按"你看到的现象"排,每条给根因和对应修法。 文档 | docs/install.md | 安装方式(npm / 本地 zip / 命令行 / AI)与桌面端限制 | | docs/for-contributors.md | 给贡献者的架构速览:架构图、体检/修复流水线、两种运行时、怎么加检查 | | docs/recovery.md | 文件被 DSH 删了怎么救:Git / 卷影 / 回收站 / 恢复软件 / 防复发 | | docs/fixable.md | 修复清单:按症状列出能修 / 只查,含根因 | | docs/traps.md | 踩雷清单(16 类),含根因与手工修法 | | bugs/ | Bug 图鉴:已复现的问题 + 疑似未验证清单 | | UPDATES.md | 更新记录:每个版本改了什么、怎么升级 | | HANDOFF.md | 交接文档:专项清单 + 架构 + 发布手册 + 已知风险 | | docs/baseline.md | 环境差异报告:和标准 DSH 比差在哪、怎么提交 | | docs/catalog.md | 修复目录:每条检查 / 备份位置 / 验证方式 | | docs/protocol.md | 社区检查包协议(写 JSON 就能加检查) | | doctor-sys/README.md | Rust 原语引擎:协议、15 个原语、Windows 硬规则 | | CONTRIBUTING.md | 参与贡献:提 bug、写检查包、提 PR | | CHANGELOG.md | 技术变更明细 | 贡献者清单 → 贡献者清单(CONTRIBUTORS.md) 谁报了什么坑、作者的处理节奏、怎么上榜,全部在这个独立文件里。 作者是学生:工作日要上课,issue / PR 一般集中在周末处理。 遇到问题 / 想贡献 - 遇到 bug:提 issue。模板会要 DSH 版本、操作系统、插件冲突、完整报错、以及 dsh-doctor.exe diff 生成的已脱敏诊断报告。 - 想贡献:踩到新坑就按 CONTRIBUTING.md 写进 bugs/;会写 JSON 就能加检查(协议)。 安全 - 默认只读;每个修复先备份、改完复检,失败自动还原; - 没有 shell 通道:检查包只能声明「检测原语 + 内置修复 id」; - 不碰 DSH 安装目录、不注册服务/驱动;改动均可回滚; - 报告自动脱敏:用户名 / 主机名 / 邮箱 / 用户主目录替换为 user、<machine>、user@example.com。 License MIT · 非官方项目,与深度求索无关
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
jincheng3870682453-hash/dsh-doctor
一键修复桌面端白屏闪屏与启动崩溃
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9