DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

geesepop01 /

geesepop01/ai4s

Verified

OpenScience research plugin for DeepSeek Harness: 370 research skills, 6 literature tools and an always-on research loop - in every session, no preset needed.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@07c23a43

OpenScience for DeepSeek Harness (@geesepop/ai4s)

English | 中文

A research plugin for DeepSeek Harness. Install it once and every session — including the built-in modes that never select an agent preset — gets 370 research skills, an always-on research loop, six literature tools, and a research workbench panel.

Vendored from synthetic-sciences/OpenScience (tag v1.3.4, commit 6de022d, Apache-2.0). See NOTICE and upstream/PIN.json for provenance.

Install

# npm
dsh plugin --profile <profile> add @geesepop/ai4s

# or from the local checkout
plugin_manager install_bundle target "D:/path/to/ai4s"

In DSH Desktop: Settings → Plugins → Install, then search ai4s. Restart or let the profile hot-reload.

Configuration lives on the plugin row (mailto, catalogMode, bootstrap, sources, stateDir); the NCBI key goes into the host credential store under openscience.pubmed. The in-app OpenScience settings page shows the values currently in force — edit them in Plugins → ai4s, not there.

What you get

370 skills Biology, chemistry, physics, ML, compute and writing. About 60 carry a full description in the model catalog; the rest load on demand by name through science_skill, so the per-request catalog stays around 3.6k tokens instead of 30k.
Always-on research loop A ~2.5KB system-prompt section with the eight-stage loop (SCOPE → LITERATURE → REASON → METHODOLOGY → COMPUTE → ANALYZE → SYNTHESIZE → WRITE), a task→skill routing table, and citation discipline. It is present in every mode, not only in a preset.
science_search One query across OpenAlex, PubMed, arXiv and Crossref; normalized entries with DOI/PMID/arXiv identifiers, year filtering, per-source notes.
science_paper Resolve a DOI, PMID, arXiv id or OpenAlex id into verified metadata plus an open-access verdict and PDF link (Unpaywall, when an email is configured).
science_related Walk one paper's references, citations or related works.
science_cite Write BibTeX, RIS or CSL-JSON into the working directory, path-guarded to the session cwd.
science_state Revision-guarded research state (<session workspace>/.openscience/state.json) shared with the panel.
science_skill Load any of the 370 skills by name or topic — including the 300+ that the catalog hides.
Workbench panel A sidebar icon opens a main panel with the research state, the literature list and a searchable skill catalog (cached 60s on the host).

How it differs from a research preset

A preset is an agent-plane composition: only sessions that select it get its tools and skills. This plugin registers at the host layer through public services (ctx.skills, ctx.systemPrompt, ctx.tools, ctx.webServer), so the capability is not tied to a mode.

If you also keep a research preset installed, the two coexist: the skill registry merges layers, and the nearest layer wins a duplicate name outright — a preset session uses the preset's copy, a plain session uses this plugin's. Nothing is duplicated in the catalog.

Configuration

Key Default Meaning
mailto "" Contact address for Crossref/OpenAlex politeness and Unpaywall. Empty skips the open-access lookup and says so.
pubmedApiKey — Stored in the host credential store (openscience.pubmed), never in config or logs. Raises the PubMed rate limit.
sources all four Which sources science_search queries by default.
catalogMode curated curated = ~60 visible descriptions; all = every skill model-invocable (costs ~30k tokens per request).
bootstrap true Include the always-on research-loop section.
stateDir .openscience Research state directory, relative to each session's working directory.

Behaviour worth knowing

  • Outbound calls use the host's web provider, which accepts a URL only — no headers, no POST. Politeness therefore rides in query parameters, and a provider that is missing or rate-limited produces a readable sentence, never a crash.
  • Tools never throw on upstream failure: the model gets "rate-limited / not-found / upstream-error / not configured" and can decide what to do next.
  • The panel shows the last research workspace the agent touched; a per-session picker is planned.
  • The two panel routes are unauthenticated by the host's /api channel, so they defend themselves: absolute paths inside a registered workspace only, 1 MB body cap, and cross-site (Sec-Fetch-Site, mismatched Origin) requests are refused.

Development

node --test-isolation=none --test tests/*.test.mjs   # 71 tests
node scripts/verify.mjs                              # release checks
node scripts/sync-skills.mjs --source <openscience>/skills   # re-vendor

No build step, no runtime dependencies. @deepseek-ai/dsh-tools and @deepseek-ai/dsh-skill-filesystem are optional peers, imported lazily.

License

Plugin code: Apache-2.0. Vendored skills: Apache-2.0, © Synthetic Sciences — see NOTICE.

—/ 5

No ratings yet

Verified DSH bundle

Commit 07c23a435c21

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout