跳转到主要内容
自 0.140.0 版本发布以来,CrewAI AOP 开始迁移其登录提供商。因此,CLI 的身份验证流程已更新。使用 Google 登录的用户,或在 2025 年 7 月 3 日之后创建账户的用户将无法使用旧版本的 crewai 库登录。

概述

CrewAI CLI 提供了一组命令来与 CrewAI 交互,允许您创建、训练、运行和管理 Crew 和流程。

安装

要使用 CrewAI CLI,请确保您已安装 CrewAI。
终端
pip install crewai

基本用法

CrewAI CLI 命令的基本结构是:
终端
crewai [COMMAND] [OPTIONS] [ARGUMENTS]

可用命令

1. 创建

创建新的 Crew 或流程。
终端
crewai create [OPTIONS] TYPE NAME
  • TYPE:选择“crew”或“flow”
  • NAME:Crew 或流程的名称
示例
终端
crewai create crew my_new_crew
crewai create flow my_new_flow

2. 版本

显示已安装的 CrewAI 版本。
终端
crewai version [OPTIONS]
  • --tools:(可选)显示已安装的 CrewAI 工具版本
示例
终端
crewai version
crewai version --tools

3. 训练

以指定的迭代次数训练 Crew。
终端
crewai train [OPTIONS]
  • -n, --n_iterations INTEGER:训练 Crew 的迭代次数(默认:5)
  • -f, --filename TEXT:用于训练的自定义文件路径(默认:“trained_agents_data.pkl”)
示例
终端
crewai train -n 10 -f my_training_data.pkl

4. 重放

从特定任务重放 Crew 执行。
终端
crewai replay [OPTIONS]
  • -t, --task_id TEXT:从此任务 ID 重放 Crew,包括所有后续任务
示例
终端
crewai replay -t task_123456

5. 记录任务输出

检索您最新的 crew.kickoff() 任务输出。
终端
crewai log-tasks-outputs

6. 重置记忆

重置 Crew 记忆(长期、短期、实体、最新 Crew 启动输出)。
终端
crewai reset-memories [OPTIONS]
  • -l, --long:重置长期记忆
  • -s, --short:重置短期记忆
  • -e, --entities:重置实体记忆
  • -k, --kickoff-outputs:重置最新启动任务输出
  • -kn, --knowledge:重置知识存储
  • -akn, --agent-knowledge:重置代理知识存储
  • -a, --all:重置所有记忆
示例
终端
crewai reset-memories --long --short
crewai reset-memories --all

7. 测试

测试 Crew 并评估结果。
终端
crewai test [OPTIONS]
  • -n, --n_iterations INTEGER:测试 Crew 的迭代次数(默认:3)
  • -m, --model TEXT:用于在 Crew 上运行测试的 LLM 模型(默认:“gpt-4o-mini”)
示例
终端
crewai test -n 5 -m gpt-3.5-turbo

8. 运行

运行 Crew 或流程。
终端
crewai run
从 0.103.0 版本开始,crewai run 命令可用于运行标准 Crew 和流程。对于流程,它会自动从 pyproject.toml 检测类型并运行适当的命令。这现在是运行 Crew 和流程的推荐方式。
请确保从 CrewAI 项目设置的目录中运行这些命令。某些命令可能需要在项目结构中进行额外的配置或设置。

9. 聊天

从版本 0.98.0 开始,当您运行 crewai chat 命令时,您将启动与 Crew 的交互式会话。AI 助手将通过询问必要的输入来指导您执行 Crew。一旦提供了所有输入,Crew 将执行其任务。 收到结果后,您可以继续与助手互动以获取进一步的指令或问题。
终端
crewai chat
确保从 CrewAI 项目的根目录执行这些命令。
重要提示:在您的 crew.py 文件中设置 chat_llm 属性以启用此命令。
@crew
def crew(self) -> Crew:
    return Crew(
        agents=self.agents,
        tasks=self.tasks,
        process=Process.sequential,
        verbose=True,
        chat_llm="gpt-4o",  # LLM for chat orchestration
    )

10. 部署

将 Crew 或流程部署到 CrewAI AOP
  • 身份验证:您需要进行身份验证才能部署到 CrewAI AOP。您可以使用以下方式登录或创建账户:
    终端
    crewai login
    
  • 创建部署:一旦您通过身份验证,就可以从本地项目的根目录为 Crew 或流程创建部署。
    终端
    crewai deploy create
    
    • 读取您的本地项目配置。
    • 提示您确认在本地找到的环境变量(例如 OPENAI_API_KEYSERPER_API_KEY)。这些变量将与部署一起安全地存储在企业平台中。在运行此命令之前,请确保您的敏感密钥已在本地正确配置(例如,在 .env 文件中)。

11. 组织管理

管理您的 CrewAI AOP 组织。
终端
crewai org [COMMAND] [OPTIONS]

命令

  • list:列出您所属的所有组织
终端
crewai org list
  • current:显示您当前活跃的组织
终端
crewai org current
  • switch:切换到特定组织
终端
crewai org switch <organization_id>
您必须通过 CrewAI AOP 身份验证才能使用这些组织管理命令。
  • 创建部署(续)
    • 将部署链接到相应的远程 GitHub 存储库(通常会自动检测到)。
  • 部署 Crew:一旦您通过身份验证,就可以将 Crew 或流程部署到 CrewAI AOP。
    终端
    crewai deploy push
    
    • 启动 CrewAI AOP 平台上的部署过程。
    • 成功启动后,将输出“Deployment created successfully!”消息以及部署名称和唯一的部署 ID (UUID)。
  • 部署状态:您可以使用以下命令检查部署状态:
    终端
    crewai deploy status
    
    这将获取您最新部署尝试的最新部署状态(例如 Building Images for CrewDeploy EnqueuedOnline)。
  • 部署日志:您可以使用以下命令检查部署日志:
    终端
    crewai deploy logs
    
    这将将部署日志流式传输到您的终端。
  • 列出部署:您可以使用以下命令列出所有部署:
    终端
    crewai deploy list
    
    这将列出您的所有部署。
  • 删除部署:您可以使用以下命令删除部署:
    终端
    crewai deploy remove
    
    这将从 CrewAI AOP 平台删除部署。
  • 帮助命令:您可以使用以下命令获取 CLI 帮助:
    终端
    crewai deploy --help
    
    这将显示 CrewAI Deploy CLI 的帮助消息。
观看此视频教程,了解如何使用 CLI 将您的 Crew 部署到 CrewAI AOP 的分步演示。

11. 登录

使用安全的设备代码流程通过 CrewAI AOP 进行身份验证(无需输入电子邮件)。
终端
crewai login
会发生什么
  • 您的终端中会显示一个验证 URL 和短代码
  • 您的浏览器将打开验证 URL
  • 输入/确认代码以完成身份验证
注意
  • OAuth2 提供商和域通过 crewai config 配置(默认使用 login.crewai.com
  • 成功登录后,CLI 还会自动尝试对工具存储库进行身份验证
  • 如果您重置了配置,请再次运行 crewai login 以重新进行身份验证

12. API 密钥

当运行 crewai create crew 命令时,CLI 会显示一个可用 LLM 提供商列表供您选择,然后是为您选择的提供商进行模型选择。 选择 LLM 提供商和模型后,系统会提示您输入 API 密钥。

可用 LLM 提供商

以下是 CLI 建议的最受欢迎的 LLM 提供商列表
  • OpenAI
  • Groq
  • Anthropic
  • Google Gemini
  • SambaNova
当您选择提供商时,CLI 将显示该提供商的可用模型并提示您输入 API 密钥。

其他选项

如果选择“其他”,您将能够从 LiteLLM 支持的提供商列表中进行选择。 当您选择提供商时,CLI 将提示您输入密钥名称和 API 密钥。 有关每个提供商的密钥名称,请参阅以下链接:

13. 配置管理

管理 CrewAI 的 CLI 配置设置。
终端
crewai config [COMMAND] [OPTIONS]

命令

  • list:显示所有 CLI 配置参数
终端
crewai config list
  • set:设置 CLI 配置参数
终端
crewai config set <key> <value>
  • reset:将所有 CLI 配置参数重置为默认值
终端
crewai config reset

可用配置参数

  • enterprise_base_url:CrewAI AOP 实例的基本 URL
  • oauth2_provider:用于身份验证的 OAuth2 提供商(例如 workos, okta, auth0)
  • oauth2_audience:OAuth2 受众值,通常用于识别目标 API 或资源
  • oauth2_client_id:OAuth2 客户端 ID,由提供商颁发,用于身份验证请求
  • oauth2_domain:OAuth2 提供商的域(例如 your-org.auth0.com),用于颁发令牌

示例

显示当前配置
终端
crewai config list
示例输出
设置描述
enterprise_base_urlhttps://app.crewai.comCrewAI AOP 实例的基本 URL
org_name未设置当前活跃组织的名称
org_uuid未设置当前活跃组织的 UUID
oauth2_providerworkosOAuth2 提供商(例如 workos, okta, auth0)
oauth2_audienceclient_01YYY识别目标 API/资源的受众
oauth2_client_idclient_01XXX由提供商颁发的 OAuth2 客户端 ID
oauth2_domainlogin.crewai.com提供商域(例如 your-org.auth0.com)
设置企业基本 URL
终端
crewai config set enterprise_base_url https://my-enterprise.crewai.com
设置 OAuth2 提供商
终端
crewai config set oauth2_provider auth0
设置 OAuth2 域
终端
crewai config set oauth2_domain my-company.auth0.com
将所有配置重置为默认值
终端
crewai config reset
重置配置后,重新运行 crewai login 再次进行身份验证。

14. 跟踪管理

管理 Crew 和流程执行的跟踪收集偏好设置。
终端
crewai traces [COMMAND]

命令

  • enable:启用 Crew/流程执行的跟踪收集
终端
crewai traces enable
  • disable:禁用 Crew/流程执行的跟踪收集
终端
crewai traces disable
  • status:显示当前跟踪收集状态
终端
crewai traces status

跟踪工作原理

跟踪收集通过按优先级顺序检查三个设置来控制:
  1. 代码中的显式标志(最高优先级 - 可以启用或禁用)
    crew = Crew(agents=[...], tasks=[...], tracing=True)   # Always enable
    crew = Crew(agents=[...], tasks=[...], tracing=False)  # Always disable
    crew = Crew(agents=[...], tasks=[...])                 # Check lower priorities (default)
    
    • tracing=True始终启用跟踪(覆盖所有其他设置)
    • tracing=False始终禁用跟踪(覆盖所有其他设置)
    • tracing=None 或省略将检查较低优先级的设置
  2. 环境变量(第二优先级)
    CREWAI_TRACING_ENABLED=true
    
    • 仅当代码中未明确将 tracing 设置为 TrueFalse 时才进行检查
    • 设置为 true1 以启用跟踪
  3. 用户偏好(最低优先级)
    终端
    crewai traces enable
    
    • 仅当代码中未设置 tracingCREWAI_TRACING_ENABLED 未设置为 true 时才进行检查
    • 单独运行 crewai traces enable 足以启用跟踪
要启用跟踪,请使用以下任何一种方法:
  • 在您的 Crew/Flow 代码中设置 tracing=True,或者
  • 在您的 .env 文件中添加 CREWAI_TRACING_ENABLED=true,或者
  • 运行 crewai traces enable
要禁用跟踪,请使用以下任何一种方法:
  • 在您的 Crew/Flow 代码中设置 tracing=False(覆盖所有其他设置),或者
  • 删除或将 CREWAI_TRACING_ENABLED 环境变量设置为 false,或者
  • 运行 crewai traces disable
较高优先级的设置会覆盖较低优先级的设置。
有关跟踪的更多信息,请参阅跟踪文档
CrewAI CLI 在向项目添加包时会自动处理工具存储库的身份验证。只需在任何 uv 命令前加上 crewai 即可使用。例如 crewai uv add requests。更多信息请参阅工具存储库文档。
配置设置存储在 ~/.config/crewai/settings.json 中。某些设置(如组织名称和 UUID)是只读的,并通过身份验证和组织命令进行管理。与工具存储库相关的设置是隐藏的,用户无法直接设置。