mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-05 22:28:29 +00:00
Compare commits
36 Commits
1.0.0.a1
...
gl/fix/cac
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af84ba2272 | ||
|
|
e93d597721 | ||
|
|
a414e7f2a7 | ||
|
|
fbcd8bcd83 | ||
|
|
5f776bbb0a | ||
|
|
909b2fd0ef | ||
|
|
929f9dadb4 | ||
|
|
4ef4632a8c | ||
|
|
c246df3cb2 | ||
|
|
4fd40e7857 | ||
|
|
25204c6cb8 | ||
|
|
b44776c367 | ||
|
|
843801f554 | ||
|
|
2faa13ddcb | ||
|
|
e385b45667 | ||
|
|
f03567d463 | ||
|
|
e9f4ac070b | ||
|
|
bcee792390 | ||
|
|
221bfcccce | ||
|
|
4812986f58 | ||
|
|
23c60befd8 | ||
|
|
8dd3493e9c | ||
|
|
9306d889a7 | ||
|
|
8354cdf061 | ||
|
|
2ba48dd82a | ||
|
|
0bab041531 | ||
|
|
eed2ffde5f | ||
|
|
b6e7311d2d | ||
|
|
90ca02b9dc | ||
|
|
06d5c3f170 | ||
|
|
b94fbd3d3a | ||
|
|
43880b49a6 | ||
|
|
bdfc38ba32 | ||
|
|
94029017c3 | ||
|
|
89df777887 | ||
|
|
d1fbf24d9e |
46
.github/workflows/build-uv-cache.yml
vendored
46
.github/workflows/build-uv-cache.yml
vendored
@@ -1,46 +0,0 @@
|
||||
name: Build uv cache
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "uv.lock"
|
||||
- "pyproject.toml"
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build-cache:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
version: "0.8.4"
|
||||
python-version: ${{ matrix.python-version }}
|
||||
enable-cache: false
|
||||
|
||||
- name: Install dependencies and populate cache
|
||||
run: |
|
||||
echo "Building global UV cache for Python ${{ matrix.python-version }}..."
|
||||
uv sync --all-groups --all-extras --no-install-project
|
||||
echo "Cache populated successfully"
|
||||
|
||||
- name: Save uv caches
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
|
||||
102
.github/workflows/codeql.yml
vendored
102
.github/workflows/codeql.yml
vendored
@@ -1,102 +0,0 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL Advanced"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
paths-ignore:
|
||||
- "lib/crewai/src/crewai/cli/templates/**"
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
paths-ignore:
|
||||
- "lib/crewai/src/crewai/cli/templates/**"
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze (${{ matrix.language }})
|
||||
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||
# - https://gh.io/supported-runners-and-hardware-resources
|
||||
# - https://gh.io/using-larger-runners (GitHub.com only)
|
||||
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
|
||||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||
permissions:
|
||||
# required for all workflows
|
||||
security-events: write
|
||||
|
||||
# required to fetch internal or private CodeQL packs
|
||||
packages: read
|
||||
|
||||
# only required for workflows in private repositories
|
||||
actions: read
|
||||
contents: read
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- language: actions
|
||||
build-mode: none
|
||||
- language: python
|
||||
build-mode: none
|
||||
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
|
||||
# Use `c-cpp` to analyze code written in C, C++ or both
|
||||
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
|
||||
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
||||
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
|
||||
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
|
||||
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
|
||||
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Add any setup steps before running the `github/codeql-action/init` action.
|
||||
# This includes steps like installing compilers or runtimes (`actions/setup-node`
|
||||
# or others). This is typically only required for manual builds.
|
||||
# - name: Setup runtime (example)
|
||||
# uses: actions/setup-example@v1
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
build-mode: ${{ matrix.build-mode }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
# If the analyze step fails for one of the languages you are analyzing with
|
||||
# "We were unable to automatically build your code", modify the matrix above
|
||||
# to set the build mode to "manual" for that language. Then modify this step
|
||||
# to build your code.
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
- if: matrix.build-mode == 'manual'
|
||||
shell: bash
|
||||
run: |
|
||||
echo 'If you are using a "manual" build mode for one or more of the' \
|
||||
'languages you are analyzing, replace this with the commands to build' \
|
||||
'your code, for example:'
|
||||
echo ' make bootstrap'
|
||||
echo ' make release'
|
||||
exit 1
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
45
.github/workflows/linter.yml
vendored
45
.github/workflows/linter.yml
vendored
@@ -2,9 +2,6 @@ name: Lint
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -18,27 +15,19 @@ jobs:
|
||||
- name: Fetch Target Branch
|
||||
run: git fetch origin $TARGET_BRANCH --depth=1
|
||||
|
||||
- name: Restore global uv cache
|
||||
id: cache-restore
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py3.11-${{ hashFiles('uv.lock') }}
|
||||
restore-keys: |
|
||||
uv-main-py3.11-
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
version: "0.8.4"
|
||||
python-version: "3.11"
|
||||
enable-cache: false
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
**/pyproject.toml
|
||||
**/uv.lock
|
||||
|
||||
- name: Set up Python
|
||||
run: uv python install 3.11
|
||||
|
||||
- name: Install dependencies
|
||||
run: uv sync --all-groups --all-extras --no-install-project
|
||||
run: uv sync --dev --no-install-project
|
||||
|
||||
- name: Get Changed Python Files
|
||||
id: changed-files
|
||||
@@ -52,17 +41,7 @@ jobs:
|
||||
- name: Run Ruff on Changed Files
|
||||
if: ${{ steps.changed-files.outputs.files != '' }}
|
||||
run: |
|
||||
echo "${{ steps.changed-files.outputs.files }}" \
|
||||
| tr ' ' '\n' \
|
||||
| grep -v 'src/crewai/cli/templates/' \
|
||||
| xargs -I{} uv run ruff check "{}"
|
||||
|
||||
- name: Save uv caches
|
||||
if: steps.cache-restore.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py3.11-${{ hashFiles('uv.lock') }}
|
||||
echo "${{ steps.changed-files.outputs.files }}" \
|
||||
| tr ' ' '\n' \
|
||||
| grep -v 'src/crewai/cli/templates/' \
|
||||
| xargs -I{} uv run ruff check "{}"
|
||||
|
||||
71
.github/workflows/publish.yml
vendored
71
.github/workflows/publish.yml
vendored
@@ -1,71 +0,0 @@
|
||||
name: Publish to PyPI
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [ published ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
if: github.event.release.prerelease == true
|
||||
name: Build packages
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.12"
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v4
|
||||
|
||||
- name: Build packages
|
||||
run: |
|
||||
uv build --all-packages
|
||||
rm dist/.gitignore
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: dist
|
||||
path: dist/
|
||||
|
||||
publish:
|
||||
if: github.event.release.prerelease == true
|
||||
name: Publish to PyPI
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
environment:
|
||||
name: pypi
|
||||
url: https://pypi.org/p/crewai
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: read
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
version: "0.8.4"
|
||||
python-version: "3.12"
|
||||
enable-cache: false
|
||||
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: dist
|
||||
path: dist
|
||||
|
||||
- name: Publish to PyPI
|
||||
env:
|
||||
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
||||
run: |
|
||||
for package in dist/*; do
|
||||
echo "Publishing $package"
|
||||
uv publish "$package"
|
||||
done
|
||||
29
.github/workflows/security-checker.yml
vendored
Normal file
29
.github/workflows/security-checker.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
name: Security Checker
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
security-check:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
**/pyproject.toml
|
||||
**/uv.lock
|
||||
|
||||
- name: Set up Python
|
||||
run: uv python install 3.11
|
||||
|
||||
- name: Install dependencies
|
||||
run: uv sync --dev --no-install-project
|
||||
|
||||
- name: Run Bandit
|
||||
run: uv run bandit -c pyproject.toml -r src/ -ll
|
||||
|
||||
88
.github/workflows/tests.yml
vendored
88
.github/workflows/tests.yml
vendored
@@ -3,19 +3,11 @@ name: Run Tests
|
||||
on: [pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
contents: write
|
||||
|
||||
env:
|
||||
OPENAI_API_KEY: fake-api-key
|
||||
PYTHONUNBUFFERED: 1
|
||||
BRAVE_API_KEY: fake-brave-key
|
||||
SNOWFLAKE_USER: fake-snowflake-user
|
||||
SNOWFLAKE_PASSWORD: fake-snowflake-password
|
||||
SNOWFLAKE_ACCOUNT: fake-snowflake-account
|
||||
SNOWFLAKE_WAREHOUSE: fake-snowflake-warehouse
|
||||
SNOWFLAKE_DATABASE: fake-snowflake-database
|
||||
SNOWFLAKE_SCHEMA: fake-snowflake-schema
|
||||
EMBEDCHAIN_DB_URI: sqlite:///test.db
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
@@ -30,73 +22,24 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for proper diff
|
||||
|
||||
- name: Restore global uv cache
|
||||
id: cache-restore
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
|
||||
restore-keys: |
|
||||
uv-main-py${{ matrix.python-version }}-
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
version: "0.8.4"
|
||||
python-version: ${{ matrix.python-version }}
|
||||
enable-cache: false
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
**/pyproject.toml
|
||||
**/uv.lock
|
||||
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
run: uv python install ${{ matrix.python-version }}
|
||||
|
||||
- name: Install the project
|
||||
run: uv sync --all-groups --all-extras
|
||||
|
||||
- name: Restore test durations
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: .test_durations_py*
|
||||
key: test-durations-py${{ matrix.python-version }}
|
||||
run: uv sync --dev --all-extras
|
||||
|
||||
- name: Run tests (group ${{ matrix.group }} of 8)
|
||||
run: |
|
||||
PYTHON_VERSION_SAFE=$(echo "${{ matrix.python-version }}" | tr '.' '_')
|
||||
DURATION_FILE="../../.test_durations_py${PYTHON_VERSION_SAFE}"
|
||||
|
||||
# Temporarily always skip cached durations to fix test splitting
|
||||
# When durations don't match, pytest-split runs duplicate tests instead of splitting
|
||||
echo "Using even test splitting (duration cache disabled until fix merged)"
|
||||
DURATIONS_ARG=""
|
||||
|
||||
# Original logic (disabled temporarily):
|
||||
# if [ ! -f "$DURATION_FILE" ]; then
|
||||
# echo "No cached durations found, tests will be split evenly"
|
||||
# DURATIONS_ARG=""
|
||||
# elif git diff origin/${{ github.base_ref }}...HEAD --name-only 2>/dev/null | grep -q "^tests/.*\.py$"; then
|
||||
# echo "Test files have changed, skipping cached durations to avoid mismatches"
|
||||
# DURATIONS_ARG=""
|
||||
# else
|
||||
# echo "No test changes detected, using cached test durations for optimal splitting"
|
||||
# DURATIONS_ARG="--durations-path=${DURATION_FILE}"
|
||||
# fi
|
||||
|
||||
cd lib/crewai && uv run pytest \
|
||||
--block-network \
|
||||
--timeout=30 \
|
||||
-vv \
|
||||
--splits 8 \
|
||||
--group ${{ matrix.group }} \
|
||||
$DURATIONS_ARG \
|
||||
--durations=10 \
|
||||
-n auto \
|
||||
--maxfail=3
|
||||
|
||||
- name: Run tool tests (group ${{ matrix.group }} of 8)
|
||||
run: |
|
||||
cd lib/crewai-tools && uv run pytest \
|
||||
uv run pytest \
|
||||
--block-network \
|
||||
--timeout=30 \
|
||||
-vv \
|
||||
@@ -105,14 +48,3 @@ jobs:
|
||||
--durations=10 \
|
||||
-n auto \
|
||||
--maxfail=3
|
||||
|
||||
|
||||
- name: Save uv caches
|
||||
if: steps.cache-restore.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
|
||||
|
||||
36
.github/workflows/type-checker.yml
vendored
36
.github/workflows/type-checker.yml
vendored
@@ -3,7 +3,7 @@ name: Run Type Checks
|
||||
on: [pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
type-checker-matrix:
|
||||
@@ -20,27 +20,19 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0 # Fetch all history for proper diff
|
||||
|
||||
- name: Restore global uv cache
|
||||
id: cache-restore
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
|
||||
restore-keys: |
|
||||
uv-main-py${{ matrix.python-version }}-
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
version: "0.8.4"
|
||||
python-version: ${{ matrix.python-version }}
|
||||
enable-cache: false
|
||||
enable-cache: true
|
||||
cache-dependency-glob: |
|
||||
**/pyproject.toml
|
||||
**/uv.lock
|
||||
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
run: uv python install ${{ matrix.python-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: uv sync --all-groups --all-extras
|
||||
run: uv sync --dev --no-install-project
|
||||
|
||||
- name: Get changed Python files
|
||||
id: changed-files
|
||||
@@ -74,16 +66,6 @@ jobs:
|
||||
if: steps.changed-files.outputs.has_changes == 'false'
|
||||
run: echo "No Python files in src/ were modified - skipping type checks"
|
||||
|
||||
- name: Save uv caches
|
||||
if: steps.cache-restore.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
|
||||
|
||||
# Summary job to provide single status for branch protection
|
||||
type-checker:
|
||||
name: type-checker
|
||||
|
||||
71
.github/workflows/update-test-durations.yml
vendored
71
.github/workflows/update-test-durations.yml
vendored
@@ -1,71 +0,0 @@
|
||||
name: Update Test Durations
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'tests/**/*.py'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
update-durations:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ['3.10', '3.11', '3.12', '3.13']
|
||||
env:
|
||||
OPENAI_API_KEY: fake-api-key
|
||||
PYTHONUNBUFFERED: 1
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Restore global uv cache
|
||||
id: cache-restore
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
|
||||
restore-keys: |
|
||||
uv-main-py${{ matrix.python-version }}-
|
||||
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v6
|
||||
with:
|
||||
version: "0.8.4"
|
||||
python-version: ${{ matrix.python-version }}
|
||||
enable-cache: false
|
||||
|
||||
- name: Install the project
|
||||
run: uv sync --all-groups --all-extras
|
||||
|
||||
- name: Run all tests and store durations
|
||||
run: |
|
||||
PYTHON_VERSION_SAFE=$(echo "${{ matrix.python-version }}" | tr '.' '_')
|
||||
uv run pytest --store-durations --durations-path=.test_durations_py${PYTHON_VERSION_SAFE} -n auto
|
||||
continue-on-error: true
|
||||
|
||||
- name: Save durations to cache
|
||||
if: always()
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: .test_durations_py*
|
||||
key: test-durations-py${{ matrix.python-version }}
|
||||
|
||||
- name: Save uv caches
|
||||
if: steps.cache-restore.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cache/uv
|
||||
~/.local/share/uv
|
||||
.venv
|
||||
key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,6 +2,7 @@
|
||||
.pytest_cache
|
||||
__pycache__
|
||||
dist/
|
||||
lib/
|
||||
.env
|
||||
assets/*
|
||||
.idea
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
repos:
|
||||
- repo: local
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.12.11
|
||||
hooks:
|
||||
- id: ruff
|
||||
name: ruff
|
||||
entry: uv run ruff check
|
||||
language: system
|
||||
types: [python]
|
||||
exclude: ^lib/crewai/
|
||||
args: ["--config", "pyproject.toml"]
|
||||
- id: ruff-format
|
||||
name: ruff-format
|
||||
entry: uv run ruff format
|
||||
language: system
|
||||
types: [python]
|
||||
exclude: ^lib/crewai/
|
||||
args: ["--config", "pyproject.toml"]
|
||||
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||
rev: v1.17.1
|
||||
hooks:
|
||||
- id: mypy
|
||||
name: mypy
|
||||
entry: uv run mypy
|
||||
language: system
|
||||
types: [python]
|
||||
exclude: ^lib/crewai/
|
||||
args: ["--strict", "--exclude", "src/crewai/cli/templates"]
|
||||
files: ^src/
|
||||
exclude: ^tests/
|
||||
|
||||
182
docs/docs.json
182
docs/docs.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "https://mintlify.com/docs.json",
|
||||
"theme": "aspen",
|
||||
"theme": "mint",
|
||||
"name": "CrewAI",
|
||||
"colors": {
|
||||
"primary": "#EB6658",
|
||||
@@ -28,21 +28,20 @@
|
||||
"icon": "discourse"
|
||||
},
|
||||
{
|
||||
"anchor": "Blog",
|
||||
"href": "https://blog.crewai.com",
|
||||
"icon": "newspaper"
|
||||
},
|
||||
{
|
||||
"anchor": "CrewGPT",
|
||||
"anchor": "Crew GPT",
|
||||
"href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant",
|
||||
"icon": "robot"
|
||||
},
|
||||
{
|
||||
"anchor": "Releases",
|
||||
"href": "https://github.com/crewAIInc/crewAI/releases",
|
||||
"icon": "tag"
|
||||
}
|
||||
]
|
||||
},
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Documentation",
|
||||
"icon": "book-open",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Get Started",
|
||||
@@ -53,22 +52,18 @@
|
||||
"pages": [
|
||||
{
|
||||
"group": "Strategy",
|
||||
"icon": "compass",
|
||||
"pages": ["en/guides/concepts/evaluating-use-cases"]
|
||||
},
|
||||
{
|
||||
"group": "Agents",
|
||||
"icon": "user",
|
||||
"pages": ["en/guides/agents/crafting-effective-agents"]
|
||||
},
|
||||
{
|
||||
"group": "Crews",
|
||||
"icon": "users",
|
||||
"pages": ["en/guides/crews/first-crew"]
|
||||
},
|
||||
{
|
||||
"group": "Flows",
|
||||
"icon": "code-branch",
|
||||
"pages": [
|
||||
"en/guides/flows/first-flow",
|
||||
"en/guides/flows/mastering-flow-state"
|
||||
@@ -76,7 +71,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Advanced",
|
||||
"icon": "gear",
|
||||
"pages": [
|
||||
"en/guides/advanced/customizing-prompts",
|
||||
"en/guides/advanced/fingerprinting"
|
||||
@@ -122,7 +116,6 @@
|
||||
"en/tools/overview",
|
||||
{
|
||||
"group": "File & Document",
|
||||
"icon": "folder-open",
|
||||
"pages": [
|
||||
"en/tools/file-document/overview",
|
||||
"en/tools/file-document/filereadtool",
|
||||
@@ -142,7 +135,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Web Scraping & Browsing",
|
||||
"icon": "globe",
|
||||
"pages": [
|
||||
"en/tools/web-scraping/overview",
|
||||
"en/tools/web-scraping/scrapewebsitetool",
|
||||
@@ -162,7 +154,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Search & Research",
|
||||
"icon": "magnifying-glass",
|
||||
"pages": [
|
||||
"en/tools/search-research/overview",
|
||||
"en/tools/search-research/serperdevtool",
|
||||
@@ -184,7 +175,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Database & Data",
|
||||
"icon": "database",
|
||||
"pages": [
|
||||
"en/tools/database-data/overview",
|
||||
"en/tools/database-data/mysqltool",
|
||||
@@ -199,7 +189,6 @@
|
||||
},
|
||||
{
|
||||
"group": "AI & Machine Learning",
|
||||
"icon": "brain",
|
||||
"pages": [
|
||||
"en/tools/ai-ml/overview",
|
||||
"en/tools/ai-ml/dalletool",
|
||||
@@ -213,26 +202,16 @@
|
||||
},
|
||||
{
|
||||
"group": "Cloud & Storage",
|
||||
"icon": "cloud",
|
||||
"pages": [
|
||||
"en/tools/cloud-storage/overview",
|
||||
"en/tools/cloud-storage/s3readertool",
|
||||
"en/tools/cloud-storage/s3writertool",
|
||||
"en/tools/cloud-storage/bedrockinvokeagenttool",
|
||||
"en/tools/cloud-storage/bedrockkbretriever"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Integrations",
|
||||
"icon": "plug",
|
||||
"pages": [
|
||||
"en/tools/tool-integrations/overview",
|
||||
"en/tools/tool-integrations/bedrockinvokeagenttool",
|
||||
"en/tools/tool-integrations/crewaiautomationtool"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Automation",
|
||||
"icon": "bolt",
|
||||
"group": "Automation & Integration",
|
||||
"pages": [
|
||||
"en/tools/automation/overview",
|
||||
"en/tools/automation/apifyactorstool",
|
||||
@@ -294,7 +273,6 @@
|
||||
},
|
||||
{
|
||||
"tab": "Enterprise",
|
||||
"icon": "briefcase",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Getting Started",
|
||||
@@ -361,7 +339,6 @@
|
||||
},
|
||||
{
|
||||
"tab": "API Reference",
|
||||
"icon": "magnifying-glass",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Getting Started",
|
||||
@@ -376,23 +353,12 @@
|
||||
},
|
||||
{
|
||||
"tab": "Examples",
|
||||
"icon": "code",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Examples",
|
||||
"pages": ["en/examples/example", "en/examples/cookbooks"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "Changelog",
|
||||
"icon": "clock",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Release Notes",
|
||||
"pages": ["en/changelog"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -411,21 +377,20 @@
|
||||
"icon": "discourse"
|
||||
},
|
||||
{
|
||||
"anchor": "Blog",
|
||||
"href": "https://blog.crewai.com",
|
||||
"icon": "newspaper"
|
||||
},
|
||||
{
|
||||
"anchor": "CrewGPT",
|
||||
"anchor": "Crew GPT",
|
||||
"href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant",
|
||||
"icon": "robot"
|
||||
},
|
||||
{
|
||||
"anchor": "Lançamentos",
|
||||
"href": "https://github.com/crewAIInc/crewAI/releases",
|
||||
"icon": "tag"
|
||||
}
|
||||
]
|
||||
},
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "Documentação",
|
||||
"icon": "book-open",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Começando",
|
||||
@@ -440,22 +405,18 @@
|
||||
"pages": [
|
||||
{
|
||||
"group": "Estratégia",
|
||||
"icon": "compass",
|
||||
"pages": ["pt-BR/guides/concepts/evaluating-use-cases"]
|
||||
},
|
||||
{
|
||||
"group": "Agentes",
|
||||
"icon": "user",
|
||||
"pages": ["pt-BR/guides/agents/crafting-effective-agents"]
|
||||
},
|
||||
{
|
||||
"group": "Crews",
|
||||
"icon": "users",
|
||||
"pages": ["pt-BR/guides/crews/first-crew"]
|
||||
},
|
||||
{
|
||||
"group": "Flows",
|
||||
"icon": "code-branch",
|
||||
"pages": [
|
||||
"pt-BR/guides/flows/first-flow",
|
||||
"pt-BR/guides/flows/mastering-flow-state"
|
||||
@@ -463,7 +424,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Avançado",
|
||||
"icon": "gear",
|
||||
"pages": [
|
||||
"pt-BR/guides/advanced/customizing-prompts",
|
||||
"pt-BR/guides/advanced/fingerprinting"
|
||||
@@ -509,7 +469,6 @@
|
||||
"pt-BR/tools/overview",
|
||||
{
|
||||
"group": "Arquivo & Documento",
|
||||
"icon": "folder-open",
|
||||
"pages": [
|
||||
"pt-BR/tools/file-document/overview",
|
||||
"pt-BR/tools/file-document/filereadtool",
|
||||
@@ -527,7 +486,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Web Scraping & Navegação",
|
||||
"icon": "globe",
|
||||
"pages": [
|
||||
"pt-BR/tools/web-scraping/overview",
|
||||
"pt-BR/tools/web-scraping/scrapewebsitetool",
|
||||
@@ -546,7 +504,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Pesquisa",
|
||||
"icon": "magnifying-glass",
|
||||
"pages": [
|
||||
"pt-BR/tools/search-research/overview",
|
||||
"pt-BR/tools/search-research/serperdevtool",
|
||||
@@ -562,7 +519,6 @@
|
||||
},
|
||||
{
|
||||
"group": "Dados",
|
||||
"icon": "database",
|
||||
"pages": [
|
||||
"pt-BR/tools/database-data/overview",
|
||||
"pt-BR/tools/database-data/mysqltool",
|
||||
@@ -575,7 +531,6 @@
|
||||
},
|
||||
{
|
||||
"group": "IA & Machine Learning",
|
||||
"icon": "brain",
|
||||
"pages": [
|
||||
"pt-BR/tools/ai-ml/overview",
|
||||
"pt-BR/tools/ai-ml/dalletool",
|
||||
@@ -589,26 +544,16 @@
|
||||
},
|
||||
{
|
||||
"group": "Cloud & Armazenamento",
|
||||
"icon": "cloud",
|
||||
"pages": [
|
||||
"pt-BR/tools/cloud-storage/overview",
|
||||
"pt-BR/tools/cloud-storage/s3readertool",
|
||||
"pt-BR/tools/cloud-storage/s3writertool",
|
||||
"pt-BR/tools/cloud-storage/bedrockinvokeagenttool",
|
||||
"pt-BR/tools/cloud-storage/bedrockkbretriever"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Integrações",
|
||||
"icon": "plug",
|
||||
"pages": [
|
||||
"pt-BR/tools/tool-integrations/overview",
|
||||
"pt-BR/tools/tool-integrations/bedrockinvokeagenttool",
|
||||
"pt-BR/tools/tool-integrations/crewaiautomationtool"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "Automação",
|
||||
"icon": "bolt",
|
||||
"group": "Automação & Integração",
|
||||
"pages": [
|
||||
"pt-BR/tools/automation/overview",
|
||||
"pt-BR/tools/automation/apifyactorstool",
|
||||
@@ -668,7 +613,6 @@
|
||||
},
|
||||
{
|
||||
"tab": "Enterprise",
|
||||
"icon": "briefcase",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Começando",
|
||||
@@ -736,7 +680,6 @@
|
||||
},
|
||||
{
|
||||
"tab": "Referência da API",
|
||||
"icon": "magnifying-glass",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Começando",
|
||||
@@ -751,23 +694,12 @@
|
||||
},
|
||||
{
|
||||
"tab": "Exemplos",
|
||||
"icon": "code",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Exemplos",
|
||||
"pages": ["pt-BR/examples/example", "pt-BR/examples/cookbooks"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "Notas de Versão",
|
||||
"icon": "clock",
|
||||
"groups": [
|
||||
{
|
||||
"group": "Notas de Versão",
|
||||
"pages": ["pt-BR/changelog"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -786,21 +718,20 @@
|
||||
"icon": "discourse"
|
||||
},
|
||||
{
|
||||
"anchor": "블로그",
|
||||
"href": "https://blog.crewai.com",
|
||||
"icon": "newspaper"
|
||||
},
|
||||
{
|
||||
"anchor": "CrewGPT",
|
||||
"anchor": "Crew GPT",
|
||||
"href": "https://chatgpt.com/g/g-qqTuUWsBY-crewai-assistant",
|
||||
"icon": "robot"
|
||||
},
|
||||
{
|
||||
"anchor": "릴리스",
|
||||
"href": "https://github.com/crewAIInc/crewAI/releases",
|
||||
"icon": "tag"
|
||||
}
|
||||
]
|
||||
},
|
||||
"tabs": [
|
||||
{
|
||||
"tab": "기술 문서",
|
||||
"icon": "book-open",
|
||||
"groups": [
|
||||
{
|
||||
"group": "시작 안내",
|
||||
@@ -811,22 +742,18 @@
|
||||
"pages": [
|
||||
{
|
||||
"group": "전략",
|
||||
"icon": "compass",
|
||||
"pages": ["ko/guides/concepts/evaluating-use-cases"]
|
||||
},
|
||||
{
|
||||
"group": "에이전트 (Agents)",
|
||||
"icon": "user",
|
||||
"pages": ["ko/guides/agents/crafting-effective-agents"]
|
||||
},
|
||||
{
|
||||
"group": "크루 (Crews)",
|
||||
"icon": "users",
|
||||
"pages": ["ko/guides/crews/first-crew"]
|
||||
},
|
||||
{
|
||||
"group": "플로우 (Flows)",
|
||||
"icon": "code-branch",
|
||||
"pages": [
|
||||
"ko/guides/flows/first-flow",
|
||||
"ko/guides/flows/mastering-flow-state"
|
||||
@@ -834,7 +761,6 @@
|
||||
},
|
||||
{
|
||||
"group": "고급",
|
||||
"icon": "gear",
|
||||
"pages": [
|
||||
"ko/guides/advanced/customizing-prompts",
|
||||
"ko/guides/advanced/fingerprinting"
|
||||
@@ -880,7 +806,6 @@
|
||||
"ko/tools/overview",
|
||||
{
|
||||
"group": "파일 & 문서",
|
||||
"icon": "folder-open",
|
||||
"pages": [
|
||||
"ko/tools/file-document/overview",
|
||||
"ko/tools/file-document/filereadtool",
|
||||
@@ -900,7 +825,6 @@
|
||||
},
|
||||
{
|
||||
"group": "웹 스크래핑 & 브라우징",
|
||||
"icon": "globe",
|
||||
"pages": [
|
||||
"ko/tools/web-scraping/overview",
|
||||
"ko/tools/web-scraping/scrapewebsitetool",
|
||||
@@ -920,7 +844,6 @@
|
||||
},
|
||||
{
|
||||
"group": "검색 및 연구",
|
||||
"icon": "magnifying-glass",
|
||||
"pages": [
|
||||
"ko/tools/search-research/overview",
|
||||
"ko/tools/search-research/serperdevtool",
|
||||
@@ -942,7 +865,6 @@
|
||||
},
|
||||
{
|
||||
"group": "데이터베이스 & 데이터",
|
||||
"icon": "database",
|
||||
"pages": [
|
||||
"ko/tools/database-data/overview",
|
||||
"ko/tools/database-data/mysqltool",
|
||||
@@ -957,7 +879,6 @@
|
||||
},
|
||||
{
|
||||
"group": "인공지능 & 머신러닝",
|
||||
"icon": "brain",
|
||||
"pages": [
|
||||
"ko/tools/ai-ml/overview",
|
||||
"ko/tools/ai-ml/dalletool",
|
||||
@@ -971,7 +892,6 @@
|
||||
},
|
||||
{
|
||||
"group": "클라우드 & 스토리지",
|
||||
"icon": "cloud",
|
||||
"pages": [
|
||||
"ko/tools/cloud-storage/overview",
|
||||
"ko/tools/cloud-storage/s3readertool",
|
||||
@@ -981,17 +901,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "통합",
|
||||
"icon": "plug",
|
||||
"pages": [
|
||||
"ko/tools/tool-integrations/overview",
|
||||
"ko/tools/tool-integrations/bedrockinvokeagenttool",
|
||||
"ko/tools/tool-integrations/crewaiautomationtool"
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": "자동화",
|
||||
"icon": "bolt",
|
||||
"group": "자동화 & 통합",
|
||||
"pages": [
|
||||
"ko/tools/automation/overview",
|
||||
"ko/tools/automation/apifyactorstool",
|
||||
@@ -1052,7 +962,6 @@
|
||||
},
|
||||
{
|
||||
"tab": "엔터프라이즈",
|
||||
"icon": "briefcase",
|
||||
"groups": [
|
||||
{
|
||||
"group": "시작 안내",
|
||||
@@ -1119,7 +1028,6 @@
|
||||
},
|
||||
{
|
||||
"tab": "API 레퍼런스",
|
||||
"icon": "magnifying-glass",
|
||||
"groups": [
|
||||
{
|
||||
"group": "시작 안내",
|
||||
@@ -1134,23 +1042,12 @@
|
||||
},
|
||||
{
|
||||
"tab": "예시",
|
||||
"icon": "code",
|
||||
"groups": [
|
||||
{
|
||||
"group": "예시",
|
||||
"pages": ["ko/examples/example", "ko/examples/cookbooks"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"tab": "변경 로그",
|
||||
"icon": "clock",
|
||||
"groups": [
|
||||
{
|
||||
"group": "릴리스 노트",
|
||||
"pages": ["ko/changelog"]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1160,23 +1057,15 @@
|
||||
"light": "/images/crew_only_logo.png",
|
||||
"dark": "/images/crew_only_logo.png"
|
||||
},
|
||||
"fonts": {
|
||||
"family": "Inter"
|
||||
},
|
||||
"appearance": {
|
||||
"default": "system",
|
||||
"strict": false,
|
||||
"layout": "sidenav"
|
||||
},
|
||||
"background": {
|
||||
"decoration": "grid"
|
||||
"default": "dark",
|
||||
"strict": false
|
||||
},
|
||||
"navbar": {
|
||||
"links": [
|
||||
{
|
||||
"label": "Start Cloud Trial",
|
||||
"href": "https://app.crewai.com",
|
||||
"icon": "arrow-up-right-from-square"
|
||||
"href": "https://app.crewai.com"
|
||||
}
|
||||
],
|
||||
"primary": {
|
||||
@@ -1195,20 +1084,7 @@
|
||||
}
|
||||
},
|
||||
"seo": {
|
||||
"indexing": "all",
|
||||
"metatags": {
|
||||
"og:type": "website",
|
||||
"og:site_name": "CrewAI Documentation",
|
||||
"og:image": "https://docs.crewai.com/images/crew_only_logo.png",
|
||||
"twitter:card": "summary_large_image",
|
||||
"twitter:site": "@crewAIInc",
|
||||
"keywords": "AI agents, multi-agent systems, CrewAI, artificial intelligence, automation, Python framework, agent collaboration, AI workflows"
|
||||
}
|
||||
},
|
||||
"feedback": {
|
||||
"enabled": true,
|
||||
"thumbsRating": true,
|
||||
"suggestEdit": true
|
||||
"indexing": "all"
|
||||
},
|
||||
"redirects": [
|
||||
{
|
||||
@@ -1229,7 +1105,7 @@
|
||||
},
|
||||
{
|
||||
"source": "/changelog",
|
||||
"destination": "/en/changelog"
|
||||
"destination": "https://github.com/crewAIInc/crewAI/releases"
|
||||
},
|
||||
{
|
||||
"source": "/telemetry",
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "GET /inputs"
|
||||
description: "Get required inputs for your crew"
|
||||
openapi: "/enterprise-api.en.yaml GET /inputs"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Introduction"
|
||||
description: "Complete reference for the CrewAI Enterprise REST API"
|
||||
icon: "code"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
# CrewAI Enterprise API
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "POST /kickoff"
|
||||
description: "Start a crew execution"
|
||||
openapi: "/enterprise-api.en.yaml POST /kickoff"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "GET /status/{kickoff_id}"
|
||||
description: "Get execution status"
|
||||
openapi: "/enterprise-api.en.yaml GET /status/{kickoff_id}"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,6 @@
|
||||
title: Agents
|
||||
description: Detailed guide on creating and managing agents within the CrewAI framework.
|
||||
icon: robot
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview of an Agent
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: CLI
|
||||
description: Learn how to use the CrewAI CLI to interact with CrewAI.
|
||||
icon: terminal
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
<Warning>Since release 0.140.0, CrewAI Enterprise started a process of migrating their login provider. As such, the authentication flow via CLI was updated. Users that use Google to login, or that created their account after July 3rd, 2025 will be unable to log in with older versions of the `crewai` library.</Warning>
|
||||
@@ -283,7 +282,7 @@ Watch this video tutorial for a step-by-step demonstration of deploying your cre
|
||||
allowfullscreen
|
||||
></iframe>
|
||||
|
||||
### 11. Login
|
||||
### 12. Login
|
||||
|
||||
Authenticate with CrewAI Enterprise using a secure device code flow (no email entry required).
|
||||
|
||||
@@ -301,7 +300,7 @@ Notes:
|
||||
- After successful login, the CLI also attempts to authenticate to the Tool Repository automatically
|
||||
- If you reset your configuration, run `crewai login` again to re-authenticate
|
||||
|
||||
### 12. API Keys
|
||||
### 13. API Keys
|
||||
|
||||
When running ```crewai create crew``` command, the CLI will show you a list of available LLM providers to choose from, followed by model selection for your chosen provider.
|
||||
|
||||
@@ -329,7 +328,7 @@ See the following link for each provider's key name:
|
||||
|
||||
* [LiteLLM Providers](https://docs.litellm.ai/docs/providers)
|
||||
|
||||
### 13. Configuration Management
|
||||
### 14. Configuration Management
|
||||
|
||||
Manage CLI configuration settings for CrewAI.
|
||||
|
||||
@@ -370,15 +369,19 @@ crewai config list
|
||||
```
|
||||
|
||||
Example output:
|
||||
| Setting | Value | Description |
|
||||
| :------------------ | :----------------------- | :---------------------------------------------------------- |
|
||||
| enterprise_base_url | https://app.crewai.com | Base URL of the CrewAI Enterprise instance |
|
||||
| org_name | Not set | Name of the currently active organization |
|
||||
| org_uuid | Not set | UUID of the currently active organization |
|
||||
| oauth2_provider | workos | OAuth2 provider (e.g., workos, okta, auth0) |
|
||||
| oauth2_audience | client_01YYY | Audience identifying the target API/resource |
|
||||
| oauth2_client_id | client_01XXX | OAuth2 client ID issued by the provider |
|
||||
| oauth2_domain | login.crewai.com | Provider domain (e.g., your-org.auth0.com) |
|
||||
```
|
||||
CrewAI CLI Configuration
|
||||
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
||||
┃ Setting ┃ Value ┃ Description ┃
|
||||
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
|
||||
│ enterprise_base_url│ https://app.crewai.com │ Base URL of the CrewAI Enterprise instance │
|
||||
│ org_name │ Not set │ Name of the currently active organization │
|
||||
│ org_uuid │ Not set │ UUID of the currently active organization │
|
||||
│ oauth2_provider │ workos │ OAuth2 provider used for authentication (e.g., workos, okta, auth0). │
|
||||
│ oauth2_audience │ client_01YYY │ OAuth2 audience value, typically used to identify the target API or resource. │
|
||||
│ oauth2_client_id │ client_01XXX │ OAuth2 client ID issued by the provider, used during authentication requests. │
|
||||
│ oauth2_domain │ login.crewai.com │ OAuth2 provider's domain (e.g., your-org.auth0.com) used for issuing tokens. │
|
||||
```
|
||||
|
||||
Set the enterprise base URL:
|
||||
```shell Terminal
|
||||
@@ -404,10 +407,6 @@ crewai config reset
|
||||
After resetting configuration, re-run `crewai login` to authenticate again.
|
||||
</Tip>
|
||||
|
||||
<Tip>
|
||||
CrewAI CLI handles authentication to the Tool Repository automatically when adding packages to your project. Just append `crewai` before any `uv` command to use it. E.g. `crewai uv add requests`. For more information, see [Tool Repository](https://docs.crewai.com/enterprise/features/tool-repository) docs.
|
||||
</Tip>
|
||||
|
||||
<Note>
|
||||
Configuration settings are stored in `~/.config/crewai/settings.json`. Some settings like organization name and UUID are read-only and managed through authentication and organization commands. Tool repository related settings are hidden and cannot be set directly by users.
|
||||
</Note>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Collaboration
|
||||
description: How to enable agents to work together, delegate tasks, and communicate effectively within CrewAI teams.
|
||||
icon: screen-users
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Crews
|
||||
description: Understanding and utilizing crews in the crewAI framework with comprehensive attributes and functionalities.
|
||||
icon: people-group
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: 'Event Listeners'
|
||||
description: 'Tap into CrewAI events to build custom integrations and monitoring'
|
||||
icon: spinner
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Flows
|
||||
description: Learn how to create and manage AI workflows using CrewAI Flows.
|
||||
icon: arrow-progress
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Knowledge
|
||||
description: What is knowledge in CrewAI and how to use it.
|
||||
icon: book
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: 'LLMs'
|
||||
description: 'A comprehensive guide to configuring and using Large Language Models (LLMs) in your CrewAI projects'
|
||||
icon: 'microchip-ai'
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,12 +2,11 @@
|
||||
title: Memory
|
||||
description: Leveraging memory systems in the CrewAI framework to enhance agent capabilities.
|
||||
icon: database
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
The CrewAI framework provides a sophisticated memory system designed to significantly enhance AI agent capabilities. CrewAI offers **two distinct memory approaches** that serve different use cases:
|
||||
The CrewAI framework provides a sophisticated memory system designed to significantly enhance AI agent capabilities. CrewAI offers **three distinct memory approaches** that serve different use cases:
|
||||
|
||||
1. **Basic Memory System** - Built-in short-term, long-term, and entity memory
|
||||
2. **External Memory** - Standalone external memory providers
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Planning
|
||||
description: Learn how to add planning to your CrewAI Crew and improve their performance.
|
||||
icon: ruler-combined
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Processes
|
||||
description: Detailed guide on workflow management through processes in CrewAI, with updated implementation details.
|
||||
icon: bars-staggered
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Reasoning
|
||||
description: "Learn how to enable and use agent reasoning to improve task execution."
|
||||
icon: brain
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Tasks
|
||||
description: Detailed guide on managing and creating tasks within the CrewAI framework.
|
||||
icon: list-check
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Testing
|
||||
description: Learn how to test your CrewAI Crew and evaluate their performance.
|
||||
icon: vial
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Tools
|
||||
description: Understanding and leveraging tools within the CrewAI framework for agent collaboration and task execution.
|
||||
icon: screwdriver-wrench
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Training
|
||||
description: Learn how to train your CrewAI agents by giving them feedback early on and get consistent results.
|
||||
icon: dumbbell
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: 'Agent Repositories'
|
||||
description: 'Learn how to use Agent Repositories to share and reuse your agents across teams and projects'
|
||||
icon: 'database'
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
Agent Repositories allow enterprise users to store, share, and reuse agent definitions across teams and projects. This feature enables organizations to maintain a centralized library of standardized agents, promoting consistency and reducing duplication of effort.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Hallucination Guardrail
|
||||
description: "Prevent and detect AI hallucinations in your CrewAI tasks"
|
||||
icon: "shield-check"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Integrations
|
||||
description: "Connected applications for your agents to take actions."
|
||||
icon: "plug"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Role-Based Access Control (RBAC)"
|
||||
description: "Control access to crews, tools, and data with roles, scopes, and granular permissions."
|
||||
icon: "shield"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Tool Repository
|
||||
description: "Using the Tool Repository to manage your tools"
|
||||
icon: "toolbox"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
@@ -52,36 +51,6 @@ researcher = Agent(
|
||||
)
|
||||
```
|
||||
|
||||
## Adding other packages after installing a tool
|
||||
|
||||
After installing a tool from the CrewAI Enterprise Tool Repository, you need to use the `crewai uv` command to add other packages to your project.
|
||||
Using pure `uv` commands will fail due to authentication to tool repository being handled by the CLI. By using the `crewai uv` command, you can add other packages to your project without having to worry about authentication.
|
||||
Any `uv` command can be used with the `crewai uv` command, making it a powerful tool for managing your project's dependencies without the hassle of managing authentication through environment variables or other methods.
|
||||
|
||||
Say that you have installed a custom tool from the CrewAI Enterprise Tool Repository called "my-tool":
|
||||
|
||||
```bash
|
||||
crewai tool install my-tool
|
||||
```
|
||||
|
||||
And now you want to add another package to your project, you can use the following command:
|
||||
|
||||
```bash
|
||||
crewai uv add requests
|
||||
```
|
||||
|
||||
Other commands like `uv sync` or `uv remove` can also be used with the `crewai uv` command:
|
||||
|
||||
```bash
|
||||
crewai uv sync
|
||||
```
|
||||
|
||||
```bash
|
||||
crewai uv remove requests
|
||||
```
|
||||
|
||||
This will add the package to your project and update `pyproject.toml` accordingly.
|
||||
|
||||
## Creating and Publishing Tools
|
||||
|
||||
To create a new tool project:
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Traces
|
||||
description: "Using Traces to monitor your Crews"
|
||||
icon: "timeline"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Webhook Streaming
|
||||
description: "Using Webhook Streaming to stream events to your webhook"
|
||||
icon: "webhook"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
@@ -63,96 +62,16 @@ As requests are sent over HTTP, the order of events can't be guaranteed. If you
|
||||
|
||||
CrewAI supports both system events and custom events in Enterprise Event Streaming. These events are sent to your configured webhook endpoint during crew and flow execution.
|
||||
|
||||
### Flow Events:
|
||||
|
||||
- flow_created
|
||||
- flow_started
|
||||
- flow_finished
|
||||
- flow_plot
|
||||
- method_execution_started
|
||||
- method_execution_finished
|
||||
- method_execution_failed
|
||||
|
||||
### Agent Events:
|
||||
|
||||
- agent_execution_started
|
||||
- agent_execution_completed
|
||||
- agent_execution_error
|
||||
- lite_agent_execution_started
|
||||
- lite_agent_execution_completed
|
||||
- lite_agent_execution_error
|
||||
- agent_logs_started
|
||||
- agent_logs_execution
|
||||
- agent_evaluation_started
|
||||
- agent_evaluation_completed
|
||||
- agent_evaluation_failed
|
||||
|
||||
### Crew Events:
|
||||
|
||||
- crew_kickoff_started
|
||||
- crew_kickoff_completed
|
||||
- crew_kickoff_failed
|
||||
- crew_train_started
|
||||
- crew_train_completed
|
||||
- crew_train_failed
|
||||
- crew_test_started
|
||||
- crew_test_completed
|
||||
- crew_test_failed
|
||||
- crew_test_result
|
||||
|
||||
### Task Events:
|
||||
|
||||
- task_started
|
||||
- task_completed
|
||||
- task_failed
|
||||
- task_evaluation
|
||||
|
||||
### Tool Usage Events:
|
||||
|
||||
- tool_usage_started
|
||||
- tool_usage_finished
|
||||
- tool_usage_error
|
||||
- tool_validate_input_error
|
||||
- tool_selection_error
|
||||
- tool_execution_error
|
||||
|
||||
### LLM Events:
|
||||
|
||||
- llm_call_started
|
||||
- llm_call_completed
|
||||
- llm_call_failed
|
||||
- llm_stream_chunk
|
||||
|
||||
### LLM Guardrail Events:
|
||||
|
||||
- llm_guardrail_started
|
||||
- llm_guardrail_completed
|
||||
|
||||
### Memory Events:
|
||||
|
||||
- memory_query_started
|
||||
- memory_query_completed
|
||||
- memory_query_failed
|
||||
- memory_save_started
|
||||
- memory_save_completed
|
||||
- memory_save_failed
|
||||
- memory_retrieval_started
|
||||
- memory_retrieval_completed
|
||||
|
||||
### Knowledge Events:
|
||||
|
||||
- knowledge_search_query_started
|
||||
- knowledge_search_query_completed
|
||||
- knowledge_search_query_failed
|
||||
- knowledge_query_started
|
||||
- knowledge_query_completed
|
||||
- knowledge_query_failed
|
||||
|
||||
### Reasoning Events:
|
||||
|
||||
- agent_reasoning_started
|
||||
- agent_reasoning_completed
|
||||
- agent_reasoning_failed
|
||||
- `crew_kickoff_started`
|
||||
- `crew_step_started`
|
||||
- `crew_step_completed`
|
||||
- `crew_execution_completed`
|
||||
- `llm_call_started`
|
||||
- `llm_call_completed`
|
||||
- `tool_usage_started`
|
||||
- `tool_usage_completed`
|
||||
- `crew_test_failed`
|
||||
- *...and others*
|
||||
|
||||
Event names match the internal event bus. See [GitHub source](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events) for the full list.
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Automation Triggers"
|
||||
description: "Automatically execute your CrewAI workflows when specific events occur in connected integrations"
|
||||
icon: "bolt"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
Automation triggers enable you to automatically run your CrewAI deployments when specific events occur in your connected integrations, creating powerful event-driven workflows that respond to real-time changes in your business systems.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Azure OpenAI Setup"
|
||||
description: "Configure Azure OpenAI with Crew Studio for enterprise LLM connections"
|
||||
icon: "microsoft"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
This guide walks you through connecting Azure OpenAI with Crew Studio for seamless enterprise AI operations.
|
||||
@@ -10,12 +9,12 @@ This guide walks you through connecting Azure OpenAI with Crew Studio for seamle
|
||||
## Setup Process
|
||||
|
||||
<Steps>
|
||||
<Step title="Access Azure AI Foundry">
|
||||
1. In Azure, go to [Azure AI Foundry](https://ai.azure.com/) > select your Azure OpenAI deployment.
|
||||
<Step title="Access Azure OpenAI Studio">
|
||||
1. In Azure, go to `Azure AI Services > select your deployment > open Azure OpenAI Studio`.
|
||||
2. On the left menu, click `Deployments`. If you don't have one, create a deployment with your desired model.
|
||||
3. Once created, select your deployment and locate the `Target URI` and `Key` on the right side of the page. Keep this page open, as you'll need this information.
|
||||
<Frame>
|
||||
<img src="/images/enterprise/azure-openai-studio.png" alt="Azure AI Foundry" />
|
||||
<img src="/images/enterprise/azure-openai-studio.png" alt="Azure OpenAI Studio" />
|
||||
</Frame>
|
||||
</Step>
|
||||
|
||||
@@ -49,4 +48,4 @@ If you encounter issues:
|
||||
- Verify the Target URI format matches the expected pattern
|
||||
- Check that the API key is correct and has proper permissions
|
||||
- Ensure network access is configured to allow CrewAI connections
|
||||
- Confirm the deployment model matches what you've configured in CrewAI
|
||||
- Confirm the deployment model matches what you've configured in CrewAI
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Build Crew"
|
||||
description: "A Crew is a group of agents that work together to complete a task."
|
||||
icon: "people-arrows"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Deploy Crew"
|
||||
description: "Deploying a Crew on CrewAI Enterprise"
|
||||
icon: "rocket"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
<Note>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Enable Crew Studio"
|
||||
description: "Enabling Crew Studio on CrewAI Enterprise"
|
||||
icon: "comments"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
<Tip>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "HubSpot Trigger"
|
||||
description: "Trigger CrewAI crews directly from HubSpot Workflows"
|
||||
icon: "hubspot"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
This guide provides a step-by-step process to set up HubSpot triggers for CrewAI Enterprise, enabling you to initiate crews directly from HubSpot Workflows.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "HITL Workflows"
|
||||
description: "Learn how to implement Human-In-The-Loop workflows in CrewAI for enhanced decision-making"
|
||||
icon: "user-check"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
Human-In-The-Loop (HITL) is a powerful approach that combines artificial intelligence with human expertise to enhance decision-making and improve task outcomes. This guide shows you how to implement HITL within CrewAI.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Kickoff Crew"
|
||||
description: "Kickoff a Crew on CrewAI Enterprise"
|
||||
icon: "flag-checkered"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "React Component Export"
|
||||
description: "Learn how to export and integrate CrewAI Enterprise React components into your applications"
|
||||
icon: "react"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
This guide explains how to export CrewAI Enterprise crews as React components and integrate them into your own applications.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Salesforce Trigger"
|
||||
description: "Trigger CrewAI crews from Salesforce workflows for CRM automation"
|
||||
icon: "salesforce"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
CrewAI Enterprise can be triggered from Salesforce to automate customer relationship management workflows and enhance your sales operations.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Slack Trigger"
|
||||
description: "Trigger CrewAI crews directly from Slack using slash commands"
|
||||
icon: "slack"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
This guide explains how to start a crew directly from Slack using CrewAI triggers.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Team Management"
|
||||
description: "Learn how to invite and manage team members in your CrewAI Enterprise organization"
|
||||
icon: "users"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
As an administrator of a CrewAI Enterprise account, you can easily invite new team members to join your organization. This guide will walk you through the process step-by-step.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Update Crew"
|
||||
description: "Updating a Crew on CrewAI Enterprise"
|
||||
icon: "pencil"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
<Note>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Webhook Automation"
|
||||
description: "Automate CrewAI Enterprise workflows using webhooks with platforms like ActivePieces, Zapier, and Make.com"
|
||||
icon: "webhook"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
CrewAI Enterprise allows you to automate your workflow using webhooks. This article will guide you through the process of setting up and using webhooks to kickoff your crew execution, with a focus on integration with ActivePieces, a workflow automation platform similar to Zapier and Make.com.
|
||||
@@ -80,24 +79,14 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
|
||||
|
||||
## Webhook Output Examples
|
||||
|
||||
**Note:** Any `meta` object provided in your kickoff request will be included in all webhook payloads, allowing you to track requests and maintain context across the entire crew execution lifecycle.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Step Webhook">
|
||||
`stepWebhookUrl` - Callback that will be executed upon each agent inner thought
|
||||
|
||||
```json
|
||||
{
|
||||
"prompt": "Research the financial industry for potential AI solutions",
|
||||
"thought": "I need to conduct preliminary research on the financial industry",
|
||||
"tool": "research_tool",
|
||||
"tool_input": "financial industry AI solutions",
|
||||
"result": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
|
||||
"kickoff_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
|
||||
"meta": {
|
||||
"requestId": "travel-req-123",
|
||||
"source": "web-app"
|
||||
}
|
||||
"action": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
|
||||
"task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0"
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
@@ -106,21 +95,8 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
|
||||
|
||||
```json
|
||||
{
|
||||
"description": "Using the information gathered from the lead's data, conduct preliminary research on the lead's industry, company background, and potential use cases for crewai. Focus on finding relevant data that can aid in scoring the lead and planning a strategy to pitch them crewai.",
|
||||
"name": "Industry Research Task",
|
||||
"expected_output": "Detailed research report on the financial industry",
|
||||
"summary": "The financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
|
||||
"agent": "Research Agent",
|
||||
"output": "**Preliminary Research Report on the Financial Industry for crewai Enterprise Solution**\n1. Industry Overview and Trends\nThe financial industry in ....\nConclusion:\nThe financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance.",
|
||||
"output_json": {
|
||||
"industry": "financial",
|
||||
"key_opportunities": ["digital customer engagement", "risk management", "regulatory compliance"]
|
||||
},
|
||||
"kickoff_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
|
||||
"meta": {
|
||||
"requestId": "travel-req-123",
|
||||
"source": "web-app"
|
||||
}
|
||||
"description": "Using the information gathered from the lead's data, conduct preliminary research on the lead's industry, company background, and potential use cases for crewai. Focus on finding relevant data that can aid in scoring the lead and planning a strategy to pitch them crewai.The financial industry presents a fertile ground for implementing AI solutions like crewai, particularly in areas such as digital customer engagement, risk management, and regulatory compliance. Further engagement with the lead is recommended to better tailor the crewai solution to their specific needs and scale.",
|
||||
"task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0"
|
||||
}
|
||||
```
|
||||
</Tab>
|
||||
@@ -129,9 +105,8 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
|
||||
|
||||
```json
|
||||
{
|
||||
"kickoff_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
|
||||
"result": "**Final Analysis Report**\n\nLead Score: Customer service enhancement and compliance are particularly relevant.\n\nTalking Points:\n- Highlight how crewai's AI solutions can transform customer service\n- Discuss crewai's potential for sustainability goals\n- Emphasize compliance capabilities\n- Stress adaptability for various operation scales",
|
||||
"result_json": {
|
||||
"task_id": "97eba64f-958c-40a0-b61c-625fe635a3c0",
|
||||
"result": {
|
||||
"lead_score": "Customer service enhancement, and compliance are particularly relevant.",
|
||||
"talking_points": [
|
||||
"Highlight how crewai's AI solutions can transform customer service with automated, personalized experiences and 24/7 support, improving both customer satisfaction and operational efficiency.",
|
||||
@@ -139,15 +114,6 @@ CrewAI Enterprise allows you to automate your workflow using webhooks. This arti
|
||||
"Emphasize crewai's ability to enhance compliance with evolving regulations through efficient data processing and reporting, reducing the risk of non-compliance penalties.",
|
||||
"Stress the adaptability of crewai to support both extensive multinational operations and smaller, targeted projects, ensuring the solution grows with the institution's needs."
|
||||
]
|
||||
},
|
||||
"token_usage": {
|
||||
"total_tokens": 1250,
|
||||
"prompt_tokens": 800,
|
||||
"completion_tokens": 450
|
||||
},
|
||||
"meta": {
|
||||
"requestId": "travel-req-123",
|
||||
"source": "web-app"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Zapier Trigger"
|
||||
description: "Trigger CrewAI crews from Zapier workflows to automate cross-app workflows"
|
||||
icon: "bolt"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
This guide will walk you through the process of setting up Zapier triggers for CrewAI Enterprise, allowing you to automate workflows between CrewAI Enterprise and other applications.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Asana Integration
|
||||
description: "Team task and project coordination with Asana integration for CrewAI."
|
||||
icon: "circle"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Box Integration
|
||||
description: "File storage and document management with Box integration for CrewAI."
|
||||
icon: "box"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: ClickUp Integration
|
||||
description: "Task and productivity management with ClickUp integration for CrewAI."
|
||||
icon: "list-check"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: GitHub Integration
|
||||
description: "Repository and issue management with GitHub integration for CrewAI."
|
||||
icon: "github"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Gmail Integration
|
||||
description: "Email and contact management with Gmail integration for CrewAI."
|
||||
icon: "envelope"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Google Calendar Integration
|
||||
description: "Event and schedule management with Google Calendar integration for CrewAI."
|
||||
icon: "calendar"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Google Sheets Integration
|
||||
description: "Spreadsheet data synchronization with Google Sheets integration for CrewAI."
|
||||
icon: "google"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "HubSpot Integration"
|
||||
description: "Manage companies and contacts in HubSpot with CrewAI."
|
||||
icon: "briefcase"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Jira Integration
|
||||
description: "Issue tracking and project management with Jira integration for CrewAI."
|
||||
icon: "bug"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Linear Integration
|
||||
description: "Software project and bug tracking with Linear integration for CrewAI."
|
||||
icon: "list-check"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Notion Integration
|
||||
description: "Page and database management with Notion integration for CrewAI."
|
||||
icon: "book"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Salesforce Integration
|
||||
description: "CRM and sales automation with Salesforce integration for CrewAI."
|
||||
icon: "salesforce"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Shopify Integration
|
||||
description: "E-commerce and online store management with Shopify integration for CrewAI."
|
||||
icon: "shopify"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Slack Integration
|
||||
description: "Team communication and collaboration with Slack integration for CrewAI."
|
||||
icon: "slack"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Stripe Integration
|
||||
description: "Payment processing and subscription management with Stripe integration for CrewAI."
|
||||
icon: "stripe"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Zendesk Integration
|
||||
description: "Customer support and helpdesk management with Zendesk integration for CrewAI."
|
||||
icon: "headset"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "CrewAI Enterprise"
|
||||
description: "Deploy, monitor, and scale your AI agent workflows"
|
||||
icon: "globe"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: FAQs
|
||||
description: "Frequently asked questions about CrewAI Enterprise"
|
||||
icon: "circle-question"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
<AccordionGroup>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: CrewAI Cookbooks
|
||||
description: Feature-focused quickstarts and notebooks for learning patterns fast.
|
||||
icon: book
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Quickstarts & Demos
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: CrewAI Examples
|
||||
description: Explore curated examples organized by Crews, Flows, Integrations, and Notebooks.
|
||||
icon: rocket-launch
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Crews
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Customizing Prompts
|
||||
description: Dive deeper into low-level prompt customization for CrewAI, enabling super custom and complex use cases for different models and languages.
|
||||
icon: message-pen
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Why Customize Prompts?
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Fingerprinting
|
||||
description: Learn how to use CrewAI's fingerprinting system to uniquely identify and track components throughout their lifecycle.
|
||||
icon: fingerprint
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Crafting Effective Agents
|
||||
description: Learn best practices for designing powerful, specialized AI agents that collaborate effectively to solve complex problems.
|
||||
icon: robot
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## The Art and Science of Agent Design
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Evaluating Use Cases for CrewAI
|
||||
description: Learn how to assess your AI application needs and choose the right approach between Crews and Flows based on complexity and precision requirements.
|
||||
icon: scale-balanced
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Understanding the Decision Framework
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Build Your First Crew
|
||||
description: Step-by-step tutorial to create a collaborative AI team that works together to solve complex problems.
|
||||
icon: users-gear
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Unleashing the Power of Collaborative AI
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Build Your First Flow
|
||||
description: Learn how to create structured, event-driven workflows with precise control over execution.
|
||||
icon: diagram-project
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Taking Control of AI Workflows with Flows
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Mastering Flow State Management
|
||||
description: A comprehensive guide to managing, persisting, and leveraging state in CrewAI Flows for building robust AI applications.
|
||||
icon: diagram-project
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Understanding the Power of State in Flows
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Installation
|
||||
description: Get started with CrewAI - Install, configure, and build your first AI crew
|
||||
icon: wrench
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Video Tutorial
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Introduction
|
||||
description: Build AI agent teams that work together to tackle complex tasks
|
||||
icon: handshake
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
# What is CrewAI?
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: Before and After Kickoff Hooks
|
||||
description: Learn how to use before and after kickoff hooks in CrewAI
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
CrewAI provides hooks that allow you to execute code before and after a crew's kickoff. These hooks are useful for preprocessing inputs or post-processing results.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Bring your own agent
|
||||
description: Learn how to bring your own agents that work within a Crew.
|
||||
icon: robots
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
Interoperability is a core concept in CrewAI. This guide will show you how to bring your own agents that work within a Crew.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Coding Agents
|
||||
description: Learn how to enable your CrewAI Agents to write and execute code, and explore advanced features for enhanced functionality.
|
||||
icon: rectangle-code
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Conditional Tasks
|
||||
description: Learn how to use conditional tasks in a crewAI kickoff
|
||||
icon: diagram-subtask
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Create Custom Tools
|
||||
description: Comprehensive guide on crafting, using, and managing custom tools within the CrewAI framework, including new functionalities and error handling.
|
||||
icon: hammer
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Creating and Utilizing Tools in CrewAI
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Custom LLM Implementation
|
||||
description: Learn how to create custom LLM implementations in CrewAI.
|
||||
icon: code
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Custom Manager Agent
|
||||
description: Learn how to set a custom agent as the manager in CrewAI, providing more control over task management and coordination.
|
||||
icon: user-shield
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
# Setting a Specific Agent as Manager in CrewAI
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Customize Agents
|
||||
description: A comprehensive guide to tailoring agents for specific roles, tasks, and advanced customizations within the CrewAI framework.
|
||||
icon: user-pen
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Customizable Attributes
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Image Generation with DALL-E"
|
||||
description: "Learn how to use DALL-E for AI-powered image generation in your CrewAI projects"
|
||||
icon: "image"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
CrewAI supports integration with OpenAI's DALL-E, allowing your AI agents to generate images as part of their tasks. This guide will walk you through how to set up and use the DALL-E tool in your CrewAI projects.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Force Tool Output as Result
|
||||
description: Learn how to force tool output as the result in an Agent's task in CrewAI.
|
||||
icon: wrench-simple
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Hierarchical Process
|
||||
description: A comprehensive guide to understanding and applying the hierarchical process within your CrewAI projects, updated to reflect the latest coding practices and functionalities.
|
||||
icon: sitemap
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: "Human-in-the-Loop (HITL) Workflows"
|
||||
description: "Learn how to implement Human-in-the-Loop workflows in CrewAI for enhanced decision-making"
|
||||
icon: "user-check"
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
Human-in-the-Loop (HITL) is a powerful approach that combines artificial intelligence with human expertise to enhance decision-making and improve task outcomes. This guide shows you how to implement HITL within CrewAI.
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Human Input on Execution
|
||||
description: Integrating CrewAI with human input during execution in complex decision-making processes and leveraging the full capabilities of the agent's attributes and tools.
|
||||
icon: user-check
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Human input in agent execution
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Kickoff Crew Asynchronously
|
||||
description: Kickoff a Crew Asynchronously
|
||||
icon: rocket-launch
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Kickoff Crew for Each
|
||||
description: Kickoff Crew for Each Item in a List
|
||||
icon: at
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: Connect to any LLM
|
||||
description: Comprehensive guide on integrating CrewAI with various Large Language Models (LLMs) using LiteLLM, including supported providers and configuration options.
|
||||
icon: brain-circuit
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## Connect CrewAI to LLMs
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
title: 'Strategic LLM Selection Guide'
|
||||
description: 'Strategic framework for choosing the right LLM for your CrewAI AI agents and writing effective task and agent definitions'
|
||||
icon: 'brain-circuit'
|
||||
mode: "wide"
|
||||
---
|
||||
|
||||
## The CrewAI Approach to LLM Selection
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user