本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。
安装选项#
运行 安装命令 时设置以下变量:
| 变量 | 说明 | 示例 |
|---|---|---|
DIFY_VERSION | 要安装的 difyctl 所对应的 Dify 版本。设为服务器的版本号。默认为最新的 Dify 版本。 | 1.18.0 |
DIFYCTL_PREFIX | 安装目录,二进制文件会放在 <prefix>/bin 下。如果该目录不在 PATH 中,将它加入 PATH。macOS 和 Linux 上默认为 ~/.local,Windows 上默认为 %LOCALAPPDATA%\difyctl。 | $HOME/tools |
GITHUB_TOKEN 或 GH_TOKEN | GitHub 令牌,无需任何权限范围。如果安装程序因触及 GitHub 的请求上限(每小时 60 次,同一 IP 地址下的所有用户共用)而中止,设置此变量。 |
例如,把 Dify 1.18.0 对应的构建版本安装到 ~/tools/bin:
环境变量#
在运行 difyctl 的 Shell 或任务中设置以下变量:
| 变量 | 说明 |
|---|---|
DIFY_CONFIG_DIR | 指定其他配置目录,代替 默认目录。要 同时登录多台服务器,可用它给每台服务器分配单独的目录。 |
DIFY_OUTPUT | 错误和 help 输出的格式,可设为 json 或 text。不设置时,它们在终端中显示为文本,输出到文件或交给其他程序时则为 JSON。结果一律是 JSON。在脚本中设置 DIFY_OUTPUT=json,这样无论脚本在哪里运行,错误都以 JSON 输出。--json 的优先级高于 DIFY_OUTPUT=text。 |
DIFY_SERVER | 命令要发往的服务器地址,例如 https://dify.example.com。只在同时设置了 DIFY_TOKEN 时生效。 |
DIFY_TOKEN | 通过 difyctl 登录获得的令牌。与 DIFY_SERVER 和 DIFY_WORKSPACE_ID 一起设置后,命令会改用这些变量,不再使用你已保存的登录信息。设置了 DIFY_TOKEN 时,login 和 logout 会拒绝运行。未设置 DIFY_SERVER 时,命令会失败并返回 退出码 2。未设置 DIFY_WORKSPACE_ID 时,作用于工作空间的命令会失败。如何为任务获取令牌并妥善保管,详见 在 CI 和自动化中使用 difyctl。 |
DIFY_WORKSPACE_ID | 工作空间 ID,供 get console_app 等作用于工作空间的命令使用。在 difyctl get workspace 的结果中,它显示为 id。设置 DIFY_TOKEN 时,务必一并设置它:通过变量登录时,没有已保存的工作空间可用。--workspace-id 的优先级高于此变量,此变量又高于已保存登录信息中的工作空间。 |
HTTP_PROXY、HTTPS_PROXY、NO_PROXY | 用于转发 difyctl 请求的代理:服务器为 https:// 地址时用 HTTPS_PROXY,为 http:// 地址时用 HTTP_PROXY。小写的 http_proxy 和 https_proxy 同样有效。要让某台服务器(如内网服务器)绕过代理,将它的主机名写入 NO_PROXY(或 no_proxy)。 |
NO_COLOR | 设为任意值(如 1),即可关闭终端文本的颜色。 |
设置#
http.timeout 决定 difyctl 等待服务器开始响应的时长,单位为毫秒,超时后命令即失败。默认值为 30000。
如果命令因服务器或网络较慢而超时,或者在发送大文件时超时,就调高此值。它只限制等待服务器首次响应的时间,不限制命令的总耗时。因此,即使应用要运行好几分钟,无论是否使用 --stream,都不必调高此值。
例如,要改为 60 秒:
要恢复默认值,运行 difyctl unset config http.timeout。要查看各项设置以及保存它们的文件,运行 difyctl get config。
difyctl 保存的文件#
difyctl 在 配置目录 中保存以下文件:
| 文件 | 内容 |
|---|---|
login.yml | 已保存的登录信息:服务器、账户和工作空间,以及令牌的存放位置。 |
login-pending.yml | 用 login --no-wait 发起、尚未由 login --resume 完成的登录。 |
tokens.yml | 令牌不存入操作系统的凭据存储、改为 写入文件 时,就保存在这里。 |
config.yml | 你的设置。首次修改某项设置后才会有这个文件。 |
catalog/<server>.json | 已保存的命令列表,你使用过的每台服务器各一份。可放心删除,运行下一条命令时会重新获取。 |