{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"tinqiao-oss-engramory-plugin","slug":"tinqiao-oss-engramory-plugin","rank":46,"url":"https://github.com/tinqiao-oss/engramory/tree/master/adapters/dsh/plugin","name":"tinqiao-oss/engramory#plugin","category":"memory","description":{"zh":"给 DeepSeek Harness 的长期记忆，以纯 markdown 保存：一条事实一个文件，任何编辑器都能打开。索引 `MEMORY.md` 有 200 行 / 25KB 的硬上限，由 `ctx.tools.guard()` 强制执行——让已超限的索引继续变大的写入会被拒绝，而缩小它的重写一律放行，于是过大的索引可以一步步压缩下来。插件不会自行写入记忆，记什么由你和模型决定。同一个记忆库也被 Claude Code、Codex、Kiro、OpenClaw 使用。","en":"Long-term memory for DeepSeek Harness kept as plain markdown, one fact per file, readable in any editor. The `MEMORY.md` index has a hard 200-line / 25 KB cap enforced by `ctx.tools.guard()`: a write that would grow an over-cap index is denied, while a rewrite that shrinks it always passes, so an oversized index can be compacted step by step. The plugin never writes memories on its own — what is kept is decided by you and the model. The same store is also used by Claude Code, Codex, Kiro and OpenClaw."},"stars":167,"starsCheckedAt":"2026-08-21","repository":{"owner":"tinqiao-oss","repo":"engramory","requestedRef":"master","subpath":"adapters/dsh/plugin"},"npm":"dsh-engramory","downloads":1163,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-engramory","tarball":null,"added":"2026-08-16","page":"https://awesome-dsh-plugin.com/p/tinqiao-oss/engramory--adapters-dsh-plugin/","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":"tinqiao-oss-engramory-plugin","slug":"tinqiao-oss-engramory-plugin","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:20:05.316Z","scanStatus":"static-complete","verdict":"pass","score":100,"commit":"39efc183a55cb3d2c56e11a42b2b5e059a193ce3","commitDate":"2026-08-20T15:14:43+08:00","artifactDigest":"sha256:809ab6445643854579cbd59f5e03d86c80639c8e4a998c1512f1f834c34fd06e","downloadUrl":"https://github.com/tinqiao-oss/engramory/archive/39efc183a55cb3d2c56e11a42b2b5e059a193ce3.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-engramory","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-engramory","packageVersion":"0.2.3","bundle":{"patch":"./cordis.patch.yml"},"client":null,"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/dsh-tools"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-engramory","manifestName":"dsh-engramory","nameMatch":true,"npm":{"name":"dsh-engramory","latestVersion":"0.2.3","publishedAt":"2026-08-20T07:20:18.761Z","createdAt":"2026-08-15T12:03:47.287Z","versionCount":6,"maintainers":1,"repository":"git+https://github.com/tinqiao-oss/engramory.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"match"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"engramory","name":"dsh-engramory","path":"cordis.patch.yml","disabled":false}],"overrides":[],"jsExpressions":0,"clientPlatform":null,"parseErrors":[]},"capabilities":["filesystem","host-bundle"],"outboundHosts":[],"findings":[],"counts":{"critical":0,"high":0,"medium":0,"low":0},"rawCounts":{"critical":0,"high":0,"medium":0,"low":0},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"not-needed","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":6,"bytesScanned":56727,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":2,"cordis":1,"source":2,"manifest":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"]},"timeline":[{"scannedAt":"2026-08-22T08:20:05.316Z","commit":"39efc183a55cb3d2c56e11a42b2b5e059a193ce3","policyVersion":"HT-DSH-0.2.2","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T11:18:36.612Z","commit":"39efc183a55cb3d2c56e11a42b2b5e059a193ce3","policyVersion":"HT-DSH-0.2.1","verdict":"pass","status":"static-complete"},{"scannedAt":"2026-08-21T10:46:28.036Z","commit":"39efc183a55cb3d2c56e11a42b2b5e059a193ce3","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":"39efc183a55cb3d2c56e11a42b2b5e059a193ce3","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:20:05.316Z"},{"kind":"policy-change","from":"HT-DSH-0.2.0","to":"HT-DSH-0.2.1","commit":"39efc183a55cb3d2c56e11a42b2b5e059a193ce3","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:18:36.612Z"},{"kind":"first-scan","from":null,"to":"pass","commit":"39efc183a55cb3d2c56e11a42b2b5e059a193ce3","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:46:28.036Z"}]}