In the DSH system, plugins, skills, presets, and specifications are scattered entities. Managing them often requires frequent context switching. The dsh-asset-manager plugin provides a centralized view that consolidates all of these assets into a single panel. It unifies the DSHComponent data model, scans actual data, and provides a full set of lifecycle management features (enable/disable/delete), while including built-in safety mechanisms.
Installation¶
Install the plugin via the command line:
dsh plugin --profile web add github:butingxz/dsh-asset-manager
Entry Points¶
The plugin provides two access entry points:
- Session View tab “System Overview”: Left-side tree navigation + right-side card table.
- Button on the right side of the session header: Goes directly to the main panel.
Key Features¶
- Asset Overview: Provides four statistic cards, respectively showing total, enabled, disabled, and updatable counts.
- Asset Browsing: Supports category tree navigation, status filtering, and fuzzy search by name/description.
- Component Actions: Use a toggle switch to enable or disable components; supports local path thumbnails and one-click copy.
- Details: Click a row to expand details, including a plain-language description, usage examples, source chain, and location/time information.
- Deletion Protection: Deleting requires secondary confirmation by entering the full component name in a Modal; automatically backs up to
workspace/.dsh-asset-backupsbefore deletion; built-in protection prevents deleting official@deepseek-ai/*components or system specifications. - Version Updates: Performs real queries to npmmirror for the latest version (with timeout and caching), and displays upgrade options for updatable items.
- UI/UX: Includes skeleton-screen loading, operation loading to prevent duplicate clicks, and Toast error handling.
API¶
GET /@dsh-external/dsh-asset-manager/api/assets: Retrieve the asset list (including cached update information).POST /@dsh-external/dsh-asset-manager/api/refresh-updates: Trigger update detection.POST /@dsh-external/dsh-asset-manager/api/disable|enable|delete: Execute component operations.
Chat tool: _dsh_external_dsh_asset_manager_status (quick asset status overview).
Build and Injection¶
For local development:
bash scripts/build.sh # 构建 host + client
dev_inject_plugin <本目录> # 首次注入 / 大改后重注入
dev_reload_package dsh-asset-manager # 小改热重载(若报 duplicate route:先 dev_clear_routes /@dsh-external/dsh-asset-manager)
Note: Client changes require refreshing the browser page to take effect (when the dev:web watcher is not enabled).
Dependencies¶
The plugin depends on the following packages:
@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-llm@deepseek-ai/dsh-toolscordisschemastery
Conclusion¶
This plugin provides DSH developers with a centralized hub for managing assets and monitoring status. See the GitHub repository for more information or to contribute.