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

论文工坊 XZJ-top/dsh-paperforge

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

自动检索真实文献并撰写、编译、审校整篇论文

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · tool
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

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

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 31 处,展示前 30 条)
  • 读取本地文件
    lib/commands.js:56
    const entries = await readdir(config.papersRoot, { withFileTypes: true }).catch(() => []);
  • 发起网络请求
    lib/bibtex.js:63
    response = await fetch(url, {
  • 执行外部命令固定命令
    lib/export.js:16
    execFile(
  • 写入本地文件
    lib/export.js:38
    await mkdir(distDir, { recursive: true });
  • 写入本地文件
    lib/export.js:45
    await mkdir(dirname(to), { recursive: true }).catch(() => {});
  • 读取本地文件
    lib/fsutil.js:13
    await stat(path);
  • 读取本地文件
    lib/fsutil.js:22
    return (await stat(path)).isFile();
  • 读取本地文件
    lib/fsutil.js:30
    return (await stat(path)).size;
  • 写入本地文件
    lib/fsutil.js:41
    await mkdir(dirname(path), { recursive: true });
  • 写入本地文件
    lib/fsutil.js:44
    await writeFile(tmp, content, encoding);
  • 写入本地文件
    lib/fsutil.js:45
    await rename(tmp, path);
  • 删除本地文件
    lib/fsutil.js:47
    await rm(tmp, { force: true }).catch(() => {});
  • 读取本地文件
    lib/fsutil.js:58
    const text = await readFile(path, "utf8");
  • 读取本地文件
    lib/fsutil.js:67
    return await readFile(path, "utf8");
  • 写入本地文件
    lib/project.js:236
    await mkdir(join(paths.root, "sections"), { recursive: true });
  • 写入本地文件
    lib/project.js:359
    await mkdir(paths.sectionsDir, { recursive: true });
  • 写入本地文件
    lib/project.js:360
    await mkdir(paths.figuresDir, { recursive: true });
  • 写入本地文件
    lib/project.js:361
    await mkdir(paths.stateDir, { recursive: true });
  • 写入本地文件
    lib/project.js:362
    await mkdir(paths.logsDir, { recursive: true });
  • 写入本地文件
    lib/project.js:363
    await mkdir(paths.reviewsDir, { recursive: true });
  • 写入本地文件
    lib/review.js:180
    await mkdir(paths.reviewsDir, { recursive: true });
  • 读取本地文件
    lib/compile.js:36
    if (existsSync(join(dir, "xelatex.exe")) || existsSync(join(dir, "xelatex"))) return dir;
  • 读取本地文件
    lib/compile.js:47
    if (existsSync(full)) return full;
  • 执行外部命令来自配置/变量
    lib/compile.js:68
    execFile(
  • 读取本地文件
    lib/compile.js:89
    if (existsSync(full)) return full;
  • 读取本地文件
    lib/compile.js:189
    if (!existsSync(entryPath)) {
  • 读取本地文件
    lib/compile.js:197
    const before = await stat(pdfPath).catch(() => null);
  • 读取本地文件
    lib/compile.js:238
    if (!usesBiber && !existsSync(join(root, `${bibName}.bib`))) return { skipped: `${bibName}.bib 不存在` };
  • 读取本地文件
    lib/notes.js:38
    const bib = await readFile(paths.bib, "utf8").catch(() => "");
  • 读取本地文件
    lib/zotero-local.js:23
    const text = await readFile(file, "utf8").catch(() => "");
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DSH 插件:让智能体自主产出一篇完整论文(文献 → 大纲 → 写作 → LaTeX 编译 → 引用核查 → 独立评审 → 导出 PDF → 归档到 Zotero/Obsidian)。MIT 许可。

README

由 DeepSeek 最新模型翻译生成
dsh-paperforge 本地插件,让 DSH 自主完成一篇完整论文:真实文献 → 大纲 → 分节写作 → LaTeX 编译修错 → 引用审计 → 独立审稿 → 导出 PDF。 English Summary dsh-paperforge 是 DeepSeek Harness (DSH) 的本地插件,让智能体端到端产出一篇完整论文:真实文献检索(arXiv / Crossref)、大纲、分节写作、LaTeX 编译并自动修错、引用审计、独立审稿子代理、PDF/ZIP 导出,并通过配套 DSH 插件归档进 Zotero 和 Obsidian。 它提供 11 个 paper_ 工具、7 个 /paper- 命令和 1 个 paper-writing 技能。核心设计取舍: - 只用真实元数据 —— 每条参考文献都来自 arXiv 或 Crossref 的响应;没有任何兜底逻辑去编造条目。 - 不编造结果 —— 每个数字都必须来自工具输出或用户提供的数据;否则论文按方法/综述论文来写,并明确说明。 - 工程交给确定性代码,写作交给智能体 —— 工具负责文件、编译和审计;模型负责行文和判断。 - 独立审稿 —— 全新的子代理读文件(绝不读作者总结),核查引用、数据来源和论点支撑。
展开完整文档(README 剩余 1 节)
dsh-paperforge

本地插件,让 DSH 自主完成一篇完整论文:真实文献 → 大纲 → 分节写作 → LaTeX 编译修错 → 引用审计 → 独立审稿 → 导出 PDF。

English Summary

dsh-paperforge 是 DeepSeek Harness (DSH) 的本地插件,让智能体端到端产出一篇完整论文:真实文献检索(arXiv / Crossref)、大纲、分节写作、LaTeX 编译并自动修错、引用审计、独立审稿子代理、PDF/ZIP 导出,并通过配套 DSH 插件归档进 Zotero 和 Obsidian。

它提供 11 个 paper_ 工具、7 个 /paper- 命令和 1 个 paper-writing 技能。核心设计取舍:

- 只用真实元数据 —— 每条参考文献都来自 arXiv 或 Crossref 的响应;没有任何兜底逻辑去编造条目。
- 不编造结果 —— 每个数字都必须来自工具输出或用户提供的数据;否则论文按方法/综述论文来写,并明确说明。
- 工程交给确定性代码,写作交给智能体 —— 工具负责文件、编译和审计;模型负责行文和判断。
- 独立审稿 —— 全新的子代理读文件(绝不读作者总结),核查引用、数据来源和论点支撑。

要求:DSH 0.2.x、Node.js 22+,以及提供 xelatex 和 bibtex 的 LaTeX 发行版(MiKTeX 或 TeX Live)。可选:dsh-zotero-paperbridge 和 dsh-obsidian-vaultbridge,用于归档。

MIT 许可证授权。

能力

11 个工具(确定性工程操作)

| 工具 | 作用 |
| paper_init | 建工程:main.tex(中文 ctexart / 英文 article)、references.bib、sections/、figures/、.paper/project.json |
| paper_outline | 定大纲:生成 sections/NN-id.tex 并重写 main.tex 的 \input 顺序(保留已有正文) |
| paper_write_section | 原子写入单节正文,返回字数/引用数并更新状态 |
| paper_bib_add | 从 arXiv / Crossref 取真实元数据写 BibTeX;query 模式只返回候选 |
| paper_compile | 中文自动 xelatex、英文 pdflatex;engine → bibtex → engine → engine;返回结构化错误/警告/未定义引用/PDF 字节数 |
| paper_cite_audit | 正文 \cite 系列 ↔ .bib:缺失 / 未引用 / 重复 key |
| paper_status | 完成度、字数、引用、编译、审稿状态 + 确定性 nextAction |
| paper_review | 起独立 fresh subagent 审稿(只给文件路径,不给作者总结),返回 PASS/WARN/FAIL + 诚信核查 |
| paper_export | 复制 PDF/tex/bib/sections/figures/状态到 dist/<slug>-<时间>/ 并打 zip |
| paper_zotero_sync | 通过 dsh-zotero-paperbridge 把 references.bib 的每条 DOI 存进 Zotero;目标集合不存在时可新建(create_collection + confirmed,需用户确认),未选中时保存并归入目标集合 |
| paper_obsidian_archive | 通过 dsh-obsidian-vaultbridge 在 Obsidian 新目录(默认 Paperforge/<slug>/)写入 5 篇笔记:总览、数据与来源、工具与方法、结果与图表、复现与审计 |

7 个命令

- /paper-auto <标题> [--en]:建工程并自主跑完整链路(要求 agent 先 create_goal,全部达标后 update_goal complete)
- /paper-init <标题> [--en]:建工程并推送「先文献、再大纲、逐节写作」指令
- /paper-write [slug]:按 nextAction 推进下一节
- /paper-review [slug]:独立审稿,WARN/FAIL 自动把修改清单推回
- /paper-status [slug]:进度与下一步
- /paper-export [slug]:导出
- /paper-archive [slug] [--force]:一次跑完 Zotero 文献归档 + Obsidian 方法笔记归档

1 个 skill:paper-writing(IMRaD 各节目标、学术诚信红线、编译错误速查、自主模式规程)。

安装

把 <path-to-this-plugin> 换成你 clone 下来的目录
dsh plugin --profile desktop add link:<path-to-this-plugin>

安装后完全退出 DSH(含托盘)再打开,新会话即可看到工具与命令。

插件不声明 peerDependencies(零 @deepseek-ai/* 运行时依赖),因此不会被 ^0.1.x 版本门禁拦截。

配置

profile 的 cordis.patch.yml 里覆盖同名 id 即可(不配置时用 <home>/dsh/research/papers):

- id: paperforge
config:
papersRoot: /path/to/papers
latex:
engine: auto # auto | xelatex | pdflatex | lualatex
latexmk: /path/to/latexmk # 可选;只用来定位 TeX 的 bin 目录 timeoutMs: 180000 bib: timeoutMs: 30000 queryLimit: 8 reviewer: provider: spawn timeoutMs: 900000

latex.latexmk 只用来定位 TeX 的 bin 目录(插件按 engine → bibtex → engine → engine 自己驱动,不依赖 latexmk 的状态缓存)。

归档(依赖两个伴生插件)

- Zotero:paper_zotero_sync 调用 dsh-zotero-paperbridge 的 zotero_status / zotero_collections / zotero_save。
- 本地模式默认保存到「Zotero 当前选中的集合」;若目标集合不存在,可传 create_collection=true + confirmed=true(必须先经用户确认)由插件用本地授权 key 新建集合,再用本地 API 把条目归入(assign,默认 true)。
- 本地授权 key 存于 DSH 凭据 ZOTERO_LOCAL_API_KEY:一次性执行 POST http://localhost:23119/api/local/authorize(Zotero 弹窗由用户点「允许」)后拿到,插件只读不改。
- Web 模式(backend: web)仍可用 collectionKeys 精确落集合,但需要 zotero.org 的 API key。
- Obsidian:paper_obsidian_archive 调用 dsh-obsidian-vaultbridge 的 obsidian_read / obsidian_write,默认写入 Paperforge/<slug>/,mode=replace 覆盖上一版、create 拒绝覆盖、append 追加。

两个工具都不直接实现 HTTP 客户端,全部通过宿主 tools registry 调用对应插件注册的工具(ctx.tools.get(name).execute(...))。

学术诚信边界(硬规则)

1. 引用只能来自 paper_bib_add 写入的 arXiv/Crossref 真实条目;上游失败或 ID 不存在一律报错,不写入任何东西。
2. 结果数字只能来自工具输出或用户提供的真实数据;没有数据就写方法/综述型论文并声明。
3. 独立审稿专门核查:编造引用、无来源的结果数字、结论缺证据;任一项为真不得 PASS。

测试

cd <path-to-this-plugin>
node --test test/core.test.mjs test/bridges.test.mjs

覆盖:slug/LaTeX 转义、工程生命周期、大纲渲染、引用审计、BibTeX 生成与去重、日志解析、以及一次真实中文论文编译 + 导出(需要本机 MiKTeX)。
预览分享卡片长什么样 ↓XZJ-top/dsh-paperforge
分享 · DeepSeek Harness Hub
XZJ-top/dsh-paperforge

自动检索真实文献并撰写、编译、审校整篇论文

这是你的仓库?认领条目

回到顶部