{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"opencues-opencues-integrations-dsh","slug":"opencues-opencues-integrations-dsh","rank":126,"url":"https://github.com/opencues/opencues/tree/master/integrations/dsh","name":"opencues/opencues#integrations-dsh","category":"ui","description":{"zh":"在输入框内提供同义词替换与以下划线触发的补全：一行以 _ 结尾即自动补全，拼写错误在输入时即时标出。它走 dsh 已配置好的模型，因此无需额外的 API key。","en":"Word alternatives and underscore-gated fill-ins in the composer. End a line with _ and it is filled; misspellings are flagged as you type. Routes through the model dsh is already configured with, so it needs no API key."},"stars":34,"starsCheckedAt":"2026-08-21","repository":{"owner":"opencues","repo":"opencues","requestedRef":"master","subpath":"integrations/dsh"},"npm":"@opencues/dsh","downloads":312,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add @opencues/dsh","tarball":null,"added":"2026-08-18","page":"https://awesome-dsh-plugin.com/p/opencues/opencues--integrations-dsh/","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":"opencues-opencues-integrations-dsh","slug":"opencues-opencues-integrations-dsh","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:21:12.223Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"84d7cc83c954adc6f6116f3cf1627b58b472582b","commitDate":"2026-08-20T16:49:50+01:00","artifactDigest":"sha256:0871ad619c595d0e6ec4b4ea8439051a73bd5dae44bab56898437f5ae59f34cf","downloadUrl":"https://github.com/opencues/opencues/archive/84d7cc83c954adc6f6116f3cf1627b58b472582b.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add @opencues/dsh","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@opencues/dsh","packageVersion":"0.2.13","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime"],"platform":"web"},"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"@opencues/dsh","manifestName":"@opencues/dsh","nameMatch":true,"npm":{"name":"@opencues/dsh","latestVersion":"0.1.2","publishedAt":"2026-08-17T19:38:45.164Z","createdAt":"2026-08-17T18:37:33.836Z","versionCount":2,"maintainers":1,"repository":"git+https://github.com/opencues/opencues.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"opencues","name":"@opencues/dsh","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["browser-ui","credentials","environment","filesystem","host-bundle","network","subprocess"],"outboundHosts":[],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"bin/install.cjs","pathClass":"source","line":25,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"3aa3abe6afd726c93c2e4a4f"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"bin/install.cjs","pathClass":"source","line":25,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"5617f25c7e3800f33837e256"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"build.mjs","pathClass":"source","line":83,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b10cec21ffbcfa15144ca3c2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"index.js","pathClass":"source","line":15,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b447e259cd9305ea45943b5c"}],"counts":{"critical":0,"high":0,"medium":0,"low":4},"rawCounts":{"critical":0,"high":0,"medium":0,"low":4},"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":11,"bytesScanned":165306,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":3,"source":6,"cordis":1,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:21:12.223Z","commit":"84d7cc83c954adc6f6116f3cf1627b58b472582b","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:20:06.771Z","commit":"84d7cc83c954adc6f6116f3cf1627b58b472582b","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:47:57.406Z","commit":"84d7cc83c954adc6f6116f3cf1627b58b472582b","policyVersion":"HT-DSH-0.2.0","verdict":"pass","status":"static-complete"}],"events":[{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"84d7cc83c954adc6f6116f3cf1627b58b472582b","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:21:12.223Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"84d7cc83c954adc6f6116f3cf1627b58b472582b","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:20:06.771Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"84d7cc83c954adc6f6116f3cf1627b58b472582b","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:47:57.406Z"}]}