{"schemaVersion":2,"dataVersion":"20260822T105549Z-0a0b366f","generatedAt":"2026-08-22T10:55:49.138Z","source":{"id":"ceilcelia-dsh-eli-mode-packages-eli-mode","slug":"ceilcelia-dsh-eli-mode-packages-eli-mode","rank":485,"url":"https://github.com/CeilCelia/dsh-eli-mode/tree/main/packages/eli-mode","name":"CeilCelia/dsh-eli-mode#packages/eli-mode","category":"memory","description":{"zh":"知识库驱动的 Agent 预设：wiki 长期记忆、网页知识库、管理页、可选界面润色。","en":"Knowledge-base-driven agent preset: wiki long-term memory, a web KB UI, a management page and optional UI polish."},"stars":5,"starsCheckedAt":"2026-08-21","repository":{"owner":"CeilCelia","repo":"dsh-eli-mode","requestedRef":"main","subpath":"packages/eli-mode"},"npm":"dsh-eli-mode","downloads":1808,"installMode":"npm","upstreamInstall":"dsh plugin --profile web add dsh-eli-mode","tarball":null,"added":"2026-08-15","page":"https://awesome-dsh-plugin.com/p/CeilCelia/dsh-eli-mode--packages-eli-mode/","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":"ceilcelia-dsh-eli-mode-packages-eli-mode","slug":"ceilcelia-dsh-eli-mode-packages-eli-mode","policyVersion":"HT-DSH-0.2.2","scannedAt":"2026-08-22T08:25:24.031Z","scanStatus":"static-complete","verdict":"caution","score":85,"commit":"6c81f5d811be38076cd3a01d43df6df48809bd45","commitDate":"2026-08-22T14:02:50+08:00","artifactDigest":"sha256:d0956e763c77a2fe27b710084c882383408d5b09d78fb2038df2e3a83326f84a","downloadUrl":"https://github.com/CeilCelia/dsh-eli-mode/archive/6c81f5d811be38076cd3a01d43df6df48809bd45.tar.gz","installMode":"npm","installCommand":"dsh plugin --profile web add dsh-eli-mode","manifest":{"found":true,"path":"package.json","parseError":null,"packageName":"dsh-eli-mode","packageVersion":"0.1.11","bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web"},"lifecycleScripts":{},"peerDependencies":["@deepseek-ai/cordis"]},"identity":{"status":"found","installMode":"npm","upstreamNpm":"dsh-eli-mode","manifestName":"dsh-eli-mode","nameMatch":true,"npm":{"name":"dsh-eli-mode","latestVersion":"0.1.10","publishedAt":"2026-08-17T15:43:06.877Z","createdAt":"2026-08-15T11:31:26.415Z","versionCount":11,"maintainers":1,"repository":"git+https://github.com/CeilCelia/dsh-eli-mode.git","hasInstallScripts":false,"deprecated":false},"repositoryMatch":"match","provenance":"none","tarballHost":null,"versionMatch":"differs"},"permissions":{"bundlePatch":"cordis.patch.yml","inserts":[{"id":"eli-kb","name":"dsh-eli-mode/lib/kb.js","path":"cordis.patch.yml","disabled":false},{"id":"eli-web-routes","name":"dsh-eli-mode/lib/web-routes.js","path":"cordis.patch.yml","disabled":false},{"id":"eli-mode","name":"dsh-eli-mode","path":"cordis.patch.yml","disabled":false}],"overrides":[{"id":"tool-fs","tier":"sensitive","mode":"override","disabled":false,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"tool-fs-search","tier":"sensitive","mode":"override","disabled":false,"replacesImplementation":false,"name":null,"keys":[],"path":"cordis.patch.yml"},{"id":"persona","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-persona","keys":["text"],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"agent-instructions","tier":"sensitive","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-agent-instructions","keys":["maxBytes"],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"prompt-trim","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"dsh-eli-mode/lib/prompt-trim.js","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-pwsh","tier":"sensitive","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-pwsh","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-jobs","tier":"sensitive","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-jobs","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-goal","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-goal","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-web","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-web","keys":["fetch","searchTimeoutMs"],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-ask-user","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-ask-user","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-subagent-control","tier":"sensitive","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-subagent-control","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-subagent-list-agents","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-subagent-control/list-agents","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"tool-subagent","tier":"sensitive","mode":"override","disabled":false,"replacesImplementation":true,"name":"@deepseek-ai/dsh-tool-subagent","keys":["provider","toolName","backgroundMode"],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"kb-tools","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"dsh-eli-mode/lib/kb-tools.js","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"wiki-index","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"dsh-eli-mode/lib/wiki-index.js","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"eli-mode","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"dsh-eli-mode/lib/eli-mode.js","keys":[],"path":"presets/eli-mode/agent.cordis.yml"},{"id":"compaction","tier":"normal","mode":"override","disabled":false,"replacesImplementation":true,"name":"cordis:group","keys":["0","1","2"],"path":"presets/eli-mode/agent.cordis.yml"}],"jsExpressions":0,"clientPlatform":"web","parseErrors":[]},"capabilities":["agent-control","browser-ui","credentials","environment","filesystem","host-bundle","network","subprocess"],"outboundHosts":[{"host":"api.deepseek.com","count":1}],"findings":[{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"high","confidence":"low","layer":"static","path":"tests/card-bridge-smoke.mjs","pathClass":"test-example-docs","line":30,"evidence":"new Function(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","note":"位于测试、示例或文档目录","hash":"5e319ae10ae9e61a25681d46"},{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"high","confidence":"low","layer":"static","path":"tests/card-smoke.mjs","pathClass":"test-example-docs","line":32,"evidence":"new Function(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","note":"位于测试、示例或文档目录","hash":"ded5a84f24a32cd980f21169"},{"id":"HT-RUNTIME-001","title":"动态代码执行","severity":"high","confidence":"low","layer":"static","path":"tests/toolchain-smoke.mjs","pathClass":"test-example-docs","line":95,"evidence":"new Function(","remediation":"使用静态模块和受约束的配置解析器，避免在宿主权限下执行动态字符串。","note":"位于测试、示例或文档目录","hash":"dbf204489e3966d6585db123"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"ui/index.html","pathClass":"html","line":557,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"946f9abcc41bc6e54247a671"},{"id":"HT-CLIENT-001","title":"浏览器端使用危险 HTML 注入点","severity":"medium","confidence":"medium","layer":"static","path":"ui/index.html","pathClass":"html","line":590,"evidence":".innerHTML =","remediation":"使用安全 DOM API，并在不可避免时对不可信内容进行严格清洗。","hash":"946f9abcc41bc6e54247a671"},{"id":"HT-DATA-001","title":"同一模块同时接触凭据与网络","severity":"medium","confidence":"medium","layer":"static","path":"lib/kb.js","pathClass":"source","line":322,"evidence":"credential access at line 322 + outbound network at line 325","remediation":"拆分能力边界，限定目的域名，并提供不会发送凭据值的可验证证明。","hash":"68d60e142389e432b1aea21b","review":{"verdict":"functional","reason":"line316-325通过credentials服务或环境变量读取DEEPSEEK_API_KEY，仅用于向DeepSeek官方API(api.deepseek.com/user/balance)查询余额，凭据流向即用户配置的服务商，属于余额查询功能本身。","model":"sonnet@p2","reviewedAt":"2026-08-21T11:26:44.843Z"}},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":18,"evidence":"override: id=tool-fs","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"改写配置 文件工具（tool-fs）","layer":"dsh-semantics","pathClass":"cordis","hash":"e66e04b30242668f4aa4d753"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"high","path":"cordis.patch.yml","line":19,"evidence":"override: id=tool-fs-search","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"改写配置 tool-fs-search","layer":"dsh-semantics","pathClass":"cordis","hash":"727c1912a3013f397a680419"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"medium","path":"presets/eli-mode/agent.cordis.yml","line":25,"evidence":"override: id=agent-instructions name=@deepseek-ai/dsh-agent-instructions config[maxBytes]","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"替换实现 Agent 指令（agent-instructions）；该配置随包分发但未被 dsh.bundle 引用，只有用户手动应用时才生效","layer":"dsh-semantics","pathClass":"cordis","hash":"f191a502670fcca79e8565cc"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"medium","path":"presets/eli-mode/agent.cordis.yml","line":37,"evidence":"override: id=tool-pwsh name=@deepseek-ai/dsh-tool-pwsh","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"替换实现 tool-pwsh；该配置随包分发但未被 dsh.bundle 引用，只有用户手动应用时才生效","layer":"dsh-semantics","pathClass":"cordis","hash":"74017e548a61e9c89b91f759"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"medium","path":"presets/eli-mode/agent.cordis.yml","line":45,"evidence":"override: id=tool-jobs name=@deepseek-ai/dsh-tool-jobs","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"替换实现 tool-jobs；该配置随包分发但未被 dsh.bundle 引用，只有用户手动应用时才生效","layer":"dsh-semantics","pathClass":"cordis","hash":"dc9941f0c4ee1a52ed422306"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"medium","path":"presets/eli-mode/agent.cordis.yml","line":68,"evidence":"override: id=tool-subagent-control name=@deepseek-ai/dsh-tool-subagent-control","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"替换实现 tool-subagent-control；该配置随包分发但未被 dsh.bundle 引用，只有用户手动应用时才生效","layer":"dsh-semantics","pathClass":"cordis","hash":"980c11f91fd3ebe5a3f936a1"},{"id":"HT-PERMISSION-002","title":"覆盖敏感宿主能力","severity":"medium","confidence":"medium","path":"presets/eli-mode/agent.cordis.yml","line":74,"evidence":"override: id=tool-subagent name=@deepseek-ai/dsh-tool-subagent config[provider,toolName,backgroundMode]","remediation":"安全关键 seam 的替换必须逐项解释、最小化，并接受人工复核；用户安装前应知晓该能力被谁接管。","note":"替换实现 tool-subagent；该配置随包分发但未被 dsh.bundle 引用，只有用户手动应用时才生效","layer":"dsh-semantics","pathClass":"cordis","hash":"5f01974d3788959c00986844"}],"counts":{"critical":0,"high":0,"medium":10,"low":0},"rawCounts":{"critical":0,"high":3,"medium":10,"low":0},"vulnerabilities":[],"coverage":{"source":"complete","manifest":"complete","bundleConfig":"complete","dependencies":"lockfile-missing","vulnerabilities":"lockfile-missing","identity":"complete","artifact":"not-compared","llmReview":"complete","dynamicRuntime":"not-run","humanReview":"not-run"},"inventory":{"filesScanned":24,"bytesScanned":152178,"truncated":false,"lockfiles":[],"pathClasses":{"markdown":6,"cordis":2,"source":10,"manifest":1,"yaml":1,"test-example-docs":3,"html":1}},"limitations":["此结果为源码静态检测，不等同于无漏洞证明。","尚未比对 npm 发布包与源码的一致性，也未执行隔离运行和人工复核。","危险能力可能是插件功能所需，需结合用途与证据人工判断。"],"limitationKeys":["static-analysis-only","no-artifact-runtime-human-review","capability-needs-context"],"review":{"model":"sonnet","reviewedAt":"2026-08-22T08:25:24.031Z","summary":null,"intentMatch":null,"findingsReviewed":1,"findingsCandidates":1,"fromCache":1,"usage":null}},"timeline":[{"scannedAt":"2026-08-22T08:25:24.031Z","commit":"6c81f5d811be38076cd3a01d43df6df48809bd45","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T13:16:58.804Z","commit":"ce91cf781400daf33c4f9675e526cf41a27ad27c","policyVersion":"HT-DSH-0.2.2","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T11:26:44.842Z","commit":"ce91cf781400daf33c4f9675e526cf41a27ad27c","policyVersion":"HT-DSH-0.2.1","verdict":"caution","status":"static-complete"},{"scannedAt":"2026-08-21T10:55:34.410Z","commit":"ce91cf781400daf33c4f9675e526cf41a27ad27c","policyVersion":"HT-DSH-0.2.0","verdict":"review","status":"static-complete"}],"events":[{"kind":"commit-change","from":"ce91cf781400daf33c4f9675e526cf41a27ad27c","to":"6c81f5d811be38076cd3a01d43df6df48809bd45","commit":"6c81f5d811be38076cd3a01d43df6df48809bd45","policyVersion":"HT-DSH-0.2.2","at":"2026-08-22T08:25:24.031Z"},{"kind":"policy-change","from":"HT-DSH-0.2.1","to":"HT-DSH-0.2.2","commit":"ce91cf781400daf33c4f9675e526cf41a27ad27c","policyVersion":"HT-DSH-0.2.2","at":"2026-08-21T13:16:58.804Z"},{"kind":"verdict-change","from":"review","to":"caution","commit":"ce91cf781400daf33c4f9675e526cf41a27ad27c","policyVersion":"HT-DSH-0.2.1","at":"2026-08-21T11:26:44.842Z"},{"kind":"first-scan","from":null,"to":"review","commit":"ce91cf781400daf33c4f9675e526cf41a27ad27c","policyVersion":"HT-DSH-0.2.0","at":"2026-08-21T10:55:34.410Z"}]}