前言¶
用 DeepSeek Harness 做科研相关任务时,常见的断裂点不在「能不能搜到一篇论文」,而在后续怎么把检索、方案、实验和结论串起来。对话里总结了几篇文献,实验脚本却在另一个目录;模型给出了准确率数字,却说不清它来自哪一次运行、用了哪份数据和哪个随机种子;手稿写到一半,项目状态已经对不上。智能体循环很适合把这些步骤往前推,但如果缺少可恢复的项目状态和人工关卡,结论很容易变成一次无法复查的聊天记录。
DeepSeek Harness(以下简称 DSH)把「一切皆插件」当作架构原则:模型、工具、会话、界面都可以替换或叠加。社区目录里的 dsh-scholar 正是沿着这条路,把文献调研和后续的受控实验、证据账本、TeX 手稿放进同一个可恢复项目。目录页把它归在「记忆」类,短简介强调「在智能体循环里直接检索、阅读和总结文献」;仓库 README 则把它写成面向纯计算研究的 AI 科研工作台。两者并不矛盾:文献检索是其中一段,项目级状态才是它真正要记住的东西。
本文按社区目录页、GitHub 仓库 README / 中文说明、宿主集成文档和 package.json 核对后整理:这个插件是什么、当前能做什么、怎么安装、典型流程怎么走,以及使用边界。社区插件目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,不要把它当成官方应用商店。
这是什么¶
dsh-scholar(产品名 DSH Scholar)是由 lzszq 维护的社区开源插件,托管在 GitHub 仓库 lzszq/dsh-scholar,许可证为 MIT,主要语言是 TypeScript。根包名是 @dsh-scholar/research-plugin,当前版本号为 0.1.0,private: true,@dsh-scholar/* 包尚未发布到公共 npm。GitHub 仓库带有 dsh、dsh-plugin 主题;2026-08-17 核对时仓库为 20 星,社区目录页仍显示 15 星。
它要解决的不是再做一个独立的论文搜索框,而是把下面这些内容放进同一个可恢复项目:
- 研究资料与文献快照
- 项目对话
- 代码与数据
- 实验运行
- 证据账本
- TeX 手稿
可以从一个新问题开始,也可以把已经进行到一半的研究接进来。默认治理模式是 gate-only:Agent 不能批准 Human Gate、不能伪造 accepted Evidence,也不能绕过实验合同。仓库 README 明确写了「加急开发适配中」,中文 README 给出的安装兼容性验证基线是 @deepseek-ai/dsh@0.1.0-rc.6。
核心功能¶
文献检索只是第一段¶
社区目录的短简介把它定位成学术论文搜索与理解插件。仓库里对应的是 Scholar / Curator 这一组能力:literature_search、paper_resolve、corpus_snapshot、passage_lookup。@dsh-scholar/scholar-connectors 的说明是受控学术连接器,覆盖 OpenAlex、Crossref、arXiv,带缓存、去重和不可变查询快照。Chat 里可以用 /survey 做文献调研;调研本身不是 Runner Job,成功后会提交 Corpus Snapshot,项目进入调研就绪状态,下一步才是生成 Idea。
也就是说,检索、解析论文、冻结语料快照,是后续 Idea Gate 和实验合同的输入,而不是插件的全部。
带人工 Gate 的研究流程¶
README 给出的典型阶段是:
创建/接入项目 → Grill Me → Scope Gate → 文献调研 → Idea Gate
→ Baseline → Experiment Contract → 实验运行 → Evidence 与 Claim
→ TeX 写作与评审 → 私有导出 → Release Gate
关键节点由人类 Gate 把关,覆盖 Scope、Idea、Experiment Contract,再到 Evidence、Claim 和 Release。Research Kernel 保存权威状态、NextAction、审批轨迹和产物引用。Overview 和 Chat 都读取这份权威下一步,说明原因、执行者和阻断项。
进入工作台有三种方式:
- Init:填写项目名,在 Chat 里通过 Grill Me 补全研究 Brief,确认后才创建 Scope Gate。
- Resume:打开已有项目,恢复阶段、会话、文件和任务。
- Upload:上传论文、代码、数据或日志。上传内容先进入隔离 Intake,不会自动成为 Evidence。
受控实验和可追溯证据¶
正式实验必须绑定不可变的代码 / 数据快照和固定执行环境,由受控 Runner 执行。Runner 可以跑在本机 Docker,也可以跑在受控远端机器,并记录日志、状态与产物。没有 Runner 时仍可管理项目和文件,但实验 Job 会保持排队。
论文主张要能追溯到受控 Run、Artifact 和经评审的 Evidence。Chat、普通 stdout 和 Interactive Terminal 的输出不会自动成为正式 Evidence。仓库用 cnn-mnist-digits 演示了这条链路:研究问题是「带逐通道归一化的双卷积 CNN,是否比单卷积 CNN 基线更准确」;数据与指标为 mnist_subset_v1 / test_accuracy;随机种子 11 / 23 / 47;文档中的结果是 test_accuracy = 96.8%,相对基线 +4.4 个百分点,并给出 bootstrap 95% 平均差置信区间 [1.2, 8.6](n=3)。这是仓库文档里的示例,不是本文实测。
一体化工作台¶
Chat、Workspace、Terminal、Manuscript、Trajectory 和 Settings 共用同一项目上下文。插件向 DSH 提供 Agent tools、slash commands、Skills、配置卡和 dsh Scholar 页签;页签复用已启动的独立工作台,不另做一套业务 UI。DSH 与独立工作台共享 127.0.0.1:7412 的 Research Kernel 和 ~/.dsh/research-kernel 数据目录,因此两边操作的是同一批项目。浏览器 Token、会话和显示偏好仍单独放在独立工作台的 BFF 目录里。
插件还带四个源 Skill:research-core、domain-machine-learning、domain-data-science、venue-templates。领域和会议模板由项目 Brief 的 domain、target_venue 决定注入,而不是指望模型自己去翻文档。
安装与启用¶
社区目录页给出的安装命令是:
dsh plugin add github:lzszq/dsh-scholar
如需可复现安装,按目录页说明固定 commit 哈希:
dsh plugin add github:lzszq/dsh-scholar#commit
把 #commit 换成实际提交哈希。插件以当前 dsh 进程的权限运行,安装时可能执行代码;安装前应检查源代码仓库和许可证。
仓库当前的说明更细:@dsh-scholar/* 尚未发布,完整集成推荐从本地仓库构建后,把绝对路径加入 DSH 的 web profile。本地体验需要 Linux、Node.js 24、pnpm 11.20.0;正式实验、TeX 编译和 clean-room 复现还需要 Docker Engine。
先在本仓库安装并构建:
pnpm install --frozen-lockfile
pnpm run build
只跑独立工作台、不接入 DSH Agent 时:
bash scripts/start-standalone-ui.sh
默认页面是 http://127.0.0.1:18610/。首次打开时,粘贴下面这个权限为 0600 的访问令牌文件内容:
~/.dsh-scholar-standalone/research-ui-standalone/standalone-token
独立工作台不要求 DSH,但不会包含 Agent tools、slash commands、Skills、配置卡和 dsh Scholar 页签。要获得完整集成,仓库建议使用 pnpm 安装并构建最新 DSH 源码,再从该源码仓库运行 DSH,然后把 Scholar 仓库的绝对路径加进 web profile:
cd /path/to/dsh-source
pnpm install
pnpm run build
pnpm dsh plugin --profile web add /absolute/path/to/dsh-scholar
pnpm dsh plugin --profile web why @dsh-scholar/research-plugin
pnpm dsh web
这里的 /path/to/dsh-source 是最新 DSH 源码仓库,/absolute/path/to/dsh-scholar 是本仓库。更新时先在 Scholar 仓库重新 pnpm run build,再执行同一条 add。卸载:
pnpm dsh plugin --profile web remove @dsh-scholar/research-plugin
需要在本机 Docker 里跑实验时,另开一个终端启动 Runner:
export DSH_SCHOLAR_KERNEL_TOKEN="$(< ~/.dsh/research-kernel/kernel-token)"
export DSH_SCHOLAR_SERVICE_TOKEN="$(< ~/.dsh/research-kernel/service-token)"
node workers/runner-gateway/lib/bin/runner.js \
--kernel http://127.0.0.1:7412 \
--mode docker
安装插件后,在 DSH 中打开 设置 → 插件配置 → dsh Scholar。保存的修改会在下一次重启 DSH 后生效。文档中的配置项如下:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 默认治理模式 | gate-only |
新建项目未显式指定 mode 时使用。full-auto 仅适合已配置 FixtureProfile 的低风险沙箱 |
| 无人值守运行 | 关闭 | 不绕过人工 Gate;遇到 Gate 时暂停项目 |
| Standalone 地址 | http://127.0.0.1:18610/ |
插件页签和「在新页面打开」的目标。仅允许 HTTPS 或 loopback HTTP |
| 新页面快捷键 | Alt+Shift+S |
可禁用;正在输入或使用输入法时不会触发 |
Standalone 地址不允许凭据、查询参数或 URL 片段,令牌不应放进 URL。若 DSH Web 不在默认的本机 3080 端口,启动独立工作台前要用 DSH_SCHOLAR_STANDALONE_FRAME_ANCESTORS 配置允许嵌入的精确 origin。
典型用法¶
以仓库 README 和《使用指南》为准。在 DSH Chat 里可以直接说「创建研究项目 …」「继续调研」「现在到哪一步了」;Harness 会走 Scholar 的受控会话入口 dsh_scholar。没有关联项目时,整句肯定创建指令加上原文中的完整项目名会创建 name-only Init 并绑定当前 session;缺名称会追问。Gate、Brief 确认、外部材料采纳和发布决定仍要由人完成。
Chat 也支持一级 slash command,README 列出的常用命令是:
/new /status /survey /ideas /gates /contract /run
/evidence /claims /write /review /release-bundle /release
使用指南里还有 /list、/jobs、/reproduce、/help。DSH Web 已占用 /export 下载 Session 日志,所以 Scholar 用 /release-bundle 生成私有发布包。不要给这些命令再加一层聚合前缀。
一个按文档可以复现的最小路径:
- 启动独立工作台,必要时再启动 Runner,并按上一节把插件加入 DSH
webprofile。 - 用自然语言创建项目,或执行
/new 项目名。在 Chat 里回答 Grill 问题,确认 Brief 后才会出现 Scope Gate。 - Scope 审批后执行
/survey "你的研究问题"。检查 Corpus Snapshot 是否提交,再执行/ideas。 - 选定 Idea 并完成 Idea Gate 后,登记代码和数据快照,提交 Baseline 与 Experiment Contract。
- 用
/run跑正式对照;在 Run Terminal 查看只读日志。需要交互调试时用 Interactive Terminal,但其输出不会自动变成 Evidence。 - 用
/evidence、/claims把指标、效应量、置信区间和 Run / Artifact 绑到主张上,经评审后才能标记为accepted。 - 在 Manuscript 中编辑
paper.tex和main.bib,用/write、/review推进手稿;对外发布前仍要批准 Release Gate。
cnn-mnist-digits 就是这条路径的文档示例:Chat 推进任务,Gate 锁定范围和合同,基线与正式方案以独立 Job 执行,失败记录保留并可重试,最后把证据写进手稿。
适用场景与注意事项¶
适合把 DSH 当作研究宿主、并且需要项目级状态而不是一次性问答的人。仓库把产品范围限定在机器学习、数据科学、生物信息学等纯计算研究。可以用来做文献调研、受控对照实验、把主张追溯到 Run / Artifact,以及在固定 TeX Live 环境里写手稿。
下面这些边界是文档写明的,不要自行放宽:
- DSH Scholar 辅助研究,不代替研究者承担科学判断、审批、署名和发布责任。
- 默认
gate-only。Agent 不能批准 Human Gate,不能把 Chat 或终端输出直接写成正式 Evidence。 - 不适用于临床决策、人体试验、湿实验或其他高风险研究。
- 使用指南写明产品仍在开发中;能力只有在仓库的 hardening 状态文档标为「已验收」并绑定当前 CI 证据后,才应用于正式科研。
- 插件以当前 dsh 进程的权限运行。安装前检查 源码仓库 和 MIT 许可证;生产环境优先固定 commit,而不是跟踪浮动的默认分支。
- 独立工作台的访问令牌、Kernel token、Runner token 都是本地密钥,不要放进 URL,也不要提交到仓库。
小结¶
dsh-scholar 把文献检索接到 DSH 的智能体循环里,同时用 Research Kernel 记住项目阶段、审批和产物。目录页看到的是「记忆」类插件和论文搜索简介;打开仓库后,它更像一个带人工关卡的计算科研工作台。当前仍在加急适配 DSH,完整集成需要本地构建,不能按已经发布的 npm 包来理解。
目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-scholar/
GitHub:https://github.com/lzszq/dsh-scholar