快速了解
它能做什么
用于 DeepSeek Harness 的可追溯行业图谱、公司卡片、政策追踪和研究报告插件包。
本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。
deepseek-harness Profile
0.1.2-rc.1 to <0.2.0; documented verification against dsh-v0.1.5-rc.1
证据已验证
核对日期 2026/9/10 UTC 13:51
选择前先看
将此包挂载到 DeepSeek Harness 配置档后,可使用 industry_map、industry_track、company_scan 和 industry_report。它会在配置的 industryRoot 下写入带版本记录的研究产物,并附带要求数字有来源、缺口需明确声明的方法论技能。
适合谁
需要基于公开来源和工作区文件完成行业或公司研究的 DeepSeek Harness 用户。
常见任务
- 构建带引用指标槽位的上中下游产业链图。
- 通过 ctx.web 追踪公开政策与新闻,并设置来源主机规则和抓取上限。
- 从工作区文本文件创建公司研究卡片,并可补充公开网页引用。
- 生成含来源追溯表和仅供研究免责声明的研究报告。
权限与数据
该包声明了文件读写和网络获取权限;README 表示检索通过可选的 ctx.web 执行。
权限- files:read
- files:write
- network:fetch
- native-code:none
- 在会话工作区的 industryRoot 下写入图谱、时间线、来源注册表、公司卡片、报告和版本账本。
- 公司扫描会读取用户提供的工作区文本文件;v1 声明支持 Markdown、文本、CSV、TSV 和 JSON。
- 可选 ctx.web,用于获取公开来源。
- 可选 ctx.researchReport,用于封存式报告组装。
- 未声明需要凭据;README 表示该包不存储凭据。
局限
- 仅提供研究支持,不构成投资建议。
- v1 不支持 PDF 解析。
- 随包方法论技能为中文;英文版被列为未来工作。
- industry_track 依赖 ctx.web;离线或未挂载时会失败。
- 未挂载 ctx.researchReport 时,报告使用内置降级路径,声明会标为未验证。
DSHub 已核对
- 已采集并验证包清单、Cordis 补丁、不可变 Git 源和 npm 注册表身份。
- 清单声明了事务性 profile-bundle 安装模式、重启配置档激活、Node 要求和 DSH 对等依赖范围。
DSHub 未核对
- 本次整理未执行安装、运行时冒烟测试、公开来源检索或报告生成。
- 未审计 npm 包内容。
固定版本安装
安装 DSH Industry Research
这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。
维护者原文
项目 README
🏭 dsh-industry-research
- 1024 store channel:
npm i -g dsh1024once, thendsh1024 plugin --profile web add dsh-industry-research(counts toward the deepseek1024.com install ranking).
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.
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
dsh-v0.1.5-rc.1(GitHub tag, verified 2026-09-10; peers>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0). 0.1.2-rc.1 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. Verified 2026-09-10 against the dsh-v0.1.5-rc.1 master checkout (full gate chain; the real profile install smoke runs in the monthlycompat.ymljob). - Node
^22.19.0 || >=24.0.0, ESM only ("type": "module"). - Peer dependencies:
@deepseek-ai/cordis ^4.0.2,@deepseek-ai/schemastery ^3.18.2, and@deepseek-ai/dsh-tools,@deepseek-ai/dsh-skill,@deepseek-ai/dsh-skill-filesystemat>=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0(all composed by the officialdsh-basebundle). - Optional, looked up at execution time (never injected):
ctx.web(public-source retrieval — composed bydsh-base) andctx.researchReport(the siblingdsh-research-reportsealing 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 avaluemust carry asourceRef; a value-less slot is an explicit gap. Nodestatusassertions carry astatusAsOf, and an optionaltaxonomyCodemust hit the built-in 国民经济行业分类 大类 table. WithrenderSvg: trueit also writes a deterministic, tier-layeredchain.svgnetwork diagram with funnel/hub bottleneck highlighting. Adepthargument scales the web assist (quick/standard/comprehensive). Seed notes/files and an optionalctx.webdigest are registered as citable sources (S1,S2, …).industry_track— public-source policy/news tracking over the officialctx.webseam: per-topic search, host allow/block lists,sincefiltering, bounded snapshot fetches with SHA-256 provenance hashes, and append + dedupe intotimeline.jsonlwith a retention cap. Entries may carry a validatedevidenceCategory; adepthargument scales source counts. 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 optionalctx.webcitation complement. Cards carry a listingstatus(withstatusAsOf), a format-checkedticker, and sourced price/valuemetrics(each withsource+asOf). Batch mode (companies) isolates one bad company without aborting the batch;depthscales the web complement. Text formats only in v1 (no PDF).industry_report— one auditable report from the map + timeline + cards. Before producing, a deterministic delivery contract checks blocks, status/price assertions, and placeholder residue (fail loud, no half-assembled report). Timeline entries are grouped byevidenceCategory. A deterministic bull/bear (正反方) synthesis lists sourced, dated values against declared gaps and data-quality findings, is embedded as the report's multi-perspective section, and is forked as a subagent job writingperspectives-note.mdinto the version ledger. With a mountedctx.researchReportengine the evidence/sections/claims are sealed by itsassembleand per-claim verdicts come back; without one, the builtin fallback writes versionedreports/<YYYYMMDD-HHmmss>/report.md+manifest.jsonwith a SHA-256 source-traceability table and honestly labelsengine: 'builtin-fallback'.- Artifact version ledger —
industry_map/company_scan/industry_reportappend toversions.jsonl(root-relative path + SHA-256 + timestamp + change type) on every artifact write; reads verify the hash and fail loud on mismatch. - Two methodology skills —
industry-research-method(chain decomposition, supply/demand framework, sourcing discipline, gap-declaration discipline) andcompany-research-method(company framework, public-source list, compliance wording). - Typed Cordis events —
industry-research/map,industry-research/track,industry-research/reportemitted 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.
| Key | Default | Description |
|---|---|---|
enabled |
true |
Master switch; false mounts nothing. |
industryRoot |
industry-research |
Artifact root, relative to the session workspace (or absolute). |
fetchTimeoutMs |
20000 |
Per-request timeout (ms) for ctx.web search/fetch calls. |
timelineMaxEntries |
500 |
Entries 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). |
offline |
false |
Offline mode: never touch ctx.web; local workspace data only. |
skillsDir |
(unset) | Explicit skills root override; defaults to the packaged skills/. |
track.maxResultsPerTopic |
10 |
web_search maxResults per topic. |
track.maxFetchesPerCall |
10 |
Snapshot-fetch budget per industry_track call. |
scan.maxFileBytes |
1048576 |
Per-file read cap for company data files. |
scan.maxFigureCandidates |
100 |
Figure-candidate budget per company scan. |
scan.strictTicker |
true |
Company-card tickers must match a built-in format (A-share 6 digits, US 1–5 letters, HK 1–5 digits); false exempts the format check. |
Tools & surfaces
industry_map({ industry, seed?, seedFiles?, web?, chain?, renderSvg?, depth? })
Called with chain: validates (dangling edges, unsourced values, illegal tiers, duplicate ids, status/statusAsOf, unknown taxonomyCode — loud failure with the full issue list) and persists chain.json, then lists the explicit gap slots and bottleneck nodes. Called without chain: returns the current map, the registered sources, and an optional ctx.web chain-structure digest so the model can iterate. With renderSvg: true it also writes a deterministic chain.svg. depth (quick/standard/comprehensive) scales the web assist. Returns a delta summary vs the previous research-state.json. Emits industry-research/map.
industry_track({ industry, topics?, since?, depth?, evidenceCategory? })
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). depth scales the source/fetch budget; evidenceCategory labels every appended entry and is validated against the six-category enum. Sources whose snapshot failed are kept as citation-only entries with the reason in note. Returns a delta summary vs the previous research-state.json. Fails loud naming the missing capability when ctx.web is unmounted or offline: true. Emits industry-research/track.
company_scan({ name | companies, dataFiles?, web?, status?, statusAsOf?, ticker?, metrics?, depth?, parallel? })
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. A status requires a non-future statusAsOf; a ticker must match a built-in format unless scan.strictTicker: false; every metrics value must carry source + asOf. companies (batch) isolates one bad company without aborting the batch; parallel: true fans each company into an independent job when ctx.jobs is mounted (otherwise it falls back to sequential, reported in the result mode). 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>), verifies the read artifacts against versions.jsonl (hash mismatch fails loud), 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, grouped by evidenceCategory). A deterministic delivery contract runs before production and fails loud on any missing block, placeholder, or unsourced/undated assertion. A deterministic adversarial machine-check always runs, and a red-team review job (red-review-note.md) is spawned when ctx.jobs is mounted (else review: skipped(jobs unavailable)). A deterministic bull/bear (正反方) synthesis embeds a multi-perspective section in the report and forks a debate job (perspectives-note.md) when ctx.jobs is mounted. 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>/versions.jsonl artifact version ledger (SHA-256 + timestamp + change)
<workspace>/<industryRoot>/<industry>/research-state.json research-state memory
<workspace>/<industryRoot>/<industry>/chain.json industry_map
<workspace>/<industryRoot>/<industry>/chain.svg industry_map (renderSvg: true)
<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>/red-review-note.md industry_report (red-team review, jobs)
<workspace>/<industryRoot>/<industry>/perspectives-note.md industry_report (bull/bear debate, jobs)
<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.researchReportproduce 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 events —
industry-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 durabletool/resultsession event. - No
ctx.attachmentwrites — 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 tools —
industry_trackis bounded bytrack.maxFetchesPerCallandfetchTimeoutMsand 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 verify:skills
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-researchdevelopment session (DeepSeek Harness).
External contributions are welcome — open an issue or a pull request.
PerryLink DSH Plugin Family
This project is one of the 37 DeepSeek Harness plugins maintained by PerryLink. If this one helps you, the others likely will too:
| Plugin | One-liner |
|---|---|
| dsh-auto-review | Second-model auto-review on the approval chain, fail-closed by default |
| dsh-background-agents | Durable background child agents with a Web UI sidebar, messaging and interrupt |
| dsh-budget | Cost governance for DeepSeek Harness: budgets, carbon, and latency in one panel. |
| dsh-checkpoint-rewind | Claude Code /rewind-equivalent: snapshots, session forks, one-shot restore |
| dsh-claude-move | Migrate Claude Code sessions, memory, skills and CLAUDE.md into DSH |
| dsh-click | Cross-platform native desktop control for DeepSeek Harness — Windows first. |
| dsh-composer-history | Terminal-style input history for the web composer: arrows, Ctrl+R search |
| dsh-data-quality | Dataset quality checks and citation cross-checks (the optional numeric bridge consumed here) |
| dsh-defend | Prompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness. |
| dsh-doublecheck | Engineering-discipline guard: requirements grill, test gates, adversary review |
| dsh-draw | Unified static-image generation routing for DeepSeek Harness. |
| dsh-fast | Read-only performance diagnostics for DeepSeek Harness. |
| dsh-fund-research | Deterministic research reports for Chinese public mutual funds |
| dsh-github | GitHub PR/issues integration for DSH, every write gated by approval |
| dsh-library | Local document knowledge base for DeepSeek Harness. |
| dsh-local-ai | Local-model (Ollama) integration for DeepSeek Harness. |
| dsh-lsp-actions | LSP diagnostics, formatting, completion, code actions and rename over language servers |
| dsh-mask | PII masking middleware: anonymize at the model boundary, restore at the display layer |
| dsh-mcp-panel | Read-only MCP runtime panel: /mcp command + Settings tab with status, tools and errors |
| dsh-memento | Approval-gated cross-session memory: ctx.memory seam + SQLite + memory tool |
| dsh-observe | OpenTelemetry and Langfuse observability exporter for DeepSeek Harness. |
| dsh-output-styles | Claude Code outputStyles-equivalent runtime style switching |
| dsh-permission-rules | Claude Code-style declarative allow/deny/ask permission rules with audit |
| dsh-personal-directive | Personal directive injector with top-bar toggle (framework edition) |
| dsh-plugin-guide | Plugin-development knowledge base as an on-demand agent skill |
| dsh-reach | Multi-channel approval/question bridge: WeChat/Telegram/Feishu, session console |
| dsh-research-report | Verifiable research-report engine: content-addressed evidence ledger and sealed versions |
| dsh-score | Multi-dimensional quality scoring for DeepSeek Harness plugins. |
| dsh-session-pin | Pin sessions in the Web sidebar with durable ordering |
| dsh-session-sync | Cross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store. |
| dsh-skill-pack-security | Security-audit skill pack: secret scan, dependency and supply-chain review |
| dsh-talk | Voice-first session loop for DeepSeek Harness: talk to it, hear it answer. |
| dsh-test-drive | Isolated install-and-smoke test drives for DeepSeek Harness plugins. |
| dsh-ticktick | TickTick/Dida365 task bridge: session-header panel + 11 tools |
| dsh-translate | Vendor parameter translation and deterministic JSON repair for DeepSeek Harness. |
| dsh-wechat | WeChat ↔ DSH bridge (Tencent iLink bot): text/image/file/voice, approvals in chat |
Install from the DSH Desktop Market
All PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.
License
Apache-2.0 — see LICENSE.
有意识地管理
安装与管理
前置条件与目标 Profile
目标: deepseek-harness Profile
交付方式: Git Bundle — PerryLink/dsh-industry-research#0b0e50299b05e35f14bc10cc89be0940cb473fed。
验证、更新与移除
显示生命周期命令
dsh plugin --profile deepseek-harness list兼容性与访问范围
DeepSeek Harness bundle; restart profile after installation: 0.1.2-rc.1 to <0.2.0; documented verification against dsh-v0.1.5-rc.1。
风险事实
证据与编辑审查Manifest、Bundle patch、分发与新鲜度
不可变证据
审查状态与源码活动
建议先在隔离配置档中安装,以检查工作区输出及可选网页提供方的实际行为。
AI 审查于 2026/9/10 UTC 13:52。GitHub 事实核对日期: 2026/9/10 UTC 13:52。
自当前证据基线以来,没有记录到重要源码变化。