diff options
Diffstat (limited to 'packages/web/src/content/docs/de/tools.mdx')
| -rw-r--r-- | packages/web/src/content/docs/de/tools.mdx | 390 |
1 files changed, 390 insertions, 0 deletions
diff --git a/packages/web/src/content/docs/de/tools.mdx b/packages/web/src/content/docs/de/tools.mdx new file mode 100644 index 000000000..33ebb72b8 --- /dev/null +++ b/packages/web/src/content/docs/de/tools.mdx @@ -0,0 +1,390 @@ +--- +title: Tools +description: Verwalte, welche Tools ein LLM nutzen darf. +--- + +Tools erlauben dem LLM Aktionen in deiner Codebasis. +OpenCode bringt eingebaute Tools mit und laesst sich ueber [Custom Tools](/docs/custom-tools) oder [MCP-Server](/docs/mcp-servers) erweitern. + +Standardmaessig sind alle Tools **aktiviert** und brauchen keine Freigabe. +Das Verhalten steuerst du ueber [Berechtigungen](/docs/permissions). + +--- + +## Configure + +Nutze das Feld `permission`, um Tool-Verhalten zu steuern. +Pro Tool kannst du erlauben, verbieten oder eine Rueckfrage verlangen. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "edit": "deny", + "bash": "ask", + "webfetch": "allow" + } +} +``` + +Mit Wildcards kannst du mehrere Tools auf einmal steuern. +Zum Beispiel, um fuer alle Tools eines MCP-Servers eine Freigabe zu verlangen: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "mymcp_*": "ask" + } +} +``` + +[Mehr dazu](/docs/permissions), wie du Berechtigungen konfigurierst. + +--- + +## Built-in + +Hier sind alle in OpenCode verfuegbaren eingebauten Tools. + +--- + +### bash + +Fuehrt Shell-Befehle in deiner Projektumgebung aus. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "bash": "allow" + } +} +``` + +Damit kann das LLM Terminal-Befehle wie `npm install`, `git status` oder andere Shell-Kommandos ausfuehren. + +--- + +### edit + +Bearbeitet bestehende Dateien ueber exakte String-Ersetzungen. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "edit": "allow" + } +} +``` + +Dieses Tool fuehrt praezise Aenderungen per exakter Textsuche aus. +Es ist der zentrale Weg, wie das LLM Code aendert. + +--- + +### write + +Erstellt neue Dateien oder ueberschreibt bestehende Dateien. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "edit": "allow" + } +} +``` + +Damit erlaubst du dem LLM, neue Dateien anzulegen. +Bestehende Dateien werden dabei ueberschrieben. + +:::note +Das Tool `write` wird ueber die Berechtigung `edit` gesteuert. +`edit` gilt fuer alle Datei-Aenderungen (`edit`, `write`, `patch`, `multiedit`). +::: + +--- + +### read + +Read file contents from your codebase. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "read": "allow" + } +} +``` + +This tool reads files and returns their contents. It supports reading specific line ranges for large files. + +--- + +### grep + +Search file contents using regular expressions. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "grep": "allow" + } +} +``` + +Fast content search across your codebase. Supports full regex syntax and file pattern filtering. + +--- + +### glob + +Find files by pattern matching. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "glob": "allow" + } +} +``` + +Search for files using glob patterns like `**/*.js` or `src/**/*.ts`. Returns matching file paths sorted by modification time. + +--- + +### list + +List files and directories in a given path. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "list": "allow" + } +} +``` + +This tool lists directory contents. It accepts glob patterns to filter results. + +--- + +### lsp (experimental) + +Interact with your configured LSP servers to get code intelligence features like definitions, references, hover info, and call hierarchy. + +:::note +This tool is only available when `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (or `OPENCODE_EXPERIMENTAL=true`). +::: + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "lsp": "allow" + } +} +``` + +Supported operations include `goToDefinition`, `findReferences`, `hover`, `documentSymbol`, `workspaceSymbol`, `goToImplementation`, `prepareCallHierarchy`, `incomingCalls`, and `outgoingCalls`. + +To configure which LSP servers are available for your project, see [LSP Servers](/docs/lsp). + +--- + +### patch + +Apply patches to files. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "edit": "allow" + } +} +``` + +This tool applies patch files to your codebase. Useful for applying diffs and patches from various sources. + +:::note +The `patch` tool is controlled by the `edit` permission, which covers all file modifications (`edit`, `write`, `patch`, `multiedit`). +::: + +--- + +### skill + +Load a [skill](/docs/skills) (a `SKILL.md` file) and return its content in the conversation. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "skill": "allow" + } +} +``` + +--- + +### todowrite + +Manage todo lists during coding sessions. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "todowrite": "allow" + } +} +``` + +Creates and updates task lists to track progress during complex operations. The LLM uses this to organize multi-step tasks. + +:::note +This tool is disabled for subagents by default, but you can enable it manually. [Learn more](/docs/agents/#permissions) +::: + +--- + +### todoread + +Read existing todo lists. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "todoread": "allow" + } +} +``` + +Reads the current todo list state. Used by the LLM to track what tasks are pending or completed. + +:::note +This tool is disabled for subagents by default, but you can enable it manually. [Learn more](/docs/agents/#permissions) +::: + +--- + +### webfetch + +Fetch web content. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "webfetch": "allow" + } +} +``` + +Allows the LLM to fetch and read web pages. Useful for looking up documentation or researching online resources. + +--- + +### websearch + +Search the web for information. + +:::note +This tool is only available when using the OpenCode provider or when the `OPENCODE_ENABLE_EXA` environment variable is set to any truthy value (e.g., `true` or `1`). + +To enable when launching OpenCode: + +```bash +OPENCODE_ENABLE_EXA=1 opencode +``` + +::: + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "websearch": "allow" + } +} +``` + +Performs web searches using Exa AI to find relevant information online. Useful for researching topics, finding current events, or gathering information beyond the training data cutoff. + +No API key is required — the tool connects directly to Exa AI's hosted MCP service without authentication. + +:::tip +Use `websearch` when you need to find information (discovery), and `webfetch` when you need to retrieve content from a specific URL (retrieval). +::: + +--- + +### question + +Ask the user questions during execution. + +```json title="opencode.json" {4} +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "question": "allow" + } +} +``` + +This tool allows the LLM to ask the user questions during a task. It's useful for: + +- Gathering user preferences or requirements +- Clarifying ambiguous instructions +- Getting decisions on implementation choices +- Offering choices about what direction to take + +Each question includes a header, the question text, and a list of options. Users can select from the provided options or type a custom answer. When there are multiple questions, users can navigate between them before submitting all answers. + +--- + +## Custom tools + +Mit Custom Tools definierst du eigene Funktionen, die das LLM aufrufen kann. +Sie werden in der Konfigurationsdatei definiert und koennen beliebigen Code ausfuehren. + +[Mehr dazu](/docs/custom-tools), wie du Custom Tools erstellst. + +--- + +## MCP servers + +MCP-Server (Model Context Protocol) binden externe Tools und Dienste ein. +Dazu gehoeren Datenbanken, API-Integrationen und Drittanbieter-Services. + +[Mehr dazu](/docs/mcp-servers), wie du MCP-Server konfigurierst. + +--- + +## Internals + +Intern verwenden Tools wie `grep`, `glob` und `list` [ripgrep](https://github.com/BurntSushi/ripgrep). +Standardmaessig beachtet ripgrep `.gitignore`, daher werden dort aufgefuehrte Dateien und Ordner nicht durchsucht. + +--- + +### Ignore patterns + +Wenn du normalerweise ignorierte Dateien einschliessen willst, lege im Projekt-Root eine `.ignore`-Datei an. +Dort kannst du Pfade explizit erlauben. + +```text title=".ignore" +!node_modules/ +!dist/ +!build/ +``` + +Dieses Beispiel erlaubt ripgrep, in `node_modules/`, `dist/` und `build/` zu suchen, auch wenn sie in `.gitignore` stehen. |
