Bundle
dsh-plugin-npm-run-shell
NPM Scripts Launcher for DeepSeek Harness (DSH) Web GUI with auto workspace detection and live terminal
- Source
- sozercaniekosmosa
- License
- MIT
- Updated
- Updated yesterday
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`:
```powershell
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
```
2. Добавьте плагин в `~/.dsh/profiles/web/package.json` в секцию `bundles`:
```json
{
"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:*"
}
}
```
3. Либо добавьте запись активации в файл `~/.dsh/profiles/web/cordis.patch.yml`:
```yaml
- insert:
- id: npm-run-shell
name: 'npm-run-shell'
```
4. Перезапустите веб-сервер DSH или обновите страницу в браузере.
---
## 🛠 Динамический запуск (в текущей сессии)
Если плагин не установлен постоянно, его всегда можно запустить на лету через вызовы Cordis Tool:
- Передайте содержимое `client.js` и `host.js` в инструмент `cordis_define`.
- Запустите полученный пакет через `cordis_run`.
Install
dsh plugin --profile web add github:sozercaniekosmosa/dsh-plugin-npm-run-shell
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-npm-run-shell from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.