dsh-aidd
已验证 · 实测可装 PandaAIDD
功能简介
Claude Science-style AIDD research workbench for DeepSeek Harness — ReAct research loop, versioned artifacts with provenance, and 17 skills for virtual screening, molecular generation, ADMET prediction, DTI modeling and model reproduction.
可用 — 实测通过,早期项目
Claude Science-style AIDD research workbench for DeepSeek Harness — ReAct research loop, versioned artifacts with provenance, and 17 skills for virtual screening, molecular generation, ADMET prediction, DTI modeling and model reproduction. 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-aidd
A Claude Science–style research workbench for DeepSeek Harness, tailored for AI-driven drug discovery — cheminformatics / computational biology / molecular design projects.
One-liner: dsh-aidd — a Claude Science-style AIDD workbench for DSH: a ReAct research-loop engine (research_* tools), versioned artifacts with provenance (artifact_* tools), and 17 skills covering virtual screening / molecular generation / property & ADMET prediction / protein targets / DTI modeling / model reproduction.
- ReAct research-loop engine —
research_init/research_state/research_hypothesis/research_experiment/research_findings/research_phase/research_review/research_report, with state persisted inresearch-manifest.json(question → hypothesis → experiment → observation → analysis → conclusion → next question). AIDD semantics: target hypotheses → screening/generation/modeling experiments → evaluated conclusions → iterate. - Versioned artifacts with provenance —
artifact_save/artifact_list/artifact_show/artifact_diff/artifact_verify/artifact_deprecate/artifact_reproduce: hit lists, score tables, data-split files, model checkpoints and metric tables are stored asartifacts/<name>/v<N>/with per-file SHA-256,artifact.jsonprovenance (command/inputs/environment/envFile) and an append-onlyprovenance.md. - 17 skills — 8 generic (research-loop, science-project-setup, artifact-provenance, scientific-reviewer, literature-connector, parallel-delegation, manuscript-writing, conda-environments) + 9 AIDD-specific (aidd-toolkit, chem-data-management, ml-experiment-tracking, model-reproduction, virtual-screening, molecular-generation, property-prediction, protein-target, dti-modeling).
AIDD data discipline (red lines baked into the preset persona): fix and record random seeds; scaffold / cold-start split files must be archived as artifacts; homologous targets and shared scaffolds must not straddle train/test; no claimed improvement until the baseline is reproduced; a good score ≠ a good molecule.
Both engine plugins are zero-dependency (node built-ins only, sharing engines/core.mjs) and register standard cordis tools. Install either as a profile bundle (dsh plugin add) or as an agent preset (the full AIDD 模式).
Forked from biociao/dsh-science v0.1.1 — engines and engineering scaffolding come from upstream; the domain layer is rewritten for AIDD.
Install
Option A — profile bundle (community standard)
dsh plugin --profile web add dsh-aidd # once published to npm
# or straight from GitHub:
dsh plugin --profile web add "github:panda_aidd/dsh-aidd"
Restart the profile (or refresh the Web GUI). The bundle inserts the two engines into the profile's layer stack — every agent on that profile gains the research_* / artifact_* tools.
Option B — agent preset (full AIDD 模式, per-agent scoping)
git clone https://github.com/panda_aidd/dsh-aidd ~/.dsh/.agent-presets/aidd
# or from a local checkout:
bash scripts/install.sh # copy install (or: bash scripts/install.sh link)
Create a session in the DSH Web and pick the AIDD 模式 preset — it carries the AIDD research persona + engines, scoped to that agent only.
Skills
The 17 skills are auto-discovered from a project's .dsh/skills/ (drop this repo's skills/ into your project), or installed machine-wide:
bash scripts/install-skills.sh # -> ~/.dsh/skills (honors $DSH_HOME)
Quick start (first session)
research_init— createsresearch-manifest.jsonand the project skeleton (experiments/ literature/ artifacts/ analyses/ figures/ manuscript/ reviews/ data/ envs/).- Call
research_stateat the start of every session; loop state persists across sessions. - Run the loop (virtual-screening example):
research_hypothesis(H1 "the sub-library contains hits scoring above threshold") →research_experiment(E01 docking screen, creatingexperiments/E01/{design.md,log.md,code/,results/}) → run the docking →research_findings(enrichment/diversity observations; conclusion updates the hypothesis) →artifact_savethe hit list and score tables. - Modeling and reproduction follow the ml-experiment-tracking and model-reproduction skills; key claims are reviewed per scientific-reviewer and archived with
research_review.
Repository layout
dsh-aidd/
├── package.json # dsh.bundle.patch -> ./cordis.patch.yml (with exports)
├── cordis.patch.yml # bundle patch: inserts both engines via subpath exports
├── engines/ # engine sources (bundle form)
│ ├── core.mjs # shared core: locks/atomic writes/error codes/streaming hash/audit
│ ├── research-loop.mjs
│ └── artifact-registry.mjs
├── preset/ # agent-preset form (engines mirror, synced via sync-engines.sh)
│ ├── agent.cordis.yml # AIDD persona + engines (relative-path mount)
│ ├── preset.yml # "AIDD 模式"
│ └── engines/ # mirror — keep in sync: bash scripts/sync-engines.sh
├── skills/ # 17 SKILL.md skills (8 generic + 9 AIDD)
├── scripts/
│ ├── install.sh # install preset -> ~/.dsh/.agent-presets/aidd
│ ├── install-skills.sh # install skills -> ~/.dsh/skills
│ ├── sync-engines.sh # mirror engines/ -> preset/engines/
│ ├── init-project.sh # project skeleton (no AIDD session needed)
│ ├── smoke-test.mjs # 62 checks (temp workspace, node >= 18)
│ └── stability-test.mjs# 25 concurrency/atomicity/stress checks (locks/lost-update/soak/migration)
└── test/verify-bundle.sh # isolated end-to-end bundle install + boot check
Verification
node scripts/smoke-test.mjs # engine logic + e2e loop + error codes + migration
node scripts/stability-test.mjs # concurrency / atomicity / lock / stress checks
bash test/verify-bundle.sh # pnpm pack -> isolated profile -> install -> boot check
All three are release-checklist items and CI-safe (the two test scripts only write to temp workspaces; the bundle test uses an isolated $DSH_HOME).
FAQ
Why subpath exports instead of relative paths in the bundle?dsh plugin add installs the package into the profile, and its cordis.patch.yml rows join the profile composition. The profile loader resolves row names against the profile directory (not the package directory), so ./engines/x.mjs fails with ERR_MODULE_NOT_FOUND; dsh-aidd/engines/x.mjs (a subpath export resolved through package.json exports) resolves from the profile's node_modules — verified experimentally on dsh 0.1.0-rc.6 (upstream dsh-science's finding). The agent-preset mount resolves relative names against the preset directory, which is why preset/agent.cordis.yml can use ./engines/*.mjs.
Bundle or preset?
- Bundle: one command, every agent on the profile gets the tools.
- Preset: the full AIDD 模式 experience (research persona, data-discipline red lines, per-agent scoping). The persona row in
cordis.patch.ymlis commented out by default — a profile-level persona would affect all agents on the profile.
Where do skills come from?
Auto-discovered from the project root's .dsh/skills/; scripts/install-skills.sh installs machine-wide to ~/.dsh/skills (honors $DSH_HOME).
Development
Branch model and release flow (main=releases / dev=integration / feat*=features, tags trigger npm publish + GitHub Release): see docs/branching.md.
bash scripts/sync-engines.sh # after editing engines/*.mjs — keeps preset/engines in sync
node scripts/smoke-test.mjs # logic + static package checks
node scripts/stability-test.mjs # concurrency / atomicity / lock stability
bash test/verify-bundle.sh # end-to-end bundle install + boot
Community
- Topic: github.com/topics/dsh-plugin
- Upstream: biociao/dsh-science
License
MIT — see LICENSE (includes the upstream copyright notice).
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-aidd」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:PandaAIDD/dsh-aidd Headless(CLI)profile:
dsh plugin --profile headless add github:PandaAIDD/dsh-aidd 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。