{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"perrylink-dsh-mcp-panel","slug":"perrylink-dsh-mcp-panel","rank":136,"url":"https://github.com/PerryLink/dsh-mcp-panel","name":"PerryLink/dsh-mcp-panel","category":"dev","description":{"zh":"官方 MCP 客户端（dsh-mcp-client）的只读运行时管理面板：/mcp 命令与设置页 MCP 页签展示连接状态、已注册工具、错误与重连计数，脱敏展示并提供启停 patch 建议。","en":"Read-only runtime management panel for the official DSH MCP client: connection status, registered tools, errors, and reconnect counts through the /mcp command and a Settings tab, with sanitized display and enable/disable patch suggestions."},"stars":31,"starsCheckedAt":"2026-08-21","repository":{"owner":"PerryLink","repo":"dsh-mcp-panel","requestedRef":null,"subpath":""},"npm":"dsh-mcp-panel","downloads":1152,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-mcp-panel","tarball":null,"added":"2026-08-14","page":"https://awesome-dsh-plugin.com/p/PerryLink/dsh-mcp-panel/","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":"perrylink-dsh-mcp-panel","slug":"perrylink-dsh-mcp-panel","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:21:20.116Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"689d5dc5a55eacd3d1b8146a7d830396e39fa98f","commitDate":"2026-08-21T18:50:08+08:00","artifactDigest":"sha256:c03e6e93c9248c90792153463adf10c11880f0aeacfc468ec29c6df2cca8169f","downloadUrl":"https://github.com/PerryLink/dsh-mcp-panel/archive/689d5dc5a55eacd3d1b8146a7d830396e39fa98f.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-mcp-panel","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-mcp-panel","packageVersion":"0.5.0","bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings"]},"lifecycleScripts":{"prepare":"node scripts/prepare.mjs"},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/cordis-plugin-loader","@deepseek-ai/dsh-commands","@deepseek-ai/dsh-jobs","@deepseek-ai/dsh-tools","@deepseek-ai/dsh-typert-protocol","@deepseek-ai/schemastery"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-mcp-panel","manifestName":"dsh-mcp-panel","nameMatch":true,"npm":{"name":"dsh-mcp-panel","latestVersion":"0.5.0","publishedAt":"2026-08-21T10:28:31.290Z","createdAt":"2026-08-14T11:23:18.016Z","versionCount":6,"maintainers":1,"repository":"git+https://github.com/PerryLink/dsh-mcp-panel.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"attested","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"mcp-panel","name":"dsh-mcp-panel","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","mcp","network","session","subprocess","telemetry"],"outboundHosts":[],"findings":[{"id":"HT-INSTALL-002","title":"Git 安装会触发 prepare 构建脚本","severity":"medium","confidence":"low","layer":"supply-chain","path":"package.json","pathClass":"manifest","line":170,"evidence":"\"prepare\": \"node scripts/prepare.mjs\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"该插件以 npm/tarball 预构建方式分发，prepare 不在用户机器上执行","hash":"fe611574a2e9dd5156aca68d"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/prepare.mjs","pathClass":"source","line":6,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"a25b2e787ff1f6e5fc685d33"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/prepare.mjs","pathClass":"source","line":6,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"7f1b508b50e536d42221f442"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/release.mjs","pathClass":"source","line":27,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"1de4276ac06c727a5b6b2ab2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/release.mjs","pathClass":"source","line":27,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"f735a4f41f7179ccfa16f964"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/verify-artifacts.mjs","pathClass":"source","line":5,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"309f2fc4707d8e487c23ef10"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/verify-artifacts.mjs","pathClass":"source","line":5,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"4d3264e6977950901b849b57"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/probe.ts","pathClass":"source","line":17,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"2ce54ea81e9b5868bb36c206"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/composition.spec.ts","pathClass":"test-example-docs","line":14,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"a5bba2a46e9d9f3e96a0a5af"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/composition.spec.ts","pathClass":"test-example-docs","line":14,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"d9185388774712efb7d96354"}],"counts":{"critical":0,"high":0,"medium":0,"low":7},"rawCounts":{"critical":0,"high":0,"medium":1,"low":9},"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":80,"bytesScanned":762969,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"test-example-docs":24,"markdown":14,"cordis":1,"manifest":1,"yaml":2,"source":35,"data":3}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:21:20.116Z","commit":"689d5dc5a55eacd3d1b8146a7d830396e39fa98f","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:21:01.883Z","commit":"689d5dc5a55eacd3d1b8146a7d830396e39fa98f","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:49:02.105Z","commit":"13a357d4fc448b2d87ec667b2f2969fe8faf894f","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":"689d5dc5a55eacd3d1b8146a7d830396e39fa98f","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:21:20.116Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"689d5dc5a55eacd3d1b8146a7d830396e39fa98f","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:21:01.883Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"13a357d4fc448b2d87ec667b2f2969fe8faf894f","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:49:02.105Z"}]}