中文EN

dsh-plugin-runcat-inventory

dev已测通过npmMIT

DSH 插件总览(逃咪):以表格视图管理已安装插件,支持状态过滤、HMR 热生效的启停开关、配置查看/复制、卸载与 npm 更新提醒。

下载量 / Downloads
1,528
依赖体积 / node_modules
17.28 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-plugin-runcat-inventory

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-plugin-runcat-inventory (Runcat Plugin Overview / 逃咪-插件总览)

[中文](README.md) | English

Version: v1.3.2 · Changelog: [CHANGELOG.en.md](CHANGELOG.en.md) ([中文](CHANGELOG.md))

A better DSH plugin list: table view, status filters, enable/disable switches (hot-applied), uninstall, update reminders, config viewer and copy, automatic zh/en UI switching.

Entry point: Settings → Runcat Plugin Overview (in the Settings left navigation; shown as 逃咪-插件总览 in Chinese).

Screenshot

Features

Capability · Description

Table view · 4 columns with fixed ratios: Name 36% / Status 15% / Source 21% / Actions 28% (name takes the largest share)

Entry point · Registered directly in Settings → Runcat Plugin Overview (left navigation, right after "Plugins")

Languages · Built-in Simplified Chinese / English; the UI follows the DSH environment (Settings → General → Language, or the browser language); the plugin's own description switches too

Runtime status · Enabled/Disabled + Cordis status (Mounted / Waiting for deps / Loading / Mount failed / Not mounted / Unloading)

Description / Version · Read from each package's package.json; the full description is shown in the expanded row (click "Details")

Source · Only this plugin shows its repository home page (https://github.com/runcat-tommy/dsh-plugin-runcat-inventory); others show the install method (local link / local path / GitHub / npm / built-in)

Details expansion · The "Details" button appears when a plugin has a description or a config; the expanded row shows the full description + config JSON, with one-click copy

Enable / Disable · Edits the profile's cordis.patch.yml (user override layer), hot-applied via HMR — no restart needed

Uninstall · "Uninstall" button in the Actions column with a confirm dialog; removes the dependency and bundle layer from the profile, effective after restarting the Web UI; cannot uninstall itself or built-in packages; uninstalled rows are marked "Uninstalled" in the list (dimmed, actions disabled) to avoid repeat operations

Update reminders · Checks the npm registry for the latest version (batched scan: 4 per batch, 200ms gap, 1h cache); when the plugin itself has a new version, a prominent card appears at the top of the panel; other plugins show vX → vY highlighting in the version column + an inline "Update" button + a top banner; the update pins the target version into the command (add <name>@<latest>) and re-checks the installed version afterwards

Update results · Progress and results render inside the row (the confirm dialog closes on confirm and never blocks the UI): success → "applied" or "restart DSH to use it"; failure → "Update failed" plus Reason (error code / command / exit code / stderr); after a successful update the plugin asks DSH's own HMR to hot-apply, so no restart is needed when it can be applied

Batch & restart · Two buttons in the top banner: Update all (sequential, per-row progress, summary) and Restart DSH (CLI hosts restart directly and the page waits for it; on Desktop the shell owns the host, so it explains that a manual reopen is required)

Update boundaries · Local link dependencies (link: / file: / workspace:) are not updatable (clicking Update refuses explicitly: installing the npm release would drop the development link); a local version already ≥ npm latest reports "already up to date" instead of failing; VERSION_MISMATCH now means only "genuinely older than the target" (npm source not synced yet — retry later)

Search & filter · Keyword (combined search over name / id / description / source / version) + status filter

Sorting · Config order (default) / Name ↑ / Name ↓

Width · No sticky columns; ←/→ arrow keys scroll horizontally; the Source column hides on narrow screens

Structure

dsh-plugin-runcat-inventory/   # local folder name after git clone (same as the repo)
├── package.json      # dsh.bundle.patch + dsh.client declarations
├── cordis.patch.yml  # patch layer: inserts this plugin entry into the root entry list
├── lib/
│   ├── index.js      # Host half: loader inventory + /runcat-api routes + patch file editing
│   └── client.js     # Browser half: hand-written ModuleLoader bundle, table UI
├── test/
│   └── mock-test.mjs # host-half unit tests (node test/mock-test.mjs, 5 cases)
├── assets/
│   ├── preview-zh.png # Chinese-UI screenshot
│   └── preview-en.png # English-UI screenshot
├── CHANGELOG.md      # changelog (Chinese)
├── CHANGELOG.en.md   # changelog (English)
├── README.md         # Chinese docs
└── README.en.md      # English docs (this file)

Prerequisites

Dependency · Required? · Notes

Node.js · ✅ Required · DSH itself is a Node program; install Node.js (suggest 20+ or the latest LTS; no strict minimum)

DSH CLI · ✅ Required · npm i -g @deepseek-ai/dsh

pnpm · ✅ Required · dsh plugin forwards to pnpm; without it you get pnpm not found on PATH; install with npm i -g pnpm

Git · ⚠️ Depends on method · Needed for Method B (GitHub source) or Method C (local development); not needed for Method A (npm)

Network · ⚠️ Depends on environment · Method A needs access to the npm registry; Methods B/C need access to GitHub — if direct connections fail, configure a git proxy, e.g. git config --global http.https://github.com.proxy http://127.0.0.1:7897

This plugin itself has zero dependencies: the host half only uses Node built-ins (plus lazily resolving js-yaml from the profile), and the browser half is a hand-written ModuleLoader bundle. Nothing extra to install.

Installation

Installs into the web profile (replace web with your profile name if different).

Method A: npm install (simplest, reco

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:6,最后更新 2026-10-19

链接

GitHub · Homepage · npm

同类插件