{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"pgzxb-dsh-feishu","slug":"pgzxb-dsh-feishu","rank":165,"url":"https://github.com/PGZXB/dsh-feishu","name":"PGZXB/dsh-feishu","category":"notify","description":{"zh":"DeepSeek Harness 的飞书 UI：面板驱动控制台——每个斜杠命令都是 ⚙️ 控制面板卡片上的按钮，卡内审批与提问，流式卡片，扫码一次完成配置。","en":"Feishu (Lark) UI for DeepSeek Harness — a panel-driven control console: every slash command is a button on the ⚙️ control-panel card, in-card approvals and questions, live streaming cards, and one-QR app setup."},"stars":23,"starsCheckedAt":"2026-08-21","repository":{"owner":"PGZXB","repo":"dsh-feishu","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:PGZXB/dsh-feishu","tarball":null,"added":"2026-08-17","page":"https://awesome-dsh-plugin.com/p/PGZXB/dsh-feishu/","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":"pgzxb-dsh-feishu","slug":"pgzxb-dsh-feishu","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:21:40.894Z","scanStatus":"static-complete","verdict":"pass","score":98,"commit":"10b34ff5fd503666ac577a863352ac7b09f6bf7e","commitDate":"2026-08-22T03:43:36+08:00","artifactDigest":"sha256:17f0aa54d8bbbac8c6f5a3ee5c167946c6e921fa8e8293742553104cd373d9e4","downloadUrl":"https://github.com/PGZXB/dsh-feishu/archive/10b34ff5fd503666ac577a863352ac7b09f6bf7e.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:PGZXB/dsh-feishu","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@dsh-feishu/dsh-feishu","packageVersion":"0.2.0","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-agent","@deepseek-ai/dsh-commands","@deepseek-ai/dsh-credentials","@deepseek-ai/dsh-schedule","@deepseek-ai/dsh-session","@deepseek-ai/dsh-user-approval","@deepseek-ai/dsh-user-questions"]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"@dsh-feishu/dsh-feishu","nameMatch":null,"npm":{"name":"@dsh-feishu/dsh-feishu","latestVersion":"0.2.1","publishedAt":"2026-08-20T05:27:03.337Z","createdAt":"2026-08-14T20:21:01.658Z","versionCount":4,"maintainers":1,"repository":null,"hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"feishu","name":"@dsh-feishu/dsh-feishu","path":"cordis.patch.yml","disabled":false},{"id":"tool-ask-user","name":"@deepseek-ai/dsh-tool-ask-user","path":"cordis.patch.yml","disabled":false},{"id":"schedule","name":"@deepseek-ai/dsh-schedule","path":"cordis.patch.yml","disabled":false},{"id":"storage","name":"@deepseek-ai/dsh-storage","path":"cordis.patch.yml","disabled":false},{"id":"storage-json","name":"@deepseek-ai/dsh-storage-json","path":"cordis.patch.yml","disabled":false},{"id":"storage-domain","name":"@deepseek-ai/dsh-storage-domain","path":"cordis.patch.yml","disabled":false},{"id":"workspace","name":"@deepseek-ai/dsh-workspace","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":1,"clientPlatform":null,"parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","mcp","network","session","subprocess","telemetry"],"outboundHosts":[{"host":"open.feishu.cn","count":2},{"host":"ask.feishu.cn","count":2},{"host":"accounts.feishu.cn","count":1}],"findings":[{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":".dsh/skills/feature-development/scripts/check-acceptance.mjs","pathClass":"source","line":15,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"70a3eafe9f8b080439cc7957"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":".dsh/skills/feature-development/scripts/check-acceptance.mjs","pathClass":"source","line":15,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"395bad099320443477f0f748"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":".dsh/skills/feature-development/scripts/new-feature.mjs","pathClass":"source","line":21,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"524b6a0c9bb12cd062d9a11b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":".dsh/skills/feature-development/scripts/new-feature.mjs","pathClass":"source","line":21,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"3ab4b7c0f1236f45ac3550dc"},{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"low","confidence":"high","layer":"dsh-semantics","path":"cordis.patch.yml","pathClass":"cordis","line":40,"evidence":"!!js dshHomePath('storages')","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","hash":"23430c0c0d63edc263771304"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"e2e/scripts/e2e-container.mjs","pathClass":"test-example-docs","line":37,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"b2b26c12c498df13260ef109"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"e2e/scripts/e2e-container.mjs","pathClass":"test-example-docs","line":37,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"fef78cedb25967154db51bd9"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"e2e/scripts/e2e-setup.mjs","pathClass":"test-example-docs","line":26,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"ef731e7d755f16b0c3e55bb5"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"e2e/scripts/e2e-setup.mjs","pathClass":"test-example-docs","line":26,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"9147fa4e6610fea704f7d7fa"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"e2e/scripts/e2e-ui.mjs","pathClass":"test-example-docs","line":24,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"f59355a9b3336285c8d37fe7"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"e2e/scripts/e2e-ui.mjs","pathClass":"test-example-docs","line":24,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"e43aa3ef56cc896bfbc2c394"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-conventions.mjs","pathClass":"source","line":18,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"a26b7d4d469a7f7f0f022aa2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-conventions.mjs","pathClass":"source","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"064744ab5d2c41639e20b263"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-mergeable.mjs","pathClass":"source","line":16,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"29df64a9dc055cdf5431d806"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/check-mergeable.mjs","pathClass":"source","line":16,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b4e91d9faffef67902aaf057"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/release.mjs","pathClass":"source","line":29,"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":29,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"f735a4f41f7179ccfa16f964"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/run-gates.mjs","pathClass":"source","line":21,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"ef157d446ef36369e89a9bd4"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/run-gates.mjs","pathClass":"source","line":21,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"6dd44c0ebe55daff69c81245"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/projects.ts","pathClass":"source","line":12,"evidence":"execSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"07a60bca69d2ddb6d87f3838"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/projects.ts","pathClass":"source","line":19,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"465f0cb990eae13b11df2637"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/setup/cli.ts","pathClass":"source","line":14,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"fff14e8735ddecf6061f8cbc"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/setup/cli.ts","pathClass":"source","line":14,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"9da30fc5b79c036807069d83"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/inbound-attachments.spec.ts","pathClass":"test-example-docs","line":13,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4e2b820d0e7e463df80ca384"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/inbound-attachments.spec.ts","pathClass":"test-example-docs","line":13,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"a992544fc673fc85f8663796"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/inbound-rich-text.spec.ts","pathClass":"test-example-docs","line":18,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"579170baee8cd1424a979d3f"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/inbound-rich-text.spec.ts","pathClass":"test-example-docs","line":18,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"cc1be5983395fdfc5f5713b8"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/inbound-wait-instruction.spec.ts","pathClass":"test-example-docs","line":14,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"45d22b293c039a76d726289d"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/inbound-wait-instruction.spec.ts","pathClass":"test-example-docs","line":14,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"ad879f77f579ff8cd194bd1b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/outbound-files-images.spec.ts","pathClass":"test-example-docs","line":16,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"3390c6c84ec11757d2a264b0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/outbound-files-images.spec.ts","pathClass":"test-example-docs","line":16,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"6a3718a6c4fae985bcfea5ae"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/real-composition.spec.ts","pathClass":"test-example-docs","line":19,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4943b4ccfc5d7d3e8126a0e9"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/real-composition.spec.ts","pathClass":"test-example-docs","line":19,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"860ae7b0871632ea1458124c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/scenarios.spec.ts","pathClass":"test-example-docs","line":15,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"d0f5bb69ca16d71f2a83291f"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/scenarios.spec.ts","pathClass":"test-example-docs","line":15,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4c126110b75fc41c7b777c1c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/turn-produced-files.spec.ts","pathClass":"test-example-docs","line":19,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"6f6ce66c660ad436b47b9963"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"tests/integration/turn-produced-files.spec.ts","pathClass":"test-example-docs","line":19,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"b77118b4d8afa644c089360a"}],"counts":{"critical":0,"high":0,"medium":0,"low":17},"rawCounts":{"critical":0,"high":0,"medium":0,"low":37},"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":156,"bytesScanned":2410478,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"markdown":24,"source":58,"test-example-docs":66,"data":4,"cordis":1,"manifest":1,"yaml":2}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:21:40.894Z","commit":"10b34ff5fd503666ac577a863352ac7b09f6bf7e","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:21:07.038Z","commit":"c58683b6acb39f332a0f9708f2ca2aba4a971572","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:49:07.587Z","commit":"c58683b6acb39f332a0f9708f2ca2aba4a971572","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":"10b34ff5fd503666ac577a863352ac7b09f6bf7e","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:21:40.894Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"c58683b6acb39f332a0f9708f2ca2aba4a971572","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:21:07.038Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"c58683b6acb39f332a0f9708f2ca2aba4a971572","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:49:07.587Z"}]}