dify-manage
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDify 管理
Dify 管理
CLI
CLI
SKILL_ROOT = 本 所在目录(安装后通常在 )。
SKILL.md~/.cursor/skills/dify-manage/bash
undefinedSKILL_ROOT = 本 所在目录(安装后通常在 )。
SKILL.md~/.cursor/skills/dify-manage/bash
undefined基命令(后续子命令均接在此后)
基命令(后续子命令均接在此后)
python3 "{SKILL_ROOT}/scripts/dify_manage.py" <子命令> [选项]
python3 "{SKILL_ROOT}/scripts/dify_manage.py" <子命令> [选项]
或:"{SKILL_ROOT}/scripts/dify" <子命令> [选项]
或:"{SKILL_ROOT}/scripts/dify" <子命令> [选项]
业务项目内可自建 `bin/dify` 包装,启动时 `cd` 到项目根以发现 `.env` / `.dify/`。
业务项目内可自建 `bin/dify` 包装,启动时 `cd` 到项目根以发现 `.env` / `.dify/`。首次使用(业务项目根目录)
首次使用(业务项目根目录)
先 到含 的业务仓库根,再执行:
cd.envbash
undefined先 到含 的业务仓库根,再执行:
cd.envbash
undefined1. 配置 .env(见 skill 内 .env.example)
1. 配置 .env(见 skill 内 .env.example)
2. 初始化 .dify/ 骨架(dsl、cache、manifest 等)
2. 初始化 .dify/ 骨架(dsl、cache、manifest 等)
python3 "{SKILL_ROOT}/scripts/dify_manage.py" init
python3 "{SKILL_ROOT}/scripts/dify_manage.py" init
3. 需要 Console 操作时(须用户确认)
3. 需要 Console 操作时(须用户确认)
python3 "{SKILL_ROOT}/scripts/dify_manage.py" login
python3 "{SKILL_ROOT}/scripts/dify_manage.py" login
4. 列出应用
4. 列出应用
python3 "{SKILL_ROOT}/scripts/dify_manage.py" apps
`login` 也会自动创建 `.dify/` 并写入 `session.json`,但不会建好 `dsl/`、`cache/` 等子目录;**首次务必先 `init`**。python3 "{SKILL_ROOT}/scripts/dify_manage.py" apps
`login` 也会自动创建 `.dify/` 并写入 `session.json`,但不会建好 `dsl/`、`cache/` 等子目录;**首次务必先 `init`**。项目布局(使用方仓库,非本 skill)
项目布局(使用方仓库,非本 skill)
| 路径 | 内容 | Git |
|---|---|---|
| | 真实 ignore |
| Console token | ignore |
| 应用索引、hash | 建议提交 |
| | remote ignore |
| 业务元数据 | 按需 |
| | 按需 |
| | ignore |
| 路径 | 内容 | Git |
|---|---|---|
| | 需添加至.gitignore |
| Console token | 需忽略 |
| 应用索引、hash | 建议提交至Git |
| | 远程文件需忽略 |
| 业务元数据 | 按需提交 |
| | 按需提交 |
| | 需忽略 |
Token 优先级
Token 优先级
OS env.dify/session.json.envloginrefreshsession.jsonOS env.dify/session.json.envloginrefreshsession.json安全
安全
- 未指定 app → 确认
apps - deploy/login 须用户确认
- 、
--app-id每次传入--api-key - skill 内不固化业务 URL、token、应用名
- 未指定 app → 确认
apps - deploy/login 须用户确认
- 、
--app-id每次传入--api-key - skill 内不固化业务 URL、token、应用名
DSL 工作流
DSL 工作流
bash
python3 "{SKILL_ROOT}/scripts/dify_manage.py" init
python3 "{SKILL_ROOT}/scripts/dify_manage.py" apps
python3 "{SKILL_ROOT}/scripts/dify_manage.py" pull --app-id <id>bash
python3 "{SKILL_ROOT}/scripts/dify_manage.py" init
python3 "{SKILL_ROOT}/scripts/dify_manage.py" apps
python3 "{SKILL_ROOT}/scripts/dify_manage.py" pull --app-id <id>编辑 .dify/dsl/<id>/working.yml
编辑 .dify/dsl/<id>/working.yml
python3 "{SKILL_ROOT}/scripts/dify_manage.py" dsl diff --app-id <id>
python3 "{SKILL_ROOT}/scripts/dify_manage.py" deploy --app-id <id>
维护:`dsl refresh`、`dsl reset`、`dsl prune --keep 3`、`pull --sync-working`。python3 "{SKILL_ROOT}/scripts/dify_manage.py" dsl diff --app-id <id>
python3 "{SKILL_ROOT}/scripts/dify_manage.py" deploy --app-id <id>
维护:`dsl refresh`、`dsl reset`、`dsl prune --keep 3`、`pull --sync-working`。文件工作流
文件工作流
bash
cache download "https://example.com/a.jpg"
files upload path-or-url --api-key app-xxx
run --api-key app-xxx --file-url product_image=https://...
run --api-key app-xxx --fixtures .dify/fixtures/<id>/smoke.jsonbash
cache download "https://example.com/a.jpg"
files upload path-or-url --api-key app-xxx
run --api-key app-xxx --file-url product_image=https://...
run --api-key app-xxx --fixtures .dify/fixtures/<id>/smoke.jsonDSL 规则
DSL 规则
- 改前 ;只 patch 目标节点
pull - 禁止旧 YAML 整包覆盖
- deploy 前 ;注意
dsl diff/defaultfile_upload
- 改前 ;只 patch 目标节点
pull - 禁止旧 YAML 整包覆盖
- deploy 前 ;注意
dsl diff/defaultfile_upload
Agent 清单
Agent 清单
- 首次使用:在业务项目根执行 (见上文「首次使用」完整命令)
init - 未指定 app →
apps - 改 DSL 前 ;编辑
pullworking.yml - 部署前 ;异常用
dsl diffdsl status --check-remote - 外链:→
cache download或files uploadrun --file-url - 敏感操作须确认
- 无用户要求不
login
- 首次使用:在业务项目根执行 (见上文「首次使用」完整命令)
init - 未指定 app →
apps - 改 DSL 前 ;编辑
pullworking.yml - 部署前 ;异常用
dsl diffdsl status --check-remote - 外链:→
cache download或files uploadrun --file-url - 敏感操作须确认
- 无用户要求不
login
参考
参考
reference.md
reference.md