Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions plugins/Presisitence/bio-research-forge/ATTRIBUTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Attribution and source boundaries

## DAWN Science

- Project: DAWN Science, <https://github.com/Jiawang1209/DAWN-Science>
- Audited revision: `5f909a5b6370c05046b0b0fd527bbf2ce6de1189`
- License: GNU Affero General Public License v3.0 or later
- Material used: high-level role boundaries and research-workbench discipline from the public `agents/` roster and bundled reproducibility skill; provenance, verification, and review concepts described in the public documentation.
- Treatment here: rewritten and reorganized as vendor-neutral Agent Skills; no DAWN desktop runtime, UI, dependency tree, or bundled application code is included.

The AGPL license in this repository applies to the resulting plugin distribution. DAWN Science remains copyright its contributors.

## Private local configuration and author materials

Private local DSH configuration was inspected only to identify desired capability classes and exclusion boundaries. No private DSH module, private database, organism-specific private portal, credential, path, or dataset is redistributed.

The RNA-figure and local-tool layers were independently implemented for this plugin after inspecting the capability names in the user's local `rna-bio` and `tools-bio` modules. Their hard-coded executable paths, private helper assumptions, local datasets, and source code were not copied into the reusable plugin.

A user-provided presentation and a local corpus of graduate theses were used only to abstract generic Introduction/Discussion reasoning patterns. Those files, their figures, and their wording are not included. The distilled rules emphasize argument structure rather than copied prose.

## Public data services

The plugin calls third-party public APIs but does not redistribute their databases. Users remain responsible for each provider's current terms, attribution requirements, rate limits, and data licenses. Source URLs are returned with every query and listed in the public database skill.

PyMOL, SnapGene, Cytoscape, Fiji/ImageJ, R, and their packages are optional third-party installations and are not redistributed. Their names identify interoperable software only. The plugin detects and invokes an existing installation under the user's license; it includes no code or assets from those products.
661 changes: 661 additions & 0 deletions plugins/Presisitence/bio-research-forge/LICENSE

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions plugins/Presisitence/bio-research-forge/PRIVACY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Privacy and scope policy

## Never include or transmit

- private experimental measurements, sequencing data, expression matrices, assemblies, annotations, identifiers, or sample metadata;
- user-specific genome or transcriptome databases;
- private credentials, tokens, cookies, internal hostnames, or absolute paths from a contributor's machine;
- dedicated pepper portals, pepper datasets, or species-specific private helpers;
- local theses, presentations, manuscripts, or copied passages from them.

## Allowed

- user-selected files inside the active task, processed locally under the user's ordinary authorization;
- local rendering of a user-selected RNA table or molecular structure, with outputs written only to the requested local directory;
- opening an existing compatible file in SnapGene, Cytoscape, or Fiji only after the user explicitly requests that desktop action;
- public, documented, read-only biological APIs on the server allowlist;
- the general Sol Genomics Network resource, limited to public generic metadata and excluding pepper-specific operations;
- generic writing and review heuristics distilled from private reference material without redistributing the source files or wording.

## Network behavior

`mcp/public-bio-api.mjs` accepts named operations rather than arbitrary URLs. It does not crawl local files. Each network response records the public endpoint and retrieval time. The server limits result size and blocks queries containing excluded private-resource terms or pepper-specific species terms.

`mcp/rna-figure.mjs` and `mcp/local-bio-tools.mjs` are local-only. They do not transmit input files. Tool discovery occurs at runtime; reusable source files contain no contributor-specific absolute executable paths. The PyMOL bridge exposes fixed rendering presets rather than arbitrary commands, and desktop tools are never installed automatically.

## Publication checklist

Before publishing a release, run `node tests/privacy-boundary.mjs`. Then inspect the git diff for unexpected binary files, archives, datasets, absolute Windows paths, credentials, and source-document text.
78 changes: 78 additions & 0 deletions plugins/Presisitence/bio-research-forge/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# bio-research-forge

Evidence-first life-science workbench for MiniMax Code. The Plugin ships twelve Agent Skills
plus three local stdio MCP servers: public biological APIs (with provenance), RNA result figures
(PNG/PDF + plotted data), and bounded local molecular tools (PyMOL render / SnapGene / Cytoscape / Fiji).

It does not bundle genomes, expression matrices, credentials, or species-specific private portals.
Private tables stay on the user's machine. Public queries are allowlisted and read-only.
This package is the portable Agent Plugins 1.0 subset; it does not include Codex marketplace
adapters, hooks, custom agents, LSP, Apps, OAuth, or TUI extensions.

Standalone source: https://github.com/Presisitence/bio-research-forge

## Try it

```text
Look up Arabidopsis FLC in UniProt and NCBI. Then, using my local DEG table deg.csv
(columns gene, log2FoldChange, padj), draw a volcano plot (padj < 0.05, |log2FC| > 1)
and show the PNG in the conversation.
```

```text
用公共 API 查拟南芥 FLC 的 UniProt / NCBI 记录,再用我本地的 deg.csv
(列 gene, log2FoldChange, padj)画火山图,padj < 0.05 且 |log2FC| > 1,并在对话里预览 PNG。
```

Expected result: the agent calls `bio_api_query` (UniProt / NCBI) then `rna_figure_create`
(`plot_type="volcano"`). API replies include the source URL and retrieval time. The local table
is not uploaded. Success writes `<name>.png`, `<name>.pdf`, and `<name>.plot-data.csv`; the PNG
path is meant for inline preview. Missing R packages return a status error rather than a crash.

For a design or manuscript request, `bio-research-orchestrator` routes to specialist Skills
(`experimental-design-gate`, `manuscript-argument`, `evidence-review`, …) and labels evidence as
direct data / external / candidate / hypothesis.

## Requirements

- Node.js 18+ on PATH (`mcp.json` starts each server with `node` and `cwd: ${PLUGIN_ROOT}`).
- Optional `NCBI_API_KEY` in the environment to raise NCBI rate limits. No key is shipped.
- Optional R with `Rscript` on PATH, or `RSCRIPT_EXE`, plus `jsonlite`, `ggplot2`, `pheatmap`
(and `ggrepel` for volcano labels). Needed only for `rna_figure_create`.
- Optional local installs of PyMOL, SnapGene, Cytoscape, or Fiji (or `PYMOL_EXE` /
`SNAPGENE_EXE` / `CYTOSCAPE_EXE` / `FIJI_EXE`). The bridge never installs software.
- Windows, macOS, and Linux.

## Data and network

`public-bio-api` contacts named public scholarly APIs only. Arbitrary URLs, local files,
credentials, and pepper-specific queries are rejected:

- `eutils.ncbi.nlm.nih.gov`
- `rest.uniprot.org`
- `www.ebi.ac.uk` (InterPro, Europe PMC)
- `rest.ensembl.org`
- `alphafold.ebi.ac.uk`
- `data.rcsb.org`
- `string-db.org`
- `jaspar.elixir.no`
- `solgenomics.net` (generic BrAPI crop-name metadata only)

`rna-figure` and `local-bio-tools` are local-only. User CSVs and structure files are not
transmitted. No telemetry. No credentials in the package.

## Skills and MCP

Skills (frontmatter `name` matches each directory): `bio-research-orchestrator`,
`public-bio-databases`, `experimental-design-gate`, `omics-workflow`, `rna-figure-workflow`,
`quantitative-research`, `local-bio-toolkit`, `secure-compute-routing`, `manuscript-argument`,
`scientific-figure-delivery`, `reproducible-analysis`, `evidence-review`.

MCP tools: `bio_api_catalog` / `bio_api_query` / `bio_api_health`; `rna_figure_status` /
`rna_figure_create`; `local_bio_tool_status` / `pymol_render` / `local_bio_open`.

## License

AGPL-3.0-or-later. See [LICENSE](LICENSE) and [ATTRIBUTION.md](ATTRIBUTION.md).
This Plugin keeps the upstream source license; it is not relicensed to MIT.
Public databases and optional desktop tools have their own terms.
23 changes: 23 additions & 0 deletions plugins/Presisitence/bio-research-forge/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
"mcpServers": {
"public-bio-api": {
"type": "stdio",
"command": "node",
"args": ["${PLUGIN_ROOT}/mcp/public-bio-api.mjs"],
"cwd": "${PLUGIN_ROOT}"
},
"rna-figure": {
"type": "stdio",
"command": "node",
"args": ["${PLUGIN_ROOT}/mcp/rna-figure.mjs"],
"cwd": "${PLUGIN_ROOT}"
},
"local-bio-tools": {
"type": "stdio",
"command": "node",
"args": ["${PLUGIN_ROOT}/mcp/local-bio-tools.mjs"],
"cwd": "${PLUGIN_ROOT}"
}
}
}
Loading