跳转到内容

CLI

CrewAI CLI 提供了一组用于与 CrewAI 交互的命令,可让你创建、训练、运行和管理 crew 与 flow。

要使用 CrewAI CLI,请先确保已安装 CrewAI:

Terminal window
pip install crewai

CrewAI CLI 命令的基本结构如下:

Terminal window
crewai [COMMAND] [OPTIONS] [ARGUMENTS]

创建一个新的 crew 或 flow。

Terminal window
crewai create [OPTIONS] TYPE NAME
  • TYPE:在 “crew” 或 “flow” 之间选择
  • NAME:crew 或 flow 的名称

示例:

Terminal window
crewai create crew my_new_crew
crewai create flow my_new_flow

默认情况下,crewai create crew 会创建一个以 JSON 为主的 crew 项目,包含 crew.jsoncagents/*.jsonc。只有当你想要旧版的 Python/YAML 脚手架(crew.pyconfig/agents.yamlconfig/tasks.yaml)时,才使用 crewai create crew my_new_crew --classic

显示已安装的 CrewAI 版本。

Terminal window
crewai version [OPTIONS]
  • --tools:(可选)显示已安装的 CrewAI tools 版本

示例:

Terminal window
crewai version
crewai version --tools

以指定迭代次数训练 crew。

Terminal window
crewai train [OPTIONS]
  • -n, --n_iterations INTEGER:训练 crew 的迭代次数(默认:5)
  • -f, --filename TEXT:用于训练的自定义文件路径(默认:“trained_agents_data.pkl”)

示例:

Terminal window
crewai train -n 10 -f my_training_data.pkl

从某个特定任务开始回放 crew 的执行。

Terminal window
crewai replay [OPTIONS]
  • -t, --task_id TEXT:从该任务 ID 开始回放 crew,包括其后的所有任务

示例:

Terminal window
crewai replay -t task_123456

获取最近一次 crew.kickoff() 的任务输出。

Terminal window
crewai log-tasks-outputs

重置 crew 的记忆(长记忆、短记忆、实体记忆、latest_crew_kickoff_outputs)。

Terminal window
crewai reset-memories [OPTIONS]
  • -l, --long:重置长记忆
  • -s, --short:重置短记忆
  • -e, --entities:重置实体记忆
  • -k, --kickoff-outputs:重置最近一次 kickoff 的任务输出
  • -kn, --knowledge:重置知识存储
  • -akn, --agent-knowledge:重置智能体知识存储
  • -a, --all:重置全部记忆

示例:

Terminal window
crewai reset-memories --long --short
crewai reset-memories --all

测试 crew 并评估结果。

Terminal window
crewai test [OPTIONS]
  • -n, --n_iterations INTEGER:测试 crew 的迭代次数(默认:3)
  • -m, --model TEXT:用于运行测试的 LLM 模型(默认:“gpt-4o-mini”)

示例:

Terminal window
crewai test -n 5 -m gpt-3.5-turbo

运行 crew 或 flow。

Terminal window
crewai run

0.98.0 版本开始,当你运行 crewai chat 命令时,会启动与你的 crew 的交互式会话。AI 助手会通过询问所需输入来引导你执行 crew。只要所有输入都提供完毕,crew 就会执行其任务。

在收到结果后,你可以继续与助手交互,提出进一步的指令或问题。

Terminal window
crewai chat

将 crew 或 flow 部署到 CrewAI AMP

  • 身份验证:你需要先通过身份验证,才能部署到 CrewAI AMP。 你可以使用以下命令登录或创建账户:

    Terminal window
    crewai login
  • 创建部署:完成身份验证后,你可以从本地项目根目录为 crew 或 flow 创建部署。

    Terminal window
    crewai deploy create
    • 读取你的本地项目配置。
    • 提示你确认在本地找到的环境变量(如 OPENAI_API_KEYSERPER_API_KEY)。这些变量会与部署一起安全存储在 Enterprise 平台上。运行前,请确保本地已正确配置这些敏感密钥(例如放在 .env 文件中)。

管理你的 CrewAI AMP 组织。

Terminal window
crewai org [COMMAND] [OPTIONS]
  • list:列出你所属的所有组织
Terminal window
crewai org list
  • current:显示当前活动的组织
Terminal window
crewai org current
  • switch:切换到指定组织
Terminal window
crewai org switch <organization_id>
  • 创建部署(续):

    • 将部署链接到对应的远程 GitHub 仓库(通常会自动检测)。
  • 部署 Crew:完成身份验证后,你可以将 crew 或 flow 部署到 CrewAI AMP。

    Terminal window
    crewai deploy push
    • 在 CrewAI AMP 平台上启动部署流程。
    • 成功启动后,会输出 Deployment created successfully! 消息,以及 Deployment Name 和一个唯一的 Deployment ID(UUID)。
  • 部署状态:你可以使用以下命令查看部署状态:

    Terminal window
    crewai deploy status

    这会获取你最近一次部署尝试的最新部署状态(例如 Building Images for CrewDeploy EnqueuedOnline)。

  • 部署日志:你可以使用以下命令查看部署日志:

    Terminal window
    crewai deploy logs

    这会将部署日志流式输出到你的终端。

  • 列出部署:你可以使用以下命令列出所有部署:

    Terminal window
    crewai deploy list

    这会列出你所有的部署。

  • 删除部署:你可以使用以下命令删除部署:

    Terminal window
    crewai deploy remove

    这会从 CrewAI AMP 平台删除该部署。

  • 帮助命令:你可以使用以下命令获取 CLI 帮助:

    Terminal window
    crewai deploy --help

    这会显示 CrewAI Deploy CLI 的帮助信息。

观看这个视频教程,逐步演示如何通过 CLI 将你的 crew 部署到 CrewAI AMP

使用安全的设备代码流程通过 CrewAI AMP 进行身份验证(无需输入电子邮件)。

Terminal window
crewai login

会发生什么:

  • 终端中会显示验证 URL 和短代码
  • 浏览器会打开验证 URL
  • 输入或确认代码以完成身份验证

说明:

  • OAuth2 提供商和域名通过 crewai config 进行配置(默认使用 login.crewai.com
  • 登录成功后,CLI 还会尝试自动对 Tool Repository 进行身份验证
  • 如果你重置了配置,请再次运行 crewai login 重新验证

运行 crewai create crew 命令时,CLI 会先显示可用的 LLM 提供商列表,然后让你为所选提供商选择模型。所选模型会保存到生成的 .env 文件中,而每个生成的 agent JSONC 文件都可以设置自己的 llm

在你选择了 LLM 提供商和模型后,系统会提示你输入 API 密钥。

以下是 CLI 建议的最常见 LLM 提供商列表:

  • OpenAI
  • Groq
  • Anthropic
  • Google Gemini
  • SambaNova

选择提供商后,CLI 会显示该提供商可用的模型,并提示你输入 API 密钥。

如果你选择 “other”,就可以从 LiteLLM 支持的提供商列表中进行选择。

选择提供商后,CLI 会提示你输入 Key 名称和 API 密钥。

每个提供商的 Key 名称请参见以下链接:

管理 CrewAI 的 CLI 配置设置。

Terminal window
crewai config [COMMAND] [OPTIONS]
  • list:显示所有 CLI 配置参数
Terminal window
crewai config list
  • set:设置一个 CLI 配置参数
Terminal window
crewai config set <key> <value>
  • reset:将所有 CLI 配置参数重置为默认值
Terminal window
crewai config reset
  • enterprise_base_url:CrewAI AMP 实例的基础 URL
  • oauth2_provider:用于身份验证的 OAuth2 提供商(例如 workos、okta、auth0)
  • oauth2_audience:OAuth2 audience 值,通常用于标识目标 API 或资源
  • oauth2_client_id:提供商签发的 OAuth2 client ID,用于身份验证请求
  • oauth2_domain:OAuth2 提供商的域名(例如 your-org.auth0.com),用于签发令牌

显示当前配置:

Terminal window
crewai config list

示例输出:

SettingValueDescription
enterprise_base_urlhttps://app.crewai.comCrewAI AMP 实例的基础 URL
org_nameNot set当前活动组织的名称
org_uuidNot set当前活动组织的 UUID
oauth2_providerworkosOAuth2 提供商(例如 workos、okta、auth0)
oauth2_audienceclient_01YYY标识目标 API/资源的 audience
oauth2_client_idclient_01XXX提供商签发的 OAuth2 client ID
oauth2_domainlogin.crewai.com提供商域名(例如 your-org.auth0.com)

设置企业基础 URL:

Terminal window
crewai config set enterprise_base_url https://my-enterprise.crewai.com

设置 OAuth2 提供商:

Terminal window
crewai config set oauth2_provider auth0

设置 OAuth2 域名:

Terminal window
crewai config set oauth2_domain my-company.auth0.com

将所有配置重置为默认值:

Terminal window
crewai config reset

管理 Crew 和 Flow 执行的跟踪收集偏好。

Terminal window
crewai traces [COMMAND]
  • enable:为 crew/flow 执行启用跟踪收集
Terminal window
crewai traces enable
  • disable:为 crew/flow 执行禁用跟踪收集
Terminal window
crewai traces disable
  • status:显示当前跟踪收集状态
Terminal window
crewai traces status

跟踪收集通过按优先级检查三个设置来控制:

  1. 代码中的显式标志(最高优先级,可启用或禁用):

    crew = Crew(agents=[...], tasks=[...], tracing=True) # 始终启用
    crew = Crew(agents=[...], tasks=[...], tracing=False) # 始终禁用
    crew = Crew(agents=[...], tasks=[...]) # 检查更低优先级设置(默认)
    • tracing=True始终启用跟踪(覆盖其他所有设置)
    • tracing=False始终禁用跟踪(覆盖其他所有设置)
    • tracing=None 或未提供时,会检查更低优先级的设置
  2. 环境变量(第二优先级):

    CREWAI_TRACING_ENABLED=true
    • 仅当代码中没有显式将 tracing 设为 TrueFalse 时才会检查
    • 设置为 true1 即可启用跟踪
  3. 用户偏好(最低优先级):

    Terminal window
    crewai traces enable
    • 仅当代码中未设置 tracing,且 CREWAI_TRACING_ENABLED 也未设为 true 时才会检查
    • 仅运行 crewai traces enable 也足以启用跟踪