メインコンテンツへスキップ
L

dsh-convo-paper

lishaozheli/dsh-convo-paper

DeepSeek Harness 插件:把对话整理成论文。按说话人还原上下文、提炼带出处的论点、生成论文骨架,并用 Crossref/DataCite/OpenAlex/arXiv 逐条核验引用。

インストール

dsh plugin --profile web add github:lishaozheli/dsh-convo-paper

README

dsh-convo-paper

把一段对话整理成一篇论文——但参考文献必须真的存在。

tests node license

一个 DeepSeek Harness(DSH)扩展:读会话日志 → 按说话人还原上下文 → 抽出有创意的观点与结论 → 生成论文章节骨架 → 逐条核实参考文献 → 交给模型写成稿。

它不替代写作,它保证写作不被编造拖垮。

两种形态

插件版(plugin/)技能版(仓库根目录)
出现在「已安装插件」✅ 设置 → 插件❌ 在技能列表 / @ 菜单
能力5 个原生工具 + /paper 命令同一套逻辑的 CLI,模型读 SKILL.md 后调用
安装dsh plugin add github:LiShaozheli/dsh-convo-paper#path:/plugin拷目录到 ~/.dsh/skills/convo-paper
依赖无无

两者共用 lib/(插件内的 dsh/lib/ 由 scripts/sync-core.mjs 生成,测试会校验不漂移)。

它解决什么

把聊天记录丢给模型说"写成论文",通常得到两种东西:带对话口吻的纪要,或者引用格式完美、但查无此文的文本。已有实证研究指出,模型给出的参考文献在格式上无懈可击,却常与真实文献不符1;在专业领域测评中,回答准确率与引用可靠性并不同步2。

常见失败本技能的处理
产出"对话纪要"而不是论文先分离说话人再抽论点,正文禁止出现"用户/AI"元叙述
一本正经编造参考文献Crossref / DataCite / OpenAlex / arXiv 四源核验,通过才放行
把用户的洞见写成"本文提出"每条论点记录 role + turn,证据表可逐条回溯
篇幅膨胀、主线丢失论点强制收敛到 5–12 条,超了直接提示"素材不足"

效果示例

$ convo-paper refs verify --in refs.json
核对 3 条…
  1/3 verified  Citation Accuracy Challenges Posed by Large Language Models
  2/3 verified  High Accuracy, Questionable References: LLMs' Performance…
  3/3 rejected  A Fully Automated Conversation-to-Paper Pipeline with Guaranteed…
verified 2|possible 0|rejected 1

第 3 条是刻意构造的伪造条目——标题像模像样、DOI 不存在。它在三个数据源都查无相近记录,被拒绝并单独告警。在本测试样本上,伪造引用的放行数量为零。

工作流

DSH 会话日志 (session.v4.jsonl.zstd)
        │  逐帧解 zstd、按 source.kind 剔掉系统注入
        ▼
   transcript.md      用户说了什么 / AI 答了什么,按轮次分开
        │  线索词 + 新颖性标记 + 长度打分
        ▼
   claims.json        候选论点:id / 说话人 / 轮次 / 时间戳 / 建议章节
        │  人工或模型判定 keep / merge / drop
        ▼
   paper-skeleton.md  章节骨架 + 论点占位 + 引用位
        │  检索 → DOI 反查 → 标题相似度
        ▼
   refs.json          verified / possible / rejected
        │
        ▼
   paper.md → paper.docx(宋体小四 / 1.5 倍行距 / GB/T 7714)

安装

插件版(会出现在「已安装插件」里,带 /paper 命令):

dsh plugin --profile desktop add dsh-convo-paper-plugin        # 从 npm 装(推荐)
# 或直接从仓库装:dsh plugin --profile desktop add github:LiShaozheli/dsh-convo-paper#path:/plugin
# 装完重启 DSH → 设置 → 插件 里出现 convo-paper

npm 包:https://www.npmjs.com/package/dsh-convo-paper-plugin

技能版(拷目录即可,不需要重启 profile 依赖):

git clone https://github.com/LiShaozheli/dsh-convo-paper.git
cp -r dsh-convo-paper "$HOME/.dsh/skills/convo-paper"
node "$HOME/.dsh/skills/convo-paper/bin/convo-paper.mjs" sessions   # 验证

要求 Node ≥ 22.15(用到内置 zlib.zstdDecompressSync)。无第三方依赖。

装好后技能会出现在 DSH 的技能列表里,说一句"把上面这段对话整理成论文"即可触发。

快速开始

CP="$HOME/.dsh/skills/convo-paper/bin/convo-paper.mjs"

node "$CP" sessions                        # 列出本机会话(最新在前)
node "$CP" run --out paper-work            # 抽取 + 论点 + 骨架
node "$CP" refs search --query "关键词" --limit 5
node "$CP" refs verify --in refs.json --out paper-work
python ~/.dsh/skills/convo-paper/bin/md2docx.py paper-work/paper.md paper-work/paper.docx
命令作用
sessions列出本机所有会话日志
extract抽取上下文 → transcript.md / conversation.json
claims候选论点 → claims.md / claims.json
build章节骨架 → paper-skeleton.md / evidence.md
refs search检索文献,返回 DOI 与 GB/T 7714 著录
refs verify逐条核验,输出 refs.json / bibliography.md
runextract + claims + build

--session 支持 latest、完整 id(session-xxxx)或 id 片段;--cwd 指定会话所属工作目录。

引用核验规则

verdict条件允许的用法
verifiedDOI 可解析 且 标题相似度 ≥ 0.85可进正文与参考文献
possible相似度 0.62–0.85仅"待人工核对",需人工确认
rejected< 0.62 或查无记录丢弃并告警

DOI 路由:10.48550/arXiv.*、Zenodo、OSF 等 DataCite 注册的 DOI 走 DataCite(走 Crossref 会返回错误的重印记录);其余先 Crossref,再 DataCite,再 OpenAlex。中文文献没有 DOI 时必须标 [待核实]。

与生态插件协作

如果本机装有文献类插件,技能会优先使用它们检索,再交给脚本独立复核:

检索可以依赖插件,判定必须双源。 插件给出的 DOI 也会被 refs verify 再解析一次,防止插件侧元数据错误被直接继承。

实测记录

在一个真实 DSH 会话上跑通(2 个用户轮次 / 2 条模型回答 / 90 次工具调用):

  • 日志里有 4 条被记录为"用户消息"的系统注入(运行时上下文、技能目录、时间戳等),按 source.kind 正确剔除——不剔除它们会被当成超长用户发言,直接污染问题陈述。
  • 5 条候选论点,人工判定保留 3 条。被丢弃的两条是操作说明与工具配置提示:句式完整、含结论词,但对论文没有贡献——这说明线索词方法保证不漏,但必须有第二道判定。
  • 3 条候选引用 → 2 条 verified、1 条 rejected。其中一条只给标题、没给 DOI,靠 Crossref 检索匹配成功。

开发与测试

npm test          # 16 个用例 + 核心代码与插件副本的一致性校验
套件覆盖
test/smoke.test.mjs多帧解码、说话人分离、论点抽取、GB/T 7714 著录、骨架生成
test/plugin.test.mjsmock ctx 下注册 5 个工具与 /paper,用临时 DSH_HOME 造真实会话日志跑完端到端
scripts/sync-core.mjs --checklib/ 与 plugin/dsh/lib/ 不漂移

无第三方依赖、无构建步骤。核心模块:

文件职责
lib/zstd.mjs多帧 zstd 解码(Node 的 sync API 只解第一帧,stream API 遇到写入中的尾部会报错)
lib/sessions.mjs定位会话日志、解析事件
lib/extract.mjs事件 → 按轮次/说话人的对话结构
lib/claims.mjs候选论点抽取与打分
lib/refs.mjs四源检索、DOI 路由、相似度判定、GB/T 7714 著录
lib/build.mjs章节骨架与证据表
bin/md2docx.pyMarkdown → DOCX(python-docx,中文学术排版)

路线图

  • 跨会话聚合:同一主题的多轮讨论合并成一篇
  • 中文文献通道:可核验的中文元数据来源
  • 独立评审模型:对论证链做对抗性检查
  • 更多著录格式:APA / IEEE / ACM / Chicago

已知边界

  • 保证"引用存在",不保证"引用恰当"——哪条文献支撑哪个论点,仍需作者判断。
  • 知网/万方/维普没有开放 API,中文文献只能人工确认。
  • 论点抽取是启发式的;以操作指令为主的对话(装插件、改配置)抽出的内容质量很低,技能会提示素材不足而不是硬写。
  • 面向"思想型"对话设计;依赖实验数据的研究里,对话只是构思副产品,此时它应退化为提纲工具。

English

dsh-convo-paper turns a DeepSeek Harness conversation into a paper draft without fabricated references. It decodes the session log frame by frame, separates the human's turns from the model's (dropping harness injections), extracts candidate claims with speaker/turn provenance, builds a section skeleton, and gates every citation through Crossref / DataCite / OpenAlex / arXiv — only records whose DOI resolves and whose title matches may enter the manuscript.

git clone https://github.com/LiShaozheli/dsh-convo-paper.git
cp -r dsh-convo-paper "$HOME/.dsh/skills/convo-paper"
node "$HOME/.dsh/skills/convo-paper/bin/convo-paper.mjs" run --out paper-work

Requires Node ≥ 22.15. No dependencies.

License

MIT. See LICENSE.

Footnotes

  1. Zhang M, Zhao T. Citation Accuracy Challenges Posed by Large Language Models[J]. JMIR Medical Education, 2025, 11: e72998. DOI: 10.2196/72998. ↩

  2. Nieves-Lopez B, Fabregas A, Del Rio Montesinos GF, 等. High Accuracy, Questionable References: Large Language Models' Performance and Citation Reliability in Foot and Ankle Surgery Examinations[J]. Foot & Ankle Orthopaedics, 2026, 11(3). DOI: 10.1177/24730114261484163. ↩

関連プラグイン