{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"shengsheng90-dsh-taskboard","slug":"shengsheng90-dsh-taskboard","rank":66,"url":"https://github.com/shengsheng90/DSH-taskboard","name":"shengsheng90/DSH-taskboard","category":"workflow","description":{"zh":"本地 SQLite 任务板，以原生覆盖页呈现：项目、任务、评论、关联、附件与工作流自动化，状态流转 backlog → todo → in_progress → in_review → done；提供 `taskboard_*` Agent 工具（Agent 只能提交到 in_review，验收需人工）、无头 JSON CLI 与打包 skill。","en":"Local SQLite taskboard as a native overlay page: projects, tasks, comments, relations, attachments and workflow automation, with backlog → todo → in_progress → in_review → done statuses, `taskboard_*` Agent tools that can only submit work to in_review, a headless JSON CLI and a packaged skill."},"stars":97,"starsCheckedAt":"2026-08-21","repository":{"owner":"shengsheng90","repo":"DSH-taskboard","requestedRef":null,"subpath":""},"npm":null,"downloads":null,"installMode":"github-source","upstreamInstall":"dsh plugin --profile web add github:shengsheng90/DSH-taskboard","tarball":null,"added":"2026-08-16","page":"https://awesome-dsh-plugin.com/p/shengsheng90/DSH-taskboard/","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":"shengsheng90-dsh-taskboard","slug":"shengsheng90-dsh-taskboard","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:20:23.086Z","scanStatus":"static-complete","verdict":"caution","score":95,"commit":"dd5455bdeec3a86eaf84482ef2dd42d86c7b88aa","commitDate":"2026-08-22T00:57:39-07:00","artifactDigest":"sha256:7cf159756d27b2e69fae643de68009b806a6632f43c6ac90f05ce7a05b336934","downloadUrl":"https://github.com/shengsheng90/DSH-taskboard/archive/dd5455bdeec3a86eaf84482ef2dd42d86c7b88aa.tar.gz","installMode":"github-source","installCommand":"dsh plugin --profile web add github:shengsheng90/DSH-taskboard","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@shengsheng/dsh-taskboard","packageVersion":"0.1.3","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@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"],"platform":"web"},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis","@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-layout","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-host-apiproxy","@deepseek-ai/dsh-host-webserver","@deepseek-ai/dsh-tools","@deepseek-ai/dsh-agent","@deepseek-ai/dsh-agent-presets","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-goal","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-session","@deepseek-ai/dsh-workspace","@deepseek-ai/dsh-typert-protocol","@deepseek-ai/schemastery"]},"identity":{"status":"found","installMode":"github-source","upstreamNpm":null,"manifestName":"@shengsheng/dsh-taskboard","nameMatch":null,"npm":{"name":"@shengsheng/dsh-taskboard","latestVersion":"0.1.2","publishedAt":"2026-08-19T10:12:44.734Z","createdAt":"2026-08-16T05:26:04.791Z","versionCount":3,"maintainers":1,"repository":null,"hasInstallScripts":false,"deprecated":false},"repositoryMatch":"missing","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"taskboard","name":"@shengsheng/dsh-taskboard","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":2,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","mcp","network","subprocess"],"outboundHosts":[{"host":"taskboard.invalid","count":1}],"findings":[{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"medium","confidence":"high","layer":"dsh-semantics","path":"cordis.patch.yml","pathClass":"cordis","line":5,"evidence":"!!js process.env.DSH_TASKBOARD_DATABASE ?? '.dsh/taskboard.sqlite'","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","note":"表达式访问模块、进程或网络，超出读取注入服务的常规用法","hash":"e8ab8dbe401c5033e3bde16c"},{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"medium","confidence":"high","layer":"dsh-semantics","path":"cordis.patch.yml","pathClass":"cordis","line":6,"evidence":"!!js process.env.DSH_TASKBOARD_ATTACHMENTS ?? '.dsh/taskboard-attachments'","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","note":"表达式访问模块、进程或网络，超出读取注入服务的常规用法","hash":"2f365a486049ff23ee177bc9"}],"counts":{"critical":0,"high":0,"medium":2,"low":0},"rawCounts":{"critical":0,"high":0,"medium":2,"low":0},"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":68,"bytesScanned":880832,"truncated":false,"lockfiles":["pnpm-lock.yaml"],"pathClasses":{"test-example-docs":17,"markdown":12,"cordis":1,"source":29,"manifest":1,"yaml":3,"script":1,"data":4}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:20:23.086Z","commit":"dd5455bdeec3a86eaf84482ef2dd42d86c7b88aa","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:19:12.719Z","commit":"b3b0928172fa3f82a3802089cecb82e403b15ebc","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:46:59.657Z","commit":"b3b0928172fa3f82a3802089cecb82e403b15ebc","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":"dd5455bdeec3a86eaf84482ef2dd42d86c7b88aa","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:20:23.086Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"b3b0928172fa3f82a3802089cecb82e403b15ebc","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:19:12.719Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"b3b0928172fa3f82a3802089cecb82e403b15ebc","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:46:59.657Z"}]}