Preface¶
Under DSH’s philosophy of “everything is a plugin,” profiles, bundles, plugin installation, and restarts are typically scattered across the CLI, configuration, and host capabilities. When maintaining multiple profiles, it is often necessary to confirm whether the current profile is active, if bundles need to be restarted, if plugin versions across multiple profiles are consistent, and if a single installation requires a rollback.
dsh-profile-panel is a DSH plugin that centralizes these operations into the profile-panel section of the settings panel.
What is this¶
dsh-profile-panel is a DSH plugin status panel / profile operations console maintained by lingxin-maz. The repository name is lingxin-maz/dsh-profilespanel, the npm package name is dsh-profile-panel, and the license is MIT.
It is used for observation, diagnosis, change management, and Agent integration, covering:
- Current profile, bundle status and pending restart detection (SSE)
- One-click restart
- Multi-profile synchronized installation (web+desktop dual-end mode)
- Supply chain version preview (minimumReleaseAge release age warning)
- Pre-install snapshot, automatic rollback on failure, manual undo
- Update detection and cross-profile version alignment
- Health checks (missing packages / peer gaps / orphan bundles / layer stack duplicates)
- Side-by-side diff of two profiles
- Startup report
- Audit logs (local JSONL)
- Agent tools:
profile_status/profile_updates/profile_sync_install/profile_restart - Market search and
github:owner/repodirect install - Hot reload (when host supports it)
It installs into a specified DSH profile, rather than running as a standalone application. The plugin runs with the permissions of the current dsh process; it is recommended to check the source code and license before installing.
The community directory page is an independent site with no official affiliation with DeepSeek / Huafan; it should not be interpreted as an official app store.
Core Features¶
Observation and Diagnosis¶
Below are the capabilities used to view status.
- Current profile, bundle status and pending restart detection (SSE).
- Update detection and cross-profile version alignment.
- Health checks: missing packages, peer gaps, orphan bundles, layer stack duplicates.
- Side-by-side diff of two profiles.
- Startup report.
- Audit logs: local JSONL.
Change Management¶
Below are operations that will actually change the plugin or profile state.
- One-click restart.
- Multi-profile synchronized installation (web+desktop dual-end mode).
- Supply chain version preview: minimumReleaseAge release age warning.
- Pre-install snapshot, automatic rollback on failure, manual undo.
- Hot reload (when host supports it).
Agent and Market Integration¶
Below are capabilities oriented towards model invocation and market entry points.
- Agent tools:
profile_status/profile_updates/profile_sync_install/profile_restart. - Market search and
github:owner/repodirect install.
Installation and Enabling¶
Runtime requirements node >=18, peerDependencies includes:
{
"@deepseek-ai/cordis": "^4.0.1",
"@deepseek-ai/schemastery": "^3.18.1"
}
Install via registry:
dsh plugin --profile <name> add dsh-profile-panel
To pin a version:
dsh plugin --profile <name> add dsh-profile-panel@1.0.0
Direct install from GitHub:
dsh plugin --profile <name> add github:lingxin-maz/dsh-profilespanel
Local path:
dsh plugin --profile desktop add ../dsh-profilespanel
After installation, open:
Settings → Profile / Plugins (profile-panel section of the settings panel)
Verify interface:
GET http://127.0.0.1:<port>/api/profile-panel/status
Returning 200 indicates successful installation.
Typical Usage¶
Configurable in cordis.yml:
profile-panel:
profile: web
allowRestart: true
pollIntervalMs: 5000
minimumReleaseAgeDays: 7
Configuration item meanings:
profile: Explicitly specify the profile.allowRestart: Whether to allow one-click restart.pollIntervalMs: Change detection polling interval.minimumReleaseAgeDays: Release age threshold for supply chain version preview.
The market page can send package names to the download module via events or deep links:
dsh-profile-panel:install-target
#dshpp-install=<target>
Applicable Scenarios and Notes¶
Suitable for scenarios requiring maintenance of multiple DSH profiles, execution of plugin installation/update/restart, viewing bundle status, or delegating profile operations to Agent tools.
Notes before use:
- The plugin runs with the permissions of the current dsh process; check the source code and MIT license before installing.
- Change-related interfaces only accept same-origin POST requests and reject proxy forwarding headers.
- Installation targets only accept registry package names/versions specs and strict forms
github:owner/repo[#path:/sub], rejecting local paths, git URLs, http sources, and command injection. - GitHub direct install follows the repository HEAD and has no version number semantics.
- Multi-profile installation does not automatically rollback by default;
rollbackcan be checked.undorequirespnpm installafter restoring the manifest. - Hot reload degrades to a restart prompt when the host does not support it.
updates/install-previewdepend on registry availability; they degrade to warnings when offline.- Desktop detection is heuristic; when the
dualtarget is missing on the other end, it degrades to single-end + warning. - When the online directory for market search is unreachable, it falls back to the local
dshmarketsnapshot, which may lag behind the online directory. - Audit logs are local JSONL, excluding conversation content; zero telemetry.
Links¶
- GitHub: https://github.com/lingxin-maz/dsh-profilespanel
- Directory page: https://www.skillhub.cn/plugins/lingxin-maz/dsh-profilespanel