diff --git a/i18n/de/docusaurus-plugin-content-docs/current/.sync b/i18n/de/docusaurus-plugin-content-docs/current/.sync index 081f08e..82dbfe2 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/de/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -d26e8ba3c5a7d5990056521b7faab81d069dc4c1 +0a97df025e0792cb257d166a47a6918ed478c15b diff --git a/i18n/de/docusaurus-plugin-content-docs/current/guides/mcp-server.md b/i18n/de/docusaurus-plugin-content-docs/current/guides/mcp-server.md new file mode 100644 index 0000000..3aae9fb --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-docs/current/guides/mcp-server.md @@ -0,0 +1,248 @@ +--- +sidebar_label: DHTMLX MCP server +title: DHTMLX To Do List MCP-Integration für Aufgaben und REST-Synchronisierung +description: Aufgaben, Unteraufgaben, Projekte, Prioritäten und REST-Synchronisierung in DHTMLX To Do List bleiben für KI-Assistenten über den MCP-Server jederzeit aktuell. +--- + +# DHTMLX To Do List MCP-Server: Aufgaben, Projekte und REST-Synchronisierung + +DHTMLX To Do List wirkt an der Oberfläche wie eine einfache Checkliste, bringt aber [verschachtelte Unteraufgaben](guides/task_operations.md#adding-a-new-task), [Tastenkürzel für Prioritäten](/#prioritizing-a-task), [Umsortieren per Drag-and-Drop](guides/configuration.md#drag-n-drop), [Filterung über Hashtags](guides/inline_editing.md#hashtags) und ein REST-Backend mit, das über den [Event Bus](api/internal/setnext_method.md) verkettet wird. Damit generierter Code funktioniert, benötigt er die aktuellen Signaturen zum [Kopieren einer Aufgabe](api/methods/copytask_method.md) oder zum [Einrücken einer Aufgabe zu einer Unteraufgabe](api/methods/indenttask_method.md), die richtige Struktur der Event-Payload und die [Optionen für Aufgabenfelder](api/configs/taskshape_config.md), die es heute tatsächlich gibt — und nicht eine veraltete Erinnerung aus dem Training. + +Genau hier hilft der DHTMLX MCP-Server: Er lässt den Assistenten die aktuelle To Do List-Dokumentation prüfen, bevor dieser antwortet. Verweisen Sie ihn auf [Aufgabenoperationen](guides/task_operations.md), [Mehrfachauswahl und Sammelaktionen](guides/multiselection.md), die [Integration des REST-Backends](guides/working_with_server.md) oder die [Konfiguration von Aufgaben und Projekten](guides/configuration.md), und der Assistent ruft die aktuelle API-Oberfläche ab, statt zu raten. + +### MCP-Endpunkt {#mcp-endpoint} + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +:::note +Der DHTMLX MCP-Server deckt alle wichtigen DHTMLX-Produkte ab, nicht nur DHTMLX To Do List. Derselbe Endpunkt und dieselben Konfigurationsanweisungen funktionieren unabhängig davon, mit welcher DHTMLX-Komponente Sie arbeiten. +::: + +## MCP-Server-Unterstützung für die gesamte To Do List-API {#mcp-server-support-across-the-to-do-list-api} + +Der Index des Servers umfasst die vollständige Dokumentation von DHTMLX To Do List, darunter: + +- Nachschlagen der aktuellen API für [To Do List-Methoden](api/overview/methods_overview.md), [Events](api/overview/events_overview.md), [Eigenschaften](api/overview/configs_overview.md) und die zugehörige [Toolbar API](category/toolbar-properties.md). +- Erzeugen von sofort lauffähigem Code für [Initialisierung](guides/initialization.md) und [Konfiguration](guides/configuration.md) für einen bestimmten Satz von Aufgaben, Projekten und Benutzern. +- Verwalten der Aufgabenhierarchie und von Sammelaktionen, etwa [Hinzufügen, Verschieben und Löschen von Aufgaben](guides/task_operations.md), Ändern der [Einrückungsebene](guides/task_operations.md#changing-the-indent-level-of-a-task) und Ausführen von Operationen über [mehrere ausgewählte Aufgaben](guides/multiselection.md). +- Arbeiten mit [Projekten](guides/project_operations.md) und dem [Projektobjekt](guides/project_object_operations.md), einschließlich des Wechsels des aktiven Projekts und des Verschiebens von Aufgaben zwischen Projekten. +- Zuweisen von [Aufgabenbearbeitern](guides/task_users.md), Festlegen von Fälligkeitsdaten und Konfigurieren von [Prioritäten](api/configs/priorities_config.md). +- Anbinden von `RestDataProvider` an ein [REST-Backend](guides/working_with_server.md), einschließlich des Mehrbenutzermodus und der über `api.setNext()` festgelegten Reihenfolge im Event Bus. +- Konfigurieren von [Sortierung und Filterung](guides/sorting_filtering_tasks.md), [Ausblenden erledigter Aufgaben](guides/hide_completed_tasks.md) und [Nur-Lesen-Modus](guides/readonly_mode.md). +- Umgang mit [Inline-Bearbeitung](guides/inline_editing.md) und [Tastenkürzeln](guides/keyboard_navigation.md) für Aufgaben und Projekte. +- Erkunden von [Lokalisierung](guides/localization.md), [Stilanpassung](guides/stylization.md) und der Integration mit [React](guides/integration_with_react.md), [Vue](guides/integration_with_vue.md), [Angular](guides/integration_with_angular.md) und [Svelte](guides/integration_with_svelte.md). + +## Wie eine To Do List-Frage den MCP-Server durchläuft {#how-a-to-do-list-question-moves-through-the-mcp-server} + +Stellen Sie dem DHTMLX MCP-Server eine beliebige Frage zu To Do List, und die Anfrage durchläuft eine Retrieval-Augmented Generation (RAG)-Pipeline über das Model Context Protocol (MCP). Von dort übernimmt einer von zwei Workflows: *Search* liefert passende Referenzseiten zurück, aus denen der Assistent seine Antwort formuliert, während *Inference* dieselben Seiten liest und direkt antwortet. Eine To Do List-Anfrage bündelt oft zwei getrennte Aufgaben: eine, die aktuelle Dokumentation benötigt, und eine, die der Assistent bereits allein erledigen kann. Die erste trennt er ab, bevor überhaupt etwas MCP erreicht. + +So sieht dieser Ablauf für den Prompt *"Wie stelle ich sicher, dass Operationen zum Hinzufügen und Verschieben von Aufgaben meinen Server in der richtigen Reihenfolge erreichen?"* aus: + +1. Der Assistent erkennt die Dokumentationsaufgabe: wie man RestDataProvider mit api.setNext() in den Event Bus einreiht. +2. Der Server bestimmt genau die Dokumentation zur Arbeit mit dem Server, zu der sie gehört. +3. Das Erzeugen dieses Handlers erfordert Code, daher geht die Anfrage an *Search* (eine engere Frage, etwa welches Event in der Kette zuerst ausgelöst wird, ginge stattdessen an *Inference*). +4. *Search* holt die passenden Seiten aus einem Vektorindex, der auf der aktuellen To Do List-Dokumentation aufgebaut ist. +5. Diese Seiten gelangen als Kontext zurück zum Assistenten. +6. Der Assistent setzt aus diesem Kontext den Code für die Event-Bus-Verkettung zusammen und ergänzt anschließend die serverspezifischen Anfragedetails aus seinem eigenen Wissen, statt bei der To Do List-API zu raten. + +Dank dieser Recherche bindet der Assistent RestDataProvider genau so in den Event Bus ein, wie es heute tatsächlich funktioniert. + +## MCP-Verbindung einrichten {#setting-up-the-mcp-connection} + +Ob Sie ein neues To Do List-Projekt aufsetzen oder an ein bestehendes `RestDataProvider`-Backend andocken — beides beginnt gleich: Richten Sie Ihr Tool auf die untenstehende URL aus, je nach Erwartung des Tools über einen CLI-Befehl oder einen JSON-Konfigurationseintrag. + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +Die folgenden Abschnitte behandeln die Einrichtung Tool für Tool. + +### Claude Code {#claude-code} + +:::info +Eine vollständige Übersicht zur MCP-Einrichtung in Claude Code finden Sie in der [offiziellen Dokumentation](https://code.claude.com/docs/en/mcp). +::: + +Um den Server über die Befehlszeile zu registrieren, führen Sie aus: + +~~~jsx +claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp +~~~ + +Auch eine manuelle Einrichtung ist möglich — fügen Sie dazu einfach Folgendes zu Ihrer `.mcp.json` hinzu: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "type": "http", + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Cursor {#cursor} + +:::info +Die schrittweise MCP-Konfiguration für Cursor finden Sie in der [offiziellen Dokumentation](https://cursor.com/en-US/docs/mcp). +::: + +Schritte zum Hinzufügen des Servers: + +1. Öffnen Sie die Einstellungen (`Cmd+Shift+J` unter Mac, `Ctrl+Shift+J` unter Windows/Linux) +2. Wechseln Sie zu **Tools & MCP** +3. Klicken Sie auf **Add Custom MCP** +4. Fügen Sie die folgende Konfiguration ein: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Google Antigravity {#google-antigravity} + +#### Antigravity 2.0 {#antigravity-20} + +:::info +Antigravity beschreibt die Integration von MCP-Servern in der [offiziellen Dokumentation](https://antigravity.google/docs/mcp). +::: + +Führen Sie die folgenden Schritte aus, um den DHTMLX MCP-Server mit Google Antigravity zu verbinden: + +1. Öffnen Sie die Befehlspalette +2. Geben Sie "mcp add" ein +3. Wählen Sie "HTTP" +4. Geben Sie die folgenden Werte an: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +#### Antigravity CLI {#antigravity-cli} + +:::info +Die Schritte zur Migration von Gemini CLI zu Antigravity CLI finden Sie im [zugehörigen Leitfaden](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes). +::: + +Um den DHTMLX MCP-Server mit Antigravity CLI zu verbinden, erstellen Sie `mcp_config.json` an einem dieser Orte: + +- Global: `~/.gemini/config/mcp_config.json` +- Arbeitsbereich: `.agents/mcp_config.json` + +Fügen Sie die folgende Konfiguration hinzu: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "serverUrl": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +Führen Sie anschließend `agy` im Terminal aus. + +### ChatGPT {#chatgpt} + +:::info +Die eigene Dokumentation von ChatGPT beschreibt den vollständigen [Einrichtungsprozess für MCP-Connectors](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt). +::: + +Schritte zur Konfiguration des Connectors: + +1. Wechseln Sie zu **Settings** → **Apps & Connectors** +2. Klicken Sie auf **Advanced settings** +3. Aktivieren Sie den **Developer mode** +4. Kehren Sie zu **Apps & Connectors** zurück und klicken Sie auf "Create" +5. Füllen Sie die Angaben zum Connector aus: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ +- Authentifizierung: `No authentication` +6. Klicken Sie auf **Create** + +Nachdem Sie den Connector erstellt haben, ruft ChatGPT während der Unterhaltungen Dokumentation vom MCP-Server ab. + +:::info +Für intensive Coding-Workflows sind andere MCP-fähige Tools möglicherweise besser geeignet. +::: + +### Weitere Tools {#other-tools} + +Die meisten anderen KI-Coding-Tools unterstützen MCP ebenfalls, meist unter einer Einstellungsbezeichnung wie "Model Context Protocol" oder "Context Sources". Fügen Sie dort `https://docs.dhtmlx.com/mcp` als benutzerdefinierte Quelle hinzu. + +## Wie der MCP-Server mit Ihren Daten umgeht {#how-the-mcp-server-treats-your-data} + +Der MCP-Server ist ein gehosteter Dienst: Auf Ihrem Rechner läuft nichts, es werden keine Dateien aus Ihrer Umgebung gelesen und keine personenbezogenen Benutzerdaten gespeichert. + +Zur Fehlersuche und zur Verbesserung des Dienstes können an den Server gesendete Anfragen protokolliert werden. + +Wenn Ihre Organisation strengere Garantien benötigt, fragen Sie unter `info@dhtmlx.com` nach einer kommerziellen Bereitstellung mit deaktivierter Protokollierung von Anfragen. + +## To Do List-Prompts zum Kopieren und Anpassen {#to-do-list-prompts-to-copy-and-adapt} + +Jede Gruppe unten zielt auf eine Art von Operation ab. Kopieren Sie ein Beispiel und passen Sie den Wortlaut an Ihre eigenen Daten an. + +**Aufgaben und Hierarchie** + +~~~ +How do I add a subtask under a specific task in DHTMLX To Do List? +~~~ +~~~ +How do I make a task become a subtask of the task directly above it? Use the docs. +~~~ +~~~ +How do I copy a task along with its subtasks and paste it into a different project? +~~~ + +**Projekte** + +~~~ +How do I switch to a different active project and move a task into it? +~~~ +~~~ +What happens to a project's tasks when I delete the project in DHTMLX To Do List? +~~~ + +**Auswahl und Sammeloperationen** + +~~~ +How do I select several tasks and mark them all as complete at once in DHTMLX To Do List? +~~~ +~~~ +How do I delete all currently selected tasks at once? Use the docs. +~~~ + +**Server-Integration** + +~~~ +How do I connect DHTMLX To Do List to my Node.js backend and load tasks on initialization? +~~~ +~~~ +How do I set up multiuser mode so task changes sync across clients in real time? +~~~ + +## To Do List-Prompts präziser formulieren {#making-to-do-list-prompts-more-precise} + +- **Nennen Sie die genaue Methode.** DHTMLX To Do List stellt mehrere ähnlich benannte Methodenpaare bereit (`checkTask()`/`uncheckTask()`, `indentTask()`/`unindentTask()`, `hideCompletedTasks()`/`showCompletedTasks()`). Geben Sie den Methodennamen an, damit der Assistent die richtige Referenz abruft, statt die Parameter zu erraten. +- **Sagen Sie, ob das Ziel eine Aufgabe, ein Projekt oder ein Benutzer ist.** Viele Methoden erwarten ein ähnliches id-basiertes Objekt (zum Beispiel `getTask()` gegenüber `getProject()`). Die Nennung des Ziels grenzt die Suche auf den richtigen Teil der API ein. +- **Beschreiben Sie die Datenstruktur.** Prompts wie "eine Aufgabe mit Unteraufgaben und einem Fälligkeitsdatum" oder "eine mehreren Benutzern zugewiesene Aufgabe" liefern präzisere Dokumentation als ein allgemeines "eine Aufgabe". Das ist besonders wichtig, wenn Sie zu ladende Daten vorbereiten oder `taskShape` konfigurieren. +- **Ergänzen Sie "Use the docs"** in Ihrem Prompt. Diese Formulierung signalisiert, dass der Assistent eine MCP-Abfrage auslösen soll, statt allein aus den Trainingsdaten zu antworten. Am meisten hilft das bei Event-Payloads (zum Beispiel `open-menu` oder `edit-item`) und bei der Anbindung des REST-Backends — beides ändert sich zwischen Versionen. diff --git a/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md index 80a8d50..4cd6d5f 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/how_to_start.md @@ -251,3 +251,4 @@ Wenn Sie tiefer in die Welt von To Do List eintauchen möchten, empfehlen wir fo - [To-Do-List-Übersicht](/) - [Handbücher](category/guides.md) - [API](category/api.md) +- [DHTMLX MCP server](guides/mcp-server.md) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/overview.md b/i18n/de/docusaurus-plugin-content-docs/current/overview.md index c5f592f..c56ee4a 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/overview.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/overview.md @@ -141,4 +141,4 @@ Weitere Details finden Sie im Abschnitt [**Tastaturkürzel**](api/events/keypres ## Wie geht es weiter {#whats-next} -Nachdem Sie sich einen kurzen Überblick über To Do List verschafft haben, können Sie nun lernen, die Komponente auf der Seite anzuzeigen. Folgen Sie den Anweisungen im Artikel [Erste Schritte](how_to_start.md). +Nachdem Sie sich einen kurzen Überblick über To Do List verschafft haben, können Sie nun lernen, die Komponente auf der Seite anzuzeigen. Folgen Sie den Anweisungen im Artikel [Erste Schritte](how_to_start.md). Wenn Sie mit einem KI-Coding-Assistenten entwickeln, verbinden Sie ihn über den [DHTMLX MCP server](guides/mcp-server.md) mit der aktuellen Dokumentation. diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/.sync b/i18n/ko/docusaurus-plugin-content-docs/current/.sync index 227e442..82dbfe2 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/ko/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -be2bd99ce9aa2f9081da40b9f4581ac64d5837a4 +0a97df025e0792cb257d166a47a6918ed478c15b diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/guides/mcp-server.md b/i18n/ko/docusaurus-plugin-content-docs/current/guides/mcp-server.md new file mode 100644 index 0000000..fd4a340 --- /dev/null +++ b/i18n/ko/docusaurus-plugin-content-docs/current/guides/mcp-server.md @@ -0,0 +1,248 @@ +--- +sidebar_label: DHTMLX MCP server +title: 작업 관리와 REST 동기화를 위한 DHTMLX To Do List MCP 통합 +description: DHTMLX To Do List의 작업, 하위 작업, 프로젝트, 우선순위, REST 동기화 정보가 MCP 서버를 통해 AI 어시스턴트에게 항상 최신 상태로 제공됩니다. +--- + +# DHTMLX To Do List MCP 서버: 작업, 프로젝트, REST 동기화 + +DHTMLX To Do List는 겉보기에는 단순한 체크리스트처럼 보이지만, [중첩된 하위 작업](guides/task_operations.md#adding-a-new-task), [우선순위 단축키](/#prioritizing-a-task), [드래그 앤 드롭 순서 변경](guides/configuration.md#drag-n-drop), [해시태그 기반 필터링](guides/inline_editing.md#hashtags), 그리고 [Event Bus](api/internal/setnext_method.md)를 통해 연결되는 REST 백엔드까지 담고 있습니다. 생성된 코드가 실제로 동작하려면 [작업 복사](api/methods/copytask_method.md)나 [작업을 하위 작업으로 들여쓰기](api/methods/indenttask_method.md)에 대한 현재 시그니처, 올바른 이벤트 페이로드 구조, 그리고 오래된 학습 기억이 아니라 현시점에 실제로 존재하는 [작업 필드 옵션](api/configs/taskshape_config.md)이 필요합니다. + +바로 이 지점에서 DHTMLX MCP 서버가 도움이 됩니다. MCP 서버는 어시스턴트가 답변하기 전에 최신 To Do List 문서를 확인하도록 해 줍니다. [작업 조작](guides/task_operations.md), [다중 선택 및 일괄 작업](guides/multiselection.md), [REST 백엔드 연동](guides/working_with_server.md), [작업 및 프로젝트 구성](guides/configuration.md)을 가리키도록 지정하면, 어시스턴트는 추측하는 대신 현재 제공되는 API를 조회합니다. + +### MCP 엔드포인트 {#mcp-endpoint} + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +:::note +DHTMLX MCP 서버는 DHTMLX To Do List뿐만 아니라 모든 주요 DHTMLX 제품을 다룹니다. 어떤 DHTMLX 컴포넌트로 개발하든 동일한 엔드포인트와 구성 방법을 그대로 사용할 수 있습니다. +::: + +## To Do List API 전반에 대한 MCP 서버 지원 {#mcp-server-support-across-the-to-do-list-api} + +서버의 인덱스는 DHTMLX To Do List 문서 전체를 다루며, 다음 내용을 포함합니다: + +- [To Do List 메서드](api/overview/methods_overview.md), [이벤트](api/overview/events_overview.md), [속성](api/overview/configs_overview.md), 그리고 이에 대응하는 [Toolbar API](category/toolbar-properties.md)의 현재 API를 조회합니다. +- 특정 작업, 프로젝트, 사용자 집합에 맞춰 바로 실행할 수 있는 [초기화](guides/initialization.md) 및 [구성](guides/configuration.md) 코드를 생성합니다. +- [작업 추가, 이동, 삭제](guides/task_operations.md), [들여쓰기 수준](guides/task_operations.md#changing-the-indent-level-of-a-task) 변경, [여러 선택된 작업](guides/multiselection.md)에 대한 일괄 실행 등 작업 계층 구조와 일괄 작업을 관리합니다. +- 활성 프로젝트 전환과 프로젝트 간 작업 이동을 포함하여 [프로젝트](guides/project_operations.md) 및 [프로젝트 객체](guides/project_object_operations.md)를 다룹니다. +- [작업 담당자](guides/task_users.md)를 지정하고, 마감일을 설정하며, [우선순위](api/configs/priorities_config.md)를 구성합니다. +- 멀티유저 모드와 `api.setNext()`로 설정하는 Event Bus 순서를 포함하여 `RestDataProvider`를 [REST 백엔드](guides/working_with_server.md)에 연결합니다. +- [정렬 및 필터링](guides/sorting_filtering_tasks.md), [완료된 작업 숨기기](guides/hide_completed_tasks.md), [읽기 전용 모드](guides/readonly_mode.md)를 구성합니다. +- 작업과 프로젝트의 [인라인 편집](guides/inline_editing.md)과 [키보드 단축키](guides/keyboard_navigation.md)를 처리합니다. +- [로컬라이제이션](guides/localization.md), [스타일 지정](guides/stylization.md), 그리고 [React](guides/integration_with_react.md), [Vue](guides/integration_with_vue.md), [Angular](guides/integration_with_angular.md), [Svelte](guides/integration_with_svelte.md)와의 통합을 살펴봅니다. + +## To Do List 질문이 MCP 서버를 거치는 과정 {#how-a-to-do-list-question-moves-through-the-mcp-server} + +DHTMLX MCP 서버에 To Do List에 관해 무엇이든 질문하면, 그 요청은 Model Context Protocol (MCP) 위에서 동작하는 Retrieval-Augmented Generation (RAG) 파이프라인을 거칩니다. 그다음부터는 두 가지 워크플로 중 하나가 요청을 처리합니다. *Search*는 어시스턴트가 답변을 작성할 수 있도록 일치하는 레퍼런스 페이지를 돌려주고, *Inference*는 동일한 페이지를 읽고 직접 답변합니다. To Do List 요청에는 서로 다른 두 가지 작업이 함께 묶여 있는 경우가 많습니다. 하나는 최신 문서가 필요한 작업이고, 다른 하나는 어시스턴트가 이미 스스로 처리할 수 있는 작업입니다. 어시스턴트는 무엇이든 MCP에 도달하기 전에 첫 번째 작업을 먼저 분리해 냅니다. + +다음은 *"add-task와 move-task 작업이 올바른 순서로 서버에 전달되도록 하려면 어떻게 해야 하나요?"* 라는 프롬프트가 처리되는 과정입니다: + +1. 어시스턴트가 문서가 필요한 작업을 식별합니다. api.setNext()로 RestDataProvider를 Event Bus에 연결하는 방법입니다. +2. 서버가 그 내용이 속한 서버 연동 문서를 정확히 찾아냅니다. +3. 이 핸들러를 생성하려면 코드가 필요하므로 요청은 *Search*로 전달됩니다 (체인에서 어떤 이벤트가 먼저 발생하는지와 같이 더 좁은 질문이라면 대신 *Inference*로 전달됩니다). +4. *Search*는 최신 To Do List 문서로 구축된 벡터 인덱스에서 일치하는 페이지를 가져옵니다. +5. 가져온 페이지는 컨텍스트로서 어시스턴트에게 전달됩니다. +6. 어시스턴트는 그 컨텍스트를 바탕으로 Event Bus 체이닝 코드를 구성한 다음, To Do List API를 추측하는 대신 서버에 특화된 요청 세부 사항을 자체 지식으로 채웁니다. + +이러한 조회 덕분에 어시스턴트는 현재 실제로 동작하는 방식 그대로 RestDataProvider를 Event Bus에 연결합니다. + +## MCP 연결 설정하기 {#setting-up-the-mcp-connection} + +새 To Do List 프로젝트를 설정하는 경우와 기존 `RestDataProvider` 백엔드에 연결하는 경우 모두 시작 방법은 동일합니다. 도구가 요구하는 방식에 따라 CLI 명령이나 JSON 구성 항목을 사용하여 아래 URL을 도구에 지정하면 됩니다. + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +다음 섹션에서는 도구별 설정 방법을 하나씩 설명합니다. + +### Claude Code {#claude-code} + +:::info +Claude Code의 MCP 설정에 대한 전체 설명은 [공식 문서](https://code.claude.com/docs/en/mcp)를 참조하세요. +::: + +명령줄에서 서버를 등록하려면 다음을 실행하세요: + +~~~jsx +claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp +~~~ + +수동 설정도 가능합니다. `.mcp.json` 파일에 다음을 추가하기만 하면 됩니다: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "type": "http", + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Cursor {#cursor} + +:::info +Cursor의 단계별 MCP 구성 방법은 [공식 문서](https://cursor.com/en-US/docs/mcp)에 나와 있습니다. +::: + +서버를 추가하는 단계는 다음과 같습니다: + +1. Settings를 엽니다 (Mac에서는 `Cmd+Shift+J`, Windows/Linux에서는 `Ctrl+Shift+J`) +2. **Tools & MCP**로 이동합니다 +3. **Add Custom MCP**를 클릭합니다 +4. 다음 구성을 붙여넣습니다: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Google Antigravity {#google-antigravity} + +#### Antigravity 2.0 {#antigravity-20} + +:::info +Antigravity는 MCP 서버 통합 방법을 [공식 문서](https://antigravity.google/docs/mcp)에 정리해 두었습니다. +::: + +DHTMLX MCP 서버를 Google Antigravity에 연결하려면 다음 단계를 수행합니다: + +1. 명령 팔레트를 엽니다 +2. "mcp add"를 입력합니다 +3. "HTTP"를 선택합니다 +4. 다음 값을 입력합니다: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +#### Antigravity CLI {#antigravity-cli} + +:::info +Gemini CLI에서 Antigravity CLI로 마이그레이션하는 단계는 [관련 가이드](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes)를 참조하세요. +::: + +DHTMLX MCP 서버를 Antigravity CLI에 연결하려면 다음 위치 중 하나에 `mcp_config.json` 파일을 만드세요: + +- 전역: `~/.gemini/config/mcp_config.json` +- 워크스페이스: `.agents/mcp_config.json` + +다음 구성을 추가합니다: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "serverUrl": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +그런 다음 터미널에서 `agy`를 실행하세요. + +### ChatGPT {#chatgpt} + +:::info +ChatGPT 공식 문서에 전체 [MCP 커넥터 설정 과정](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt)이 설명되어 있습니다. +::: + +커넥터를 구성하는 단계는 다음과 같습니다: + +1. **Settings** → **Apps & Connectors**로 이동합니다 +2. **Advanced settings**를 클릭합니다 +3. **Developer mode**를 활성화합니다 +4. **Apps & Connectors**로 돌아가 "Create"를 클릭합니다 +5. 커넥터 세부 정보를 입력합니다: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ +- Authentication: `No authentication` +6. **Create**를 클릭합니다 + +커넥터를 만들고 나면 ChatGPT는 대화 중에 MCP 서버에서 문서를 가져옵니다. + +:::info +집중적인 코딩 작업에는 MCP를 지원하는 다른 도구가 더 적합할 수 있습니다. +::: + +### 기타 도구 {#other-tools} + +대부분의 다른 AI 코딩 도구도 MCP를 지원하며, 보통 "Model Context Protocol"이나 "Context Sources" 같은 설정 항목에서 찾을 수 있습니다. 그곳에 `https://docs.dhtmlx.com/mcp`를 커스텀 소스로 추가하세요. + +## MCP 서버가 데이터를 처리하는 방식 {#how-the-mcp-server-treats-your-data} + +MCP 서버는 호스팅형 서비스입니다. 사용자의 컴퓨터에서는 아무것도 실행되지 않으며, 사용자 환경의 파일을 읽지 않고, 개인 사용자 데이터도 저장하지 않습니다. + +디버깅과 서비스 개선을 위해 서버로 전송된 쿼리는 기록될 수 있습니다. + +조직에 더 엄격한 보장이 필요하다면 `info@dhtmlx.com`으로 문의하여 쿼리 로깅이 비활성화된 상용 배포 방식을 확인하세요. + +## 복사해서 응용할 수 있는 To Do List 프롬프트 {#to-do-list-prompts-to-copy-and-adapt} + +아래 각 그룹은 한 가지 유형의 작업을 대상으로 합니다. 예제를 복사한 후 자신의 데이터에 맞게 문구를 수정하세요. + +**작업 및 계층 구조** + +~~~ +How do I add a subtask under a specific task in DHTMLX To Do List? +~~~ +~~~ +How do I make a task become a subtask of the task directly above it? Use the docs. +~~~ +~~~ +How do I copy a task along with its subtasks and paste it into a different project? +~~~ + +**프로젝트** + +~~~ +How do I switch to a different active project and move a task into it? +~~~ +~~~ +What happens to a project's tasks when I delete the project in DHTMLX To Do List? +~~~ + +**선택 및 일괄 작업** + +~~~ +How do I select several tasks and mark them all as complete at once in DHTMLX To Do List? +~~~ +~~~ +How do I delete all currently selected tasks at once? Use the docs. +~~~ + +**서버 통합** + +~~~ +How do I connect DHTMLX To Do List to my Node.js backend and load tasks on initialization? +~~~ +~~~ +How do I set up multiuser mode so task changes sync across clients in real time? +~~~ + +## To Do List 프롬프트를 더 정확하게 작성하기 {#making-to-do-list-prompts-more-precise} + +- **정확한 메서드 이름을 명시하세요.** DHTMLX To Do List에는 이름이 비슷한 메서드 쌍이 여러 개 있습니다 (`checkTask()`/`uncheckTask()`, `indentTask()`/`unindentTask()`, `hideCompletedTasks()`/`showCompletedTasks()`). 메서드 이름을 밝히면 어시스턴트가 매개변수를 추측하지 않고 올바른 레퍼런스를 찾아옵니다. +- **대상이 작업인지, 프로젝트인지, 사용자인지 밝히세요.** 많은 메서드가 비슷한 id 기반 객체를 인자로 받습니다 (예: `getTask()`와 `getProject()`). 대상을 명시하면 검색 범위가 API의 올바른 영역으로 좁혀집니다. +- **데이터 구조를 설명하세요.** "하위 작업과 마감일이 있는 작업"이나 "여러 사용자에게 할당된 작업"과 같은 프롬프트는 막연한 "작업"보다 더 정확한 문서를 가져옵니다. 이는 로드할 데이터를 준비하거나 `taskShape`를 구성할 때 특히 중요합니다. +- **프롬프트에 "Use the docs"를 추가하세요.** 이 문구는 어시스턴트가 학습 데이터만으로 답변하지 않고 MCP 조회를 수행해야 한다는 신호가 됩니다. 버전에 따라 달라지는 이벤트 페이로드(예: `open-menu` 또는 `edit-item`)와 REST 백엔드 연동에서 특히 큰 도움이 됩니다. diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md index ea8fade..ee01ed7 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/how_to_start.md @@ -251,3 +251,4 @@ To Do List의 세계를 더 깊이 탐구하고 싶다면 다음 내용을 학 - [To Do List 개요](/) - [가이드](category/guides.md) - [API](category/api.md) +- [DHTMLX MCP server](guides/mcp-server.md) diff --git a/i18n/ko/docusaurus-plugin-content-docs/current/overview.md b/i18n/ko/docusaurus-plugin-content-docs/current/overview.md index 01cb350..d5913bf 100644 --- a/i18n/ko/docusaurus-plugin-content-docs/current/overview.md +++ b/i18n/ko/docusaurus-plugin-content-docs/current/overview.md @@ -141,4 +141,4 @@ To Do List 컴포넌트의 인터페이스는 [Toolbar](#toolbar)와 [List](#lis ## 다음 단계 {#whats-next} -To Do List에 대한 간략한 개요를 확인하셨으면 이제 페이지에 컴포넌트를 표시하는 방법을 학습할 준비가 되었습니다. [시작하기](how_to_start.md) 문서에 나와 있는 안내를 따르세요. +To Do List에 대한 간략한 개요를 확인하셨으면 이제 페이지에 컴포넌트를 표시하는 방법을 학습할 준비가 되었습니다. [시작하기](how_to_start.md) 문서에 나와 있는 안내를 따르세요. AI 코딩 어시스턴트로 개발한다면 [DHTMLX MCP 서버](guides/mcp-server.md)를 통해 어시스턴트를 최신 문서에 연결하세요. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/.sync b/i18n/ru/docusaurus-plugin-content-docs/current/.sync index 06bdc88..82dbfe2 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/ru/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -f30dd9a8725a22418876aec3f2652310d70cb27b +0a97df025e0792cb257d166a47a6918ed478c15b diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/guides/mcp-server.md b/i18n/ru/docusaurus-plugin-content-docs/current/guides/mcp-server.md new file mode 100644 index 0000000..075a862 --- /dev/null +++ b/i18n/ru/docusaurus-plugin-content-docs/current/guides/mcp-server.md @@ -0,0 +1,248 @@ +--- +sidebar_label: DHTMLX MCP server +title: Интеграция DHTMLX To Do List с MCP для работы с задачами и REST-синхронизации +description: Задачи, подзадачи, проекты, приоритеты и REST-синхронизация в DHTMLX To Do List остаются актуальными для AI-ассистентов благодаря MCP-серверу. +--- + +# MCP-сервер DHTMLX To Do List: задачи, проекты и REST-синхронизация + +На первый взгляд DHTMLX To Do List выглядит как обычный чек-лист, но внутри него — [вложенные подзадачи](guides/task_operations.md#adding-a-new-task), [горячие клавиши для приоритетов](/#prioritizing-a-task), [изменение порядка задач через drag-and-drop](guides/configuration.md#drag-n-drop), [фильтрация по хэштегам](guides/inline_editing.md#hashtags) и REST-бэкенд, который встраивается в [Event Bus](api/internal/setnext_method.md). Чтобы сгенерированный код действительно работал, ему нужны актуальные сигнатуры для [копирования задачи](api/methods/copytask_method.md) или [превращения задачи в подзадачу](api/methods/indenttask_method.md), правильная структура данных события и те [параметры полей задачи](api/configs/taskshape_config.md), которые существуют сегодня, а не устаревшие сведения из обучающих данных. + +Здесь и помогает MCP-сервер DHTMLX: он позволяет ассистенту свериться с актуальной документацией To Do List перед тем, как отвечать. Направьте его на [операции с задачами](guides/task_operations.md), [множественный выбор и групповые действия](guides/multiselection.md), [интеграцию с REST-бэкендом](guides/working_with_server.md) или [настройку задач и проектов](guides/configuration.md) — и ассистент получит актуальный набор API вместо догадок. + +### Адрес MCP-сервера {#mcp-endpoint} + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +:::note +MCP-сервер DHTMLX охватывает все основные продукты DHTMLX, а не только DHTMLX To Do List. Один и тот же адрес и одни и те же инструкции по настройке работают независимо от того, с каким компонентом DHTMLX вы работаете. +::: + +## Поддержка API To Do List в MCP-сервере {#mcp-server-support-across-the-to-do-list-api} + +Индекс сервера охватывает всю документацию DHTMLX To Do List, в том числе: + +- Поиск актуального API: [методы To Do List](api/overview/methods_overview.md), [события](api/overview/events_overview.md), [свойства](api/overview/configs_overview.md) и соответствующий [Toolbar API](category/toolbar-properties.md). +- Генерацию готового к запуску кода [инициализации](guides/initialization.md) и [конфигурации](guides/configuration.md) под конкретный набор задач, проектов и пользователей. +- Управление иерархией задач и групповые действия: [добавление, перемещение и удаление задач](guides/task_operations.md), изменение [уровня вложенности](guides/task_operations.md#changing-the-indent-level-of-a-task) и операции над [несколькими выбранными задачами](guides/multiselection.md). +- Работу с [проектами](guides/project_operations.md) и [объектом проекта](guides/project_object_operations.md), включая смену активного проекта и перенос задач между проектами. +- Назначение [исполнителей задач](guides/task_users.md), установку сроков выполнения и настройку [приоритетов](api/configs/priorities_config.md). +- Подключение `RestDataProvider` к [REST-бэкенду](guides/working_with_server.md), включая многопользовательский режим и порядок Event Bus, который задаётся через `api.setNext()`. +- Настройку [сортировки и фильтрации](guides/sorting_filtering_tasks.md), [скрытия выполненных задач](guides/hide_completed_tasks.md) и [режима только для чтения](guides/readonly_mode.md). +- Работу со [встроенным редактированием](guides/inline_editing.md) и [горячими клавишами](guides/keyboard_navigation.md) для задач и проектов. +- Изучение [локализации](guides/localization.md), [стилизации](guides/stylization.md) и интеграции с [React](guides/integration_with_react.md), [Vue](guides/integration_with_vue.md), [Angular](guides/integration_with_angular.md) и [Svelte](guides/integration_with_svelte.md). + +## Как вопрос о To Do List проходит через MCP-сервер {#how-a-to-do-list-question-moves-through-the-mcp-server} + +Задайте MCP-серверу DHTMLX любой вопрос о To Do List — и запрос пройдёт через конвейер Retrieval-Augmented Generation (RAG) поверх Model Context Protocol (MCP). Дальше его подхватывает один из двух рабочих процессов: *Search* возвращает подходящие страницы справочника, по которым ассистент пишет ответ, а *Inference* сам читает те же страницы и отвечает напрямую. Запрос о To Do List часто объединяет две разные задачи: одну, для которой нужна актуальная документация, и другую, с которой ассистент справится сам. Первую он отделяет ещё до того, как что-либо дойдёт до MCP. + +Вот как выглядит этот процесс для запроса *«Как убедиться, что операции add-task и move-task доходят до моего сервера в правильном порядке?»*: + +1. Ассистент выделяет задачу, для которой нужна документация: как встроить RestDataProvider в Event Bus с помощью api.setNext(). +2. Сервер точно определяет, к какой документации по работе с сервером относится вопрос. +3. Для генерации такого обработчика нужен код, поэтому запрос уходит в *Search* (более узкий вопрос — например, какое событие срабатывает в цепочке первым — попал бы в *Inference*). +4. *Search* извлекает подходящие страницы из векторного индекса, построенного на актуальной документации To Do List. +5. Эти страницы возвращаются ассистенту в качестве контекста. +6. По этому контексту ассистент собирает код встраивания в Event Bus, а специфичные для вашего сервера детали запросов дополняет из собственных знаний — вместо того чтобы угадывать API To Do List. + +Благодаря такому обращению к документации ассистент подключает RestDataProvider к Event Bus именно так, как это работает сегодня. + +## Настройка подключения к MCP {#setting-up-the-mcp-connection} + +Начинаете ли вы новый проект To Do List или подключаетесь к уже существующему бэкенду с `RestDataProvider` — первый шаг один и тот же: укажите своему инструменту адрес ниже через команду CLI или запись в JSON-конфигурации, в зависимости от того, что этот инструмент ожидает. + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +В следующих разделах настройка разобрана по инструментам. + +### Claude Code {#claude-code} + +:::info +Полное описание настройки MCP в Claude Code смотрите в [официальной документации](https://code.claude.com/docs/en/mcp). +::: + +Чтобы зарегистрировать сервер из командной строки, выполните: + +~~~jsx +claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp +~~~ + +Ручная настройка тоже подойдёт — просто добавьте это в файл `.mcp.json`: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "type": "http", + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Cursor {#cursor} + +:::info +Пошаговая настройка MCP для Cursor описана в [официальной документации](https://cursor.com/en-US/docs/mcp). +::: + +Шаги для добавления сервера: + +1. Откройте Settings (`Cmd+Shift+J` на Mac, `Ctrl+Shift+J` на Windows/Linux) +2. Перейдите в раздел **Tools & MCP** +3. Нажмите **Add Custom MCP** +4. Вставьте следующую конфигурацию: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Google Antigravity {#google-antigravity} + +#### Antigravity 2.0 {#antigravity-20} + +:::info +Интеграция с MCP-серверами описана в [официальной документации](https://antigravity.google/docs/mcp) Antigravity. +::: + +Чтобы подключить MCP-сервер DHTMLX к Google Antigravity, выполните следующие шаги: + +1. Откройте палитру команд +2. Введите «mcp add» +3. Выберите «HTTP» +4. Укажите следующие значения: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +#### Antigravity CLI {#antigravity-cli} + +:::info +Шаги миграции с Gemini CLI на Antigravity CLI описаны в [соответствующем руководстве](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes). +::: + +Чтобы подключить MCP-сервер DHTMLX к Antigravity CLI, создайте файл `mcp_config.json` в одном из этих расположений: + +- Глобально: `~/.gemini/config/mcp_config.json` +- В рабочем пространстве: `.agents/mcp_config.json` + +Добавьте следующую конфигурацию: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "serverUrl": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +Затем выполните `agy` в терминале. + +### ChatGPT {#chatgpt} + +:::info +В документации ChatGPT подробно описан весь [процесс настройки MCP-коннектора](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt). +::: + +Шаги настройки коннектора: + +1. Перейдите в **Settings** → **Apps & Connectors** +2. Нажмите **Advanced settings** +3. Включите **Developer mode** +4. Вернитесь в **Apps & Connectors** и нажмите «Create» +5. Заполните данные коннектора: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ +- Authentication: `No authentication` +6. Нажмите **Create** + +После создания коннектора ChatGPT будет подтягивать документацию с MCP-сервера прямо во время диалога. + +:::info +Для интенсивной работы с кодом лучше подойдут другие инструменты с поддержкой MCP. +::: + +### Другие инструменты {#other-tools} + +Большинство других AI-инструментов для работы с кодом тоже поддерживают MCP — обычно в настройках с названием вроде «Model Context Protocol» или «Context Sources». Добавьте туда `https://docs.dhtmlx.com/mcp` как пользовательский источник. + +## Как MCP-сервер обращается с вашими данными {#how-the-mcp-server-treats-your-data} + +MCP-сервер — это размещённый сервис: на вашей машине ничего не запускается, файлы из вашего окружения не читаются, персональные данные пользователей не сохраняются. + +Запросы, отправленные на сервер, могут логироваться для отладки и улучшения сервиса. + +Если вашей организации нужны более строгие гарантии, напишите на `info@dhtmlx.com` и запросите коммерческое развёртывание с отключённым логированием запросов. + +## Запросы для To Do List: копируйте и адаптируйте {#to-do-list-prompts-to-copy-and-adapt} + +Каждая группа ниже посвящена своему типу операций. Скопируйте пример и подстройте формулировку под свои данные. + +**Задачи и иерархия** + +~~~ +How do I add a subtask under a specific task in DHTMLX To Do List? +~~~ +~~~ +How do I make a task become a subtask of the task directly above it? Use the docs. +~~~ +~~~ +How do I copy a task along with its subtasks and paste it into a different project? +~~~ + +**Проекты** + +~~~ +How do I switch to a different active project and move a task into it? +~~~ +~~~ +What happens to a project's tasks when I delete the project in DHTMLX To Do List? +~~~ + +**Выбор и групповые операции** + +~~~ +How do I select several tasks and mark them all as complete at once in DHTMLX To Do List? +~~~ +~~~ +How do I delete all currently selected tasks at once? Use the docs. +~~~ + +**Интеграция с сервером** + +~~~ +How do I connect DHTMLX To Do List to my Node.js backend and load tasks on initialization? +~~~ +~~~ +How do I set up multiuser mode so task changes sync across clients in real time? +~~~ + +## Как сделать запросы о To Do List точнее {#making-to-do-list-prompts-more-precise} + +- **Называйте конкретный метод.** В DHTMLX To Do List есть несколько пар похожих по названию методов (`checkTask()`/`uncheckTask()`, `indentTask()`/`unindentTask()`, `hideCompletedTasks()`/`showCompletedTasks()`). Укажите имя метода, чтобы ассистент нашёл нужную страницу справочника, а не угадывал параметры. +- **Уточняйте, о чём идёт речь — о задаче, проекте или пользователе.** Многие методы принимают похожий объект с идентификатором (например, `getTask()` и `getProject()`). Явное указание объекта сужает поиск до нужной части API. +- **Описывайте структуру данных.** Запросы вроде «задача с подзадачами и сроком выполнения» или «задача, назначенная нескольким пользователям» дают более точную документацию, чем общее «задача». Особенно это важно при подготовке данных для загрузки и при настройке `taskShape`. +- **Добавляйте «Use the docs»** в запрос. Эта фраза даёт ассистенту сигнал обратиться к MCP вместо ответа только по обучающим данным. Больше всего это помогает с данными событий (например, `open-menu` или `edit-item`) и с подключением REST-бэкенда — и то и другое меняется от версии к версии. diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md index 9412b93..04371fd 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/how_to_start.md @@ -251,3 +251,4 @@ const toolbar = new Toolbar("#toolbar", { - [Обзор To Do List](/) - [Руководства](category/guides.md) - [API](category/api.md) +- [DHTMLX MCP server](guides/mcp-server.md) diff --git a/i18n/ru/docusaurus-plugin-content-docs/current/overview.md b/i18n/ru/docusaurus-plugin-content-docs/current/overview.md index 75c6d94..c444c95 100644 --- a/i18n/ru/docusaurus-plugin-content-docs/current/overview.md +++ b/i18n/ru/docusaurus-plugin-content-docs/current/overview.md @@ -141,4 +141,4 @@ DHTMLX To Do List — это удобный компонент для управ ## Что дальше {#whats-next} -Ознакомившись с кратким обзором To Do List, вы готовы узнать, как отобразить компонент на странице. Следуйте инструкциям статьи [Начало работы](how_to_start.md). +Ознакомившись с кратким обзором To Do List, вы готовы узнать, как отобразить компонент на странице. Следуйте инструкциям статьи [Начало работы](how_to_start.md). Если вы разрабатываете с помощью AI-ассистента, подключите его к актуальной документации через [MCP-сервер DHTMLX](guides/mcp-server.md). diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/.sync b/i18n/zh/docusaurus-plugin-content-docs/current/.sync index e724ead..82dbfe2 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/.sync +++ b/i18n/zh/docusaurus-plugin-content-docs/current/.sync @@ -1 +1 @@ -002c1feff824cf92987e2ffdf8663f9f3889ea26 +0a97df025e0792cb257d166a47a6918ed478c15b diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/guides/mcp-server.md b/i18n/zh/docusaurus-plugin-content-docs/current/guides/mcp-server.md new file mode 100644 index 0000000..1e05801 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-docs/current/guides/mcp-server.md @@ -0,0 +1,248 @@ +--- +sidebar_label: DHTMLX MCP server +title: 面向任务与 REST 同步的 DHTMLX To Do List MCP 集成 +description: 借助 MCP 服务器,DHTMLX To Do List 中的任务、子任务、项目、优先级与 REST 同步信息始终保持最新,可供 AI 助手随时查阅。 +--- + +# DHTMLX To Do List MCP 服务器:任务、项目与 REST 同步 + +DHTMLX To Do List 表面上看只是一份简单的清单,实际上却集成了[嵌套子任务](guides/task_operations.md#adding-a-new-task)、[优先级快捷键](/#prioritizing-a-task)、[拖放排序](guides/configuration.md#drag-n-drop)、[基于话题标签的筛选](guides/inline_editing.md#hashtags),以及一个通过 [Event Bus](api/internal/setnext_method.md) 串联的 REST 后端。要让生成的代码真正可用,就需要[复制任务](api/methods/copytask_method.md)或[将任务缩进为子任务](api/methods/indenttask_method.md)的当前方法签名、正确的事件载荷结构,以及当下确实存在的[任务字段选项](api/configs/taskshape_config.md),而不是过时的训练记忆。 + +DHTMLX MCP 服务器正是为此而生:它让助手在作答之前先查阅最新的 To Do List 文档。将它指向[任务操作](guides/task_operations.md)、[多选与批量操作](guides/multiselection.md)、[REST 后端集成](guides/working_with_server.md)或[任务与项目配置](guides/configuration.md),助手便会检索当前的 API,而不是凭猜测作答。 + +### MCP 端点 {#mcp-endpoint} + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +:::note +DHTMLX MCP 服务器覆盖所有主要的 DHTMLX 产品,而不仅仅是 DHTMLX To Do List。无论您使用哪个 DHTMLX 组件进行开发,同一个端点和相同的配置说明都同样适用。 +::: + +## To Do List API 的 MCP 服务器支持范围 {#mcp-server-support-across-the-to-do-list-api} + +服务器的索引覆盖了完整的 DHTMLX To Do List 文档,其中包括: + +- 查询 [To Do List 方法](api/overview/methods_overview.md)、[事件](api/overview/events_overview.md)、[属性](api/overview/configs_overview.md)以及对应的 [Toolbar API](category/toolbar-properties.md) 的当前接口。 +- 针对特定的任务、项目和用户集合,生成可直接运行的[初始化](guides/initialization.md)与[配置](guides/configuration.md)代码。 +- 管理任务层级与批量操作,例如[添加、移动和删除任务](guides/task_operations.md)、更改[缩进级别](guides/task_operations.md#changing-the-indent-level-of-a-task),以及对[多个选中任务](guides/multiselection.md)执行操作。 +- 操作[项目](guides/project_operations.md)与[项目对象](guides/project_object_operations.md),包括切换活动项目以及在项目之间移动任务。 +- 指定[任务负责人](guides/task_users.md)、设置截止日期以及配置[优先级](api/configs/priorities_config.md)。 +- 将 `RestDataProvider` 连接到 [REST 后端](guides/working_with_server.md),包括多用户模式以及通过 `api.setNext()` 设定的 Event Bus 顺序。 +- 配置[排序与筛选](guides/sorting_filtering_tasks.md)、[隐藏已完成任务](guides/hide_completed_tasks.md)以及[只读模式](guides/readonly_mode.md)。 +- 处理任务和项目的[内联编辑](guides/inline_editing.md)与[键盘快捷键](guides/keyboard_navigation.md)。 +- 了解[本地化](guides/localization.md)、[样式定制](guides/stylization.md),以及与 [React](guides/integration_with_react.md)、[Vue](guides/integration_with_vue.md)、[Angular](guides/integration_with_angular.md) 和 [Svelte](guides/integration_with_svelte.md) 的集成。 + +## To Do List 问题在 MCP 服务器中的流转过程 {#how-a-to-do-list-question-moves-through-the-mcp-server} + +向 DHTMLX MCP 服务器提出任何与 To Do List 相关的问题时,请求都会经由 Model Context Protocol (MCP) 进入一条 Retrieval-Augmented Generation (RAG) 流水线。随后由两种工作流之一接手:*Search* 返回匹配的参考页面,供助手据此撰写答案;而 *Inference* 则直接阅读这些页面并给出回答。一个 To Do List 请求往往包含两项彼此独立的工作:一项需要查阅最新文档,另一项助手自己就能完成。在任何内容进入 MCP 之前,助手会先把前者剥离出来。 + +以提示词*"如何确保添加任务和移动任务的操作按正确的顺序到达我的服务器?"*为例,整个流程如下: + +1. 助手识别出需要查阅文档的部分:如何通过 api.setNext() 将 RestDataProvider 接入 Event Bus。 +2. 服务器定位到该问题所属的服务器协作文档。 +3. 生成该处理程序需要输出代码,因此请求会交给 *Search*(若是范围更窄的问题,比如链中哪个事件先触发,则会交给 *Inference*)。 +4. *Search* 从基于当前 To Do List 文档构建的向量索引中取回匹配的页面。 +5. 这些页面作为上下文返回给助手。 +6. 助手根据这些上下文组装 Event Bus 的串联代码,再凭自身知识补全与具体服务器相关的请求细节,而无需对 To Do List API 进行猜测。 + +正因为有了这次查阅,助手才能按照当前实际的工作方式把 RestDataProvider 接入 Event Bus。 + +## 配置 MCP 连接 {#setting-up-the-mcp-connection} + +无论是搭建全新的 To Do List 项目,还是接入现有的 `RestDataProvider` 后端,起步方式都是一样的:把您的工具指向下面这个 URL——具体使用 CLI 命令还是 JSON 配置项,取决于该工具的要求。 + +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +以下各节将逐一介绍各款工具的配置方法。 + +### Claude Code {#claude-code} + +:::info +有关 Claude Code 中 MCP 配置的完整说明,请查阅[官方文档](https://code.claude.com/docs/en/mcp)。 +::: + +要从命令行注册该服务器,请运行: + +~~~jsx +claude mcp add --transport http dhtmlx-mcp https://docs.dhtmlx.com/mcp +~~~ + +手动配置同样可行,只需将以下内容添加到您的 `.mcp.json` 中: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "type": "http", + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Cursor {#cursor} + +:::info +Cursor 的 MCP 分步配置说明请参阅[官方文档](https://cursor.com/en-US/docs/mcp)。 +::: + +添加服务器的步骤如下: + +1. 打开 Settings(Mac 上为 `Cmd+Shift+J`,Windows/Linux 上为 `Ctrl+Shift+J`) +2. 进入 **Tools & MCP** +3. 点击 **Add Custom MCP** +4. 粘贴以下配置: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "url": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +### Google Antigravity {#google-antigravity} + +#### Antigravity 2.0 {#antigravity-20} + +:::info +Antigravity 在其[官方文档](https://antigravity.google/docs/mcp)中介绍了 MCP 服务器的集成方式。 +::: + +将 DHTMLX MCP 服务器接入 Google Antigravity 需要完成以下步骤: + +1. 打开命令面板 +2. 输入 "mcp add" +3. 选择 "HTTP" +4. 填写以下值: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ + +#### Antigravity CLI {#antigravity-cli} + +:::info +有关从 Gemini CLI 迁移到 Antigravity CLI 的步骤,请查阅[相关指南](https://antigravity.google/docs/gcli-migration#mcp-config-formatting-changes)。 +::: + +要将 DHTMLX MCP 服务器连接到 Antigravity CLI,请在以下位置之一创建 `mcp_config.json`: + +- 全局:`~/.gemini/config/mcp_config.json` +- 工作区:`.agents/mcp_config.json` + +添加以下配置: + +~~~jsx +{ + "mcpServers": { + "dhtmlx-mcp": { + "serverUrl": "https://docs.dhtmlx.com/mcp" + } + } +} +~~~ + +然后在终端中运行 `agy`。 + +### ChatGPT {#chatgpt} + +:::info +ChatGPT 自身的文档完整说明了 [MCP 连接器的配置流程](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt)。 +::: + +配置连接器的步骤如下: + +1. 进入 **Settings** → **Apps & Connectors** +2. 点击 **Advanced settings** +3. 启用 **Developer mode** +4. 返回 **Apps & Connectors** 并点击 "Create" +5. 填写连接器的详细信息: +- Name: +~~~jsx +dhtmlx-mcp +~~~ +- URL: +~~~jsx +https://docs.dhtmlx.com/mcp +~~~ +- Authentication: `No authentication` +6. 点击 **Create** + +创建连接器之后,ChatGPT 会在对话过程中从 MCP 服务器拉取文档。 + +:::info +对于高强度的编码工作流,其他支持 MCP 的工具可能更为合适。 +::: + +### 其他工具 {#other-tools} + +大多数其他 AI 编码工具同样支持 MCP,相应设置通常位于 "Model Context Protocol" 或 "Context Sources" 之类的标签下。在那里将 `https://docs.dhtmlx.com/mcp` 添加为自定义来源即可。 + +## MCP 服务器如何处理您的数据 {#how-the-mcp-server-treats-your-data} + +MCP 服务器是一项托管服务:不会在您的机器上运行任何程序,不会读取您环境中的任何文件,也不会存储任何个人用户数据。 + +出于调试和服务改进的目的,发送到服务器的查询可能会被记录。 + +如果贵组织需要更严格的保障,请写信至 `info@dhtmlx.com` 咨询关闭查询日志记录的商业部署方案。 + +## 可直接复制并调整的 To Do List 提示词 {#to-do-list-prompts-to-copy-and-adapt} + +下面每一组都针对一类操作。复制其中的示例,并根据您自己的数据调整措辞即可。 + +**任务与层级** + +~~~ +How do I add a subtask under a specific task in DHTMLX To Do List? +~~~ +~~~ +How do I make a task become a subtask of the task directly above it? Use the docs. +~~~ +~~~ +How do I copy a task along with its subtasks and paste it into a different project? +~~~ + +**项目** + +~~~ +How do I switch to a different active project and move a task into it? +~~~ +~~~ +What happens to a project's tasks when I delete the project in DHTMLX To Do List? +~~~ + +**选择与批量操作** + +~~~ +How do I select several tasks and mark them all as complete at once in DHTMLX To Do List? +~~~ +~~~ +How do I delete all currently selected tasks at once? Use the docs. +~~~ + +**服务器集成** + +~~~ +How do I connect DHTMLX To Do List to my Node.js backend and load tasks on initialization? +~~~ +~~~ +How do I set up multiuser mode so task changes sync across clients in real time? +~~~ + +## 让 To Do List 提示词更精准 {#making-to-do-list-prompts-more-precise} + +- **写明具体的方法名。** DHTMLX To Do List 提供了若干组名称相近的方法(`checkTask()`/`uncheckTask()`、`indentTask()`/`unindentTask()`、`hideCompletedTasks()`/`showCompletedTasks()`)。写明方法名,助手才能检索到正确的参考页面,而不是凭猜测填写参数。 +- **说明操作对象是任务、项目还是用户。** 许多方法接收结构相似的、基于 id 的对象(例如 `getTask()` 与 `getProject()`)。指明操作对象可以把检索范围收窄到 API 中正确的部分。 +- **描述数据结构。** 相比笼统的"一个任务",诸如"带子任务和截止日期的任务"或"分配给多名用户的任务"这类提示词能检索到更精确的文档。在准备待加载的数据或配置 `taskShape` 时,这一点尤为重要。 +- **在提示词中加上 "Use the docs"。** 这句话会提示助手触发一次 MCP 查询,而不是仅凭训练数据作答。它在处理事件载荷(例如 `open-menu` 或 `edit-item`)和 REST 后端接线时最为有用,因为这两者都会随版本发生变化。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md b/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md index 4095bdc..5e4c796 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/how_to_start.md @@ -251,3 +251,4 @@ const toolbar = new Toolbar("#toolbar", { - [To Do List 概览](/) - [指南](category/guides.md) - [API](category/api.md) +- [DHTMLX MCP server](guides/mcp-server.md) diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/overview.md b/i18n/zh/docusaurus-plugin-content-docs/current/overview.md index 3cde5cb..cbf665e 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/overview.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/overview.md @@ -141,4 +141,4 @@ To Do List 组件的界面由两部分组成:[工具栏(Toolbar)](#toolbar ## 下一步 {#whats-next} -简要了解 To Do List 之后,您可以开始学习如何在页面上展示该组件。请按照[快速入门](how_to_start.md)文章中的指引进行操作。 +简要了解 To Do List 之后,您可以开始学习如何在页面上展示该组件。请按照[快速入门](how_to_start.md)文章中的指引进行操作。如果您使用 AI 编码助手进行开发,可以通过 [DHTMLX MCP 服务器](guides/mcp-server.md)将其连接到最新的文档。 diff --git a/local_modules/dhx-md-data-parser/index.js b/local_modules/dhx-md-data-parser/index.js index 5f68410..9c1f7fe 100644 --- a/local_modules/dhx-md-data-parser/index.js +++ b/local_modules/dhx-md-data-parser/index.js @@ -10,7 +10,11 @@ const MD_BOLD_TEXT_REGEXP = /\*\*(.+?)\*\*/g; // [text](<.md>#) or [text](/<.md>) // e.g. '[autoWidth](grid/configuration.md#autowidthforcolumns)' -const MD_LINK_REGEXP = /(\[.+?\])\(([^\s]+?)(\.md)([^\s]*?)\)/g; +// Parentheses are excluded from the route: a link target cannot contain an +// unescaped ')', so without that the lazy quantifiers run past the closing +// bracket and swallow the next link whenever two links are not separated by +// whitespace (as in CJK text, where '、' joins them directly). +const MD_LINK_REGEXP = /(\[.+?\])\(([^\s()]+?)(\.md)([^\s()]*?)\)/g; // @: // e.g. '@short:' or '@short: sends a DELETE request to the server'