Foreword¶
Under DSH’s “everything is a plugin” extension model, a common need is to enable agents to execute code, view graphs, modify based on feedback, and rerun. If scripts, graphs, parameters, and environment information are stored separately, it becomes difficult to determine which cell, inputs, and seed produced a specific graph later.
dsh-science-workbench is a reproducible science workbench plugin for DeepSeek Harness. It organizes agent-driven cells, embedded graphs, feedback reruns, provenance tracking, and environment snapshots into a unified set of plugin capabilities.
What is This¶
dsh-science-workbench is maintained by poplarity. The repository is located at:
https://github.com/poplarity/dsh-science-workbench
The name declared in package.json is dsh-science-workbench, licensed under MIT. The plugin is positioned as a science workbench for DeepSeek Harness, with its core focus on forming a traceable, replayable loop of code execution, graph preview, feedback modification, reruns, and provenance tracking.
Core Capabilities¶
Agent-Driven Reproducible Cells¶
The plugin provides agent-facing bio_* tools that support running code in self-contained cells and displaying generated graphs embedded within the workbench.
To maintain reproducibility, the plugin records SHA-256 input/output hashes and pairs them with a fixed seed. On the environment side, it preserves an environment snapshot via environment.lock.
Feedback and Redraw¶
When a graph has issues, you can first add structured feedback to an artifact, then use bio_rerun_cell to rerun a derived version.
An example workflow is as follows:
feedback → redraw/rerun
bio_rerun_cell → derived version
For instance, generating cell_0001_v2 from cell_0001, which produces a new graph.
manifest.json as the Single Source of Truth¶
manifest.json records the project’s cells, artifacts, provenance, and feedback, serving as the main entry point for reviewing the analysis process.
Local Git Version Tracking¶
Each project automatically initializes a local git init and commits at each step. The plugin does not push these commits; the repository is used solely for local version tracking.
Browser Workbench¶
The plugin includes nine agent-facing bio_* tools and a browser workbench. The workbench provides embedded graph preview, searchable project selection, cell search, native directory selector, and a mark-as-final badge.
Publication-Grade Graph Skills¶
The plugin comes with two publication-grade graph skills: figure-style and figure-composer. These skills are adapted from Claude Science, licensed under Apache-2.0.
Cross-Platform Support¶
The plugin supports shell differences between macOS/Linux and Windows and handles the interpretation of python versus python3.
Installation and Enablement¶
Before installation, it is recommended to review the source code, dependencies, and license, as it will execute code, access files, and invoke interpreters under the current dsh process permissions.
Install from npm:
dsh plugin --profile web add dsh-science-workbench
Local development installation:
dsh plugin --profile web add file:/path/to/dsh-science-workbench
After installation, restart dsh web. Once enabled, the bio_* tools become globally available, and the plugin will appear under Settings → Plugins.
The dependencies declared in package.json are:
@deepseek-ai/cordis: ^4.0.1
@deepseek-ai/dsh-tools: ^0.1.0-rc.6
The package also declares:
dsh.bundle.patch: ./cordis.patch.yml
Typical Usage¶
After installation and restart, you can directly use natural language to instruct the agent, for example:
Help me create a heatmap of the signal near the TSS using the
demo_tssproject.
The equivalent manual workflow is:
1. bio_init_project { name: "demo_tss" }
2. bio_run_cell { title: "TSS profile", code: "..." } # writes figures/*.png
3. bio_add_feedback { artifactPath, text: "Change the color scheme to Blues" }
4. bio_rerun_cell { cellId: "cell_0001", editedCode: "..." } # → cell_0001_v2 + new figure
Step 1 creates the project. The project’s provenance and environment snapshot are stored in manifest.json and environment.lock, respectively. Step 2 runs a cell and registers the graph written to figures/ as an artifact. Step 3 adds feedback to an artifact. Step 4 reruns with modified code, generating a derived cell and a new graph.
These steps are written to manifest.json and committed to the project’s local git repository.
Use Cases and Considerations¶
This plugin is suitable for developers running reproducible analyses, iterating on graphs, and tracking provenance within DSH. Especially when you want the agent not only to execute code but also to preserve feedback history, version lineage, and environment snapshots, this plugin is easier to maintain than scattered scripts.
Please note:
- The plugin runs with the current
dshprocess permissions. Its ability to execute code, read/write files, and invoke shells/Python depends on the host environment. - Automatic git commits remain local only and are not pushed.
- The plugin itself is licensed under
MIT; the bundledfigure-styleandfigure-composerskills are adapted from Claude Science and licensed underApache-2.0. - Dependencies must satisfy the version ranges specified for
@deepseek-ai/cordisand@deepseek-ai/dsh-tools.
Conclusion¶
The value of dsh-science-workbench lies in integrating cells, graphs, feedback, reruns, manifest.json, and environment.lock into a unified, traceable workbench.
Repository address:
https://github.com/poplarity/dsh-science-workbench