deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:fsrmqi/dsh-research-kit
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
面向 DeepSeek Harness 的科研工作台与跨宿主 MCP 工具集:349 条人工审核的工作流、109 个技能条目、129 个科学数据源,以及 32 个研究工具。
在 DSH 中,它把反复执行的科研任务变成参数化、可编辑、发送前可见的提示词;通过独立 stdio MCP Server,它也可向 Codex、Claude Code、Zed 等宿主提供文献检索、证据管理、研究运行与审阅工具。所有研究判断仍需研究者核验。
本项目是 DeepSeek Harness(命令行缩写 dsh)的插件。DSH 是 DeepSeek 开源的本地 Agent 工作系统,核心设计理念是「一切皆插件」(Everything is a Plugin)——模型、工具、界面、存储都由可替换的插件组成。
DSH 工作台需要 DSH;MCP Server 可独立接入兼容宿主。 项目不自带模型或 API Key;DSH 侧复用当前会话能力,MCP 侧以本地 stdio 服务运行。
| 需要什么 | 去哪拿 |
|---|---|
| DSH 本体 | deepseek-ai/deepseek-harness · 官方站点 |
| 插件生态 | GitHub topic: dsh-plugin |
| Node.js | >= 22.6 |
DSH 目前处于 Developer Preview,官方明示会快速迭代、可能出现破坏性变更。本插件依赖的
conversation.view槽位与inputActions契约随 DSH 版本演进——升级 DSH 后请按手工验收清单复验。
通用聊天输入适合临时提问,但不适合反复执行有明确步骤、材料要求与质量边界的科研任务。审稿、写引言、做综述、设计分析计划这类任务需要四件事:
Research Kit 把这四点做成可复用的资产。
科研能力目录(587 项)
→ 选择工作流
→ 填写参数、用 @文件 引用材料
→ 预览并编辑最终 Prompt
→ 写入输入框 或 发送到当前会话
→ 由当前 DSH 会话的 Agent 与其已配置工具执行
关键设计取舍:
@文件;🧪 349 条人工审核的科研工作流
覆盖论文与手稿、文献研究、数据分析、基因组学、临床研究、神经科学、生态学、天文与空间科学等 28 个流程族(按分类分片维护于 catalog/workflows/)。每条都是参数化、可编辑的 Prompt 模板,内置防编造边界(不得虚构引用、数据、页码、作者意图)与「需人工核验」定位。
🧩 109 个技能条目:46 个指导模块 + 63 个能力目录 指导模块以提示词指导方式生效——科学写作、统计审查、引用核验、证据综合、可重复性检查、评审伦理与保密、数据完整性守护、不确定性表达,以及实验设计、假设生成、科学头脑风暴、科学批判性思维、样本量与统计功效、系统文献综述、科研图表、不确定度与单位、临床报告草案、投稿规范核验、同行评审意见、基金申请书撰写等方法模块,另有农业试验设计、作物基因组与育种证据、生信流程治理三个领域模块,勾选后并入工作流提示词;能力目录以「需宿主能力」状态如实收录 bulk RNA-seq、Nextflow、Benchling/DNAnexus 集成、文献 API 检索、docx/pdf 产出等依赖执行侧的技能——写明所需工具链、凭据与数据外发边界,附使用前提核验清单,不注入提示词、不代为执行。
🔬 129 个科学数据源,其中 11 个支持插件直查 文献、临床、遗传、组学、蛋白/化学,以及天文空间、生物多样性、气候环境、地理空间。公开 API 可直查并返回带链接与稳定标识符的候选记录;限流、需授权或需专业参数的来源会明确回退到 DSH Agent/MCP。
✍️ 发送前完整可见、可编辑 参数替换实时生成 Prompt 预览;手动编辑后参数变更不会静默改写正文,并提供「恢复自动生成」。必填参数缺失时不发送。
🧭 一个视图,四个分区
只有一个 conversation.view 标签,内部按科研闭环分区,顶部导航常驻并显示每个分区的定位与职责边界:
| 分区 | 层 | 作用 |
|---|---|---|
| 资源与工作流 | 发现 | 目录检索、参数化组装、公开数据源直查 |
| 方法工坊 | 构造 | 方法卡 + 变量填充 → 可编辑 Prompt;可从当前对话提取草稿 |
| 研究资产库 | 沉淀 | 灵感资产增删改、版本对比、验证状态跟进,可与证据条目显式互链;证据库子模块逐条保存公开来源的元数据与笔记,按项目隔离去重,并反查「被引用于哪些资产」 |
| 研究证据图谱 | 证据 | 把本会话的资源、工作流、查询来源、资产、已保存证据与自动沉淀知识连成可追溯关系;支持缩放平移、迷你地图、聚焦/上下游/两点路径模式、结论追溯面板与脱敏快照导出;可开启「自动沉淀」随科研对话积累 |
⏱ 组装回放:把 Prompt 是怎么拼出来的放给你看
启动工作流后,工作台把 composeWorkflow 的真实组装事实逐段回放——工作流 → 参数 → 附加技能 → 数据源边界 → 人工核验;每一段都能在生成的 Prompt 文本中定位到对应锚点,回放与正文互相印证。详情栏内嵌紧凑回放,「弹出回放窗口」打开独立的 archify 交互 viewer(四种视觉预设、章节叙事、语义透镜、雷达总览)。回放只呈现已经发生的组装动作,不预测执行结果,也不代表 Agent 已执行任何工具;prefers-reduced-motion 时降级为静态。
captureInsertion() / insertText() 契约的异步结果会插入光标处,并校验草稿修订;宿主不支持时才回落到整草稿写入。草稿已被用户改过时,插件会提示手动粘贴,而不是覆盖新内容。memoryServer、memoryTimeoutMs、databaseTimeoutMs、databaseRequestsPerMinute 和 allowAgentFallback 是 volatile Config 字段,可在插件页修改并在下一次请求生效;默认值分别对应 Memory Center、15 秒、15 秒、每分钟 12 次和允许 Agent 回退。project 字段,图谱支持按项目与「本会话 / 持久沉淀」筛选节点,并可导出 / 恢复 JSON 备份。scripts/render-diagrams.mjs --html 确定性产出单文件交互 HTML(可直接分享、离线打开),--from-files 可从会话产出文件生成 IR 脚手架;scripts/validate-diagrams.mjs 提供机器可读的规则诊断并已进入 npm run check(仓库内不预置 IR 文件,该校验在产出 / 审阅 IR 时生效)。setDraft/submit 缺失时按钮禁用、灰化并说明原因,视图不崩溃。research_* 工具(文献检索与核验、证据盘点与人工评估、多面板图表生成、声明/异常/写作审阅、AI 披露生成、运行状态与检查点审批),宿主 Agent 可直接调用而无需经过 UI;Agent 活动面板展示调用轨迹并在 checkpoint 处等待人工确认,研究运行护照支持导入/导出以跨会话恢复。完整工具清单与接入方式见 MCP Server 跨平台配置指南。深色主题与窄屏 — 跟随系统与 DSH 主题切换;880px 以下单列布局;原生 aria-* 与焦点环。
要求 Node >= 22.6,以及提供 conversation.view / conversation.input.left / conversation.input.overlay / conversation.input.right 四个槽位的 DSH Web profile(依次为:统一视图、输入框左侧入口、浮层选择器、输入框右侧草稿增强器)。
本地目录(当前推荐,尚未发布到 npm)
git clone https://github.com/fsrmqi/dsh-research-kit.git
dsh plugin --profile web add ./dsh-research-kit
GitHub(钉 commit,可复现安装)
dsh plugin --profile web add github:fsrmqi/dsh-research-kit#<commit-sha>
tarball(离线 / 审计)
npm pack && dsh plugin --profile web add ./dsh-research-kit-0.2.0.tgz
构建产物
ui/client.js、ui/catalog-data.json与ui/promptkit.js已提交到仓库——克隆后即可安装,无需本地构建。
安装后刷新浏览器,在会话中打开「科研工作台」,或使用输入框旁的「资源 / 工作流程」入口。卸载或关闭视图不会残留重复注册。
常见坑:dsh plugin 会调用 PATH 上的 pnpm,其 store 布局主版本必须与目标 profile 记录一致,否则会以 ERR_PNPM_UNEXPECTED_STORE 失败。对照方式见手工验收清单 §1。
有两条入口,通往同一套目录资产。
方式一:科研工作台统一视图
@文件 引用文件;方式二:输入框快捷入口
@文件 补充材料,再自行发送——快捷入口只写草稿,从不自动发送。真实发送由 DSH 完成;本插件不创建模型路由、不保存密钥、不读取文件内容。
工作流按流程族分片维护于 catalog/workflows/(每分类一个 JSON 分片,由 index.js 按固定顺序聚合):
| 分类(分片) | 条数 |
|---|---|
| 论文与手稿(paper-manuscript) | 17 |
| 文献研究(literature) | 16 |
| 数据分析(data-analysis) | 18 |
| 研究设计(research-design) | 5 |
| 生物信息学(bioinformatics) | 18 |
| 基因组学(genomics) | 14 |
| 临床研究(clinical) | 19 |
| 作物遗传育种(crop-breeding) | 8 |
| 可视化与图表(visual) | 13 |
| 科研传播(science-communication) | 10 |
| 基金申请(grants) | 10 |
| 蛋白组与结构生物学(proteomics) | 13 |
| 细胞生物学(cell-biology) | 9 |
| 化学(chemistry) | 18 |
| 药物发现(drug-discovery) | 15 |
| 材料科学(materials) | 12 |
| 神经科学(neuroscience) | 12 |
| 生态学(ecology) | 14 |
| 物理学(physics) | 14 |
| 天文与空间科学(astronomy) | 11 |
| 社会科学(social-science) | 12 |
| 数学(mathematics) | 12 |
| 机器学习(machine-learning) | 15 |
| 工程学(engineering) | 12 |
| 高级工作流(advanced) | 9 |
| 深度研究(deep-research) | 7 |
| 论文写作(paper-writing) | 11 |
| 投稿规范(submission) | 5 |
另有 109 项技能(catalog/skills/:core 43 / crop-breeding 2 / bioinformatics 1 / host-capabilities 63)与 129 个数据源条目(catalog/resources/:chinese-academic 7 / crop-breeding 7 / literature 19 / genomics 8 / omics 7 / general-science 81)。完整定义见 catalog/,数据契约见架构文档 §4。
| 访问 | 用途 | 说明 |
|---|---|---|
| 当前会话输入框 | 仅在点击「写入/发送」时写入或提交最终 Prompt | 不拦截 Enter,不自动发送,不改动其他会话历史 |
@文件 引用 |
只提示你使用 DSH 原生提及 | 不读取、不上传、不解析文件内容 |
| 浏览器本地 | 收藏、使用历史、方法卡与灵感资产(localStorage) |
不存参数值、完整 Prompt、文件内容;清除浏览器数据即清空 |
| 浏览器 IndexedDB | 证据库条目:来源元数据与你主动写下的笔记 | 仅在你逐条确认保存后写入;不保存全文、检索词与原始响应;按项目隔离,可导出 / 导入 / 彻底删除。证据图谱只展示其中的来源库 / 标识符 / 核验状态,不展示笔记 |
| 当前页面内存 | 本会话证据索引(已启动工作流、直查来源摘要) | 仅供工作台各分区实时形成证据图谱;刷新或关闭页面即清空,不保存检索词、原始文件或完整结果 |
| 网络 | 公开数据源直查(仅在你主动触发时) | 出网经 DSH 受控 web 服务;插件不持有任何 API Key |
零遥测。 不上传使用统计,不采集数据。所有工作流产出一律标注为需人工核验的草案,不替代研究者、审稿人或伦理审批。
安全边界与漏洞上报方式见 SECURITY.md。
数据源详情页可直接查询首批公开来源:PubMed、Crossref、OpenAlex、Semantic Scholar、Europe PMC、ClinicalTrials.gov、openFDA、UniProt、PubChem、GBIF、iNaturalist——这 11 个来源在目录里标记为 available-in-plugin,详情页状态显示「插件可直接查询」。候选结果显示来源链接与稳定标识符,可写入输入框,或显式点击「让 Agent 核验并继续查询」——该按钮会调用当前 DSH 会话的 Agent,由它使用自己已拥有的 Web / MCP / 文件工具完成多步检索。
其余 118 个数据源标记为 requires-mcp 或 reference-only,会清楚提示所需的 MCP、订阅、API Key 或数据使用协议,并提供同一受控 Agent 回退。目录标注与查询实现由 npm run check 双向校验(有适配器就必须标出来,标了就必须有适配器),因此界面上的能力状态不会与实现漂移。插件不会伪造任何检索结果。
四档标注各自的界面行为与保证机制:
当前版本 0.2.0(尚未发布到 npm)。开发状态与下一步计划见 ROADMAP.md。
已通过的验证:目录契约校验(587 项、587 唯一 ID,分片与聚合入口逐条一致)、378 项回归测试(47 个测试文件,含 6 项宿主动作缺失的渲染级降级断言)、真实 DSH Web profile 上的两轮启动烟测(快线 F1–F4、发布门槛 R1、观测项 O1–O3 全部通过),以及证据库写入 Prompt(W1–W3:勾选后按钮可用、未选择时不注入、写入不自动发送且条数一致)与证据图谱接入已保存证据(G1–G4:证据节点只带来源库 / 稳定标识符 / 核验状态,与同库资源连成关系,箭头按实际方向选锚点)的现场验收。
真实 profile 验收无法被单元测试替代——
test/dsh-slots.test.js虽然执行真实构建产物,但 slots 服务是模拟的。因此升级 DSH 后必须重跑手工验收清单。
npm run build # 生成 ui/client.js、catalog-data.json 与 promptkit.js(提交产物,勿手改)
npm run check # 目录契约校验 + 语法检查
npm test # 纯逻辑、契约与渲染级回归测试(378 项 / 47 个测试文件)
npm run test:browser # 真实 Chromium 交互回归(首次需 npx playwright install chromium)
改动 catalog/、src/ 或 dsh/ 后统一执行 npm run build && npm run check && npm test;CI 会校验构建产物与源码同步(构建后有 diff 即失败)。
| 文档 | 内容 |
|---|---|
| docs/README.md | 文档索引与推荐阅读顺序 |
| 论文工作手册 | 从选题、检索到投稿的完整走法:九阶段、三条查询路径、投稿包清单、MCP 操作链 |
| MCP Server 接入指南 | 把 32 个 research_* 工具接进 Codex / Claude Code / Zed / DSH,含按任务组织的最短路径与参数示例 |
| 架构与数据契约 | 模块职责、数据流、DSH 宿主边界、目录 schema |
| 开发指南 | 本地启动、实现顺序、测试策略、交付检查单 |
| 手工验收清单 | 为什么不能用单测替代、逐项验收步骤、失败定位树 |
| 方法工坊嵌入设计 | vendored 工件治理、命名空间纪律、构建器集成规则 |
| 范围与边界 | 要解决的问题、产品边界、质量与安全原则 |
欢迎 Issue 与 PR——见 CONTRIBUTING.md。新增工作流只需在 catalog/workflows/<分类>.json 分片中按现有条目结构添加 JSON 对象并运行 npm run check && npm test;契约校验器会强制检查占位符一致性与防编造边界,并断言分片与聚合入口逐条一致。
MIT。
随仓库分发的 vendored 工件的第三方归属与许可证声明见 NOTICE。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。