Dify 配置自动化工作台 · 专业版
定位
把"Dify 新增/轮换模型供应商与凭据"固化为确定性流程:AI 构造请求、逐项校验、写入、回读验证;人工只做一次 Key 授权(从控制台复制)。完全绕开网页表单反爬,适配 Hermes 脚本全自动执行。
输入字段
| 字段 | 必填 | 说明 |
|---|---|---|
| provider | 是 | volcengine / deepseek / openai_compatible / 其他 |
| model | 是 | 模型ID,如 agent-plan-32k / deepseek-chat |
| api_key | 是 | 由使用者从控制台复制,仅内存使用 |
| base_url | 是 | 服务地址,必须 https |
| phase | 否 | 当前阶段:CONFIG/VALIDATE/WRITE/VERIFY(默认 CONFIG) |
| status | 否 | 该阶段结果:ok/fail(默认 ok) |
输出格式(结构化 JSON,确定性)
{
"payload": {"provider": "...", "model": "...", "base_url": "...", "api_key": "***"},
"validation": [{"check": "api_key_nonempty", "pass": true}, ...],
"next": "VALIDATE|WRITE|VERIFY|DONE|FAILSAFE",
"human_required": false
}
规则引擎(可复制代码,输出可断言)
import re
PROVIDERS = ["volcengine", "deepseek", "openai_compatible"]
def build_payload(provider, model, api_key, base_url):
return {"provider": provider.lower(), "model": model.strip(),
"base_url": base_url.rstrip("/"), "api_key": "***"}
def validate(provider, model, api_key, base_url):
checks = []
checks.append({"check": "provider_valid",
"pass": provider.lower() in PROVIDERS})
checks.append({"check": "model_nonempty",
"pass": bool(model and model.strip())})
checks.append({"check": "api_key_min_len",
"pass": isinstance(api_key, str) and len(api_key) >= 8})
checks.append({"check": "base_url_https",
"pass": bool(re.match(r"^https://", base_url.strip()))})
return checks
def next_step(phase, status, valid_ok):
phase = str(phase).upper()
if phase not in ["CONFIG", "VALIDATE", "WRITE", "VERIFY"]:
return {"next": "INVALID_PHASE", "human_required": False}
if status == "fail" or not valid_ok:
return {"next": "FAILSAFE", "human_required": False,
"action": "停止→存草稿→告警→不自动重试(防错配/重复配置)"}
if phase == "CONFIG": return {"next": "VALIDATE", "human_required": False}
if phase == "VALIDATE": return {"next": "WRITE", "human_required": False}
if phase == "WRITE": return {"next": "VERIFY", "human_required": False,
"verify": "回读Dify模型列表可见该模型"}
return {"next": "DONE", "human_required": False}
硬性规则
- API Key 仅内存使用:payload 输出一律打码
***,禁止写入文档/日志/聊天。 - 校验不过不写入:validation 存在任一 false → FAILSAFE。
- 写入失败不重试:防重复配置/错配,先告警人工。
- 不编造接口:provider 不在列表时拒绝,扩展需人工确认官方接口。
- 完成证据:必须回读 Dify 模型列表可见,非"已提交"。
- 合规:仅自有 Dify 实例与自有账号;Key 泄露提示立即轮换。
适用场景速查
- 新增模型供应商(火山方舟 AgentPlan / DeepSeek / OpenAI 兼容)→ provider+model+key+url
- Key 轮换 → 同 model 传入新 key,走完整流程并留审计
- 批量配置 → 逐条调用规则引擎,全程可断言
免责声明
本工作台为配置流程协议,实际执行依赖使用者 Dify 实例版本与账号授权;Dify 官方接口如变更以官方文档为准。不承担因 Key 泄露或违规使用产生的风险。