# dify-console-sync > Dify Console APIから公式ノードタイプ・利用可能モデル一覧を取得し、検証スクリプト(dify_validation.py)の強化データとして保存・更新します。オフライン検証の精度向上のため、APIから最新のノード/モデル情報を定期的に同期します。 - Author: ryuseisuda - Repository: ryuseisuda/clawd2 - Version: 20260123002259 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/ryuseisuda/clawd2 - Web: https://mule.run/skillshub/@@ryuseisuda/clawd2~dify-console-sync:20260123002259 --- --- name: dify-console-sync description: "Dify Console APIから公式ノードタイプ・利用可能モデル一覧を取得し、検証スクリプト(dify_validation.py)の強化データとして保存・更新します。オフライン検証の精度向上のため、APIから最新のノード/モデル情報を定期的に同期します。" --- # Dify Console同期 Workflow ## Instructions 1. Preflight: - `./questions/sync_questions.md` で同期対象・モードを確認する - 最終同期タイムスタンプを確認(config/.dify_sync_timestamp) - 認証Cookie の有効性を確認する - 同期対象(モデル・ノード・ツール)を選択する 2. 生成: - **モデル一覧同期** - コマンド: `source .venv/bin/activate && python scripts/dify_detect_models.py --auto-refresh --json --out config/dify_models_inventory.json` - model_config.json への適用: `source .venv/bin/activate && python scripts/dify_detect_models.py --auto-refresh --apply` - **ノードタイプ一覧同期**(TODO: 専用スクリプト作成予定) - エンドポイント: `/console/api/apps/{app_id}/workflows/default-workflow-block-configs` - 出力先: `config/dify_node_types_inventory.json` - **ツール一覧同期**(TODO: 専用スクリプト作成予定) - エンドポイント: `/console/api/workspaces/current/tools/builtin`, `/console/api/workspaces/current/tools/api`, `/console/api/workspaces/current/tools/workflow` - 出力先: `config/dify_tools_inventory.json` - **タイムスタンプ更新** - コマンド: `date '+%Y-%m-%d %H:%M:%S' > config/.dify_sync_timestamp` - API呼び出しには認証Cookie必要 - インベントリファイルは config/ に保存 3. QC(必須): - 共通QC Subagent(`qa-skill-qc`)に評価・チェックを委譲する - Subagentは最初に `./evaluation/evaluation_criteria.md` をReadし、評価指標に基づいてQCを実施する - チェック観点: - 同期データの完全性 - インベントリファイルの整合性 - 前回同期との差分確認 - 指摘を最小差分で反映する - 指摘に対し「修正した/しない」と理由を成果物に残す 4. バックログ反映: - 同期完了後、検証スクリプト強化・model_config更新のタスクを抽出する - 反映先・編集制約・差分提示は CLAUDE.md の全体ルールに従う subagent_policy: - 品質ループ(QC/チェック/フィードバック)は必要に応じてサブエージェントへ委譲する - サブエージェントの指摘を反映し、反映結果(修正有無/理由)を成果物に残す - 複数エンドポイントからの並列取得はSubagentで実行可能 recommended_subagents: - qa-skill-qc: 共通QC。対象Skillの ./evaluation/evaluation_criteria.md を先にReadしてからQCを開始 ## Resources - questions: ./questions/sync_questions.md - assets: ./assets/sync_report_template.md - evaluation: ./evaluation/evaluation_criteria.md - triggers: ./triggers/next_action_triggers.md - scripts: ./scripts/dify_detect_models.py ## Next Action - triggers: ./triggers/next_action_triggers.md 起動条件に従い、条件を満たすSkillを自動実行する。 ## Error Handling - auth_cookie_expired: --refresh オプションを追加して再実行、ブラウザでDifyにログイン - api_rate_limit: 時間を置いて再実行、同期対象を絞って実行 - inventory_write_error: config/ ディレクトリの権限を確認、ディスク容量を確認 ## 同期コマンド ```bash # モデル一覧取得(テキスト形式) source .venv/bin/activate && python scripts/dify_detect_models.py # モデル一覧取得(JSON形式) source .venv/bin/activate && python scripts/dify_detect_models.py --json # モデル一覧をインベントリに保存 source .venv/bin/activate && python scripts/dify_detect_models.py --auto-refresh --json --out config/dify_models_inventory.json # model_config.json に適用 source .venv/bin/activate && python scripts/dify_detect_models.py --auto-refresh --apply ``` ## データ保存先 ``` config/ ├── dify_models_inventory.json # モデル一覧 ├── dify_node_types_inventory.json # ノードタイプ一覧(TODO) ├── dify_tools_inventory.json # ツール一覧(TODO) └── .dify_sync_timestamp # 最終同期日時 ``` ## 検証データ活用 同期したデータは dify_validation.py で以下のように活用: 1. **モデル検証**: - YAMLで指定されたモデル名が利用可能か照合 - 非推奨モデルの警告 2. **ノードタイプ検証**: - YAMLのノードタイプが公式サポートか照合 - 無効なノードタイプの検出・修正提案 3. **ツール検証**: - provider_id/tool_name の組み合わせが有効か照合 - 未インストールツールの検出 ## APIエンドポイント ``` # モデル関連 /console/api/workspaces/current/models/model-types/{model_type} model_types: ["llm", "text-embedding", "rerank", "speech2text", "tts", "moderation"] # ノードタイプ関連 /console/api/apps/{app_id}/workflows/default-workflow-block-configs # ツール関連 /console/api/workspaces/current/tools/builtin /console/api/workspaces/current/tools/api /console/api/workspaces/current/tools/workflow /console/api/workspaces/current/tool-providers ```