导入论文并逐项拆解研究要素,保留 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
cvnices8-byte/dsh-paper-matrix
导入论文并逐项拆解研究要素,保留 PDF 页码与原文引用
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,826已汉化DSH
72.2
花束设计alchaincyf/huashu-design
一句话生成网页、原型、PPT 与信息图等可交付设计
★ 28,638已汉化DSH
71.7
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
这是你的仓库?认领条目