@deepseek-ai/cordis
@deepseek-ai/cordis is a shared library inside a DeepSeek Harness profile: the plugin framework every profile package is built on.
Currently 4.1.0. It is not a plugin row: it has no panel to install and should not be removed on its own, because other packages are built on it.
What it is
It owns the context object (ctx), the plugin lifecycle, dependency injection, and the loader that reads the patch stack.
Everything else calls into it: a bundle inserts rows, a seam provides a capability, and each of those is a cordis plugin with a ctx.
It arrives with a profile, not as an install
16 of the 16 profile packages depend on it directly, so a profile that boots already has it.
The dependency line is in $DSH_HOME/profiles/<name>/package.json; the composed tree from dsh --profile web --dump-config is what cordis produced after reading the patch stack.
"@deepseek-ai/cordis": "4.1.0"
# $DSH_HOME/profiles/<name>/package.jsonWho uses it
35 community plugins declare it as a peer; each page shows what it patches.
- dshmarket
- dsh-plugin
- @michengai/dsh-archive-manager
- dsh-session-superagent
- @michengai/dsh-skills-manager
- dsh-free-search
- dsh-dream-skin
- dsh-plugin-wallpaper-engine
- dsh-pet
- @nanmicoder/dsh-agent-teams
- dsh-agent-compare
- dsh-mobile-plugin
- dsh-remote
- ds-harness-remote
- @tencent-connect/dsh-qqbot
- dsh-genui
- deep-view
- dsh-univer-office
- dsh-ops
- @deepseek-harness-tui/dsh-tui
- universal-plugin-hub
- dsh-skill-browser
- @lmzhen/dsh-evolution-skill-health
- @huaweidevtools/aishell-dsh-brand
- @aiwayds/dsh-llm-proxy
- dsh-tool-database
- dsh-providers-hub
- dsh-permission-remote
- @yugoo-design/dsh-design-panel
- dsh-codegraph-visualizer
- @mzzsfy/dsh-tool-gate
- @xiaoso/dsh-tool-plus
- dsh-better-plugin-updater
- @xirang-ai/dsh-teamflow
- dsh-mnemon
Version and engines
npm publishes 4.1.0 (2026-11-04), replacing 4.0.6-alpha.2 the day before. It declares no engines.dsh, because it is not a dsh plugin — its compatibility contract is the @deepseek-ai/cordis peer range the packages write (>=4.0.1 <5.0.0 in most manifests).
Common questions
Why do all 16 profile packages depend on it?
Because it supplies the ctx each one registers into. dsh-base inserts the first rows through it, dsh-web-app mounts a surface through it, and a seam like dsh-fs replaces one capability through it. Nothing in a profile runs outside that context.
What happens if two cordis versions end up in one profile?
The peers are declared, so pnpm resolves one copy per profile. Two copies means two contexts: a plugin registered in one is invisible to the other, and the symptom is a panel that installs cleanly and never appears.