infra-dify-opslisted
Install: claude install-skill seed-forge/harness-ai-kit
# infra-dify-ops
> 配套 CLI `difyctl`(`difyresctl` 旧包与 shim 已下线)。
## 用途
用于在 组织内部集群 场景中做 Dify 平台的使用层资源运维与 workflow DSL 创作,而不是处理部署层。它作为 AI 平台基础设施治理的一部分纳入 `infra-*`,但不接管 Dify Compose、数据库或容器生命周期。
这个 Skill 主要覆盖:
- Dify app / workflow / chatflow / agent 等资源的本地归档
- **DSL 创作**:从业务需求生成 import-ready DSL(`workflow-create` + spec v2)、本地校验(`dsl validate`)
- **双轨 DSL 导入**:优先 Console API(`dsl import --via auto`),5xx/网络错误自动降级 Playwright;不再默认依赖 RPA
- **DSL 导出**:经 Console API 拉取现网 app 的 DSL(`dsl export`)
- 导出的 DSL 文件校验、摘要、快照与 current 版本维护
- 基于 app API key 的使用层检查
- 模型 provider 配置(`openai_api_compatible` 加模型,联动 newapictl 消费)
- Dify 1.13.x workflow DSL / graph 兼容性排障与生产验收
- Studio 导入后 graph 损坏、未发布 app、输出结构漂移等使用层救援
- 资源清单 `resources.yml` 的登记与批量筛选计划
- 把后续新 workflow 及时沉淀到统一资源目录
## DSL 创作与导入(0.2.0 新增)
### 三步创作流程
1. `difyctl workflow-create intake ... --spec-out ./specs/x.yml`:从业务需求生成结构化 spec(默认 v2)
2. `difyctl workflow-create scaffold --spec ./specs/x.yml --output ./drafts/x.dify.yml`:产出 **import-ready DSL**(含 `app`/`kind: app`/`version: "0.6.0"`/`workflow.features`/完整 graph node wrapper + position + edges)
3. `difyctl dsl validate ./drafts/x.dify.yml`:本地校验(version/mode、图端点可达性、环检测、edge 引用、LLM 必填字段、变量引用语法、if-else handle)
### 双轨导入决策
- `difyctl dsl import --dsl ./drafts/x.dify.yml --via auto`(推荐):
- Console API 成功 → 返回 `app_id` + `app_url`
- Console API 返回 5xx 或网络错误 → 自动降级 Playwright 浏览器导入
- Console API 返回 4xx(配置/鉴权错误)→ 直接报错,不降级
- `--via api`:只走 Console API,失败即报错(CI / 无 GUI 环境)
- `--via bro