CLI
CrewAI CLI 提供了一组用于与 CrewAI 交互的命令,可让你创建、训练、运行和管理 crew 与 flow。
要使用 CrewAI CLI,请先确保已安装 CrewAI:
pip install crewaiCrewAI CLI 命令的基本结构如下:
crewai [COMMAND] [OPTIONS] [ARGUMENTS]创建一个新的 crew 或 flow。
crewai create [OPTIONS] TYPE NAMETYPE:在 “crew” 或 “flow” 之间选择NAME:crew 或 flow 的名称
示例:
crewai create crew my_new_crewcrewai create flow my_new_flow默认情况下,crewai create crew 会创建一个以 JSON 为主的 crew 项目,包含 crew.jsonc 和 agents/*.jsonc。只有当你想要旧版的 Python/YAML 脚手架(crew.py、config/agents.yaml 和 config/tasks.yaml)时,才使用 crewai create crew my_new_crew --classic。
显示已安装的 CrewAI 版本。
crewai version [OPTIONS]--tools:(可选)显示已安装的 CrewAI tools 版本
示例:
crewai versioncrewai version --tools以指定迭代次数训练 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从某个特定任务开始回放 crew 的执行。
crewai replay [OPTIONS]-t, --task_id TEXT:从该任务 ID 开始回放 crew,包括其后的所有任务
示例:
crewai replay -t task_1234565. 记录任务输出
Section titled “5. 记录任务输出”获取最近一次 crew.kickoff() 的任务输出。
crewai log-tasks-outputs6. 重置记忆
Section titled “6. 重置记忆”重置 crew 的记忆(长记忆、短记忆、实体记忆、latest_crew_kickoff_outputs)。
crewai reset-memories [OPTIONS]-l, --long:重置长记忆-s, --short:重置短记忆-e, --entities:重置实体记忆-k, --kickoff-outputs:重置最近一次 kickoff 的任务输出-kn, --knowledge:重置知识存储-akn, --agent-knowledge:重置智能体知识存储-a, --all:重置全部记忆
示例:
crewai reset-memories --long --shortcrewai reset-memories --all测试 crew 并评估结果。
crewai test [OPTIONS]-n, --n_iterations INTEGER:测试 crew 的迭代次数(默认:3)-m, --model TEXT:用于运行测试的 LLM 模型(默认:“gpt-4o-mini”)
示例:
crewai test -n 5 -m gpt-3.5-turbo运行 crew 或 flow。
crewai run从 0.98.0 版本开始,当你运行 crewai chat 命令时,会启动与你的 crew 的交互式会话。AI 助手会通过询问所需输入来引导你执行 crew。只要所有输入都提供完毕,crew 就会执行其任务。
在收到结果后,你可以继续与助手交互,提出进一步的指令或问题。
crewai chat10. 部署
Section titled “10. 部署”将 crew 或 flow 部署到 CrewAI AMP。
-
身份验证:你需要先通过身份验证,才能部署到 CrewAI AMP。 你可以使用以下命令登录或创建账户:
Terminal window crewai login -
创建部署:完成身份验证后,你可以从本地项目根目录为 crew 或 flow 创建部署。
Terminal window crewai deploy create- 读取你的本地项目配置。
- 提示你确认在本地找到的环境变量(如
OPENAI_API_KEY、SERPER_API_KEY)。这些变量会与部署一起安全存储在 Enterprise 平台上。运行前,请确保本地已正确配置这些敏感密钥(例如放在.env文件中)。
11. 组织管理
Section titled “11. 组织管理”管理你的 CrewAI AMP 组织。
crewai org [COMMAND] [OPTIONS]list:列出你所属的所有组织
crewai org listcurrent:显示当前活动的组织
crewai org currentswitch:切换到指定组织
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 Crew、Deploy Enqueued、Online)。 -
部署日志:你可以使用以下命令查看部署日志:
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。
11. 登录
Section titled “11. 登录”使用安全的设备代码流程通过 CrewAI AMP 进行身份验证(无需输入电子邮件)。
crewai login会发生什么:
- 终端中会显示验证 URL 和短代码
- 浏览器会打开验证 URL
- 输入或确认代码以完成身份验证
说明:
- OAuth2 提供商和域名通过
crewai config进行配置(默认使用login.crewai.com) - 登录成功后,CLI 还会尝试自动对 Tool Repository 进行身份验证
- 如果你重置了配置,请再次运行
crewai login重新验证
12. API 密钥
Section titled “12. API 密钥”运行 crewai create crew 命令时,CLI 会先显示可用的 LLM 提供商列表,然后让你为所选提供商选择模型。所选模型会保存到生成的 .env 文件中,而每个生成的 agent JSONC 文件都可以设置自己的 llm。
在你选择了 LLM 提供商和模型后,系统会提示你输入 API 密钥。
可用的 LLM 提供商
Section titled “可用的 LLM 提供商”以下是 CLI 建议的最常见 LLM 提供商列表:
- OpenAI
- Groq
- Anthropic
- Google Gemini
- SambaNova
选择提供商后,CLI 会显示该提供商可用的模型,并提示你输入 API 密钥。
如果你选择 “other”,就可以从 LiteLLM 支持的提供商列表中进行选择。
选择提供商后,CLI 会提示你输入 Key 名称和 API 密钥。
每个提供商的 Key 名称请参见以下链接:
13. 配置管理
Section titled “13. 配置管理”管理 CrewAI 的 CLI 配置设置。
crewai config [COMMAND] [OPTIONS]list:显示所有 CLI 配置参数
crewai config listset:设置一个 CLI 配置参数
crewai config set <key> <value>reset:将所有 CLI 配置参数重置为默认值
crewai config reset可用配置参数
Section titled “可用配置参数”enterprise_base_url:CrewAI AMP 实例的基础 URLoauth2_provider:用于身份验证的 OAuth2 提供商(例如 workos、okta、auth0)oauth2_audience:OAuth2 audience 值,通常用于标识目标 API 或资源oauth2_client_id:提供商签发的 OAuth2 client ID,用于身份验证请求oauth2_domain:OAuth2 提供商的域名(例如 your-org.auth0.com),用于签发令牌
显示当前配置:
crewai config list示例输出:
| Setting | Value | Description |
|---|---|---|
| enterprise_base_url | https://app.crewai.com | CrewAI AMP 实例的基础 URL |
| org_name | Not set | 当前活动组织的名称 |
| org_uuid | Not set | 当前活动组织的 UUID |
| oauth2_provider | workos | OAuth2 提供商(例如 workos、okta、auth0) |
| oauth2_audience | client_01YYY | 标识目标 API/资源的 audience |
| oauth2_client_id | client_01XXX | 提供商签发的 OAuth2 client ID |
| oauth2_domain | login.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 reset14. 跟踪管理
Section titled “14. 跟踪管理”管理 Crew 和 Flow 执行的跟踪收集偏好。
crewai traces [COMMAND]enable:为 crew/flow 执行启用跟踪收集
crewai traces enabledisable:为 crew/flow 执行禁用跟踪收集
crewai traces disablestatus:显示当前跟踪收集状态
crewai traces status跟踪的工作方式
Section titled “跟踪的工作方式”跟踪收集通过按优先级检查三个设置来控制:
-
代码中的显式标志(最高优先级,可启用或禁用):
crew = Crew(agents=[...], tasks=[...], tracing=True) # 始终启用crew = Crew(agents=[...], tasks=[...], tracing=False) # 始终禁用crew = Crew(agents=[...], tasks=[...]) # 检查更低优先级设置(默认)tracing=True会始终启用跟踪(覆盖其他所有设置)tracing=False会始终禁用跟踪(覆盖其他所有设置)tracing=None或未提供时,会检查更低优先级的设置
-
环境变量(第二优先级):
CREWAI_TRACING_ENABLED=true- 仅当代码中没有显式将
tracing设为True或False时才会检查 - 设置为
true或1即可启用跟踪
- 仅当代码中没有显式将
-
用户偏好(最低优先级):
Terminal window crewai traces enable- 仅当代码中未设置
tracing,且CREWAI_TRACING_ENABLED也未设为true时才会检查 - 仅运行
crewai traces enable也足以启用跟踪
- 仅当代码中未设置