DeepSeek Harness plugin

dsh-industry-research

Industry and company research domain pack for DeepSeek Harness: methodology skills, an industry-chain structure model (industry_map), public-source policy/news tracking over ctx.web (industry_track)

Jump to install

Source facts

Repository
PerryLink/dsh-industry-research
Latest update
Aug 21, 2026
Category
Docs & Rendering
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/PerryLink/dsh-industry-research
Plugin: dsh-industry-research
Author: PerryLink

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer7 files
README.mdSource · read only
README language

<div align="center">

🏭 dsh-industry-research

![Gitee](https://gitee.com/perrylink/dsh-industry-research)

Industry and company research domain pack for DeepSeek Harness.

Chain maps, public-source tracking, company cards, and auditable reports — every number traces to a source, every gap is declared.

![License](LICENSE) ![DSH plugin](https://github.com/topics/dsh-plugin) ![Node](#) ![CI](https://github.com/PerryLink/dsh-industry-research/actions) ![Version](https://github.com/PerryLink/dsh-industry-research/releases) ![npm version](https://www.npmjs.com/package/dsh-industry-research) ![npm downloads](https://www.npmjs.com/package/dsh-industry-research)

English · 简体中文 · Español · Português · हिन्दी

</div>

---

仅供研究,不构成投资建议 — Research only, not investment advice. This pack does research support only: no trading, no price prediction, no paid/login-walled sources.

Compatibility

  • DeepSeek Harness 0.1.1-rc.2 (peers pinned to 0.1.1-rc.2).
  • Node ^22.19.0 || >=24.0.0, ESM only ("type": "module").
  • Peer dependencies: @deepseek-ai/cordis ^4.0.1, @deepseek-ai/schemastery ^3.18.0, and @deepseek-ai/dsh-tools, @deepseek-ai/dsh-skill, @deepseek-ai/dsh-skill-filesystem at >=0.1.0-rc.8 <0.2.0 (all composed by the official dsh-base bundle).
  • Optional, looked up at execution time (never injected): ctx.web (public-source retrieval — composed by dsh-base) and ctx.researchReport (the sibling dsh-research-report sealing engine).

What you get

  • industry_map — build or update an industry chain map (chain.json): upstream/midstream/downstream nodes, edges, and metric slots. A metric with a value must carry a sourceRef; a value-less slot is an explicit gap. Seed notes/files and an optional ctx.web digest are registered as citable sources (S1, S2, …).
  • industry_track — public-source policy/news tracking over the official ctx.web seam: per-topic search, host allow/block lists, since filtering, bounded snapshot fetches with SHA-256 provenance hashes, and append + dedupe into timeline.jsonl with a retention cap. Fails loud when the web capability is unreachable.
  • company_scan — company cards (card.json + card.md) from your workspace data files (SHA-256-hashed, with Markdown outlines and figure-candidate lines so every number cites a file and a line), plus an optional ctx.web citation complement. Text formats only in v1 (no PDF).
  • industry_report — one auditable report from the map + timeline + cards. With a mounted ctx.researchReport engine the evidence/sections/claims are sealed by its assemble and per-claim verdicts come back; without one, the builtin fallback writes versioned reports/<YYYYMMDD-HHmmss>/report.md + manifest.json with a SHA-256 source-traceability table and honestly labels engine: 'builtin-fallback'.
  • Two methodology skillsindustry-research-method (chain decomposition, supply/demand framework, sourcing discipline, gap-declaration discipline) and company-research-method (company framework, public-source list, compliance wording).
  • Typed Cordis eventsindustry-research/map, industry-research/track, industry-research/report emitted after each committed artifact.

Quick start

git channel

# From a scratch profile (pins the commit; runs the self-contained `prepare` build)
dsh plugin --profile demo add "github:PerryLink/dsh-industry-research#<sha>"
# The profile's pnpm-workspace.yaml gains an allowBuilds entry for dsh-industry-research on first add.

npm channel

dsh plugin --profile demo add dsh-industry-research

Both channels install the bundle row (see cordis.patch.yml) into the profile's dsh.profile.bundles stack and take effect on restart.

Then, in a session:

加载 industry-research-method 技能,然后研究白酒行业:
先 industry_map 建产业链图,再 industry_track 跟踪政策,最后 industry_report 出报告。

Install & uninstall

dsh plugin --profile demo add dsh-industry-research       # install
dsh plugin --profile demo remove dsh-industry-research    # uninstall

Verify the row mounts: dsh --profile demo --dump-config | grep dsh-industry-research.

Configuration

All tunables are Schemastery Config fields; invalid values fail the profile load loudly.

KeyDefaultDescription
enabledtrueMaster switch; false mounts nothing.
industryRootindustry-researchArtifact root, relative to the session workspace (or absolute).
fetchTimeoutMs20000Per-request timeout (ms) for ctx.web search/fetch calls.
timelineMaxEntries500Entries retained per industry timeline.jsonl (oldest dropped).
sourceAllowlist[]Host allowlist for tracked sources (empty = all hosts).
sourceBlocklist[]Host blocklist for tracked sources (wins over the allowlist).
offlinefalseOffline mode: never touch ctx.web; local workspace data only.
skillsDir_(unset)_Explicit skills root override; defaults to the packaged skills/.
track.maxResultsPerTopic10web_search maxResults per topic.
track.maxFetchesPerCall10Snapshot-fetch budget per industry_track call.
scan.maxFileBytes1048576Per-file read cap for company data files.
scan.maxFigureCandidates100Figure-candidate budget per company scan.

Tools & surfaces

industry_map({ industry, seed?, seedFiles?, web?, chain? })

Called with chain: validates (dangling edges, unsourced values, illegal tiers, duplicate ids — loud failure with the full issue list) and persists chain.json, then lists the explicit gap slots. Called without chain: returns the current map, the registered sources, and an optional ctx.web chain-structure digest so the model can iterate. Emits industry-research/map.

industry_track({ industry, topics?, since? })

Searches each topic through ctx.web, filters by the allow/block lists and since, fetches page snapshots (SHA-256) within the call budget, and merges into timeline.jsonl (dedupe by normalized URL, capped). Sources whose snapshot failed are kept as citation-only entries with the reason in note. Fails loud naming the missing capability when ctx.web is unmounted or offline: true. Emits industry-research/track.

company_scan({ name, dataFiles?, web? })

Reads the workspace data files (.md/.txt/.csv/.tsv/.json; v1 does not parse PDF), hashes them, extracts Markdown outlines and figure-candidate lines, optionally attaches ctx.web citations, and persists the card. Rejected files come back with reasons; everything the card cannot establish is an explicit gap.

industry_report({ industry, sections?, companies?, draft? })

Assembles evidence (E-chain, E-timeline, E-company-<slug>) and either validates your draft (sections + claims; every claim's evidenceIds must reference registered evidence) or builds the mechanical auto-draft (sourced metrics and recent timeline entries become claims). Engine path: sealed directory + sealHash + per-claim verdicts. Fallback path: versioned Markdown + manifest, claims honestly marked unverified. Emits industry-research/report.

Skills

  • industry-research-method — industry research methodology: upstream/midstream/downstream decomposition, supply/demand framework, sourcing discipline (every number: value + unit + source + asOf), and gap-declaration discipline (declare, never fabricate).
  • company-research-method — company research methodology: the business-structure / financials / risks card framework, the public-source priority list (company disclosures → regulators → authoritative media), and compliance wording.

Both load on demand through the standard skill tool (加载 industry-research-method 技能).

Data layout

<workspace>/<industryRoot>/<industry>/chain.json      industry_map
<workspace>/<industryRoot>/<industry>/timeline.jsonl  industry_track
<workspace>/<industryRoot>/<industry>/sources.json    citable source registry (S1, S2, …)
<workspace>/<industryRoot>/<industry>/notes/          seed notes
<workspace>/<industryRoot>/<industry>/reports/<ts>/   industry_report (report.md + manifest.json)
<workspace>/<industryRoot>/companies/<name>/card.*    company_scan

Permissions & data

dsh-industry-research consumes only public seams: ctx.tools, ctx.skills, and — looked up optionally — ctx.web and ctx.researchReport. It performs no network access of its own (all retrieval goes through ctx.web with the deployment's provider selection and your configured timeouts), stores no credentials, and writes only inside the session workspace under industryRoot. Only public sources are used; paid or login-walled sources are out of scope — pass your own exports in as dataFiles.

Security boundaries

  • Workspace containment — industry/company names are validated path segments; data files are containment-checked against the session cwd (both sides resolved).
  • Provenance by construction — sources carry SHA-256 hashes; unsourced numbers are validation errors; corrupt timeline lines are skipped with a surfaced count, never silently.
  • Honest degradation — missing ctx.web / ctx.researchReport produce loud failures or honestly labeled fallback artifacts, never silent fabrication.
  • Reversible registrations — everything goes through ctx.effect() / ctx.on() / register().
  • Research-only compliance — tool descriptions, cards, and reports carry 「仅供研究,不构成投资建议」; data points carry asOf and sources.

Known limitations

  • Cordis events, not session-log eventsindustry-research/* events are typed Cordis observability events and are never appended to the session log; the durable record is the workspace artifacts themselves, and model-visible tool results ride the durable tool/result session event.
  • No ctx.attachment writes — the rc2 attachment seam accepts images only (PNG/JPEG/WebP/GIF); Markdown reports therefore stay versioned workspace files, referenced by absolute path in the tool result.
  • v1 reads text formats only — no PDF parsing; ask users to convert PDFs to text/Markdown first.
  • Chinese-edition skills — the packaged methodology skills ship in Chinese; an English edition is future work.
  • Foreground toolsindustry_track is bounded by track.maxFetchesPerCall and fetchTimeoutMs and runs in the foreground; a background-jobs mode is future work.
  • The auto-draft is mechanical — it summarizes artifacts and turns sourced data points into claims; narrative quality comes from model-authored drafts.

Development

pnpm install
pnpm run typecheck && pnpm run typecheck:ci
pnpm test
pnpm run build
pnpm run verify:self-contained && pnpm run verify:artifacts
pnpm run verify:readme-sync
pnpm run pack:check

Topics

dsh, dsh-plugin, deepseek-harness, cordis, industry-research, company-research, research, report

Contributors

  • Initial design and implementation by the dsh-industry-research development session (DeepSeek Harness).

External contributions are welcome — open an issue or a pull request.

License

Apache-2.0 — see [LICENSE](LICENSE).