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

生物医学引用核验 gsh150801/dsh-bioinf-verify

DeepSeek 客户端
gsh15080166 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

逐条核查报告引用的真实性、链接与原文一致性

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/gsh150801/dsh-bioinf-verify.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
生态插件
可安装,未声明 dsh 能力
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.2-rc.1,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/05·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/06·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 66 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-bioinf-verify(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 03:52:08

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 40 处,展示前 40 条)
  • 发起网络请求
    lib/index.js:4675
    const outcome = await approval.request({
  • 发起网络请求
    lib/index.js:5039
    async fetch(url, init) {
  • 发起网络请求
    lib/index.js:5115
    const response = await this.fetch(url, opts);
  • 发起网络请求
    lib/index.js:5122
    const response = await this.fetch(url, {
  • 发起网络请求
    lib/index.js:6046
    text: (await client.fetch(url.toString(), { cacheTtlMs: 6e5 })).text.trim(),
  • 写入本地文件
    lib/index.js:6944
    await mkdir(this.dir, { recursive: true });
  • 写入本地文件
    lib/index.js:6945
    await writeFile(this.pathFor(job.jobId), JSON.stringify(job, null, 1), "utf8");
  • 读取本地文件
    lib/index.js:6949
    return JSON.parse(await readFile(this.pathFor(jobId), "utf8"));
  • 读取本地文件
    lib/index.js:6973
    return JSON.parse(await readFile(join(this.dir, name), "utf8"));
  • 写入本地文件
    lib/index.js:7617
    await mkdir(outDir, { recursive: true });
  • 写入本地文件
    lib/index.js:7620
    await writeFile(annotatedPath, finalDocument, "utf8");
  • 写入本地文件
    lib/index.js:7621
    await writeFile(reportPath, appendix, "utf8");
  • 读取密钥环境变量
    lib/index.js:7690
    const ncbi = { apiKey: config.pubmedApiKey !== "" ? config.pubmedApiKey : process.env.PUBMED_API_KEY ?? process.env.NCBI_API_KEY ?? "" };
  • 读取密钥环境变量
    lib/index.js:7691
    const patentsApiKey = config.patentsviewApiKey !== "" ? config.patentsviewApiKey : process.env.PATENTSVIEW_API_KEY ?? "";
  • 发起网络请求
    lib/types/biohttp.js:102
    async fetch(url, init) {
  • 发起网络请求
    lib/types/biohttp.js:170
    const response = await this.fetch(url, opts);
  • 发起网络请求
    lib/types/biohttp.js:178
    const response = await this.fetch(url, {
  • 读取密钥环境变量
    lib/types/index.js:67
    apiKey: config.pubmedApiKey !== '' ? config.pubmedApiKey : (process.env.PUBMED_API_KEY ?? process.env.NCBI_API_KEY ?? ''),
  • 读取密钥环境变量
    lib/types/index.js:69
    const patentsApiKey = config.patentsviewApiKey !== '' ? config.patentsviewApiKey : (process.env.PATENTSVIEW_API_KEY ?? '');
  • 写入本地文件
    lib/types/ledger.js:55
    await mkdir(this.dir, { recursive: true });
  • 写入本地文件
    lib/types/ledger.js:56
    await writeFile(this.pathFor(job.jobId), JSON.stringify(job, null, 1), 'utf8');
  • 读取本地文件
    lib/types/ledger.js:60
    return JSON.parse(await readFile(this.pathFor(jobId), 'utf8'));
  • 读取本地文件
    lib/types/ledger.js:82
    return JSON.parse(await readFile(join(this.dir, name), 'utf8'));
  • 发起网络请求
    lib/types/semantic.js:32
    const response = await client.fetch(url.toString(), { cacheTtlMs: 600_000 });
  • 写入本地文件
    lib/types/workflow.js:419
    await mkdir(outDir, { recursive: true });
  • 写入本地文件
    lib/types/workflow.js:422
    await writeFile(annotatedPath, finalDocument, 'utf8');
  • 写入本地文件
    lib/types/workflow.js:423
    await writeFile(reportPath, appendix, 'utf8');
  • 发起网络请求
    src/biohttp.ts:132
    async fetch(url: string, init?: RequestInit & { cacheTtlMs?: number; signal?: AbortSignal }): Promise<BioHttpResponse> {
  • 发起网络请求
    src/biohttp.ts:199
    const response = await this.fetch(url, opts)
  • 发起网络请求
    src/biohttp.ts:207
    const response = await this.fetch(url, {
  • 读取密钥环境变量
    src/index.ts:91
    apiKey: config.pubmedApiKey !== '' ? config.pubmedApiKey : (process.env.PUBMED_API_KEY ?? process.env.NCBI_API_KEY ?? ''),
  • 读取密钥环境变量
    src/index.ts:93
    const patentsApiKey = config.patentsviewApiKey !== '' ? config.patentsviewApiKey : (process.env.PATENTSVIEW_API_KEY ?? '')
  • 写入本地文件
    src/ledger.ts:139
    await mkdir(this.dir, { recursive: true })
  • 写入本地文件
    src/ledger.ts:140
    await writeFile(this.pathFor(job.jobId), JSON.stringify(job, null, 1), 'utf8')
  • 读取本地文件
    src/ledger.ts:145
    return JSON.parse(await readFile(this.pathFor(jobId), 'utf8')) as VerificationJob
  • 读取本地文件
    src/ledger.ts:167
    return JSON.parse(await readFile(join(this.dir, name), 'utf8')) as VerificationJob
  • 发起网络请求
    src/semantic.ts:74
    const response = await client.fetch(url.toString(), { cacheTtlMs: 600_000 })
  • 写入本地文件
    src/workflow.ts:453
    await mkdir(outDir, { recursive: true })
  • 写入本地文件
    src/workflow.ts:456
    await writeFile(annotatedPath, finalDocument, 'utf8')
  • 写入本地文件
    src/workflow.ts:457
    await writeFile(reportPath, appendix, 'utf8')
扫描于 2026/11/6(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 逐条核查引用真实性
  • 校验链接与原文一致性

README

由 DeepSeek 最新模型翻译生成
dsh-bioinf-verify topic: dsh-plugin 独立校验插件,用于 DeepSeek Harness (dsh)。 与资源路由类插件(dsh-bioinf / dsh-bioinf-routed)职责分离:本插件专注一件事——让生物医学/科研报告中的每一个证据都经得起核验。 英文摘要:一个独立校验插件,功能包括:(1) 对照权威注册库(Crossref / PubMed / ClinicalTrials.gov / UniProt / GEO / SRA / PatentsView)检查引用,包括撤稿扫描;(2) 核验 URL 真实且可访问;(3) 核验所声称的标题与来源标题是否一致(论文、专利、数据集、通过 og:title 获取的新闻/网页文章);(4) 核验报告中的说法与逐字原文之间的含义一致性(温度 0 的 LLM 蕴含判定);(5) 运行整篇报告校验:分解 → 在持久可审计账本上对每条说法进行多方面检查 → 带标注的原始报告 + 追加的校验报告。 为什么需要它 生物医学 AI 报告最常见的失败不是“编造结果”,而是更隐蔽的三类: 1. 引用不存在(幻觉 DOI/PMID/accession); 2. 链接失效(引用了打不开的网页); 3. 张冠李戴——DOI 真实存在,但报告说它的内容与原文完全是两回事。
展开完整文档(README 剩余 1 节)
dsh-bioinf-verify

topic: dsh-plugin

独立校验插件,用于 DeepSeek Harness (dsh)。
与资源路由类插件(dsh-bioinf / dsh-bioinf-routed)职责分离:本插件专注一件事——让生物医学/科研报告中的每一个证据都经得起核验。

英文摘要:一个独立校验插件,功能包括:(1) 对照权威注册库(Crossref / PubMed / ClinicalTrials.gov / UniProt / GEO / SRA / PatentsView)检查引用,包括撤稿扫描;(2) 核验 URL 真实且可访问;(3) 核验所声称的标题与来源标题是否一致(论文、专利、数据集、通过 og:title 获取的新闻/网页文章);(4) 核验报告中的说法与逐字原文之间的含义一致性(温度 0 的 LLM 蕴含判定);(5) 运行整篇报告校验:分解 → 在持久可审计账本上对每条说法进行多方面检查 → 带标注的原始报告 + 追加的校验报告。

为什么需要它

生物医学 AI 报告最常见的失败不是“编造结果”,而是更隐蔽的三类:

1. 引用不存在(幻觉 DOI/PMID/accession);
2. 链接失效(引用了打不开的网页);
3. 张冠李戴——DOI 真实存在,但报告说它的内容与原文完全是两回事。

GeneAgent 证明了“回查原始库”是抗幻觉的正道,ChemCrow 证明了“确定性工具 > LLM 自评”。
本插件把这套纪律工程化:*存在性/撤稿/标题用确定性注册库核验,含义一致性用注册库原文 + 温度 0 的 LLM 蕴含判定(LLM 只对比两段逐字原文,不依赖模型记忆)。

组件

报告级工作流(核心功能)

| 工具 | 作用 |
| report_verify_start | 把整篇报告分解为若干待校验点:确定性扫描(段落/句子切分 + 标识符正则)+ LLM 分解(温度 0,标识符由代码再提取)合并去重;每点分类为 literature / patent / clinical_trial / dataset / protein / webpage 并记录原文锚点 |
| report_verify_step | 执行下一个“方面检查”(一次一个),每次检查后立即持久化账本;崩溃可恢复,已完成方面不重跑 |
| report_verify_status | 从账本读取结构化进度(每点 × 每方面) |
| report_verify_finish | 生成 ① 原报告内联标注(未通过点句段后追加 ❌【校验未通过 C2·literature:存在性(未通过)…】)与 ② 文末完整校验报告(汇总统计、逐点核验矩阵、每个失败点的具体说明、账本路径) |
| report_verify_list | 列出历史校验任务 |

组件工具(可独立调用,也是工作流的部件)

| 工具 | 校验内容 | 数据源 |
| url_verify | 链接真实存在/可访问:重定向跟随、404/410 vs 401/403 区分、软 404 启发 | 直接 HTTP |
| title_verify | 标题核验(论文/专利/数据集/新闻网页文章):match ≥75%或包含 / close 40–75% / mismatch | Crossref、PubMed、PatentsView、GEO、页面 og:title |
| doi_verify | DOI 存在性 + 元数据 + 标题比对 | Crossref |
| pmid_verify | PMID 核验 + 撤稿/Expression-of-Concern 扫描 | PubMed |
| clinical_trial_status | 试验存在性/状态/期相/结果 posted | ClinicalTrials.gov v2 |
| geo_accession_verify / sra_accession_verify | 数据集/测序存档 accession | NCBI gds / sra |
| uniprot_verify | 蛋白 accession + 基因对应 | UniProtKB |
| claim_audit | 批量引用审计矩阵(终稿闸门) | 以上聚合 |
| claim_semantic_check | 单条“报告说法 vs 原文含义”一致性 | 注册库原文 + 温度 0 LLM |

账本数据结构(可审计 / 可追溯 / 可恢复)

每次校验任务是一个持久化 JSON(/.json):

job ── status / 原报告全文 / options ├─ claims[] ── claimId、claim、quote、paraIndex、category、identifiers │ └─ aspects[] ── aspect(existence/retraction/title_agreement/ │ semantic_consistency/url_accessibility/…)、 │ component、起止时间、status、detail、 │ evidence(原始核验载荷) └─ log[](追加式事件日志)

配置(profile patch 示例)

- insert:
- id: bioinf-verify
name: dsh-bioinf-verify # 已随 bundles 安装;也可用 file:// 绝对路径指向 lib/index.js config: workDir: '' # 账本/输出根目录;默认 ~/.dsh/science-verification contactEmail: '' # 或环境变量 CONTACT_EMAIL(NCBI/Crossref polite pool) pubmedApiKey: '' # 或环境变量 PUBMED_API_KEY(3→10 rps) patentsviewApiKey: '' # 或环境变量 PATENTSVIEW_API_KEY(免费申请) guidance: true # 注入工作流使用规范到系统提示 llmRouter: # 分解 + 语义蕴含用(温度 0) enabled: true baseURL: 'http://127.0.0.1:8012/v1' # OpenAI 兼容端点(本地 vLLM 即可) model: 'deepseek-v4-flash' apiKey: ''

所有密钥只从 profile 配置或环境变量读取,仓库内不含任何密钥。全部 API 均免费;仅 PatentsView 需要免费申请 key,未配置时相关组件返回申请引导而非报错。

安装

方式一:dsh plugin add 直接安装(推荐)

本包发布为可独立安装的 profile bundle:打包产物自包含 lib/index.js (schemastery / dsh-tools 已融入单文件),唯一外部依赖是每个 profile 都内置的 @deepseek-ai/cordis,因此无需任何配套安装:

dsh plugin --profile add git+https://github.com/gsh150801/dsh-bioinf-verify.git

安装成功后包名会依据 dsh.bundle.patch 声明自动追加进该 profile 的 dsh.profile.bundles(~/.dsh/profiles//package.json)。随后:
- 为 bioinf-verify 行补充本机配置(llmRouter 的 baseURL/model、密钥等)——见上文配置节,或通过 dsh 设置面板编辑;
- 重启 dsh web,report_verify_ 与各组件工具即生效。

方式二:源码 checkout(二次开发)

需要 DeepSeek Harness 源码 checkout:

git clone https://github.com/gsh150801/dsh-bioinf-verify packages/examples/dsh-bioinf-verify
pnpm install && pnpm run build:lib:host
然后在 profile patch 中按上面的示例挂载(name 用 file:// 绝对路径指向 lib/index.js)

开发

pnpm install
vitest run packages/examples/dsh-bioinf-verify/tests/verify.spec.ts # 离线(mock)
RUN_LIVE=1 vitest run packages/examples/dsh-bioinf-verify/tests/live.spec.ts # 实网验收

License

MIT
预览分享卡片长什么样 ↓gsh150801/dsh-bioinf-verify
分享 · DeepSeek Harness Hub
gsh150801/dsh-bioinf-verify

逐条核查报告引用的真实性、链接与原文一致性

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部