difyctl 一次只在一个工作空间中工作,该工作空间来自标志、环境变量或你存储的默认值。它们的优先级顺序参见 difyctl 如何选择工作空间。
difyctl get workspace列出你所属的工作空间use workspace切换当前工作空间
工作空间仅适用于账户用户。如果你通过外部 SSO 登录,你被限定在单一上下文中,没有工作空间,本文所述的命令对你不适用。详见 权限范围与限制。
列出工作空间
标志
| 标志 | 类型 | 默认值 | 说明 |
|---|---|---|---|
-o <format> | string | none | 输出格式:json、yaml、name 或 wide。省略此标志则使用默认表格。 |
示例
查看你的工作空间,以及当前激活的是哪一个:输出
| 格式 | stdout 输出内容 |
|---|---|
| default | 对齐的表格。CURRENT 列以 * 标记当前激活的工作空间,ROLE 列为你在每个工作空间中的角色。 |
-o wide | 相同的列。工作空间没有仅在 wide 格式下显示的列。 |
-o json、-o yaml | 一个 workspaces 数组,每个条目包含 id、name、role、status 和 current。 |
-o name | 工作空间 ID,每行一个。 |
-o json:
退出码
| 退出码 | 含义 |
|---|---|
0 | 成功 |
1 | 网络或服务器错误 |
2 | 用法错误,例如不支持的 -o 值 |
4 | 认证失败 |
7 | 触发限流(HTTP 429) |
切换工作空间
use workspace 先在服务器上切换你的当前工作空间,然后更新 hosts.yml 中存储的默认值。如果切换失败(工作空间不存在,或你不是其成员),本地状态保持不变。
参数
workspace-id:要切换到的工作空间,取自get workspace。在终端中可省略,以从你的工作空间中选择,当前工作空间以*标记。在非交互式会话(脚本、CI、管道)中必须提供。
标志
仅 全局标志。示例
从你的工作空间中交互式选择:--workspace:
输出
切换成功后,stdout 会确认新的当前工作空间:退出码
| 退出码 | 含义 |
|---|---|
0 | 成功 |
1 | 工作空间未找到,或其他服务器错误 |
2 | 用法错误,例如在没有终端可供选择时省略了 workspace-id |
4 | 认证失败,或 use workspace 打开选择器时没有可用的工作空间 |
7 | 触发限流(HTTP 429) |
difyctl 如何选择工作空间
应用只属于一个工作空间,因此每条针对工作空间的命令都需要一个工作空间来执行。difyctl 按以下顺序解析,取首个找到的值:
- 命令本身的
--workspace <id>标志,仅对该次调用生效。 DIFY_WORKSPACE_ID环境变量。- 你存储的默认值,登录时写入配置目录下的
hosts.yml,并由use workspace更新。
2 失败。
工作空间 ID 是 UUID,因此请使用 get workspace 返回的 ID,而非工作空间名称。非 UUID 的值会作为用法错误失败。