sozercaniekosmosa/dsh-plugin-npm-run-shell ↗★ 0

dsh-plugin-npm-run-shell

NPM Scripts Launcher for DeepSeek Harness (DSH) Web GUI with auto workspace detection and live terminal 适合需要频繁在DSH界面中运行和管理NPM脚本的开发者。

Package
dsh-plugin-npm-run-shell
Compatibility
Unverified
Version
1.0.0
Last updated
Sep 26, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:sozercaniekosmosa/dsh-plugin-npm-run-shell

NPM Scripts Launcher for DeepSeek Harness (DSH)

Плагин для веб-интерфейса DeepSeek Harness (DSH), который добавляет в левый нижний угол сайдбара кнопку быстрого запуска NPM-скриптов с автоопределением текущего проекта и выводом в отдельное интерактивное окно терминала.


🌟 Возможности

  1. Компактная кнопка в интерфейсе:

    • Находится в левом нижнем углу сайдбара (рядом с настройками).
    • Заменяет собой стандартную служебную кнопку "Cordis Plugin".
    • Выполнена в виде аккуратного официального логотипа NPM без лишнего текста.
  2. Автоопределение и переключение Workspace:

    • Автоматически считывает активный Workspace через хуки сессии DSH.
    • Умеет находить package.json как в корне проекта, так и во вложенных подпапках (например, prj/package.json или src/package.json).
    • Если открыто несколько проектов, в шапке окна доступен мгновенный переключатель-дропдаун для запуска скриптов в любом воркспейсе без необходимости переключать активный чат.
  3. Запуск в живом окне терминала:

    • Запуск скриптов происходит через системный вызов cmd.exe /c start "npm: " cmd.exe /k npm run .
    • Открывается физическое отдельное окно командной строки Windows в директории проекта.
    • Окно остаётся открытым после выполнения команды (/k), позволяя просматривать логи dev-сервера, сборки, тестов или прерывать их по Ctrl+C.
  4. Удобный UI:

    • Всплывающее меню аккуратно открывается вверх от футера.
    • Автоматически закрывается при клике в любое свободное место экрана.

📂 Структура файлов

npm-run-shell/
├── client.js          # Клиентская половина (UI попапа, хуки сессий/воркспейсов, SVG-иконка)
├── host.js            # Хостовая половина (поиск package.json, Host RPC, запуск терминала)
├── package.json       # Описание пакета и точек входа DSH
├── cordis.patch.yml   # Манифест подключения плагина к Cordis профилю
└── README.md          # Документация по установке и использованию

🚀 Установка на постоянной основе в DSH

Чтобы плагин запускался автоматически при каждом старте DSH (без необходимости динамического подтверждения cordis_run):

Вариант 1. Через симлинк в пользовательский веб-профиль (Рекомендуемый)

  1. Откройте терминал PowerShell и создайте символическую ссылку на папку плагина в ~/.dsh/profiles/web/node_modules:
New-Item -ItemType SymbolicLink -Path "$env:USERPROFILE\.dsh\profiles\web\node_modules\npm-run-shell" -Target "D:\Dev\JS\Prj\2026\dsh-plugins\npm-run-shell" -Force
  1. Добавьте плагин в ~/.dsh/profiles/web/package.json в секцию bundles:
{
  "name": "dsh-profile-web",
  "private": true,
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dshmarket",
        "npm-run-shell"
      ],
      "patchReload": "live"
    }
  },
  "dependencies": {
    "dshmarket": "^1.65.0",
    "npm-run-shell": "workspace:*"
  }
}
  1. Либо добавьте запись активации в файл ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
    - id: npm-run-shell
      name: 'npm-run-shell'
  1. Перезапустите веб-сервер DSH или обновите страницу в браузере.

🛠 Динамический запуск (в текущей сессии)

Если плагин не установлен постоянно, его всегда можно запустить на лету через вызовы Cordis Tool:

  • Передайте содержимое client.js и host.js в инструмент cordis_define.
  • Запустите полученный пакет через cordis_run.