DeepSeek Harness Hub
← 返回列表

可验证报告引擎PerryLink/dsh-research-report

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

📑 dsh-research-report

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node ^22.19.0 || >=24.0.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/19 · 已提供中文文档

DeepSeek Harness 的可验证研究报告引擎:内容寻址的证据账本(声明-快照绑定,防篡改)加上带版本的密封报告,包含逐条声明的验证结论以及清单密封的目录。

综合分
59
GitHub 分
59
用户评分
★ Stars
133
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-research-report
npm 包 dsh-research-report 已校验归属本仓库,走 npm 安装最省事
🟢实装验证通过· 2026/9/18
由 dsh-plugin-verify(GitHub Actions)在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

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

npm 包dsh-research-report @ 0.3.10
Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/17 15:49:00

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-util-values@deepseek-ai/dsh-attachment@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-brand@deepseek-ai/dsh-invariants@deepseek-ai/dsh-scope@deepseek-ai/dsh-user-approval@deepseek-ai/dsh-jobs@deepseek-ai/dsh-jobs-local
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

📑 dsh-research-report
- 1024 商店渠道:先执行一次 npm i -g dsh1024,然后执行 dsh1024 plugin --profile web add dsh-research-report(计入 deepseek1024.com 安装排名)。
Gitee

一个面向 DeepSeek Harness 的可验证研究报告引擎。

每一条论断都绑定到不可变的证据快照,逐字节验证,并封存进带版本的报告,其清单哈希任何人都可重新计算。

License
DSH plugin
dsh-doctor
Node
CI
Version
npm version
npm downloads

English · 简体中文 · Español · Português · हिन्दी

兼容性

- DeepSeek Harness dsh-v0.1.6-alpha.2(验证于 2026-09-18)。npm dev/test 线为 0.1.6-alpha.2;peer 为 >=0.1.2-rc.1 =0.1.5-alpha.1 =0.1.6-0 =24.0.0,仅 ESM("type": "module")。
- 对等依赖:@deepseek-ai/cordis ^4.0.2、@deepseek-ai/schemastery ^3.18.2,以及 @deepseek-ai/dsh-session、@deepseek-ai/dsh-tools、@deepseek-ai/dsh-system-prompt、@deepseek-ai/dsh-web、@deepseek-ai/dsh-jobs,版本为 >=0.1.2-rc.1 =0.1.5-alpha.1 /objects/ + JSONL 日志)。相同内容只存储一次;快照不可变;每次读取都会重新计算哈希,因此篡改或删除会被检测出来,而不是被信任。
- 声明 ↔ 证据绑定 —— 声明在注册时关联其所依赖的证据 id;账本保留该绑定以及每一次验证结论(最新者胜出)。
- 字节级验证 —— 声明中的每一个数字和引用片段都必须能在绑定的快照中逐字定位。没有绑定证据,或没有可检查的字面量,会将声明标记为 unverified;绑定证据无法确认或否认所声明的字面量,会将其标记为 insufficient;某个标签的快照值不同(所声明的值不存在),会将其标记为 disproven;快照被篡改/缺失,会将其标记为 contradicted。没有语义,没有嵌入——只有可审计的字节检查。
- 可选数值桥接 —— 当声明引用结构化工作区数据集(CSV/JSON)且挂载了 dsh-data-quality 时,引用会通过其冻结的 verifyCitations 契约以容差进行交叉校验;数据集不匹配会推翻该声明。
- DOI 证据(零网络) —— DOI 来源以确定性方式验证(10.xxxx/xxxx 结构、前缀白名单以及 DOI 字符集);无效 DOI 会大声失败。可选的期刊/年份元数据会被接受,而 requireJournalMetadata 仅在启用时对学术 DOI 证据进行门控。
- 带版本的密封报告 —— ///report.md + manifest.json + verification.jsonl + disconfirmation.jsonl;密封哈希是 manifest 的 SHA-256,而 manifest 本身携带报告哈希、每一个证据哈希以及每个审计日志的哈希。
- 交付前重新审计与密封拦截 —— 在密封之前,每一条绑定声明都会离线重新验证并记录到 verification.jsonl;结论漂移、绑定证据被篡改/缺失,或日志序列化失败,都会阻止密封(大声失败,无可调参数)。
- 证伪账本 —— 每一条被 contradicted 或 disproven 的声明都会记录在 disconfirmation.jsonl 中(声明 + 证据引用 + 原因),并列入报告的 falsification log 附录。
- 负面知识 —— 被推翻的声明会按其内容哈希被记住(disproofs.jsonl);在证据未变的情况下重新报告相同文本会被强制回到 disproven,只有在证据发生变化后才会重新验证。
- 只读验证器循环 — 封存后,一个确定性的 verifySealedReport 回退机制(零网络、零模型)会重新计算封存哈希和审计哈希,并重新检查每一项声明,将机器检查结果写入 verifier-note.md;当 ctx.jobs 被挂载时,还会生成一个只读验证器作业(模型审查是增强,绝不是替代)。
- 独立验证器 CLI — dsh-research-verify --report  [--seal ] [--ledger ] [--format json|sarif] 仅从封存目录重新计算封存哈希 + 逐项声明复查,并打印 JSON 信封或 SARIF 2.1.0 文档(参见 验证器 CLI)。
- 会话锚定证据 — evidence_add 接受可选的 sessionRef(sessionId + eventRange,会大声校验);该锚点会被存储、在附录 B 中呈现,并注册到清单和 verification.jsonl 中。会话锚定证据会诚实地验证为 unverified(session-anchored evidence requires a manual check against the session log)。
- 诚实的缺口 — 未核实、证据不足、与证据矛盾和已证伪的声明在报告正文中保留可见的 [未核实] / [证据不足] / [与证据矛盾] / [已证伪] 标记,并列入附录 A。没有任何内容会被静默放过。
- 无深度研究循环 — 检索编排被有意复用:ctx.web 用于搜索/抓取,ctx.jobs 用于长时间运行。规划和综合仍由模型(或上游插件)负责。

快速开始

git 渠道

From a scratch profile (pins the commit; runs the self-contained prepare build)
dsh plugin --profile demo add "github:YOUR_ORG/dsh-research-report#"
The profile's pnpm-workspace.yaml gains an allowBuilds entry for dsh-research-report on first add.

npm 渠道

dsh plugin --profile demo add dsh-research-report

两个渠道都会将 bundle 行(参见 cordis.patch.yml)安装到 profile 的 dsh.profile.bundles 栈中,并在重启后生效。

然后,在会话中:

evidence_add({ origin: "docs/market.md", title: "Market snapshot" })     # → ev-1a2b3c4d5e6f
research_report({ topic: "示例行业概览", sections: [...], claims: [...], evidenceRefs: ["ev-1a2b…"] })
ledger_query({ claimId: "c1" })                                          # bindings + verdict

安装与卸载

dsh plugin --profile demo add dsh-research-report       # install
dsh plugin --profile demo remove dsh-research-report    # uninstall

验证该行已挂载:dsh --profile demo --dump-config | grep dsh-research-report。

配置

所有可调项都是 Schemastery Config 字段;无效值会导致 profile 加载大声失败。相对根路径会相对于 harness 工作目录(即工作区)解析。

| 键 | 默认值 | 描述 |
| --- | --- | --- |
| enabled | true | 总开关;false 时不挂载任何内容。 |
| ledgerRoot | .research-ledger | 证据账本目录(对象 + JSONL 日志)。 |
| reportRoot | research-reports | 密封报告根目录(按主题和时间戳进行版本化)。 |
| maxEvidenceBytes | 2097152 | 单个证据快照 UTF-8 字节数的硬性上限。 |
| maxEvidencePerReport | 200 | 绑定到单个报告中的证据条目的硬性上限。 |
| fetchTimeoutMs | 20000 | 捕获期间单次 ctx.web 抓取的截止时间(毫秒)。 |
| requireJournalMetadata | false | 当为 true 时,DOI 类型的证据在注册时必须带有期刊名称和出版年份(否则会显式失败)。 |

工具与界面

- evidence_add({ origin, content?, title? }) — 注册一个证据快照。带有 content 时,文本按原样存储;不带时,会通过 ctx.web 抓取 URL 来源,并从磁盘读取工作区相对路径(读取永远不会逃逸工作区)。返回证据 id 和 SHA-256 哈希。
- research_report({ topic, title?, sections, claims, evidenceRefs, gather?, depth?, background? }) — 组装并密封报告:验证(未注册的声明引用会被显式拒绝)、验证每一条声明、渲染带有可见标记的 report.md、写入 manifest.json,并返回密封哈希。gather: true 会在 ctx.web 上运行一轮搜索,并返回捕获的候选证据以及明确的缺口列表——它绝不会自动组装。background: true 会通过 ctx.jobs 返回 { kind: 'background', jobId }。
- ledger_query({ claimId? | evidenceId? }) — 只读的绑定/裁决查询;读取时会重新对证据进行哈希,因此被篡改或缺失的快照会被显式报告。不带 id 时,返回账本摘要。
- ctx.researchReport.assemble(request) — 供同级插件使用的冻结服务界面(参见 src/service.ts;由 scripts/verify-frozen-contract.mjs 逐字节把关)。

权限与数据

dsh-research-report 仅使用公共接缝:ctx.tools、ctx.systemPrompt,以及可选的 ctx.web / ctx.jobs / ctx.dataQuality(在调用时查找,绝不注入)。它只写入配置的账本和报告根目录内(两者默认均为工作区本地目录),只读取工作区内的文件,并且仅通过 harness web 接缝访问网络——绝不直接使用 fetch。证据快照不可变且按内容寻址;声明注册不可变;裁决仅追加。

安全边界

- 构造性防篡改 — 每次读取快照时都会根据索引重新计算 SHA-256;不匹配会将绑定的声明验证为 contradicted,并且 ledger_query 会报告 integrity: tampered/missing。
- 工作区限制 — 本地证据读取会基于工作区根目录进行解析,并拒绝逃逸(比较前双方都会经过 path.resolve)。
- 显式失败配置 — 无效边界会在挂载时抛出;未注册的声明引用、未知证据 id 以及 id/内容冲突会在组装时抛出。
- 无凭据处理,无隐藏网络 — URL 捕获依托 ctx.web(提供方选择、错误分类以及任何 SSRF 策略均保留在部署的 web 提供方中)。
- 可逆注册 — 每一项贡献都经过 ctx.effect() / register(),因此卸载和热重载都是干净的。

已知限制

- 字节级,而非语义级 — 内置检查逐字定位数字/引号字面量;没有可检查字面量的转述性声明会被验证为 unverified,而一个真实声明若其数字缺失、但其标签以不同值出现,则会被读作 contradicted。这是 v1 的有意选择(可审计胜过取巧)。
- 会话事件是自适应的 — 该插件声明了带类型的 research-report/evidence、research-report/verify 和 research-report/seal 会话事件,但 0.1.5-alpha.1 的 Session.append 仍未暴露 ignorable 选项,也没有插件事件注册接口,因此只有当宿主构建知晓这些类型时,追加才会激活(否则持久化层会在恢复时拒绝该日志)。账本日志始终是持久的事实来源。
- 默认配置文件不挂载任何抓取提供方 — 随附的 dsh-base 仅挂载搜索,因此在配置抓取提供方之前,URL 捕获会显式失败(WEB_UNAVAILABLE/WEB_PROVIDER_UNAVAILABLE);基于搜索的 gather 会在缺口列表中列出未捕获的来源。
- 单工作区范围 — 账本和报告根目录在挂载时相对于 harness 工作目录解析;多工作区部署应按配置文件配置绝对根目录。

验证器 CLI

独立的 dsh-research-verify 二进制文件(打包为 lib/cli.js,零 @deepseek-ai 导入)可在不挂载插件的情况下审计任何已封存报告目录:

dsh-research-verify --report  [--seal ] [--ledger ] [--format json|sarif]

- --report  — 已封存报告目录(manifest.json + report.md + 审计日志)。
- --seal  — 用于与重新计算的清单哈希进行比较的预期封存哈希。省略 = 仅报告重新计算的哈希而不进行比较。
- --ledger  — 证据账本根目录(objects/ + index.jsonl),用于启用逐声明的字节级重新检查。省略 = 如实跳过声明重新检查。
- --format — json(默认)或 sarif(SARIF 2.1.0)。

它会重新计算封存哈希(manifest.json 的 SHA-256)、report.md 哈希以及审计日志哈希,对每个声明重新运行字节级 + 完整性检查,并在任何已执行的检查失败时以非零状态退出。相同的 verifySealedReport / buildVerificationReport / renderSarif / renderVerificationJson 函数从包中导出,供库使用。

开发

pnpm install
pnpm run typecheck && pnpm run typecheck:ci
pnpm test
pnpm run build
pnpm run verify:self-contained && pnpm run verify:artifacts
node scripts/check-readme-sync.mjs
node scripts/verify-frozen-contract.mjs
pnpm pack
- typecheck 通过已安装的 0.1.5-rc.2 peer 解析 @deepseek-ai/*;typecheck:ci 清除 skipLibCheck 并针对已发布的类型启用 verbatimModuleSyntax。两者都必须保持绿色。
- 测试使用来自 0.1.5-rc.2 peer 的真实 Context/Session/ToolRuntime/LocalJobRegistry/WebRuntime;只有网络后端是通过真实 ctx.web 注册表注册的脚本化 provider。
- 发布:node scripts/release.mjs (递增版本、标记 CHANGELOG、重新运行门禁、提交 + 打标签;从不推送)。

主题

dsh、dsh-plugin、deepseek-harness、cordis、research、evidence-ledger、verifiable-report、audit、citation-verification

贡献者

- PerryLink — 原作者和维护者:插件架构、证据账本、字节级验证、密封报告、五语言文档、CI 和发布自动化。

PerryLink DSH 插件家族

本项目是由 PerryLink 维护的 40 个 DeepSeek Harness 插件之一。如果这个对你有帮助,其他的很可能也会:

| 插件 | 一句话简介 |
|---|---|
| dsh-auto-review | 审批链上的第二模型自动审查,默认故障关闭 | |
| dsh-background-agents | 持久的后台子代理,带 Web UI 侧边栏、消息传递和中断 | |
| dsh-budget | DeepSeek Harness 的成本治理:预算、碳和延迟集于一个面板。 | |
| dsh-checkpoint-rewind | 等同于 Claude Code /rewind:快照、会话分叉、一次性恢复 | |
| dsh-claude-move | 将 Claude Code 会话、记忆、技能和 CLAUDE.md 迁移到 DSH | |
| dsh-click | DeepSeek Harness 的跨平台原生桌面控制——Windows 优先。 | |
| dsh-composer-history | Web 编辑器的终端风格输入历史:方向键、Ctrl+R 搜索 | |
| dsh-data-quality | 数据集质量检查和引用交叉核对(此处消费的可选数值桥接) | |
| dsh-defend | DeepSeek Harness 的提示注入、越狱和机密泄露防御。 | |
| dsh-doublecheck | 工程纪律守卫:需求拷问、测试门禁、对手审查 | |
| dsh-draw | DeepSeek Harness 的统一静态图像生成路由。 | |
| dsh-fast | DeepSeek Harness 的只读性能诊断。 | |
| dsh-fund-research | 面向中国公募基金的确定性研究报告 | |
| dsh-github | 面向 DSH 的 GitHub PR/issue 集成,每次写入均需审批 | |
| dsh-industry-research | 行业研究编排,通过本插件的 ctx.researchReport.assemble 封存其交付物 | |
| dsh-library | 面向 DeepSeek Harness 的本地文档知识库。 | |
| dsh-local-ai | 面向 DeepSeek Harness 的本地模型(Ollama)集成。 | |
| dsh-lsp-actions | 基于语言服务器的 LSP 诊断、格式化、补全、代码操作与重命名 | |
| dsh-mask | PII 脱敏中间件:在模型边界匿名化,在展示层还原 | |
| dsh-mcp-panel | 只读 MCP 运行时面板:/mcp 命令 + 设置标签页,含状态、工具与错误 | |
| dsh-memento | 需审批的跨会话记忆:ctx.memory 接缝 + SQLite + memory 工具 | |
| dsh-observe | 面向 DeepSeek Harness 的 OpenTelemetry 与 Langfuse 可观测性导出器。 | |
| dsh-output-styles | 等效于 Claude Code outputStyles 的运行时样式切换 | |
| dsh-permission-rules | Claude Code 风格的声明式 allow/deny/ask 权限规则,带审计 | |
| dsh-personal-directive | 带顶栏开关的个人指令注入器(框架版) | |
| dsh-plugin-guide | 以按需智能体技能形式提供的插件开发知识库 | |
| dsh-plugin-doctor | 面向 DSH 插件的零依赖静态 + 沙箱冒烟检测器 | |
| dsh-reach | 多渠道审批/提问桥接:微信/Telegram/飞书,会话控制台 | |
| dsh-score | 面向 DeepSeek Harness 插件的多维度质量评分。 | |
| dsh-session-pin | 在 Web 侧边栏中固定会话,并保持持久排序 | |
| dsh-session-sync | 面向 DeepSeek Harness 的跨设备会话同步——你会话存储的专用 git 镜像。 | |
| dsh-skill-pack-security | 安全审计技能包:密钥扫描、依赖与供应链审查 | |
| dsh-talk | DeepSeek Harness 的语音优先会话循环:与它对话,聆听它的回答。 | |
| dsh-test-drive | 针对 DeepSeek Harness 插件的隔离式安装与冒烟测试驱动。 | |
| dsh-ticktick | TickTick/滴答清单任务桥接:会话头部面板 + 11 个工具 |
| dsh-translate | 针对 DeepSeek Harness 的供应商参数转换与确定性 JSON 修复。 | |
| dsh-wechat | 微信 ↔ DSH 桥接(腾讯 iLink 机器人):文本/图片/文件/语音,在聊天中完成审批 |
| dsh-autotier | 自动的强/廉价模型层级路由,具备确定性风险防护和 /tier 命令 | |
| dsh-catalog | PerryLink 系列的 DSH Desktop Market 标准目录源 | |
| dsh-cert-mcp | 只读 MCP 服务器,公开认证注册表:等级、快照和五维证据 | |
| dsh-kit | 一键安装核心系列的一站式入门包 | |
| dsh-plugin-certification | 社区认证注册表,具备可复现检查的等级和徽章 | |
| dsh-plugin-kit | 面向 PerryLink DSH 插件的共享零运行时依赖工具包 | |
| dsh-plugin-portal | 零依赖静态门户,将整个插件系列渲染为单个页面 | |
| dsh-plugin-upgrade-015 | 合并的 0.1.3-alpha.1 → 0.1.5-rc.1 升级通道卡片,外加一个零依赖接缝扫描器 | |
| dsh-team-rooms | 跨会话团队房间:共享消息总线、任务板和时线 | |

从 DSH Desktop Market 安装

所有 PerryLink 插件均可在内置的 DSH Desktop Market 中浏览:Market → Sources → add source → 粘贴 https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → 选择它。安装仍需通过 Market 的 npm 身份验证和你的确认。

许可证

Apache-2.0 — 参见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群