Introduction¶
When working with MUSE AV image generation in DeepSeek Harness (DSH), the common approaches are using the MCP tools mcp__cs__* or directly invoking the museav CLI. While both methods handle uploads and image generation, they make it difficult to see—all on one screen—“what workspaces exist, how many assets are in each workspace, and what images have been generated recently.” To use a direct link as a reference image, you often have to recall the asset ID or manually copy the URL.
@dsh-plugins/dsh-museav-assets (repository webkubor/dsh-museav-assets), published by community maintainer webkubor and categorized as a client-side plugin, solves this. Built on top of the locally authenticated museav CLI, it adds an “Assets” tab to the main area. It displays asset libraries and recent generations organized by workspace. Clicking an asset copies its direct link, facilitating use with museav gen --ref <url>. Image generation and uploads are still handled by the CLI/MCP; the plugin does not duplicate those capabilities, nor does it read or forward keys from ~/.museav.json.
What is this?¶
In short: An MUSE AV asset browser for DSH—seeing projects and assets, and copying direct links for reference images.
The plugin obtains data by calling the local museav command; the server never touches the token. Compared to one-off MCP calls or typing CLI commands individually, the comparison table in the README emphasizes that this plugin is suited for getting a full overview via a “one-screen grid + count” and “one-click copy” for direct links; full generation/upload capabilities remain the responsibility of MCP or CLI.
UI Placement¶
The main area top bar conversation.view registers the 6th tab with an order of 40. It is positioned after Conversation, Trajectory, Memory, Context, and Computer Environment, labeled “Assets.”
The main area was chosen over the right panel because the asset view is a one-screen browse of “project list + thumbnail grid + generation timeline.” The right panel semantically represents the “currently selected object,” whereas assets are global and belong to no single session.
Core Features¶
Below are the capabilities actually provided by the plugin (based on the README and repository description).
Workspaces and Assets¶
- Lists museav workspaces (projects) and displays generation/asset counts along with quota information such as
used/limit/full. - Loads the asset library based on the selected workspace;
idandurlare provided via stdout, while display names and other fields are parsed from the CLI’s stderr. If parsing fails, it degrades gracefully (e.g., falling back to the first 8 characters of the ID for the project name). - Supports creating new workspaces via an interface (names must be 20 characters or fewer).
Recent Generations¶
- Fetches recent generation records (
museav jobs, stdout is a complete JSON array).
Copy Direct Links¶
- Clicking an asset copies the URL, which can be directly used as a reference image.
HTTP Interface (For Tabs and Integrators)¶
| Route | Description |
|---|---|
GET /api/dsh-museav-assets/health |
Detects CLI availability, version, and workspace limits |
GET /api/dsh-museav-assets/projects |
List of workspaces and counts |
POST /api/dsh-museav-assets/projects |
Creates a workspace with body {name} |
GET /api/dsh-museav-assets/assets?project=<id\|name> |
Assets for a specific workspace |
GET /api/dsh-museav-assets/jobs?limit=<n> |
Recent generations |
When an upstream or CLI error occurs, the interface still returns HTTP 200 with a body of {ok:false,error}, and the tab displays the reason inline; only invalid parameters result in a 400 response, preventing a single glitch from causing a full-page white screen.
What It Explicitly Does Not Do¶
- Does not generate images or upload files (delegated to CLI/MCP).
- Does not cache data; it fetches once on mount and only reruns when the user clicks “Refresh.”
- Does not poll.
Installation and Activation¶
The package name is @dsh-plugins/dsh-museav-assets (npm scope @dsh-plugins). The historical unscoped dsh-museav-assets was withdrawn from npm on 2026-10-02; please use only this name when installing.
Desktop Client (Recommended)¶
Install via DSH In-App Plugin Management, where the application fetches the package from npm. The command line cannot install plugins into the desktop profile managed exclusively by Electron (prompts such as profile "desktop" is managed exclusively by the Electron application will appear).
After topology or bundle changes, you must quit and reopen the desktop application (the README notes that ~/.dsh/restart.sh is deprecated).
Self-built Profiles (Local Development)¶
If using a CLI-managed profile (e.g., desktop-local), you can run inside the plugin repository:
npm run deploy
This command rsyncs build artifacts to ~/.dsh/profiles/desktop-local/node_modules/@dsh-plugins/dsh-museav-assets/ (the default profile can be overridden via the environment variable DSH_PROFILE).
And declare the dependency and bundle in the corresponding profile’s package.json, for example:
"dependencies": { "@dsh-plugins/dsh-museav-assets": "^0.1.1" },
"dsh": { "profile": { "bundles": [ /* … */, "@dsh-plugins/dsh-museav-assets" ] } }
Prerequisites¶
museav is installed locally and museav login has been completed. The plugin does not read ~/.museav.json.
Optional: Use the environment variable MUSEAW_BIN to specify the museav executable path (consistent with the MCP bridge convention in the profile); changing the path does not require reloading the plugin.
Typical Usage¶
- Install and enable the plugin, ensuring museav is logged in locally.
- Open the “Assets” tab in the DSH main area top bar to view the workspace list and asset/generation counts for each workspace.
- Select a workspace and browse assets in the grid; click the desired asset to copy the direct link.
- When generating images via CLI or MCP tools accessed through DSH, use the direct link as a reference image, for example:
museav gen --ref <url>
Where <url> is the asset direct link just copied.
To create a new workspace, you can use the tab’s corresponding capability or submit { "name": "Your Workspace Name" } via POST /api/dsh-museav-assets/projects (name ≤20 characters).
Use Cases and Notes¶
Who it is for: Developers already using museav CLI / mcp__cs__* in DSH or locally for MUSE AV image generation, who want to browse workspaces, assets, and recent generations without leaving DSH, and quickly copy reference image links.
Permissions and Security: The plugin runs with the permissions of the current DSH process and calls the local museav via subprocess. Before installation, it is recommended to review the GitHub repository source code and MIT license to ensure compliance with your environment policies.
Contract with Upstream CLI: Some display fields rely on parsing the stderr table from museav projects / projects assets (these two commands do not yet have --json). If upstream adds --json to these commands, parsing fragility can be reduced; the source of truth lies in the museav-cli’s project-related commands, not this plugin.
Community Directory: The plugin is listed in the SkillHub Directory Page (approx. 49 GitHub stars). This directory is a community site with no official affiliation with DeepSeek/High-Flyer. The DSH ecosystem adheres to “everything is a plugin,” and this package is a client-side extension for MUSE AV asset visualization within it.
Conclusion¶
dsh-museav-assets fills the “visibility” gap: the “Assets” tab in the main area, viewing assets and generation timelines by workspace, and one-click direct link copying. You can continue to use your existing MCP or CLI for image generation and uploads.
- Directory Page: https://www.skillhub.cn/plugins/webkubor/dsh-museav-assets
- Source & Docs: https://github.com/webkubor/dsh-museav-assets
- npm:
@dsh-plugins/dsh-museav-assets