dsh-plugins — shared DeepSeek Harness plugins monorepo

Общее монорепо кастомных плагинов для DeepSeek Harness. Каждый пакет собирается изолированно (tsclib/) с core-зависимостями @deepseek-ai/* из публичного npmjs и публикуется в npm-реестр Gitea https://git.byte-mate.ru/api/packages/Coder/npm/ под scope @deepseek-ai/*.

Состав

Пакет Версия Назначение
@deepseek-ai/dsh-tool-lab 0.1.0-rc.7 Модельные lab-инструменты: ComfyUI imagegen, Docling OCR, Whishper STT
@deepseek-ai/dsh-web-search-searxng 0.1.0-rc.7 SearXNG-провайдер поиска для seam ctx.web
@deepseek-ai/dsh-telegram-remote 0.1.0 Удалённое управление DSH через Telegram Bot API

Сборка и тесты

pnpm install          # резолвит точные версии core-пакетов из npmjs
pnpm -r build         # tsc каждого TS-пакета → lib/
pnpm -r test          # vitest (шаблон *.spec.ts; *.e2e.ts исключён)
pnpm -r pack          # контроль упаковки tarball

pnpm-lock.yaml фиксируется в репозитории. В корневом .npmrc нет маппинга @deepseek-ai → Gitea — это сломало бы сборку (core тянется с npmjs).

Публикация

Для публикации в Gitea npm-реестр:

  1. Убедись, что в настройках репозитория есть секрет GITEA_NPM_TOKEN (токен пользователя Coder с правами на packages).
  2. Создай git-тег с префиксом v* (например v0.1.0-rc.7) и запушь его.
  3. Gitea Actions запустит job publish: workflow проверяет check-published.mjs, какие пакеты ещё не опубликованы (идемпотентно), и публикует их в реестр.

Публикация только по тегу; пуш в main гоняет build-test без публикации.

Установка плагина

Скрипты-установщики ставят все три плагина в активный профиль DSH, пишут в .npmrc профиля scoped-registry @deepseek-ai → Gitea и идемпотентно дописывают insert-записи в cordis.patch.yml.

Windows

$env:GITEA_NPM_TOKEN = "<токен>"
.\scripts\dsh-plugin-install.ps1 -Profile web

bash/macOS/Linux

export GITEA_NPM_TOKEN="<токен>"
./scripts/dsh-plugin-install.sh web

После установки перезапусти dsh. Пакет → id записи в cordis.patch.yml:

  • @deepseek-ai/dsh-tool-labtool-lab
  • @deepseek-ai/dsh-web-search-searxngweb-search-searxng
  • @deepseek-ai/dsh-telegram-remotetelegram-remote

Пользовательские конфиги плагинов (например, tokenFile, comfyBaseUrl) — поле config той же insert-записи — редактируются в cordis.patch.yml после установки.

Description
Shared DeepSeek Harness plugins monorepo - published to Gitea npm registry
Readme 196 KiB
Languages
JavaScript 71.4%
TypeScript 26.6%
PowerShell 1.2%
Shell 0.8%