diff --git a/docs/ar/concepts/agents.mdx b/docs/ar/concepts/agents.mdx index fe11b2545d..d3d1c045d0 100644 --- a/docs/ar/concepts/agents.mdx +++ b/docs/ar/concepts/agents.mdx @@ -283,7 +283,7 @@ analysis_agent = Agent( يمكن تجهيز الوكلاء بأدوات متنوعة لتعزيز قدراتهم. يدعم CrewAI أدوات من: -- [مجموعة أدوات CrewAI](https://github.com/joaomdmoura/crewai-tools) +- [مجموعة أدوات CrewAI](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) - [أدوات LangChain](https://python.langchain.com/docs/integrations/tools) إليك كيفية إضافة أدوات لوكيل: diff --git a/docs/ar/concepts/tasks.mdx b/docs/ar/concepts/tasks.mdx index bb239c5a5a..3ddc93e400 100644 --- a/docs/ar/concepts/tasks.mdx +++ b/docs/ar/concepts/tasks.mdx @@ -796,7 +796,7 @@ print("Blog:", result) ## دمج الأدوات مع المهام -استفد من أدوات [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) و [LangChain Tools](https://python.langchain.com/docs/integrations/tools) لتحسين أداء المهام وتفاعل الوكلاء. +استفد من أدوات [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) و [LangChain Tools](https://python.langchain.com/docs/integrations/tools) لتحسين أداء المهام وتفاعل الوكلاء. ## إنشاء مهمة بأدوات diff --git a/docs/ar/concepts/tools.mdx b/docs/ar/concepts/tools.mdx index 8b1e07aa13..529641ebee 100644 --- a/docs/ar/concepts/tools.mdx +++ b/docs/ar/concepts/tools.mdx @@ -17,7 +17,7 @@ mode: "wide" ## ما هي الأداة؟ الأداة في CrewAI هي مهارة أو وظيفة يمكن للوكلاء استخدامها لأداء إجراءات مختلفة. -يشمل ذلك أدوات من [مجموعة أدوات CrewAI](https://github.com/joaomdmoura/crewai-tools) و[أدوات LangChain](https://python.langchain.com/docs/integrations/tools)، +يشمل ذلك أدوات من [مجموعة أدوات CrewAI](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) و[أدوات LangChain](https://python.langchain.com/docs/integrations/tools)، مما يُمكّن كل شيء من عمليات البحث البسيطة إلى التفاعلات المعقدة والعمل الجماعي الفعال بين الوكلاء. diff --git a/docs/en/concepts/agents.mdx b/docs/en/concepts/agents.mdx index 5240c5a9f0..f96141e22d 100644 --- a/docs/en/concepts/agents.mdx +++ b/docs/en/concepts/agents.mdx @@ -347,7 +347,7 @@ multimodal_agent = Agent( Agents can be equipped with various tools to enhance their capabilities. CrewAI supports tools from: -- [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) +- [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) - [LangChain Tools](https://python.langchain.com/docs/integrations/tools) Here's how to add tools to an agent: diff --git a/docs/en/concepts/tasks.mdx b/docs/en/concepts/tasks.mdx index 842661dfe4..5febfd024d 100644 --- a/docs/en/concepts/tasks.mdx +++ b/docs/en/concepts/tasks.mdx @@ -797,7 +797,7 @@ By using output_pydantic or output_json, you ensure that your tasks produce outp ## Integrating Tools with Tasks -Leverage tools from the [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools) for enhanced task performance and agent interaction. +Leverage tools from the [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools) for enhanced task performance and agent interaction. ## Creating a Task with Tools diff --git a/docs/en/concepts/tools.mdx b/docs/en/concepts/tools.mdx index f634c9f957..930b08363b 100644 --- a/docs/en/concepts/tools.mdx +++ b/docs/en/concepts/tools.mdx @@ -17,7 +17,7 @@ This documentation outlines how to create, integrate, and leverage these tools w ## What is a Tool? A tool in CrewAI is a skill or function that agents can utilize to perform various actions. -This includes tools from the [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools), +This includes tools from the [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) and [LangChain Tools](https://python.langchain.com/docs/integrations/tools), enabling everything from simple searches to complex interactions and effective teamwork among agents. diff --git a/docs/ko/concepts/agents.mdx b/docs/ko/concepts/agents.mdx index 21bebbb82c..943fbba19d 100644 --- a/docs/ko/concepts/agents.mdx +++ b/docs/ko/concepts/agents.mdx @@ -322,7 +322,7 @@ multimodal_agent = Agent( ## 에이전트 도구 에이전트는 다양한 도구를 장착하여 그 능력을 향상시킬 수 있습니다. CrewAI는 다음의 도구들을 지원합니다: -- [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) +- [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) - [LangChain Tools](https://python.langchain.com/docs/integrations/tools) 에이전트에 도구를 추가하는 방법은 다음과 같습니다: diff --git a/docs/ko/concepts/tasks.mdx b/docs/ko/concepts/tasks.mdx index 4d0b7c3b02..8abf7f2361 100644 --- a/docs/ko/concepts/tasks.mdx +++ b/docs/ko/concepts/tasks.mdx @@ -616,7 +616,7 @@ output_pydantic 또는 output_json을 사용하면, 작업의 출력이 일관 ## 도구와 작업 통합 -향상된 작업 성능과 에이전트 상호작용을 위해 [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 도구를 활용하세요. +향상된 작업 성능과 에이전트 상호작용을 위해 [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 도구를 활용하세요. ## 도구와 함께 Task 생성하기 diff --git a/docs/ko/concepts/tools.mdx b/docs/ko/concepts/tools.mdx index de346e069d..6d4ab94715 100644 --- a/docs/ko/concepts/tools.mdx +++ b/docs/ko/concepts/tools.mdx @@ -17,7 +17,7 @@ CrewAI 도구는 에이전트에게 웹 검색, 데이터 분석부터 동료 ## Tool이란 무엇인가? CrewAI에서 tool은 에이전트가 다양한 작업을 수행하기 위해 활용할 수 있는 기술 또는 기능입니다. -이에는 [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 tool이 포함되어, +이에는 [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) 및 [LangChain Tools](https://python.langchain.com/docs/integrations/tools)의 tool이 포함되어, 간단한 검색부터 복잡한 상호작용, 그리고 에이전트 간의 효과적인 협업까지 모두 가능하게 합니다. @@ -284,4 +284,4 @@ writer1 = Agent( ## 결론 -도구는 CrewAI 에이전트의 역량을 확장하는 데 중요한 역할을 하며, 이를 통해 에이전트가 폭넓은 작업을 수행하고 효과적으로 협업할 수 있습니다. CrewAI로 솔루션을 구축할 때는, 맞춤형 또는 기존의 도구를 모두 활용하여 에이전트를 강화하고 AI 생태계를 향상시키세요. 에이전트의 성능과 기능을 최적화하기 위해 오류 처리, 캐싱 메커니즘, 그리고 도구 인자의 유연성도 고려해보시기 바랍니다. \ No newline at end of file +도구는 CrewAI 에이전트의 역량을 확장하는 데 중요한 역할을 하며, 이를 통해 에이전트가 폭넓은 작업을 수행하고 효과적으로 협업할 수 있습니다. CrewAI로 솔루션을 구축할 때는, 맞춤형 또는 기존의 도구를 모두 활용하여 에이전트를 강화하고 AI 생태계를 향상시키세요. 에이전트의 성능과 기능을 최적화하기 위해 오류 처리, 캐싱 메커니즘, 그리고 도구 인자의 유연성도 고려해보시기 바랍니다. diff --git a/docs/pt-BR/concepts/agents.mdx b/docs/pt-BR/concepts/agents.mdx index 383d501c61..cbe03177ce 100644 --- a/docs/pt-BR/concepts/agents.mdx +++ b/docs/pt-BR/concepts/agents.mdx @@ -344,7 +344,7 @@ multimodal_agent = Agent( Agentes podem ser equipados com diversas ferramentas para ampliar suas capacidades. O CrewAI suporta ferramentas do: -- [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) +- [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) - [LangChain Tools](https://python.langchain.com/docs/integrations/tools) Veja como adicionar ferramentas a um agente: diff --git a/docs/pt-BR/concepts/tasks.mdx b/docs/pt-BR/concepts/tasks.mdx index 4ef324d90a..392fa83c42 100644 --- a/docs/pt-BR/concepts/tasks.mdx +++ b/docs/pt-BR/concepts/tasks.mdx @@ -637,7 +637,7 @@ Utilizando `output_pydantic` ou `output_json`, você garante que suas tarefas pr ## Integrando Ferramentas com Tarefas -Utilize ferramentas do [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools) para ampliar o desempenho das tarefas e aprimorar a interação dos agentes. +Utilize ferramentas do [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools) para ampliar o desempenho das tarefas e aprimorar a interação dos agentes. ## Criando uma Tarefa com Ferramentas diff --git a/docs/pt-BR/concepts/tools.mdx b/docs/pt-BR/concepts/tools.mdx index 88479e017b..90035b972b 100644 --- a/docs/pt-BR/concepts/tools.mdx +++ b/docs/pt-BR/concepts/tools.mdx @@ -17,7 +17,7 @@ Esta documentação descreve como criar, integrar e aproveitar essas ferramentas ## O que é uma Ferramenta? Uma ferramenta no CrewAI é uma habilidade ou função que os agentes podem utilizar para executar diversas ações. -Isso inclui ferramentas do [CrewAI Toolkit](https://github.com/joaomdmoura/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools), +Isso inclui ferramentas do [CrewAI Toolkit](https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools) e [LangChain Tools](https://python.langchain.com/docs/integrations/tools), permitindo desde buscas simples até interações complexas e trabalho em equipe eficiente entre agentes. diff --git a/lib/crewai/tests/test_docs_links.py b/lib/crewai/tests/test_docs_links.py new file mode 100644 index 0000000000..40f0755d7e --- /dev/null +++ b/lib/crewai/tests/test_docs_links.py @@ -0,0 +1,85 @@ +"""Tests to ensure documentation links are up-to-date and correct. + +These tests verify that outdated or broken links in documentation files +are caught early and prevent regressions (e.g., issue #5253). +""" + +import os +import re + +import pytest + +DOCS_DIR = os.path.join( + os.path.dirname(__file__), "..", "..", "..", "docs" +) + +# The old personal repo URL that was migrated to the crewAIInc org monorepo. +DEPRECATED_TOOLKIT_URL = "github.com/joaomdmoura/crewai-tools" +CORRECT_TOOLKIT_URL = ( + "github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools" +) + + +def _collect_mdx_files(): + """Collect all .mdx files under the docs directory.""" + mdx_files = [] + for root, _dirs, files in os.walk(DOCS_DIR): + for f in files: + if f.endswith(".mdx"): + mdx_files.append(os.path.join(root, f)) + return mdx_files + + +@pytest.fixture(scope="module") +def mdx_files(): + files = _collect_mdx_files() + assert files, f"No .mdx files found under {DOCS_DIR}" + return files + + +class TestDocumentationLinks: + """Ensure documentation links point to the correct repositories.""" + + def test_no_deprecated_crewai_tools_link(self, mdx_files): + """Verify no docs reference the old joaomdmoura/crewai-tools repo. + + The CrewAI tools have moved to the monorepo at + crewAIInc/crewAI/tree/main/lib/crewai-tools. + See: https://github.com/crewAIInc/crewAI/issues/5253 + """ + violations = [] + for filepath in mdx_files: + with open(filepath, "r", encoding="utf-8") as fh: + for line_num, line in enumerate(fh, start=1): + if DEPRECATED_TOOLKIT_URL in line: + rel_path = os.path.relpath(filepath, DOCS_DIR) + violations.append(f" {rel_path}:{line_num}") + + assert not violations, ( + f"Found deprecated CrewAI Toolkit URL ({DEPRECATED_TOOLKIT_URL}) " + f"in the following doc files. " + f"Update to: {CORRECT_TOOLKIT_URL}\n" + + "\n".join(violations) + ) + + def test_crewai_toolkit_links_use_correct_url(self, mdx_files): + """Verify that CrewAI Toolkit markdown links point to the monorepo.""" + pattern = re.compile( + r"\[.*?CrewAI.*?Toolkit.*?\]\((https?://[^)]+)\)", re.IGNORECASE + ) + bad_links = [] + for filepath in mdx_files: + with open(filepath, "r", encoding="utf-8") as fh: + for line_num, line in enumerate(fh, start=1): + for match in pattern.finditer(line): + url = match.group(1) + if CORRECT_TOOLKIT_URL not in url: + rel_path = os.path.relpath(filepath, DOCS_DIR) + bad_links.append( + f" {rel_path}:{line_num} -> {url}" + ) + + assert not bad_links, ( + "Found CrewAI Toolkit links not pointing to the official monorepo " + f"({CORRECT_TOOLKIT_URL}):\n" + "\n".join(bad_links) + )