GM-HZ/dsh-dag-workflow--packages-canvas ↗★ 1
@gm-hz/dsh-dag-workflow-canvas
Authorized DSH Remote gateway and XYFlow visual studio for DAG workflows
AI Analysis
核心用途是为工作流模板提供可视化设计界面与远程网关。适合需要通过 XYFlow 视觉工作室编辑和管理 DAG 工作流的用户,多用户部署需配置授权策略。
Install
This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗
README
Read the full README ↗@gm-hz/dsh-dag-workflow-canvas
Host-scoped Remote gateway and DSH shell.overlay visual studio for WorkflowTemplate v1alpha1.
Every RPC first resolves sessionId through DSH's live Host Agent registry and accepts only an attached, top-level Agent. Multi-user and multi-tenant deployments must layer a user/workspace/action policy after that lookup:
await ctx.plugin(workflowCanvas, {
authorize: async ({ sessionId, agent, action, resourceId }) => {
return mayUseWorkflow(currentUserId(), agent, action, resourceId)
? { subject: currentUserId(), agent }
: undefined
},
})
When authorize is omitted, the plugin uses a local single-user default: missing, detached, and subagent-owned session identities are rejected. A sessionId is a lookup key, not a multi-tenant credential.
The package contributes its generated Typert Remote client and XYFlow editor through its dsh.client manifest. The editor persists only the canonical workflow template and its layout.canvas.positions; there is no second graph DSL.
Custom node visuals can be installed from a Client plugin:
import { workflowNodeRenderers } from '@gm-hz/dsh-dag-workflow-canvas/client'
ctx.effect(() => workflowNodeRenderers.register('acme.review@1', ReviewNode))
Session/run renderers can open the already registered overlay without owning a second Canvas instance:
ctx.workflowCanvasUi.open({
templateId: 'research-report',
runId: 'dag-…',
nodeId: 'summarize',
})
The Studio provides node/edge editing, top-level JSON Schema config fields plus a raw lossless JSON fallback, diagnostics, optimistic draft save, semantic/layout diff, publish, draft test-run, persisted trace, and explicit retry/fail decisions for unknown side effects.