{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"vectorize-io-hindsight-coding-agents","slug":"vectorize-io-hindsight-coding-agents","rank":2,"url":"https://github.com/vectorize-io/hindsight/tree/main/hindsight-integrations/coding-agents","name":"vectorize-io/hindsight#coding-agents","category":"memory","description":{"zh":"Hindsight：会学习的 Agent 长期记忆系统，自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。","en":"Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks."},"stars":20857,"starsCheckedAt":"2026-08-21","repository":{"owner":"vectorize-io","repo":"hindsight","requestedRef":"main","subpath":"hindsight-integrations/coding-agents"},"npm":"@vectorize-io/hindsight-coding-agents","downloads":12420,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add @vectorize-io/hindsight-coding-agents","tarball":null,"added":"2026-08-15","page":"https://awesome-dsh-plugin.com/p/vectorize-io/hindsight--hindsight-integrations-coding-agents/","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":"vectorize-io-hindsight-coding-agents","slug":"vectorize-io-hindsight-coding-agents","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:19:31.323Z","scanStatus":"static-complete","verdict":"pass","score":99,"commit":"da9a588c78296527268ed492fc2cc2c687ab8118","commitDate":"2026-08-22T03:31:48Z","artifactDigest":"sha256:331994cbf2d4a006174bb48f5b271dec083f879fc0c00ea9c113e1f8c09362a5","downloadUrl":"https://github.com/vectorize-io/hindsight/archive/da9a588c78296527268ed492fc2cc2c687ab8118.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add @vectorize-io/hindsight-coding-agents","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"@vectorize-io/hindsight-coding-agents","packageVersion":"0.4.1","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":[]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"@vectorize-io/hindsight-coding-agents","manifestName":"@vectorize-io/hindsight-coding-agents","nameMatch":true,"npm":{"name":"@vectorize-io/hindsight-coding-agents","latestVersion":"0.4.1","publishedAt":"2026-08-20T08:52:57.844Z","createdAt":"2026-08-03T09:24:03.807Z","versionCount":17,"maintainers":3,"repository":"git+https://github.com/vectorize-io/hindsight.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"attested","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"hindsight","name":"@vectorize-io/hindsight-coding-agents/dsh","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","mcp","network","session","subprocess"],"outboundHosts":[{"host":"api.hindsight.vectorize.io","count":3},{"host":"docs.astral.sh","count":2},{"host":"rustup.rs","count":2},{"host":"no-color.org","count":1}],"findings":[{"id":"HT-CONFIG-001","title":"Cordis 配置包含可执行 !!js 表达式","severity":"medium","confidence":"low","layer":"dsh-semantics","path":"e2e/dsh-stub-model.cordis.yml","pathClass":"test-example-docs","line":16,"evidence":"!!js process.env.HINDSIGHT_STUB_BASE_URL","remediation":"!!js 是 DSH 的官方配置机制；只在表达式引入模块、访问进程或网络时需要额外解释。","note":"表达式访问模块、进程或网络，超出读取注入服务的常规用法；位于测试、示例或文档目录","hash":"a882f941afbfaa83440524b2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/bank-missing-dir.test.ts","pathClass":"test-example-docs","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"ff946dee7cfdd01a39d69c63"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/bank-missing-dir.test.ts","pathClass":"test-example-docs","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"dcb3fa47ac375c8d9f689206"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/bank.test.ts","pathClass":"test-example-docs","line":3,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"51f723a62f75ff798a6d8585"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/bank.test.ts","pathClass":"test-example-docs","line":3,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"6023314ea7eaa6f3e9e065e0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/bank.ts","pathClass":"source","line":24,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"5edb15ffe9643edca9762834"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/bank.ts","pathClass":"source","line":24,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"89000dd4d311b1dfe17ac5e9"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/daemon.test.ts","pathClass":"test-example-docs","line":95,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"a5b65cc5be0539e7e5dbb4d2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/daemon.test.ts","pathClass":"test-example-docs","line":178,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"a5b65cc5be0539e7e5dbb4d2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/daemon.ts","pathClass":"source","line":39,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"c6750772ea6e9a60fd69e609"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/daemon.ts","pathClass":"source","line":39,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"137657a8b0cfb95ce297ba07"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/git.gitlog.test.ts","pathClass":"test-example-docs","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"c9f1868658f5fe5373fc21b3"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/git.gitlog.test.ts","pathClass":"test-example-docs","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"4dec33c0c526d4fdba009996"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/git.ts","pathClass":"source","line":8,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"3dd5cae36c8b84019e6e6d20"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/git.ts","pathClass":"source","line":8,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"a765e24ee6806012b24bdb24"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/opt-in.test.ts","pathClass":"test-example-docs","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"345641df23e9110f5f97600d"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/opt-in.test.ts","pathClass":"test-example-docs","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"5c59660f5497b327e4f34561"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/retain-stamp.test.ts","pathClass":"test-example-docs","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"2c3e4648e38ffa53be91522d"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/retain-stamp.test.ts","pathClass":"test-example-docs","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"bf501c148749e13409f12fe1"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/seed.ts","pathClass":"source","line":10,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"6f13e413e3aba81c8e4fd1e7"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/session-start.ts","pathClass":"source","line":99,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"c7a0d0c78f6ea49d23b46077"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/session-start.ts","pathClass":"source","line":99,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"f22cda184a1752260190e076"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/status.test.ts","pathClass":"test-example-docs","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"015526ae7af4872c1595d65c"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/core/status.test.ts","pathClass":"test-example-docs","line":1,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"971824c84f4584e0061bf569"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/status.ts","pathClass":"source","line":17,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"eb15252952d2c860ae146203"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/status.ts","pathClass":"source","line":17,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"042b8c092e4904c95255cea0"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/survey.ts","pathClass":"source","line":29,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"f53fe2f6bb7448f66fb8e6cd"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/survey.ts","pathClass":"source","line":47,"evidence":"child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"4ec56738e44e5be4c54f1515"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/sync.ts","pathClass":"source","line":11,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"682523b37fad1425c38b402f"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/core/sync.ts","pathClass":"source","line":11,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"57dd32a4278f36db9d7d2c61"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/deepen.ts","pathClass":"source","line":22,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"713a1e0cf3f2f688cee368a3"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/deepen.ts","pathClass":"source","line":22,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"1394ae3c1e088d2eab9b99f2"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/e2e/harness.ts","pathClass":"test-example-docs","line":1,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"c40f648dfd480c4ea0c0c89b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"low","layer":"static","path":"src/e2e/harness.ts","pathClass":"test-example-docs","line":1,"evidence":"spawnSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","note":"位于测试、示例或文档目录","hash":"a540ba35d8c7d5b847d46542"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/install-ui.ts","pathClass":"source","line":16,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"92f5556a22328af5a662583b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/install-ui.ts","pathClass":"source","line":16,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"034d57535e2d64d72e76bf4e"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/installer.ts","pathClass":"source","line":24,"evidence":"execFileSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"e33a6b541669b2c7a96be5d1"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"src/installer.ts","pathClass":"source","line":24,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"b3861dc0cadbd915abe3054e"}],"counts":{"critical":0,"high":0,"medium":0,"low":21},"rawCounts":{"critical":0,"high":0,"medium":1,"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":151,"bytesScanned":1144923,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"markdown":2,"cordis":1,"test-example-docs":60,"data":2,"manifest":1,"source":85}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:19:31.323Z","commit":"da9a588c78296527268ed492fc2cc2c687ab8118","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:17:19.113Z","commit":"3de41af867582c810309d6ea4c1b1de9d0ed9b7e","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:44:29.491Z","commit":"9ef1f1b8453296da887382ac63eedb85d66aa1fd","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":"da9a588c78296527268ed492fc2cc2c687ab8118","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:19:31.323Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"3de41af867582c810309d6ea4c1b1de9d0ed9b7e","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:17:19.113Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"9ef1f1b8453296da887382ac63eedb85d66aa1fd","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:44:29.491Z"}]}