Chuyển đến nội dung chính

dsh-plugin-npm-run-shell

Đã xác minh

dsh-plugin-npm-run-shell · v1.0.0 · MIT · Giao diện web

NPM Scripts Launcher for DeepSeek Harness (DSH) Web GUI with auto workspace detection and live terminal

Cài đặt

dsh plugin add dsh-plugin-npm-run-shell

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Phát hành lên npm mà không có repository công khai. Hãy kiểm tra nội dung package trước khi cài.

Thẻ

Tác giả

Readme

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: <script>" cmd.exe /k npm run <script>.
    • Открывается физическое отдельное окно командной строки 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.