Back to home@Parker-xia

dsh-research-refs

DSH plugin: tidy messy pasted citations into uniformly formatted references (refs_parse / refs_verify / refs_dedup / refs_format + research-refs skill)

Stars
0
Language
JavaScript
Created
Aug 26, 2026
Updated
Aug 26, 2026
GitHub repo

Introduction

dsh-research-refs

A DeepSeek Harness (DSH) plugin that turns messy pasted citations into uniformly formatted references. Derived from the opencode research-refs skill and rebuilt as a deterministic tool chain — parsing, verification, deduplication and formatting are done by code, while the skill only orchestrates the flow.

Features

Four tools plus one orchestration skill:

ToolPurpose
refs_parseSplit messy citation text into individual entries (numbering → blank lines → type-marker strategies), best-effort field parsing; entries with missing fields or uncertain splits carry flags
refs_verifyVerify and complete via Crossref: with a DOI, query works/{DOI} to fill volume/issue/pages, journal and year; without a DOI, search by title + authors (similarity ≥ 0.9 auto-applied, otherwise the top 5 candidates are returned for the user to choose). Chinese references are marked "not verifiable online"
refs_dedupAutomatic deduplication: identical DOI, or title similarity ≥ 0.85 with the same first-author surname; keeps the most complete / already-verified entry and reports what was removed
refs_formatOutput in GB/T 7714-2015 / APA / Vancouver; English authors normalized to "SURNAME Initials" (e.g. ZHANG S), Chinese authors keep their full names; ends with a pending-items list; optionally writes a .md file

The research-refs skill teaches the model to orchestrate the pipeline as "parse → confirm with the user → verify (candidate selection) → dedup → ask for style → output", and enforces the iron rules: never fabricate fields — anything unverifiable is marked pending.

Install

npm i github:Parker-xia/dsh-research-refs

Add to your composition

Append to your DSH composition (cordis.yml or an agent preset's agent.cordis.yml):

- id: research-refs
  name: 'dsh-research-refs'

Or use the bundle patch mechanism (dsh bundle patch, see cordis.patch.yml).

Tested against @deepseek-ai/dsh@0.1.0-rc.6 — the preview moves fast, so pin this version or check GitHub Discussions when upgrading. Requires the host tools service; fs / skills are optional (the capability degrades gracefully and is flagged when missing).

Online verification is self-sufficient: refs_verify uses Node's native fetch (always present on DSH's Node ≥ 22 engine) to talk to Crossref directly — it does not require the host to configure any web fetch provider, and it does not register one (so it can never conflict with a host provider). If native fetch is unavailable (e.g. inside the dynamic sandbox), it automatically falls back to the ctx.web service.

Usage

Paste a messy block of citations and say something like "clean up these references". The agent loads the skill and reports at every step of the pipeline:

You: clean up these references:
    1. Zhang S et al. 2021. Deep learning for CT reconstruction...
    2. Wang S (2024) Image reconstruction algorithms...

Agent: [refs_parse] 2 entries split, all fields recognized...
       [refs_verify] #1 verified (DOI), #2 candidates awaiting choice...
       [refs_dedup] 2 kept, none removed
       [refs_format] GB/T 7714-2015 output...

License

MIT