D

dsh-session-persistence-jsonl

github.com/deepseek-ai/deepseek-harness

v0.1.5-rc.2-harmony.1 会话与记忆 写入文件动态执行代码

description: "面向部署者和维护者的已发布 JSONL 会话持久化后端,用于选择、配置或调试带可选 Zstandard 压缩的每会话持久日志。" kind: "package-reference"

作者原文(英文)

JSONL durable session persistence backend for the DeepSeek Harness

中文简介由 DeepSeek 模型翻译,仅供参考。

分类
session
发布
2026-09-11
版本
v0.1.5-rc.2-harmony.1

检测报告

有一定能力。命中了若干能力模式,大多是插件正常工作时会用到的。
2需留意2一般20未命中
高关注需留意一般

能力清单

  • 写入文件writes-files需留意10 处命中
    • lib/worker.cjs:11432await handle.writeFile(chunk);
    • lib/index.js:667await mkdir(dir, {
    • lib/index.js:1962await handle.writeFile(chunk);
    • lib/index.js:2048await rename(staged, currentPath);
    • 看写入位置。写自己的配置目录是正常的,写系统目录不是。
  • 动态执行代码dynamic-code需留意1 处命中
    • lib/worker.cjs:2946schema.callback = new Function("return " + schema.callback)();
    • 看 eval / new Function 的入参来自哪里。常量字符串和用户输入是两回事。
  • 读取文件reads-files一般15 处命中
    • lib/worker.cjs:11107const bytes = await fs.readFile(path, signal);
    • lib/worker.cjs:11268const bytes = await fs.readFile(path);
    • lib/worker.cjs:11518const names = await internals.fs.readdir((0, node_path.dirname)(currentPath));
    • lib/index.js:1604readFile: (path, signal) => readFile(path, signal === void 0 ? void 0 : { signal }),
    • 读文件是绝大多数插件的正常工作方式,本身不构成顾虑。
  • 动态加载模块dynamic-import一般3 处命中
    • lib/worker.cjs:10696const kernel32 = (await import("koffi")).default.load("kernel32.dll");
    • lib/index.js:467const kernel32 = (await import("koffi")).default.load("kernel32.dll");
    • lib/index.js:1459`await import(${JSON.stringify(workerEntry.href)})`
    • 动态导入本身无害,但会让依赖关系难以静态审阅。
逐条扫描明细
能力标识关注度命中次数
写入文件writes-files需留意10
动态执行代码dynamic-code需留意1
读取文件reads-files一般15
动态加载模块dynamic-import一般3

这份报告的口径

扫描读的是包里的源码,全程不执行第三方代码。 本次读了 18 个文件,扫描于 2026-10-14。 命中次数只说明源码里出现过这类调用,不说明行为好坏——一个插件读写文件 500 次和 1 次 都会被记为「读取文件」。这是能力清单,不是信任评分,也不是安全结论: 没扫出来的能力可能只是写法没被规则覆盖。

依赖安全公告

已查询这个插件声明的全部依赖,没有匹配到已公开的安全公告。(含 DSH 框架包在内的 @deepseek-ai/* 不作查询——那是运行时自己的问题,不是插件的。)

← 返回全部插件