{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"sirilee-dsh-rewind","slug":"sirilee-dsh-rewind","rank":368,"url":"https://github.com/SiriLee/dsh-rewind","name":"SiriLee/dsh-rewind","category":"session","description":{"zh":"同一会话窗口内的 in-place 对话回退（不 fork，Claude Code /rewind 语义）：每条消息的 ↶ 按钮把模型上下文回退到任意用户消息，可选用磁盘持久化的 before-backups 还原工作区文件。","en":"In-place conversation rewind in the same session window without forking (Claude Code /rewind semantics): a per-message ↶ button cuts the model context back to any user message, with an optional Claude-Code-style file restore from disk-persisted before-backups."},"stars":7,"starsCheckedAt":"2026-08-21","repository":{"owner":"SiriLee","repo":"dsh-rewind","requestedRef":null,"subpath":""},"npm":"dsh-rewind-plugin","downloads":3025,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-rewind-plugin","tarball":null,"added":"2026-08-18","page":"https://awesome-dsh-plugin.com/p/SiriLee/dsh-rewind/","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":"sirilee-dsh-rewind","slug":"sirilee-dsh-rewind","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:24:12.687Z","scanStatus":"static-complete","verdict":"caution","score":94,"commit":"f886593dc699a17d2e75e05caad8f444b155198e","commitDate":"2026-08-22T12:23:11+08:00","artifactDigest":"sha256:160e6216625661cd7ca9e9f08a48db1e84a20a535208b3b090229eb748502d5c","downloadUrl":"https://github.com/SiriLee/dsh-rewind/archive/f886593dc699a17d2e75e05caad8f444b155198e.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-rewind-plugin","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-rewind-plugin","packageVersion":"0.3.1","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-commands","@deepseek-ai/dsh-client-ui-conversation"],"platform":"web"},"lifecycleScripts":{"prepare":"npm run build"},"peerDependencies":["@deepseek-ai/cordis","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-commands","@deepseek-ai/dsh-client-ui-slots","@deepseek-ai/dsh-commands","@deepseek-ai/dsh-fs","@deepseek-ai/dsh-llm","@deepseek-ai/dsh-sandbox","@deepseek-ai/dsh-session","@deepseek-ai/dsh-settings","@deepseek-ai/dsh-tools"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-rewind-plugin","manifestName":"dsh-rewind-plugin","nameMatch":true,"npm":{"name":"dsh-rewind-plugin","latestVersion":"0.2.9","publishedAt":"2026-08-21T02:33:01.489Z","createdAt":"2026-08-17T06:14:18.345Z","versionCount":21,"maintainers":1,"repository":"git+https://github.com/SiriLee/dsh-rewind.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"attested","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"dsh-rewind-plugin","name":"dsh-rewind-plugin","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","environment","filesystem","host-bundle","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":69,"evidence":"\"prepare\": \"npm run build\"","remediation":"发布预构建制品（npm 或 GitHub Release tarball），并记录源码与发布包的一致性证明。","note":"该插件以 npm/tarball 预构建方式分发，prepare 不在用户机器上执行","hash":"d28b218339321374f2793b3b"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/build.mjs","pathClass":"source","line":23,"evidence":"execSync","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"4c715fd3b0d9ae81fc707505"},{"id":"HT-EXEC-001","title":"直接创建宿主子进程","severity":"low","confidence":"medium","layer":"static","path":"scripts/build.mjs","pathClass":"source","line":23,"evidence":"node:child_process","remediation":"通过 DSH 的受控 subprocess/shell seam 执行，并公开命令、参数及审批策略。","hash":"6c875ad888fc77c8e5682af2"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"src/client/portals.tsx","pathClass":"source","line":363,"evidence":"dangerouslySetInnerHTML","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"bf605940f4af25f5eb2d2d4c"}],"counts":{"critical":0,"high":0,"medium":1,"low":2},"rawCounts":{"critical":0,"high":0,"medium":2,"low":2},"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":38,"bytesScanned":390551,"truncated":false,"lockfiles":["package-lock.json"],"pathClasses":{"test-example-docs":9,"markdown":6,"cordis":1,"data":5,"manifest":1,"source":16}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:24:12.687Z","commit":"f886593dc699a17d2e75e05caad8f444b155198e","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:26:41.111Z","commit":"5afb8db824d0085d0ebab2a4cabe6bc3c1c0ce15","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:55:32.783Z","commit":"5afb8db824d0085d0ebab2a4cabe6bc3c1c0ce15","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":"f886593dc699a17d2e75e05caad8f444b155198e","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:24:12.687Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"5afb8db824d0085d0ebab2a4cabe6bc3c1c0ce15","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:26:41.111Z"},{"kind":"first-scan","from":null,"to":"caution","commit":"5afb8db824d0085d0ebab2a4cabe6bc3c1c0ce15","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:55:32.783Z"}]}