
プロジェクト概要
dsh-jailbreak-workflowは、プラグインパッケージ @xiaoso/dsh-workflow-lite に対応する、DeepSeek Harness 用のソフトワークフロープラグインです。キャンバス上でタスクの手順を配置し、ワークフロー全体を1つの計画プロンプトにコンパイルして、現在のセッションのモデルに計画どおり実行させることができます。
順次実行、並列実行、合流、条件分岐、ループ、フォールバックに対応しています。接続には任意の条件を設定できるため、単純な線形タスクだけでなく、「レビューに合格しなければ修正に戻る」「条件を満たしたら終了する」といった複雑なロジックも表現できます。
プラグイン自体に実行エンジンはなく、追加のスケジューリングサービスも必要ありません。ステップのスケジューリング、条件判定、タスクの実行はすべて現在のセッションのモデルが行います。

基本的な仕組み
ワークフロー全体の実行は、次の3段階に分かれます。
- 設計:キャンバスにステップを追加し、各ステップのプロンプトを作成して、接続線で実行順序、分岐、ループを定義します。
- コンパイル:プラグインがキャンバスを計画プロンプトに整理し、ステップの順序、ループ条件、入力リソース、期待される成果物を記述します。
- 実行:モデルが計画を読み取り、直接実行するか、サブエージェントに処理を割り当てるか、チームを編成するかを自律的に判断し、進捗をキャンバスに同期します。
この設計では、ワークフローの表現とモデルによる実行を分離することが重視されています。キャンバスが計画を明確に記述し、モデルがその計画を理解して実行します。
主な機能
- キャンバス編集:ステップと接続線をドラッグ&ドロップして、合格・不合格の分岐やループを作成できます。レイアウトの自動整理も可能です。
- リソース設定:ステップで読み書きするファイル、フォルダー、URL、Skillを指定できます。
- 実行前の質問:実行前にユーザーから必要な情報を収集し、その回答を計画とともにモデルへ送信します。
- モデルとの共同編集:会話中にモデルへワークフローの作成や変更を直接依頼でき、変更結果はキャンバスに同期されます。
- 実行状態:キャンバス上でリアルタイムの進捗、各ステップの概要、状態を確認でき、状態を調整してモデルに通知することもできます。
- バージョン管理:バージョンを保存し、説明を追加し、差分を比較して、過去のバージョンへ切り替えられます。
- インポートとエクスポート:ワークフロー、選択したバージョン、ファイル、Skillを
.wflite.zipにまとめられます。 - Skillとしてエクスポート:バージョンを
SKILL.md、タスクの説明、関連リソースを含むSkillにコンパイルし、ダウンロードしたり~/.agents/skillsにインストールしたりできます。 - ワークフローセンター:複数のセッションの実行履歴、ワークフロー、バージョン、メモリ、プラグイン設定を一元管理できます。
- 二言語とテーマ:中国語、英語、および複数のライトテーマとダークテーマに対応しています。
インストール前の準備
このプラグインは DeepSeek Harness 0.2.0 と 0.2.1、および 0.2.1-rc.2 などの対応するプレビュー版に対応しています。Web版を使用する場合は、Node.js 22以降もインストールする必要があります。
プロジェクトは現在も実験段階にあり、機能やデータ形式が後続のバージョンで互換性のない形に変更される可能性があります。重要なワークフローは、早めにエクスポートしてバージョンを保存してください。

Web版プラグインのインストール
ターミナルを開き、プラグインをDeepSeek HarnessのWebプロファイルに追加してから、Web版を起動します。
dsh plugin --profile web add @xiaoso/dsh-workflow-lite
dsh web起動後、セッションページを開きます。インストールに成功すると、ページ上部に「ワークフロー」タブが表示されます。
デスクトップ版プラグインのインストール
- DeepSeek Harnessのサイドバーで「プラグイン」を開きます。
- 「プラグインを追加」を選択し、「サードパーティ製プラグインをインストール」をクリックします。
@xiaoso/dsh-workflow-liteと入力して、インストールを確認します。- DeepSeek Harnessを再起動します。
- セッションページを開き、上部に「ワークフロー」タブが表示されていることを確認します。
基本的な使い方1:モデルにワークフローを作成させる
最も直接的な方法は、会話中にタスクの手順と判断条件を自然言語で説明することです。例えば、次のように入力します。
ワークフローを作成してください。まずコードを書き、次にレビューします。レビューに合格しなければ修正に戻り、最大3ラウンドまで繰り返してください。モデルはこの指示に基づいてステップを作成し、レビュー分岐への接続とループを設定します。生成結果はキャンバスに同期されます。実行前に、次の点を確認してください。
- 各ステップのプロンプトが明確か。
- 「合格」と「不合格」の分岐が正しいノードに接続されているか。
- ループに明確な終了条件または最大回数が設定されているか。
- 入力ファイルと出力先が正しく設定されているか。
問題がなければ、右上の「実行」をクリックします。会話中にモデルへこのワークフローの実行を直接依頼することもできます。
基本的な使い方2:ワークフローを手動で構築する
- 「ワークフロー」タブを開き、新しいワークフローを作成します。
- 左側のステップライブラリから必要なステップをドラッグします。
- 各ステップに、モデルへ渡すプロンプトを入力します。
- 接続線で実行順序を決め、必要に応じて条件、分岐、ループを追加します。
- ステップに、読み書きするファイル、フォルダー、URL、Skillを関連付けます。
- 「実行」をクリックするか、会話中にモデルへ現在のワークフローの実行を依頼します。
例:手戻りループを含むコンテンツ作成フロー

コンテンツ作成タスクを、「資料収集」「初稿生成」「品質チェック」「初稿修正」の4つのステップに分けることができます。品質チェックに合格したら終了し、不合格の場合は修正ステップへ進んでから、再び品質チェックに戻ります。実際の判断はモデルが行うため、チェックのプロンプトには合格基準を明確に記述してください。
初稿が次の条件を満たしているか確認してください。
1. 結論が資料によって裏付けられている。
2. 構成が完全である。
3. 明らかな重複がない。
4. 「合格」または「不合格」と、理由を出力する。ループを含むフローでは、モデルが修正を延々と繰り返さないよう、プロンプトまたはフロー条件に最大ラウンド数を設定することをおすすめします。
実行進捗の追跡
「ワークフロー設定」を開き、「実行状態を記録」を有効にします。以後、実行するたびに独立した記録が作成され、キャンバスが実行の進捗に合わせて更新されます。各ステップの概要を確認したり、ステップの状態を調整してモデルに通知したりできます。
ワークフロー、バージョン、各セッションの実行記録は、キャンバス左上の「ワークフローセンター」にまとめて保存されます。過去の実行を確認したり、バージョンを切り替えたりする場合は、まずここから操作してください。
パス変数の正しい使い方
リソースパスと成果物のルートディレクトリでは、{workflow} と {instance} の2つの変数を使用できます。これらを適切に使うことで、マシン固有の絶対パスをワークフローに書き込まずに済みます。
{workflow}:ワークフロー共有リソースディレクトリ
この変数は、次のようにリソースのファイルパスやフォルダーパスに記述できます。
{workflow}/refs/notes.md実行時には、現在のワークフロー専用ディレクトリに置き換えられます。デフォルトの場所は次のようになります。
~/.dsh/workflow-lite/assets/<ワークフロー名>/このディレクトリは実行ワークスペースによって変わりません。ワークフローの名前変更やエクスポートの際にも一緒に処理されるため、参考資料、テンプレート、ワークフローで長期的に使用するファイルの保存に適しています。旧バージョンの {assets}/… も引き続き使用でき、ワークフローを開くと自動的に {workflow}/… に変換されます。
{instance}:1回の実行インスタンスディレクトリ

この変数は、「ワークフロー設定」の成果物ルートディレクトリに使用します。デフォルト設定の例は次のとおりです。
.workflow-lite/runs/{instance}/out実行時に {instance} は今回の実行のインスタンスIDに置き換えられます。各実行の成果物を個別に保存できるため、複数ラウンドの結果を保持して比較する必要があるタスクに適しています。
既存のワークフローをインポートする
プロジェクトのメンテナーは、独立したdsh-workflowsワークフロー集を提供しています。そこから .wflite.zip ファイルをダウンロードし、「ワークフローセンター」でインポートできます。
インポートパッケージには、ワークフロー、指定したバージョン、関連ファイル、Skillを含めることができます。プラグインはインポート前に各項目のインストール先を一覧表示するため、パスを確認してから続行することをおすすめします。
READMEに掲載されている「破甲制作」は、15ステップの研究パイプラインの例です。プローブテスト、拒否パターンの分析、カスタムコンテンツの生成、API検証、ファイル出力が含まれています。このような研究ワークフローを使用する際は、目的、データソース、テスト動作が、適用される法律、プラットフォームのルール、許可範囲に適合していることを確認してください。
キャンバス表示とファイルプレビュー
実験的なキャンバス表示機能では、ボード、画像、ドキュメント、ログ、表、フォルダーをキャンバス上に直接表示し、実行中に自動更新できます。ループタスクで各ラウンドに生成された結果も、後から確認して比較できます。
インスタンスリソースでは、Markdown、HTMLページ、画像、フォルダーをプレビューできます。HTMLページは継続的に更新されるボードとして使用することもでき、フォルダーは左右2列の形式で閲覧します。この機能はまだ実験段階のため、現在のデータ形式を長期的な互換性設計の前提にしないでください。
ワークフローのメモリ
「メモリ」は実験的な機能で、うまくいった方法や遭遇した問題をSkillとして整理し、後続の実行で参照できるようにします。特定のステップだけでメモリを有効にすることも、ステップライブラリの「基本」グループから「メモリ」ノードをドラッグして、ワークフロー全体で共有することもできます。
1つのメモリは1つのSkillフォルダーに対応し、その中の「クイックパス」には、次回より簡単に実行する方法を記録します。実行中、各ステップは経験を応答に書き込み、ワークフロー終了後にモデルがまとめて整理します。
メモリ機能の制限
- 複数のインスタンスが同じメモリを同時に変更してもロックされないため、後から書き込まれた内容が先の内容を上書きします。
- Skillを再エクスポートして上書きインストールすると、インストール済みSkillに蓄積されたメモリも上書きされます。
- 初期の繰り返し実行テストでは、安定した速度向上はまだ確認されていません。「クイックパス」追加後の実際の効果については、さらに多くのワークフローで検証する必要があります。

より複雑で制御しやすい長期的な知識管理が必要な場合は、READMEでは「リソース」とプロンプトを組み合わせて自分で実装する方法を推奨しています。
高度な実践のヒント
検証可能なステッププロンプトを作成する
単に「結果を確認する」とだけ書かないでください。判断基準、読み取る必要がある入力、出力形式、合格時と不合格時の動作を列挙します。モデルはこれらの情報に基づいて条件を判断します。
ループに境界を設定する
ループ接続は手戻りのロジックを表現できますが、最大ラウンド数、停止条件、失敗後の処理方法も同時に設定することをおすすめします。これにより、無限ループや修正の繰り返しのリスクを減らせます。
共有リソースと実行成果物を区別する
テンプレート、参考資料、長期保存するファイルは {workflow} の下に置きます。各実行で生成されるレポート、ログ、中間結果は、{instance} を含むディレクトリに置きます。これにより、エクスポートしやすくなるだけでなく、複数回の実行結果も比較しやすくなります。
重要な変更の前にバージョンを保存する
プロンプト、接続条件、リソースパスを変更する前に、バージョンを保存して説明を追加します。問題が発生した場合は、バージョンの差分を比較したり、以前のバージョンへ直接切り替えたりできます。
Skillとしてエクスポートして可搬性を高める
対象環境にプラグインをインストールできない場合は、安定したバージョンをSkillにコンパイルできます。エクスポートされる内容には、SKILL.md、各ステップのタスク説明、パッケージ化されたファイルとSkillが含まれ、独立したリソースとして使用できます。
実験的な機能は慎重に使用する
キャンバス表示とワークフローのメモリは、動作やデータ形式が変更される可能性があります。重要なプロジェクトでは、エクスポートパッケージ、重要なファイル、バージョンの説明を保持し、唯一のコピーを実験的なストレージ構造にだけ置かないでください。
まとめ
dsh-jailbreak-workflow は複雑なタスクをビジュアルキャンバスに変換し、計画プロンプトとしてコンパイルして、DeepSeek Harness の現在のセッションで実行中のモデルに渡します。まずはシンプルな「生成—チェック—やり直し」フローから始め、リソース、パス変数、実行履歴、バージョン管理、Skill のエクスポートを段階的に追加できます。「プラグインは計画をコンパイルし、モデルは実際のディスパッチを担当する」という原則を理解することが、安定したワークフローを設計する鍵です。
