orchestral-media/orchestral--packages-orchestral-dsh-plugin ↗★ 1
@orchestral/dsh-plugin
Experimental DeepSeek Harness (dsh) bundle exposing orchestral media-generation Patterns as agent tools. Leaf bridge — orchestral never depends on this package.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:orchestral-media/orchestral#c9d2e5b1c7f063961f228dab28d811028946a95c&path:packages/orchestral-dsh-plugin说明文档
阅读完整 README ↗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
| Field | Default | Meaning |
|---|---|---|
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. |