dsh-crew

by ZSeven-W (open source) · Claude Desktop, Claude Code, OpenCode, DeepSeek Harness 0.1.1-rc.1+

MCP MCP Servers Open Source v0.1.0-rc.4 · 21.08.2026 активный

Плагин DeepSeek Harness (DSH): диспетчеризация задач DSH-агентам из Claude Code / Codex — нативный прогресс субагентов, worker-сессии с пресетами по тирам, мультимодальный мост, дающий text-only harness зрение и генерацию изображений.

v0.1.0-rc.4
21.08.2026 current

Установка
dsh plugin --profile web add @zseven-w/dsh-crew@latest
dsh web

# вариант для локальной разработки из исходников:
# dsh plugin --profile web add link:/path/to/dsh-crew
# dsh web

# проверка установки:
node scripts/smoke.mjs
показать оригинал переведено ИИ

DSH Crew

DSH Crew

Плагин для DeepSeek Harness: отправка задач агентам DSH из Claude Code / Codex без потери родного интерфейса подагентов хоста.
Родной интерфейс отслеживания прогресса • Политика уровней и эскалация • Сессии DSH внутри хоста • Распознавание изображений и их генерация • Установка в один клик

npm: @zseven-w/dsh-crew • Текущий релиз плагина: 0.1.0-rc.4 • Протестировано с DSH 0.1.1-rc.1

Английский • 简体中文 • 繁體中文 • Японский • Корейский • Французский • Испанский • Немецкий • Португальский • Русский • Хинди • Турецкий • Тайский • Вьетнамский • Индонезийский

Лицензия


DSH Crew — страница настроек

Страница настроек DSH Crew — интеграция с хостом, политика диспетчеризации, выполнение и мультимодальный мост

Зачем нужен DSH Crew

DSH Crew — это плагин для DeepSeek Harness (DSH), фреймворка с открытым исходным кодом для агентов. Он позволяет отправлять задачи агентам DSH из Claude Code и Codex: оркестратор сохраняет свою модель, работа выполняется реальным агентом DSH с инструментами, песочницей, предустановками и историей сессий этого фреймворка, а хост по-прежнему отображает её как родного подагента с отслеживанием прогресса в реальном времени.

Работу выполняет агент DSH, а не просто вызов модели. Уровни (flash / pro) определяют, какие возможности получает агент из настроенного в фреймворке списка — на данный момент это DeepSeek V4 Flash и V4 Pro, поэтому изменение модели в DSH не требует изменений здесь.

### 🧵 Родной интерфейс отслеживания прогресса Исполнители отображаются как обычные подагенты в Claude Code / Codex — количество отправленных задач, текущий шаг, вызовы инструментов и использование токенов отображаются в собственном панели задач хоста, а также в строке состояния claude-hud: `⚙dsh 1▶pro 2m14s 21.7k/606 ✓3`. ### 🎚️ Политика уровней и эскалация `flash` для механической работы, `pro` для рассуждений, `effort` от `off` до `max`. Параметр `tier_policy` может ограничивать каждый запрос одним уровнем на уровне инструмента, а `escalate_on_failure` повторяет неудачную задачу на уровне `pro` один раз — основываясь на фактических данных, а не на предварительной оценке сложности.
### 🏛️ Сессии DSH внутри хоста При установке пакета в профиль DSH каждый исполнитель становится полноценной сессией DSH: виден в веб-интерфейсе, группируется по рабочей директории, использует предустановку агента, выбранную для каждого уровня. Если DSH не запущен, диспетчеризация переключается на автономный рантайм DSH, поэтому CI и безголовые среды продолжают работать. ### 👁️ Распознавание изображений и их генерация --- Модели DSH работают только с текстом. `describe_image` и `generate_image` заимствуют "глаза" и "кисть" у уже имеющихся у вас CLI-инструментов — Claude, Codex, Grok, Antigravity — или у любого совместимого с OpenAI API, который вы настроите. Вставленные изображения остаются видимыми в беседе и передаются модели в виде текста.
### 🔌 Пользовательские провайдеры Подключите собственный эндпоинт (базовый URL + API-ключ + модели) или локальный шаблон команды. У каждого провайдера есть тест на подключение, который проверяет доступность и аутентификацию, а затем выполняет один реальный запрос к модели с поддержкой зрения, чтобы вы узнали о проблемах сразу, а не в процессе выполнения задачи. ### 📦 Установка в один клик Страница настроек устанавливает и обновляет плагин Claude Code и файлы ролей Codex за вас — регистрация в маркетплейсе, разрешение на белый список, настройка HUD, абсолютные пути для этой машины — и так же легко их восстанавливает. Все файлы настроек сначала создаются резервные копии.

Как это работает

Claude Code / Codex (orchestrator, keeps its own model)
  └─ ds-flash / ds-pro  ← native subagent shell (progress shows in the host's task UI)
       └─ MCP: dsh_run_worker(tier, effort, cwd)
            ├─ hub reachable → session inside DSH (visible in the Web UI, grouped by cwd)
            └─ otherwise     → dsh-jsonrpc-agent runtime (worker.cordis.yml)
                 └─ DeepSeek V4 Flash / Pro (DSH SDK, event stream → progress and token stats)

Один запуск, два представления

Диспетчер распределяет задачи. Ниже восемнадцать воркеров параллельно переводят этот README: хост считает их своими субагентами, а обвязка запускает их как реальные сессии.

Claude Code

Claude Code видит воркеры dsh-crew как нативных субагентов с сегментом строки состояния, отслеживающим запущенные уровни, прошедшее время и токены.

DSH Crew

Панель DSH Crew видит тот же запуск со стороны обвязки: какой хост отправил каждую задачу, её уровень и усилия, текущий прогресс и использование токенов.

Установка

Установите в профиль DSH из npm:

dsh plugin --profile web add @zseven-w/dsh-crew@latest
dsh web

Или для локальной разработки прямо из исходников:

dsh plugin --profile web add link:/path/to/dsh-crew
dsh web

Протокол link: создаёт символическую ссылку зависимости профиля на этот репозиторий, так что пересборки видны сразу.

Настройка учётных данных DeepSeek (только для автономного режима)

В режиме хаба — как в установке выше — воркеры работают внутри экземпляра DSH и используют учётные данные DeepSeek, с которыми он уже настроен. Больше ничего настраивать не нужно.

Только автономный режим требует собственный ключ: при отправке задач из Claude Code / Codex без запущенного экземпляра DSH запускается рантайм воркера как отдельный процесс. Получите API-ключ на platform.deepseek.com и запишите его в ~/.config/dsh-crew/.env:

DEEPSEEK_API_KEY=sk-...

Проверка

node scripts/smoke.mjs

Тест отправляет одну дешёвую задачу через доступный путь — хаб, если экземпляр DSH запущен, автономный режим в противном случае — и выводит, какой из них был использован. Примерно через десять секунд вы должны увидеть smoke test passed — configuration OK. В случае ошибки выводится причина, ограниченная проверенным путём.

Затем откройте Настройки → DSH Crew и установите интеграции Claude Code / Codex в один клик.

Справочная информация и терминология

  • DSH (DeepSeek Harness): открытая обвязка агентов от DeepSeek, кодовый агент в виде веб-интерфейса, похожий на Claude Code, но работающий с моделями DeepSeek.
  • MCP (Model Context Protocol): протокол интеграции инструментов от Anthropic, позволяет LLM безопасно вызывать внешние инструменты и источники данных.
  • Cordis bundle: формат плагинов DSH; этот проект может работать автономно как MCP-сервис или устанавливаться в DSH Web в режиме хаба.
  • уровень (tier): уровень возможностей — какой слот из настроенного списка моделей DSH получает воркер. flash — быстрый и дешёвый (простые задачи), pro — более глубокое рассуждение (сложные проблемы). Сегодня они соответствуют DeepSeek V4 Flash и V4 Pro; замените модели в DSH — здесь ничего не изменится.
  • воркер: агент DSH, выполняющий работу — полноценная сессия со своими инструментами, песочницей и предустановками, а не просто вызов модели.
  • усилия (effort): сила рассуждения, off — без рассуждений, high — высокая инвестиция в рассуждения, max — максимальная инвестиция в рассуждения.

Claude Code

Установка

Установка в один клик (выберите один вариант):

  • Страница настроек DSH (если установлен режим хаба): Настройки → DSH Crew → "Установить в Claude Code"
  • Командная строка: node src/install/cli.mjs all

Оба варианта делают одно и то же: регистрируют локальный маркетплейс (родительская директория dsh-plugins/ как корень маркетплейса) + claude plugin install + разрешение MCP-инструментов в белом списке + конфигурация сегмента статуса рабочего процесса claude-hud (автоматическое резервное копирование settings.json перед изменениями, идемпотентность). Перезапустите сессию после установки, чтобы изменения вступили в силу.

Использование

  • Прямо в диалоге скажите "dispatch X to ds-flash" или "dispatch X to ds-pro", и субагент выполнит задачу
  • Количество диспетчеризаций и прогресс в реальном времени отображаются в интерфейсе задач Claude Code
  • Сегмент строки статуса HUD: ⚙dsh 1▶pro 2m14s 21.7k/606 ✓3 (текущий уровень / прошедшее время / использование токенов / количество завершённых задач)
    • Для локальной разработки statusline/statusline.sh или statusline/worker-segment.sh можно интегрировать независимо
  • Длительные задачи: у CC есть ограничения по тайм-ауту на MCP-вызовы (MCP_TOOL_TIMEOUT можно настроить), для длительных задач оркестратор может использовать dsh_spawn_worker + опрос dsh_worker_result(wait_seconds)
  • Локальная разработка и отладка: claude --plugin-dir /path/to/dsh-crew для временной загрузки

Команды сессии

Эти команды переопределяют глобальные настройки только для текущей сессии и применяются на уровне инструмента, а не через подсказки:

Команда Что делает
/dsh-crew:config Показать или установить настройки по умолчанию для этой сессии: tier=flash\|pro, effort=off\|high\|max, mode=auto\|hub\|standalone, timeout=<секунды>, policy=auto\|flash-only\|pro-only, escalate=true\|false, reset
/dsh-crew:on · /dsh-crew:off Включить или отключить диспетчеризацию для этой сессии (отключение — жёсткий переключатель: инструмент отказывается работать)
/dsh-crew:status Текущий статус рабочих задач: уровень, прогресс, токены, текущий инструмент

Codex

Установка

Рекомендуется использовать установщик (автоматически подставляет пути для этой машины, копирует команды /dsh-config, /dsh-status):

node src/install/cli.mjs codex

Или скопируйте вручную (требуется ручная правка путей после копирования):

cp codex/agents/*.toml ~/.codex/agents/    # global or project-level .codex/agents/

Файлы ролей предварительно настроены с:

  • Конфигурацией монтирования MCP-сервера
  • default_tools_approval_mode = "approve" (обязательно, иначе вызовы инструментов автоматически отменяются в режиме exec)
  • tool_timeout_sec = 3600

Примечание: При ручном копировании абсолютные пути в поле args должны быть обновлены в соответствии с фактическим местом установки; установщик делает это автоматически.

Использование

  • В интерактивном TUI выберите "spawn ds-pro to ..." для диспетчеризации задач; панели Active/Done показывают прогресс
  • В режиме codex exec можно напрямую вызывать dsh_run_worker

Команды сессии

Те же две команды установлены для Codex:

Команда Что делает
/dsh-config Показать или установить настройки по умолчанию для этой сессии: tier=flash\|pro, effort=off\|high\|max, mode=auto\|hub\|standalone, timeout=<секунды>, policy=auto\|flash-only\|pro-only, escalate=true\|false, reset
/dsh-status Текущий статус рабочих задач: уровень, прогресс, токены, текущий инструмент

MCP-инструменты

Инструмент Описание
dsh_run_worker Синхронная диспетчеризация задач (tier: flash/pro, effort: off/high/max, cwd), ожидает результата
dsh_spawn_worker Асинхронная диспетчеризация задач, возвращает идентификатор задачи (для параллельного запуска)
dsh_worker_status Запрос прогресса всех задач в реальном времени (ход/шаг/текущий инструмент/токен)
dsh_worker_result Получение результата, можно указать wait_seconds для ожидания
dsh_worker_cancel Отмена указанной задачи, завершение её процесса выполнения

Прогресс одновременно дублируется в ~/.config/dsh-crew/status.d/ (один файл-шард на каждого писателя, может быть прочитан строкой статуса / внешним мониторингом).

Мультимодальность: зрение и генерация изображений

DeepSeek — это текстовая модель и не поддерживает ввод изображений или их генерацию. Этот плагин получает такие возможности извне через MCP-инструменты:

Инструмент Описание
describe_image Отвечает на вопросы, анализируя изображения (скриншоты, дизайны, графики и т. д.), результаты кэшируются по поставщику + модели + изображению + вопросу
generate_image Генерирует изображение по текстовому описанию, сохраняет по указанному абсолютному пути; вывод — плоское растровое изображение (требуется OpenPencil для редактирования слоёв)

Вставка изображений в сессию: В DSH переключите модель на DeepSeek (vision) ◉, чтобы напрямую вставлять изображения. Изображения остаются в сессии и отображаются нормально; плагин добавляет транскрибированный текст после них и удаляет изображения перед отправкой — вы видите изображение, модель читает текст.

Конфигурация

В странице настроек DSH → DSH Crew → Мультимодальность (или напрямую редактируйте ~/.config/dsh-crew/config.json): Поставщик для работы с изображениями (просмотр изображений):

  • claude-code (по умолчанию, использует haiku, недорогой)
  • codex (использует GPT, можно указать конкретную модель)
  • grok (использует Grok)
  • agy (Antigravity)
  • custom (совместимый с OpenAI API или локальная команда)
  • off (отключено)

Поставщик генерации изображений (создание изображений):

  • codex ($imagegen, gpt-image-2)
  • agy (Nano Banana)
  • grok (Imagine)
  • custom (совместимый с OpenAI API или локальная команда)
  • off (отключено)

Пользовательский поставщик

Два способа интеграции:

API: Любая конечная точка, совместимая с OpenAI - Укажите базовый URL, API-ключ, список моделей - Для работы с изображениями используется /chat/completions с встроенными изображениями в формате base64 - Для генерации изображений используется /images/generations - Необходимо указать "модель для генерации изображений", чтобы включить эту возможность, иначе поставщик будет доступен только в выборе для работы с изображениями

CLI: Шаблон локальной команды, плейсхолдеры заменяются на безопасные ссылки - Работа с изображениями: {image} {question} {model} → ответ выводится в stdout - Генерация изображений: {prompt} {output} {size} → команда должна записать файл в {output} - Заполните хотя бы одну команду; доступные возможности определяются тем, какая команда заполнена

Проверка подключения: У каждого пользовательского поставщика есть кнопка тестирования - API: Проверка доступности конечной точки, аутентификации, отправка реального запроса для работы с изображениями для проверки - CLI: Проверка исполняемого файла, выполнение реальной команды для проверки - Генерация изображений: Только проверка конфигурации, без фактического вывода изображения

Клиенты с заимствованной подпиской (claude / codex / grok / agy) требуют локального входа в систему; плагин не обходит их разрешения.

Режим хаба

Этот пакет также является допустимым бандлом DSH (dsh.bundle + cordis.patch.yml). После установки в профиль DSH Web с помощью dsh plugin add dsh-crew:

  • Сессии воркеров становятся полноценными: запускаются как полноценные сессии в хосте DSH (agents.create + каскад моделей/усилий на сессию + предустановка по умолчанию), отображаются в списке сессий Web UI, могут быть открыты в любое время для просмотра полного выполнения
  • Организация по рабочей директории: управление сессиями воркеров по текущей директории в Web UI
  • API обратной связи:
    • POST/GET /_dsh/dsh-crew/jobs: запуск задач, список, длительный опрос результатов, отмена
    • GET /_dsh/dsh-crew/ping: проверка работоспособности (прокси MCP использует это для обнаружения работающего хаба)
    • POST /_dsh/dsh-crew/install: установка интеграции Claude Code / Codex в один клик (бэкенд src/install/)
  • Автообнаружение: Прокси MCP для CC/Codex автоматически обнаруживает хаб (переменная окружения DSH_CREW_HUB, по умолчанию http://127.0.0.1:3080)
    • DSH Web запущен → задачи переходят в режим хаба (mode: "hub")
    • Не запущен → возврат к автономному режиму выполнения

Выбор решения и ограничения

Обычные подписчики → подход с оболочкой субагента (рекомендуется)

  • Текущее состояние: Оболочка субагента Claude Code использует haiku в качестве посредника; каждое выполнение добавляет от сотен до тысяч токенов
  • Компромисс: Использование небольшого количества токенов Anthropic в обмен на нативный UI задач, отображение прогресса в реальном времени, отсутствие дополнительной настройки
  • Рекомендация: Если вы уже подписаны на Claude Pro или используете Claude Code, используйте этот подход — удобно и прозрачно

Оплата по мере использования / CI-среды → прямой подход с маршрутизатором

  • Текущее состояние: Фронтмэттер субагента Claude Code не поддерживает прямое подключение к сторонним моделям; эксперимент с маршрутизатором в этом репозитории требует учётных данных API-ключа для Claude Code, но OAuth-подписка заблокирована вышестоящим сервером Anthropic с ошибкой 403
  • Рекомендация:
    • Если используются учётные данные API-ключа (не OAuth) и вы хотите сэкономить токены Anthropic, можно запустить локальный маршрутизатор для прямого подключения к DeepSeek
    • CI-среды обычно также используют API-ключи; этот подход более экономичен (все токены DeepSeek)
    • Требуется самостоятельное тестирование интеграции маршрутизатора (не поддерживается официально)

Запуск DSH Web → режим хаба включается автоматически

  • Текущее состояние: Если dsh plugin add dsh-crew установлен в профиль DSH Web, задачи выполняются как полноценные сессии в хосте, отображаются в списке сессий Web UI
  • Рекомендация: Во время локальной разработки рекомендуется включать режим хаба; прогресс воркеров можно полностью наблюдать в Web UI; для межмашинного взаимодействия или сред без Web UI используйте подход с оболочкой Claude Code / Codex

Известные моменты

  • Роль Codex теоретически может попробовать model_provider, указывающий напрямую на DeepSeek (не проверено); этот мост от этого не зависит
  • Вывод генерации изображений — плоское растровое изображение; редактирование слоёв требует OpenPencil

  • Зависимости времени выполнения: Только @modelcontextprotocol/sdk и zod; пакеты @deepseek-ai/* предоставляются хостом DSH (обычная установка через npm никогда их не подтягивает)
  • Codex должен быть настроен: default_tools_approval_mode = "approve", иначе вызовы инструментов автоматически отменяются

Разработка

pnpm install
node_modules/.bin/tsdown src/client/index.tsx --format cjs --platform browser \
  --target es2022 --tsconfig tsconfig.client.json --out-dir .client-build --clean
node scripts/build-client.mjs   # wraps the bundle for the DSH module loader
node scripts/smoke.mjs          # dispatches one real flash task end to end

Зависимости времени выполнения — только @modelcontextprotocol/sdk и zod; все пакеты @deepseek-ai/* предоставляются хостом DSH во время выполнения (описаны в поле dshHostRuntime пакета, а не в peerDependencies, поэтому обычная установка через npm никогда их не подтягивает), что позволяет плагину оставаться в едином модульном пространстве хоста.

Экосистема

  • DSH Android — живой эмулятор Android или USB-устройство внутри диалога, полностью управляемое через adb
  • DSH iOS — живой симулятор iOS и iPhone, подключённый по USB, внутри диалога
  • DSH Noema — долговременная память для DSH
  • DSH OpenPencil — просмотр и редактирование .op-документов дизайна внутри диалога

Лицензия

MIT

Войдите, чтобы оставить комментарий