🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

文献拆解矩阵 cvnices8-byte/dsh-paper-matrix

DeepSeek Harness
cvnices8-byte11 天前有提交已提供中文文档扫描:含敏感能力

导入论文并逐项拆解研究要素,保留 PDF 页码与原文引用

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add cvnices8-byte/dsh-paper-matrix
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 48 处,展示前 41 条)
  • 写入本地文件
    lib/index.js:106
    await mkdir(path2.join(this.dir, "pdfs"), { recursive: true, mode: 448 });
  • 读取本地文件
    lib/index.js:108
    this.state = JSON.parse(await readFile(path2.join(this.dir, "library.json"), "utf8"));
  • 写入本地文件
    lib/index.js:129
    await writeFile(temp, JSON.stringify(draft, null, 2), { mode: 384 });
  • 写入本地文件
    lib/index.js:130
    await rename(temp, path2.join(this.dir, "library.json"));
  • 写入本地文件
    lib/index.js:151
    await writeFile(path2.join(this.dir, "pdfs", parsed.id + ".pdf"), bytes, { mode: 384 });
  • 读取本地文件
    lib/index.js:226
    return readFile(path2.join(this.dir, "pdfs", id + ".pdf"));
  • 写入本地文件
    lib/index.js:262
    await writeFile2(file, JSON.stringify(input), { mode: 384 });
  • 删除本地文件
    lib/index.js:266
    await rm(file, { force: true });
  • 读取本地文件
    lib/index.js:279
    const { papers } = JSON.parse(await readFile2(snapshot, "utf8"));
  • 读取本地文件
    lib/index.js:287
    const bytes = await readFile2(source2), parsed = await parsePdf(bytes, path3.basename(source2));
  • 写入本地文件
    lib/index.js:289
    await writeFile2(path3.join(this.dir, "pdfs", parsed.id + ".pdf"), bytes, { mode: 384 });
  • 读取本地文件
    lib/index.js:326
    const bytes = await readFile2(source);
  • 删除本地文件
    lib/index.js:345
    await rm(file, { force: true });
  • 读取本地文件
    lib/index.js:407
    return { filename: `\u6587\u732E\u603B\u8868.${format}`, mime: format === "csv" ? "text/csv;charset=utf-8" : format === "json" ? "application/json" :
  • 删除本地文件递归
    lib/index.js:487
    await rm2(lock, { recursive: true });
  • 删除本地文件递归
    lib/index.js:495
    await rm2(lock, { recursive: true, force: true });
  • 发起网络请求
    lib/index.js:573
    async fetch(request) {
  • 写入本地文件
    src/core/canonical-store.mjs:28
    await writeFile(file, JSON.stringify(input), { mode: 0o600 });
  • 删除本地文件
    src/core/canonical-store.mjs:30
    finally { await rm(file, { force: true }); }
  • 读取本地文件
    src/core/canonical-store.mjs:37
    const { papers } = JSON.parse(await readFile(snapshot, 'utf8'));
  • 读取本地文件
    src/core/canonical-store.mjs:45
    const bytes = await readFile(source), parsed = await parsePdf(bytes, path.basename(source));
  • 写入本地文件
    src/core/canonical-store.mjs:47
    await writeFile(path.join(this.dir, 'pdfs', parsed.id + '.pdf'), bytes, {mode:0o600});
  • 读取本地文件
    src/core/canonical-store.mjs:77
    for (const source of r.sources) { try { const bytes = await readFile(source); if (createHash('sha256').update(bytes).digest('hex') === r.sha256) retur
  • 写入本地文件
    src/core/canonical-store.mjs:84
    await mkdir(assets,{recursive:true,mode:0o700});
  • 写入本地文件
    src/core/canonical-store.mjs:86
    await writeFile(source,bytes,{mode:0o600});
  • 写入本地文件
    src/core/canonical-store.mjs:88
    await writeFile(file, JSON.stringify({title:p.title,page_count:p.page_count,metadata_source:'PDF embedded title or filename; not human verified'}),{mo
  • 删除本地文件
    src/core/canonical-store.mjs:91
    finally { await rm(file,{force:true}); }
  • 读取本地文件
    src/core/canonical-store.mjs:137
    return {filename:`文献总表.${format}`,mime:format==='csv'?'text/csv;charset=utf-8':format==='json'?'application/json':'text/markdown;charset=utf-8',text:a
  • 写入本地文件
    src/core/store.mjs:10
    await mkdir(path.join(this.dir, 'pdfs'), { recursive: true, mode: 0o700 });
  • 读取本地文件
    src/core/store.mjs:11
    try { this.state = JSON.parse(await readFile(path.join(this.dir, 'library.json'), 'utf8')); }
  • 写入本地文件
    src/core/store.mjs:30
    await writeFile(temp, JSON.stringify(draft, null, 2), { mode: 0o600 });
  • 写入本地文件
    src/core/store.mjs:31
    await rename(temp, path.join(this.dir, 'library.json'));
  • 写入本地文件
    src/core/store.mjs:49
    await writeFile(path.join(this.dir, 'pdfs', parsed.id + '.pdf'), bytes, { mode: 0o600 });
  • 读取本地文件
    src/core/store.mjs:107
    async pdfBytes(id) { this.get(id); return readFile(path.join(this.dir, 'pdfs', id + '.pdf')); }
  • 写入本地文件
    src/host.mjs:17
    await mkdir(dataDir, { recursive: true, mode: 0o700 });
  • 写入本地文件
    src/host.mjs:19
    const acquire = async () => { await mkdir(lock); await writeFile(path.join(lock, 'pid'), String(process.pid)); };
  • 写入本地文件
    src/host.mjs:19
    const acquire = async () => { await mkdir(lock); await writeFile(path.join(lock, 'pid'), String(process.pid)); };
  • 读取本地文件
    src/host.mjs:23
    try { const pid = Number(await readFile(path.join(lock, 'pid'), 'utf8')); if (!Number.isSafeInteger(pid) || pid <= 0) throw new Error('invalid lock');
  • 删除本地文件递归
    src/host.mjs:26
    await rm(lock, { recursive: true }); await acquire();
  • 删除本地文件递归
    src/host.mjs:28
    ctx.effect(() => async () => { disposed = true; for (const job of jobs.values()) job.abort(); await Promise.allSettled([...jobs.values()].map(job => j
  • 发起网络请求
    src/host.mjs:86
    async fetch(request) {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

面向 DeepSeek Harness 的双语论文阅读矩阵,支持本地 SQLite 库、PDF 页码引用和人工编辑。

README

由 DeepSeek 最新模型翻译生成
Paper Matrix · DeepSeek Harness 文献拆解插件 English · 下载安装包 · MIT 导入中英文论文,在一张表里初步拆解研究问题、数据、方法、实验和发现;每项拆解保留 PDF 页码与原文引用。面向经管与计算机交叉研究,也适合数据集和基准论文的横向初读。 这是独立社区插件,非 DeepSeek 官方产品。0.1.1 为本地单人试用版,使用 Harness 原生插件和侧栏接口。 环境要求 - DeepSeek Harness 0.2.1-rc.2;这是实际验证版本,其他预览版本需重新测试。 - dsh 命令可用。macOS 桌面安装包自带 CLI:/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh。 - Python 3.9+,系统命令 python3 可用;也可配置绝对路径。 - 从源码构建时需 Node 22.13+ 和 npm;发行包不需要自行编译前端。 - 模型抽取需 Harness 内至少配置一个可用模型。导入、查看和编辑本地记录不调用模型。
展开完整文档(README 剩余 1 节)
Paper Matrix · DeepSeek Harness 文献拆解插件

English · 下载安装包 · MIT

导入中英文论文,在一张表里初步拆解研究问题、数据、方法、实验和发现;每项拆解保留 PDF 页码与原文引用。面向经管与计算机交叉研究,也适合数据集和基准论文的横向初读。

这是独立社区插件,非 DeepSeek 官方产品。0.1.1 为本地单人试用版,使用 Harness 原生插件和侧栏接口。

环境要求

- DeepSeek Harness 0.2.1-rc.2;这是实际验证版本,其他预览版本需重新测试。
- dsh 命令可用。macOS 桌面安装包自带 CLI:/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh。
- Python 3.9+,系统命令 python3 可用;也可配置绝对路径。
- 从源码构建时需 Node 22.13+ 和 npm;发行包不需要自行编译前端。
- 模型抽取需 Harness 内至少配置一个可用模型。导入、查看和编辑本地记录不调用模型。

安装与启动

桌面端

打开 插件 → 添加插件,在“包名或地址”输入:

https://github.com/cvnices8-byte/dsh-paper-matrix

点击“安装”,完成后在会话右侧栏打开“文献拆解”。仓库自 0.1.1 起包含预编译的宿主、客户端和 Python 桥接文件,安装时不需要运行构建脚本,也不需要修改 pnpm 的 allowBuilds。

如果之前出现 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED,请返回编辑并重新安装以上地址。0.1.0 源码仓库未包含 lib/,与当时单独提供的预编译 .tgz 包不同;该问题已在 0.1.1 修复。

桌面端和独立网页端使用不同的 Harness 配置。桌面端安装目标是 desktop,不会自动读取 paper-matrix 网页配置中的插件与库位置;如需继续使用既有文献库,请在插件配置中指定同一个绝对 libraryDir,并先停止使用该库的其他宿主实例。

独立网页端 / CLI

可以直接从同一个 GitHub 地址安装:

dsh plugin --profile paper-matrix add https://github.com/cvnices8-byte/dsh-paper-matrix

也可在 Releases 下载对应版本的预编译 .tgz。推荐先建立新的 Harness 配置;不要对已有配置使用 --from-default-profile,它会重建该配置。

仅在这个配置尚不存在时初始化
dsh --profile paper-matrix --from-default-profile web --dump-config

替换成下载文件的实际路径
dsh plugin --profile paper-matrix add /absolute/path/dsh-paper-matrix-0.1.1.tgz

在自己的研究项目目录启动;默认在这里创建 文献库/
cd /absolute/path/your-research-project
dsh --profile paper-matrix --port 3147

浏览器打开 Harness 后:右侧边栏 → 文献拆解 → 全屏(可选)。使用启动终端输出的登录链接,保持终端运行,按 Ctrl+C 停止。首次进入可能显示 Harness 预览版说明。

macOS 未将 dsh 加入 PATH 时,把上面的 dsh 替换为完整 CLI 路径,例如:

"/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh" plugin --profile paper-matrix add /absolute/path/dsh-paper-matrix-0.1.1.tgz

如需固定文献库位置,在这个配置的 cordis.patch.yml 添加:

- id: paper-matrix
config:
libraryDir: /absolute/path/your-research-project/文献库 python: /absolute/path/python3

也可使用 DSH_PAPER_MATRIX_LIBRARY_DIR 环境变量;配置文件的显式设置优先。不要同时启动两个插件实例指向同一个缓存目录。

使用

1. 批量导入可搜索 PDF;相同文件按 SHA-256 去重,同名/同缩写不自动合并。
2. 点标题进入详情,选择 Harness 已配置的模型,按需勾选“双语拆解”,开始分析。
3. 核对原文页,按格修订。阅读状态、个人笔记、字段核验分别保存。
4. 返回总表搜索、筛选、排序,导出 CSV 双语宽表或完整 JSON。

分析会将论文全文发送给所选模型提供方,消耗其额度。插件复用 Harness 模型接口,不收集或另存 API Key。不同提供方的路由和凭据分别由 Harness 管理。

首版功能

- 11 个字段:文献类型、研究问题、数据与样本、方法与构建、底层证据设计、评测范围、实验或识别设计、评价指标、核心发现、局限与边界、代码与数据。
- 中文默认概括,保留原题名、译题、专业术语、原语言引用;论文语言与数据语言分开。
- 按 PDF 物理页码匹配引用;逐页提取文本查看和原 PDF 下载。
- AI 草稿与人工层分开,重跑保留人工修订;版本冲突拒绝覆盖。
- 阅读状态与核验状态独立。不会因分析完成而把文献标为已读。
- SQLite 统一库,兼容随包提供的 ai-literature-manager 存储接口。

本地数据与备份

默认目录相对于启动时的当前目录:

文献库/ library.sqlite3 # 文献、AI 草稿、人工层、状态、历史:事实来源 pdf-assets/ # 浏览器上传的 PDF:需要备份 .harness-cache/ # 可重建的解析文本、浏览副本、任务状态外部 PDF 按原路径登记,不移动、不删除。清理缓存前先停止 Harness;缓存可从登记的 PDF 重建。完整备份需在无写入任务时复制文献库,并另备份登记在外部路径的 PDF。

CSV 是工作台预览;JSON 是统一库当前快照,保留证据、实验子记录、争议与人工层,但不含全部历史。不要用导出快照替代完整库备份。

「采用机器原值」是一条用户采纳记录,保留人工层和历史;笔记只追加,首版不删除历史。模型的元数据提议保存在 coverage.plugin_generated_metadata,不通过 AI 字段暗改正式元数据。

能力边界

- 每篇最多 25 MB / 300 页 / 180,000 字符。超限拒绝,不静默截断。
- 不含 OCR。扫描 PDF 需先转成可搜索 PDF。
- 复杂表格、公式、双栏、脚注的文本层可能丢失布局;文本查看器不是原 PDF 排版渲染器。
- 「原文匹配」仅指指定页内的规范化文字匹配,忽略空白、兼容字符和字母间断词连字符。保留原 quote,不等于语义支持或正确率。
- 模型可能误写数字、遗漏条件或误称源文冲突。初读草稿需要人工检查,不宜直接作为论文引用。
- 经管变量、识别策略和独立实验子记录目前没有专用编辑器;统一库已有额外字段仍保留在完整 JSON 中。
- 尚无多用户、云同步、Zotero 同步、后台监控或自动批量分析。

开发

git clone https://github.com/cvnices8-byte/dsh-paper-matrix.git
cd dsh-paper-matrix
npm ci
npm run check
npm run test:install
npm pack

源码可独立构建,不依赖作者的技能目录、论文文件、数据库或绝对路径。vendor/literature.py 随源码提供,仅依赖 Python 标准库。lib/ 的预编译产物同时提交到仓库并随发行包提供;改动源码后应重新构建并提交相应产物。CI 检查产物是否与源码一致,并在没有构建许可的干净环境中实际验证 Git 与 .tgz 安装。PNPM_BIN 可指定用于安装回归的 pnpm 可执行文件或 .mjs 入口。

主要入口:src/host.mjs、src/client.jsx、src/core/canonical-store.mjs、src/core/pdf.mjs、src/core/analysis.mjs。测试使用合成 PDF 与临时库,不上传用户论文、不调用收费模型。可运行 node examples/create-sample.mjs 生成一页原创合成 PDF,用于导入验证;它不是真实论文或模型效果演示。

卸载:dsh plugin --profile paper-matrix remove dsh-paper-matrix;文献库独立保留。问题反馈请附 Harness/系统版本、脱敏错误和可公开的最小样例,不要上传凭据或未授权论文。

参考官方 插件打包、客户端模块、右侧栏接口。许可证及依赖说明见 LICENSE 与 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓cvnices8-byte/dsh-paper-matrix
分享 · DeepSeek Harness Hub
cvnices8-byte/dsh-paper-matrix

导入论文并逐项拆解研究要素,保留 PDF 页码与原文引用

这是你的仓库?认领条目

回到顶部