本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。运行
difyctl version 可查看当前的 difyctl 版本,以及它是否与你的 Dify 服务器兼容。该命令会打印客户端版本,探测当前活跃的主机,并给出 兼容性判定。
在脚本中,--check-compat 会把这个判定结果转换为退出码。
检查客户端与服务器版本
标志
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
--short | boolean | false | 仅打印客户端 semver(不探测服务器)后退出。 |
--client | boolean | false | 跳过服务器探测,判定结果报告为 unknown。 |
--check-compat | boolean | false | 除非判定为 compatible,否则以 64 退出。 |
-o <format> | string | text | 输出格式:text、json 或 yaml。 |
示例
打印完整报告:输出
| 格式 | stdout 输出内容 |
|---|---|
默认(text) | 完整报告:一个 Client 区块、一个 Server 区块,以及一行 Compatibility 判定。当版本所在的发布通道不是 stable 时,会追加一条建议改用 stable 通道的警告。 |
-o json、-o yaml | 同样的报告,以三个对象呈现:client(version、commit、buildDate、channel、platform、arch)、server(endpoint、reachable,以及成功时的 version 和 edition),以及 compat(minDify、maxDify、status、detail)。 |
text 报告:
--short 仅打印客户端 semver:
-o json:
--check-compat 时,即使服务器无法访问或不兼容,命令也会以 0 退出。判定结果本身就是报告,而非错误。
退出码
| 退出码 | 含义 |
|---|---|
0 | 已打印报告,无论判定结果如何 |
64 | 配合 --check-compat:判定结果不是 compatible |
兼容性判定
difyctl version 会将你的版本与服务器版本进行比对,给出三种判定之一。你无需登录,但需要有一个已存储的主机供其探测。
| 判定 | 含义 |
|---|---|
compatible | 服务器版本处于该版本所支持的范围内。 |
unsupported | 服务器版本超出支持范围。 |
unknown | 无法判定:未配置主机、服务器无法访问、使用 --client 跳过了探测,或服务器版本无法解析。 |
detail 字段会说明你属于哪种情况,例如 server 1.16.0 outside [1.15.0, 1.15.0]。
在脚本中根据兼容性进行控制
--check-compat 让判定结果可用于脚本:只要不是 compatible,包括所有 unknown 情况,都会以 64 退出。
完整报告仍会按你选择的格式输出到 stdout,而那一行原因则输出到 stderr,因此无论结果如何,difyctl version -o json --check-compat | jq 都能照常工作。
64 是该标志专用的,difyctl 的其他任何失败都不会使用它。