orchestral-media/orchestral--packages-orchestral-dsh-plugin1

@orchestral/dsh-plugin

Experimental DeepSeek Harness (dsh) bundle exposing orchestral media-generation Patterns as agent tools. Leaf bridge — orchestral never depends on this package.

包名
@orchestral/dsh-plugin
版本
0.0.1
许可证
Apache-2.0
最近更新
2026年8月21日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:orchestral-media/orchestral#c9d2e5b1c7f063961f228dab28d811028946a95c&path:packages/orchestral-dsh-plugin

Usage

Because the config carries live objects, the host mounts a small provider plugin that publishes them as an orchestralHost service, and this bundle's patch layer reads them with !!js config expressions.

1. The host provider plugin:

import { Service, type Context } from '@deepseek-ai/cordis'
import { PatternRegistry } from '@orchestral/core'
import { InlineRuntime } from '@orchestral/runtime'
import { createTextToImagePattern } from '@orchestral/patterns'

export default class OrchestralHost extends Service {
  runtime: InlineRuntime
  registry: PatternRegistry

  constructor(ctx: Context) {
    super(ctx, 'orchestralHost')
    this.registry = new PatternRegistry()
    this.registry.register(createTextToImagePattern())
    this.runtime = new InlineRuntime({
      store: /* your JobStore */,
      registry: this.registry,
      router: /* your CapabilityRouter */,
    })
  }
}

2. Install this bundle into a profile:

dsh plugin --profile demo add @orchestral/dsh-plugin

The bundle's cordis.patch.yml inserts a row that declares inject: [orchestralHost], so it stays inert until your provider is mounted, then activates with the runtime and registry wired in.

3. Boot:

dsh --profile demo --dump-config   # inspect the composed layer
dsh --profile demo

Configuration

FieldDefaultMeaning
runtime(required)A constructed orchestral Runtime, e.g. an InlineRuntime.
registry(required)The PatternRegistry whose exposed Patterns become tools.
surface'chatTurn'Which orchestral exposure surface this dsh registry represents. 'agentLoop' additionally admits 'agent-tool' Patterns and suits a subagent-scoped mount.
toolNamePrefix''Prepended to every tool name. PatternIds are already valid LLM tool names by design; set a prefix only to avoid collisions with other plugins.
timeoutMs(none)Per-call deadline, enforced by dsh's timeout policy.
resolveJobContext(none)(args) => { sessionId?, assetContextId?, assetEvents? }. Supplies the host-owned asset ledger a call's input.references handles resolve against. Patterns with no assetNeeds never consult it.