{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"btspoony-dsh-llm-fallbacks","slug":"btspoony-dsh-llm-fallbacks","rank":213,"url":"https://github.com/btspoony/dsh-llm-fallbacks","name":"btspoony/dsh-llm-fallbacks","category":"model","description":{"zh":"基于角色的模型重试与备用策略。","en":"Role-based LLM retry & fallback strategies."},"stars":15,"starsCheckedAt":"2026-08-21","repository":{"owner":"btspoony","repo":"dsh-llm-fallbacks","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:btspoony/dsh-llm-fallbacks","tarball":null,"added":"2026-08-13","page":"https://awesome-dsh-plugin.com/p/btspoony/dsh-llm-fallbacks/","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":"btspoony-dsh-llm-fallbacks","slug":"btspoony-dsh-llm-fallbacks","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:22:21.655Z","scanStatus":"static-complete","verdict":"caution","score":93,"commit":"f0d4c91c6cfad9b9aba781bef2e77d7f04193686","commitDate":"2026-08-21T22:06:55+08:00","artifactDigest":"sha256:4c4aeb182fee7a53649235626d69cadbb888a301793bc749f533e65b7a4db8ec","downloadUrl":"https://github.com/btspoony/dsh-llm-fallbacks/archive/f0d4c91c6cfad9b9aba781bef2e77d7f04193686.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:btspoony/dsh-llm-fallbacks","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-llm-fallbacks","packageVersion":"0.3.3","bundle":{"patch":"./bundle/cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-api-remotes"],"platform":"web"},"lifecycleScripts":{"prepare":"pnpm run build"},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-agent","@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-primitives","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-commands","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-session","@deepseek-ai/dsh-settings","@deepseek-ai/dsh-typert-protocol","@deepseek-ai/dsh-typert-registry","@deepseek-ai/schemastery"]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"dsh-llm-fallbacks","nameMatch":null,"npm":{"name":"dsh-llm-fallbacks","latestVersion":"0.3.3","publishedAt":"2026-08-21T08:01:58.825Z","createdAt":"2026-08-13T16:29:42.722Z","versionCount":17,"maintainers":1,"repository":"git+https://github.com/omdsh-dev/dsh-llm-fallbacks.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"mismatch","provenance":"attested","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"bundle/cordis.patch.yml","inserts":[{"id":"llm-fallbacks","name":"dsh-llm-fallbacks","path":"bundle/cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","session","subprocess","telemetry"],"outboundHosts":[],"findings":[{"id":"HT-INSTALL-002","title":"Git 安装会触发 prepare 构建脚本","severity":"medium","confidence":"medium","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":54,"evidence":"\"prepare\": \"pnpm run build\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"源码安装需用户在 allowBuilds 中授权，此脚本会在安装期于用户机器执行","hash":"34d0fb2d8cc8e5494b8298cf"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/repair-fallbacks-switch-logs.ts","pathClass":"source","line":52,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"33e092b6f88bb59e4b07563f"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/repair-fallbacks-switch-logs.ts","pathClass":"source","line":52,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ffdabb6c4b96c7a1d7e5a185"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/validate-release-version.ts","pathClass":"source","line":24,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"5f096be217334e0fa5f6e8e6"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/validate-release-version.ts","pathClass":"source","line":24,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"19ea6f8cb12f05d176d80542"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/verify-dist.mjs","pathClass":"source","line":18,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"7f83c1208ee0f95266de2169"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/verify-dist.mjs","pathClass":"source","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b70e51c66387a23d16ce9a21"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/release-scripts.spec.ts","pathClass":"test-example-docs","line":18,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"35c4ba417d31492324f7931a"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/release-scripts.spec.ts","pathClass":"test-example-docs","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"d15d3b175393e27cb5de80f1"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/repair-fallbacks-switch-logs.spec.ts","pathClass":"test-example-docs","line":22,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"9815d04cb0294f74bcec9142"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/repair-fallbacks-switch-logs.spec.ts","pathClass":"test-example-docs","line":22,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"64379168b9fd9c5c2ca99e0d"},{"id":"HT-IDENTITY-001","title":"npm 上存在同名包但指向其他仓库","severity":"low","confidence":"medium","path":"package.json","pathClass":"manifest","line":1,"evidence":"npm repository=git+https://github.com/omdsh-dev/dsh-llm-fallbacks.git ≠ btspoony/dsh-llm-fallbacks","remediation":"npm 上存在同名包但指向其它仓库；从源码安装时请使用 github: 引用并锁定 commit。","layer":"identity","hash":"6aa968aee2d742c51181cc10"}],"counts":{"critical":0,"high":0,"medium":1,"low":7},"rawCounts":{"critical":0,"high":0,"medium":1,"low":11},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-present","vulnerabilities":"complete","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":164,"bytesScanned":2107733,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"markdown":70,"test-example-docs":49,"cordis":1,"manifest":1,"yaml":2,"source":39,"data":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:22:21.655Z","commit":"f0d4c91c6cfad9b9aba781bef2e77d7f04193686","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:22:17.988Z","commit":"3a5da0d3d40a938d08917ff893d834ada6d93f60","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:50:48.197Z","commit":"3a5da0d3d40a938d08917ff893d834ada6d93f60","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":"f0d4c91c6cfad9b9aba781bef2e77d7f04193686","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:22:21.655Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"3a5da0d3d40a938d08917ff893d834ada6d93f60","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:22:17.988Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"3a5da0d3d40a938d08917ff893d834ada6d93f60","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:50:48.197Z"}]}