This repository was archived by the owner on Sep 26, 2026. It is now read-only.
Repository navigation
Releases
Releases · GooDAnDReaDY/dsh-agent-orchestrator
v0.1.13 — deprecated: use the built-in workflow, subagent and ralph
v0.1.13 — deprecated
Why. Multi-agent orchestration is built into DeepSeek Harness since 0.1.5. This plugin duplicated it with its own engine, DAG pipelines and UI, so it is no longer maintained.
What changed. README (en/ru/zh) now contains only the deprecation notice, the removal command and a migration table; the package description carries the deprecation message. No code changes — the last functional release is v0.1.12.
What to use instead
| The plugin gave you | Built into DeepSeek Harness |
|---|---|
| Task decomposition, DAG pipelines, worker pool | the workflow tool |
| Specialized roles | the subagent tool with agentPreset |
| "Keep going until done" loops | the ralph tool |
| Agent teams, shared task board | Agent Teams (experimental, 0.1.7) |
Remove the plugin
dsh plugin --profile web remove @goodandready/dsh-agent-orchestratorState files ~/.dsh/orchestrator-pipelines.json and ~/.dsh/orchestrator-snapshots/ are no longer read and can be deleted.
Checks. npm pack --dry-run: 28 files, all three READMEs, no internal files; sanitized publication check: product files only.
v0.1.12 — Volatile Getter Reference Unwrapping
Release 0.1.12 — Volatile Getter Reference Unwrapping
English
- Volatile Getter Reference Unwrapping: Added
plainConfigandisVolatileRefhelpers to recursively unwrap DSH{ get }volatile getter objects before passing intoSettingsForms.replace()and updating active settings, completely eliminatingConfig $.kanbanSync.get contains a functionvalidation errors.
中文
- 解包易失性 Getter 引用:新增
plainConfig与isVolatileRef辅助函数,在将配置写入SettingsForms.replace()及更新内存配置前,递归解包 DSH 包装的{ get }对象,杜绝Config $.kanbanSync.get contains a function校验失败。
Русский
- Распаковка volatile геттеров: Добавлены хелперы
plainConfigиisVolatileRefдля рекурсивной распаковки объектов-геттеров DSH{ get }перед передачей вSettingsForms.replace()и локальным обновлением, устраняя ошибку валидацииConfig $.kanbanSync.get contains a function(#160).
v0.1.11 — Fail-Closed Write Guards & SettingsForms Persistence
Release 0.1.11 — Fail-Closed Write Guards & SettingsForms Persistence
English
- Fail-Closed Write Guards: Enforced fail-closed HTTP origin, host, and loopback verification on all state-mutating endpoints (
/dispatch,/delegate,/cancel,/config,/snapshots/save-as-preset), strictly rejecting untrusted headers and cross-site requests with 403 Forbidden. - Public Status Data Sanitization: Sanitized
/dsh-agent-orchestrator/statusresponse to expose only structural stage progression and aggregate metrics, stripping internal task descriptions, prompts, outputs, stacktraces, and state maps. - Modern SettingsForms Persistence: Implemented settings adapter bridging DSH 0.1.7-rc.1
SettingsForms(describe,replace,update) with revision tracking while preserving legacyregister()fallback. - Full Configuration Volatility: Configured volatile schema fields in
Configto ensure DSH Settings UI discovery and persistent storage of specialist roles, custom DAG scenarios, and kanban board synchronization. - Fail-Safe Persistence Error Handling: Wrapped configuration updates with error handling to reject invalid mutations and propagate 500 status on storage failures.
中文
- 写操作故障闭锁防护:在所有状态变更接口(
/dispatch、/delegate、/cancel、/config、/snapshots/save-as-preset)上实施故障闭锁的源地址、Host 及本地回环校验,对不受信任的请求头及跨域请求严格返回 403 Forbidden。 - 公共状态数据脱敏:彻底脱敏
/dsh-agent-orchestrator/status端点返回内容,仅暴露结构化阶段进度和聚合指标,完全过滤任务描述、内部提示词、输出结果、堆栈及状态映射。 - 现代 SettingsForms 持久化:构建适配器桥接 DSH 0.1.7-rc.1
SettingsForms(describe、replace、update)并实现版本号修订追踪,同时无缝兼容传统register()模式。 - 配置项易失性与 UI 呈现:在
Config中将字段声明为 volatile,确保 DSH 配置表单可被识别,并完整持久化专家角色清单、自定义 DAG 场景以及看板同步设定。 - 故障安全持久化错误处理:对配置更新流程增加异常捕获,在存储服务失败时向客户端返回 500 状态,防止静默丢弃变更。
Русский
- Защита эндпоинтов на запись (Fail-Closed): Реализована строгая проверка origin, host и loopback-адресов на всех мутирующих эндпоинтах (
/dispatch,/delegate,/cancel,/config,/snapshots/save-as-preset) с немедленным отклонением кросс-доменных и недоверенных запросов со статусом 403 Forbidden (#113). - Санитизация публичного статуса: Публичный эндпоинт
/dsh-agent-orchestrator/statusсанитизирован для отдачи исключительно структурного прогресса и агрегированных метрик, без утечки описания задач, промптов, выводов, стэктрейсов и карт состояний (#113). - Персистентность в SettingsForms: Реализован адаптер сервиса настроек DSH 0.1.7-rc.1
SettingsForms(describe,replace,update) с контролем ревизий и сохранением обратной совместимости с legacyregister()(#160). - Видимость настроек и сохранение структуры: Поля
Configобъявлены как volatile для корректного отображения карточки настроек в UI DSH и гарантированного сохранения списка ролей, кастомных DAG-сценариев и интеграции с канбан-доской (#160). - Fail-safe обработка сбоев сохранения: Вызовы обновления конфигурации защищены обработкой ошибок с возвратом статуса 500 клиенту при сбое персистентности вместо ложного ответа об успехе (#160).
v0.1.10 — Runtime Resilience, Security & Performance
Release 0.1.10 — Runtime Resilience, Security & Performance
English
- DAG Execution Result Alignment: Aligned
executeDAGresult properties withstateMapandsuccessboolean inlib/index.jsto ensure uniform pipeline status reporting. - Prompt Cache Metrics Collection: Connected
store.recordCompletioncall on DAG pipeline completion to aggregate cached and total prompt tokens, activatingoverallHitRatiocomputation. - Slash Command Dispatch Guard: Prevented duplicate pipeline dispatch on
/orchestrateby distinguishing slash command invocations from natural language intents viatriggerKind. - Role Alias Matching Precision: Added word-boundary checks for short specialist role aliases (
build,test-suite) to prevent false-positive routing intoui_design. - Client Polling Stabilization: Eliminated rapid re-polling loops in
OrchestratorQuickBarby stabilizinguseEffecthook dependencies. - Endpoint Security Hardening: Guarded sensitive configuration and snapshot endpoints (
/config,/pipeline,/snapshots) against untrusted cross-origin requests viarejectUntrustedRequest. - HTTP Method Enforcement: Enforced strict
405 Method Not Allowedresponses on read-only HTTP endpoints. - DAG Cancellation Propagation: Connected
AbortSignalto cancel DAG execution and stop pending tasks without overwriting pipeline status. - Engine Callback Resilience: Guarded external progress/completion callbacks in
dag-engineagainst unhandled exceptions, preservingrunningCountand node status integrity. - Storage and Snapshot I/O Optimizations: Added debounced writes (
saveDebounced), compact JSON serialization, and in-memory TTL caching for snapshot listings to minimize filesystem I/O. - KV-Cache Deterministic Prefix Ordering: Ensured upstream task artifacts are deterministically sorted by task ID in Layer 3 worker pool contexts, preserving byte-exact KV-cache invariance.
- Dynamic Model Catalog Fallback: Removed hardcoded vendor-specific model identifiers from default model fallback pool.
中文
- DAG 执行结果对齐:在
lib/index.js中将executeDAG返回属性与stateMap和success布尔值对齐,保证流水线状态上报统一。 - 提示词缓存指标采集:在 DAG 完成时连接
store.recordCompletion,聚合已缓存和总提示词 Token,激活overallHitRatio计算。 - 斜杠命令分发防护:通过
triggerKind区分斜杠命令与自然语言意图,防止/orchestrate重复触发流水线。 - 角色别名精确匹配:为简短角色别名(
build、test-suite)增加词边界检查,杜绝错误路由至ui_design。 - 客户端轮询稳定化:稳定
OrchestratorQuickBar中useEffect依赖项,消除高频重轮询循环。 - 敏感端点安全加固:通过
rejectUntrustedRequest保护敏感读取端点(/config、/pipeline、/snapshots)免受不受信任的跨域请求攻击。 - HTTP 方法严格校验:在只读端点上对非法方法严格返回
405 Method Not Allowed。 - DAG 取消信号传递:连接
AbortSignal支持可靠中止 DAG 任务,且不覆盖既有流水线状态。 - 引擎回调异常防护:在
dag-engine中捕获外部回调异常,保护runningCount计数器与节点状态不被破坏。 - 存储与快照 I/O 优化:引入防抖写入(
saveDebounced)、紧凑 JSON 格式以及快照列表内存缓存,大幅降低磁盘 I/O。 - KV 缓存确定性前缀排序:在 Layer 3 工作池中对上游产物按任务 ID 确定性排序,确保字节级 KV 缓存前缀不变性。
- 动态模型目录回退:从默认回退模型池中移除硬编码的特定厂商模型标识。
Русский
- Синхронизация результатов DAG: Свойства результата
executeDAGвlib/index.jsприведены к единому форматуstateMapиsuccess. - Сбор метрик промпт-кэша: Подключён вызов
store.recordCompletionпри завершении DAG для агрегации кэшированных токенов и расчётаoverallHitRatio. - Защита диспетчеризации слэш-команд: Устранён повторный запуск пайплайна на
/orchestrateза счёт разделения контекстов черезtriggerKind. - Точность маппинга ролей: Добавлены проверки границ слов для коротких алиасов (
build,test-suite), исключая ошибочную классификацию вui_design. - Стабилизация клиентского поллинга: Устранён избыточный цикл повторных запросов в
OrchestratorQuickBarчерез фиксацию зависимостейuseEffect. - Защита конфиденциальных эндпоинтов: Read-маршруты (
/config,/pipeline,/snapshots) защищены от недоверенных кросс-доменных запросов черезrejectUntrustedRequest. - Строгая проверка HTTP-методов: На read-only маршрутах обеспечен корректный возврат статуса
405 Method Not Allowed. - Проброс AbortSignal при отмене: Отмена DAG надёжно прерывает выполнение без повреждения финального статуса пайплайна.
- Устойчивость колбэков DAG: Внешние колбэки защищены от необработанных исключений, сохраняя целостность счётчика
runningCountи состояний узлов. - Оптимизация ввода-вывода: Добавлена дебаунс-запись (
saveDebounced), компактная сериализация JSON и in-memory кэширование списка снимков. - Инвариантность префиксов KV-кэша: Кумулятивные артефакты в Layer 3 детерминированно сортируются по ID задач для сохранения побайтового совпадения кэша.
- Очистка каталога моделей: Из дефолтного пула моделей исключены хардкод-идентификаторы конкретных вендоров.