安装
npx -y @deepseek-ai/dsh plugin --profile web add github:PandaAIDD/dsh-aidd此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。
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).
项目文件与信号
以下项目是目录快照中检测到的公开仓库信号。
仓库信息
- 开发语言
- JavaScript
- 许可证
- MIT
- 最新发布
- v0.1.0
- 最后更新
- 2026年8月17日 09:14
谨慎安装
请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。