{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"fakechris-dsh-harness-ops-dsh-restart-recover","slug":"fakechris-dsh-harness-ops-dsh-restart-recover","rank":261,"url":"https://github.com/fakechris/dsh-harness-ops/tree/main/plugins/dsh-restart-recover","name":"fakechris/dsh-harness-ops#dsh-restart-recover","category":"dev","description":{"zh":"DeepSeek Harness web 重启恢复：崩溃或重启后，被打断的 agent 回合自动继续（host 侧 agent/created 监听，无浏览器时序竞态）。","en":"Restart recovery for DeepSeek Harness web: after a crash or restart, an interrupted agent turn continues automatically (host-side agent/created listener, no browser timing races)."},"stars":11,"starsCheckedAt":"2026-08-21","repository":{"owner":"fakechris","repo":"dsh-harness-ops","requestedRef":"main","subpath":"plugins/dsh-restart-recover"},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:fakechris/dsh-harness-ops#path:/plugins/dsh-restart-recover","tarball":null,"added":"2026-08-19","page":"https://awesome-dsh-plugin.com/p/fakechris/dsh-harness-ops--plugins-dsh-restart-recover/","screenshots":[],"discovery":{"provider":"awesome-dsh-plugin","channel":"plugins.json","indexUrl":"https://github.com/awesome-dsh-plugin/awesome-dsh-plugin","selection":"all curated entries"}},"report":{"sourceId":"fakechris-dsh-harness-ops-dsh-restart-recover","slug":"fakechris-dsh-harness-ops-dsh-restart-recover","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:22:55.787Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"58c04e333630108aa39f1b10bcc2de992b70e58e","commitDate":"2026-08-21T19:51:12+08:00","artifactDigest":"sha256:d1af6cacfb4a28efc8808a8608f1eb88ddc67421343ec8f09624e396c9cc43c5","downloadUrl":"https://github.com/fakechris/dsh-harness-ops/archive/58c04e333630108aa39f1b10bcc2de992b70e58e.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:fakechris/dsh-harness-ops#path:/plugins/dsh-restart-recover","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@fakechris/dsh-restart-recover","packageVersion":"0.2.1","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{"prepare":"node scripts/dsh-env.mjs tsc -p tsconfig.json"},"peerDependencies":[]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"@fakechris/dsh-restart-recover","nameMatch":null,"npm":{"name":"@fakechris/dsh-restart-recover","latestVersion":"0.2.1","publishedAt":"2026-08-14T03:13:52.437Z","createdAt":"2026-08-14T03:13:52.127Z","versionCount":1,"maintainers":1,"repository":null,"hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"restart-recover","name":"@fakechris/dsh-restart-recover","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["agent-control","environment","host-bundle","session","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-INSTALL-002","title":"Git 安装会触发 prepare 构建脚本","severity":"medium","confidence":"medium","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":9,"evidence":"\"prepare\": \"node scripts/dsh-env.mjs tsc -p tsconfig.json\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"源码安装需用户在 allowBuilds 中授权，此脚本会在安装期于用户机器执行","hash":"b869bb5e6f71fa9278843cfc"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/dsh-env.mjs","pathClass":"source","line":16,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"c326a90cdf32bf6682c12566"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/dsh-env.mjs","pathClass":"source","line":16,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"7f698625475cdba0572520e7"}],"counts":{"critical":0,"high":0,"medium":1,"low":2},"rawCounts":{"critical":0,"high":0,"medium":1,"low":2},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":7,"bytesScanned":14570,"truncated":false,"lockfiles":[],"pathClasses":{"cordis":1,"manifest":1,"source":3,"test-example-docs":1,"data":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:22:55.787Z","commit":"58c04e333630108aa39f1b10bcc2de992b70e58e","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:22:38.162Z","commit":"6ac3e578781ccce9d3c05c1a660acccf2dd62cc3","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:51:16.687Z","commit":"e3701e5346a763e163da31fb4eac096f0588dd20","policyVersion":"HT-DSH-0.2.0","verdict":"caution","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"58c04e333630108aa39f1b10bcc2de992b70e58e","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:22:55.787Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"6ac3e578781ccce9d3c05c1a660acccf2dd62cc3","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:22:38.162Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"e3701e5346a763e163da31fb4eac096f0588dd20","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:51:16.687Z"}]}