modes.mdx 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. ---
  2. title: Modi
  3. description: Verschiedene Modi für unterschiedliche Anwendungsfälle.
  4. ---
  5. :::caution
  6. Modi werden jetzt über die Option `agent` in der OpenCode-Konfiguration konfiguriert. Der
  7. Die Option `mode` ist jetzt veraltet. [Learn more](/docs/agents).
  8. :::
  9. Mit den Modi in OpenCode können Sie das Verhalten, die Tools und die Eingabeaufforderungen für verschiedene Anwendungsfälle anpassen.
  10. Es verfügt über zwei integrierte Modi: **Build** und **Plan**. Sie können anpassen
  11. diese oder konfigurieren Sie Ihre eigenen über die OpenCode-Konfiguration.
  12. Sie können während einer Sitzung zwischen den Modi wechseln oder diese in Ihrer Konfigurationsdatei konfigurieren.
  13. ---
  14. ## Built-in
  15. OpenCode verfügt über zwei integrierte Modi.
  16. ---
  17. ### Build
  18. Build ist der **Standardmodus**, bei dem alle Tools aktiviert sind. Dies ist der Standardmodus für Entwicklungsarbeiten, bei dem Sie vollen Zugriff auf Dateioperationen und Systembefehle benötigen.
  19. ---
  20. ### Plan
  21. Ein eingeschränkter Modus für Planung und Analyse. Im Planmodus sind die folgenden Tools standardmäßig deaktiviert:
  22. - `write` – Es können keine neuen Dateien erstellt werden
  23. - `edit` – Vorhandene Dateien können nicht geändert werden, mit Ausnahme der Dateien unter `.opencode/plans/*.md`, um den Plan selbst detailliert darzustellen
  24. - `patch` – Patches können nicht angewendet werden
  25. - `bash` – Shell-Befehle können nicht ausgeführt werden
  26. Dieser Modus ist nützlich, wenn Sie möchten, dass AI Code analysiert, Änderungen vorschlägt oder Pläne erstellt, ohne tatsächliche Änderungen an Ihrer Codebasis vorzunehmen.
  27. ---
  28. ## Switching
  29. Sie können während einer Sitzung mit der _Tab_-Taste zwischen den Modi wechseln. Oder Ihre konfigurierte `switch_mode`-Tastenkombination.
  30. Siehe auch: [Formatters](/docs/formatters) für Informationen zur Codeformatierungskonfiguration.
  31. ---
  32. ## Configure
  33. Sie können die integrierten Modi anpassen oder über die Konfiguration eigene erstellen. Modi können auf zwei Arten konfiguriert werden:
  34. ### JSON Konfiguration
  35. Konfigurieren Sie Modi in Ihrer `opencode.json`-Konfigurationsdatei:
  36. ```json title="opencode.json"
  37. {
  38. "$schema": "https://opencode.ai/config.json",
  39. "mode": {
  40. "build": {
  41. "model": "anthropic/claude-sonnet-4-20250514",
  42. "prompt": "{file:./prompts/build.txt}",
  43. "tools": {
  44. "write": true,
  45. "edit": true,
  46. "bash": true
  47. }
  48. },
  49. "plan": {
  50. "model": "anthropic/claude-haiku-4-20250514",
  51. "tools": {
  52. "write": false,
  53. "edit": false,
  54. "bash": false
  55. }
  56. }
  57. }
  58. }
  59. ```
  60. ### Markdown-Konfiguration
  61. Sie können Modi auch mithilfe von Markdown-Dateien definieren. Platzieren Sie sie in:
  62. - Global: `~/.config/opencode/modes/`
  63. - Projekt: `.opencode/modes/`
  64. ```markdown title="~/.config/opencode/modes/review.md"
  65. ---
  66. model: anthropic/claude-sonnet-4-20250514
  67. temperature: 0.1
  68. tools:
  69. write: false
  70. edit: false
  71. bash: false
  72. ---
  73. You are in code review mode. Focus on:
  74. - Code quality and best practices
  75. - Potential bugs and edge cases
  76. - Performance implications
  77. - Security considerations
  78. Provide constructive feedback without making direct changes.
  79. ```
  80. Der Name der Markdown-Datei wird zum Modusnamen (e.g., `review.md` erstellt einen `review`-Modus).
  81. Schauen wir uns diese Konfigurationsmöglichkeiten im Detail an.
  82. ---
  83. ### Model
  84. Verwenden Sie die `model`-Konfiguration, um das Standardmodell für diesen Modus zu überschreiben. Nützlich für die Verwendung verschiedener Modelle, die für verschiedene Aufgaben optimiert sind. Zum Beispiel ein schnelleres Modell für die Planung, ein leistungsfähigeres Modell für die Umsetzung.
  85. ```json title="opencode.json"
  86. {
  87. "mode": {
  88. "plan": {
  89. "model": "anthropic/claude-haiku-4-20250514"
  90. }
  91. }
  92. }
  93. ```
  94. ---
  95. ### Temperature
  96. Steuern Sie die Zufälligkeit und Kreativität der Antworten von AI mit der `temperature`-Konfiguration. Niedrigere Werte machen die Antworten fokussierter und deterministischer, während höhere Werte die Kreativität und Variabilität steigern.
  97. ```json title="opencode.json"
  98. {
  99. "mode": {
  100. "plan": {
  101. "temperature": 0.1
  102. },
  103. "creative": {
  104. "temperature": 0.8
  105. }
  106. }
  107. }
  108. ```
  109. Temperaturwerte liegen typischerweise zwischen 0.0 und 1.0:
  110. - **0.0-0.2**: Sehr fokussierte und deterministische Antworten, ideal für Code-Analyse und Planung
  111. - **0.3-0.5**: Ausgewogene Antworten mit etwas Kreativität, gut für allgemeine Entwicklungsaufgaben
  112. - **0.6-1.0**: Kreativere und vielfältigere Antworten, nützlich für Brainstorming und Erkundung
  113. ```json title="opencode.json"
  114. {
  115. "mode": {
  116. "analyze": {
  117. "temperature": 0.1,
  118. "prompt": "{file:./prompts/analysis.txt}"
  119. },
  120. "build": {
  121. "temperature": 0.3
  122. },
  123. "brainstorm": {
  124. "temperature": 0.7,
  125. "prompt": "{file:./prompts/creative.txt}"
  126. }
  127. }
  128. }
  129. ```
  130. Wenn keine Temperatur angegeben ist, verwendet OpenCode modellspezifische Standardwerte (normalerweise 0 für die meisten Modelle, 0.55 für Qwen-Modelle).
  131. ---
  132. ### Prompt
  133. Geben Sie mit der `prompt`-Konfiguration eine benutzerdefinierte Systemaufforderungsdatei für diesen Modus an. Die Eingabeaufforderungsdatei sollte spezifische Anweisungen für den Zweck des Modus enthalten.
  134. ```json title="opencode.json"
  135. {
  136. "mode": {
  137. "review": {
  138. "prompt": "{file:./prompts/code-review.txt}"
  139. }
  140. }
  141. }
  142. ```
  143. Dieser Pfad ist relativ zum Speicherort der Konfigurationsdatei. Das funktioniert also
  144. sowohl die globale OpenCode-Konfiguration als auch die projektspezifische Konfiguration.
  145. ---
  146. ### Tools
  147. Steuern Sie mit der `tools`-Konfiguration, welche Tools in diesem Modus verfügbar sind. Sie können bestimmte Tools aktivieren oder deaktivieren, indem Sie sie auf `true` oder `false` setzen.
  148. ```json
  149. {
  150. "mode": {
  151. "readonly": {
  152. "tools": {
  153. "write": false,
  154. "edit": false,
  155. "bash": false,
  156. "read": true,
  157. "grep": true,
  158. "glob": true
  159. }
  160. }
  161. }
  162. }
  163. ```
  164. Wenn keine Tools angegeben sind, sind alle Tools standardmäßig aktiviert.
  165. ---
  166. #### Verfügbare Werkzeuge
  167. Hier sind alle Tools aufgeführt, die über den Konfigurationsmodus gesteuert werden können.
  168. | Werkzeug | Beschreibung |
  169. | ----------- | ---------------------------- |
  170. | `bash` | Shell-Befehle ausführen |
  171. | `edit` | Vorhandene Dateien ändern |
  172. | `write` | Neue Dateien erstellen |
  173. | `read` | Dateiinhalt lesen |
  174. | `grep` | Dateiinhalte durchsuchen |
  175. | `glob` | Dateien nach Muster suchen |
  176. | `list` | Verzeichnisinhalte auflisten |
  177. | `patch` | Patches auf Dateien anwenden |
  178. | `todowrite` | Aufgabenlisten verwalten |
  179. | `todoread` | Aufgabenlisten lesen |
  180. | `webfetch` | Webinhalte abrufen |
  181. ---
  182. ## Benutzerdefinierte Modi
  183. Sie können Ihre eigenen benutzerdefinierten Modi erstellen, indem Sie diese zur Konfiguration hinzufügen. Hier sind Beispiele für beide Ansätze:
  184. ### Verwenden der JSON-Konfiguration
  185. ```json title="opencode.json" {4-14}
  186. {
  187. "$schema": "https://opencode.ai/config.json",
  188. "mode": {
  189. "docs": {
  190. "prompt": "{file:./prompts/documentation.txt}",
  191. "tools": {
  192. "write": true,
  193. "edit": true,
  194. "bash": false,
  195. "read": true,
  196. "grep": true,
  197. "glob": true
  198. }
  199. }
  200. }
  201. }
  202. ```
  203. ### Verwendung von Markdown-Dateien
  204. Erstellen Sie Modusdateien in `.opencode/modes/` für projektspezifische Modi oder `~/.config/opencode/modes/` für globale Modi:
  205. ```markdown title=".opencode/modes/debug.md"
  206. ---
  207. temperature: 0.1
  208. tools:
  209. bash: true
  210. read: true
  211. grep: true
  212. write: false
  213. edit: false
  214. ---
  215. You are in debug mode. Your primary goal is to help investigate and diagnose issues.
  216. Focus on:
  217. - Understanding the problem through careful analysis
  218. - Using bash commands to inspect system state
  219. - Reading relevant files and logs
  220. - Searching for patterns and anomalies
  221. - Providing clear explanations of findings
  222. Do not make any changes to files. Only investigate and report.
  223. ```
  224. ```markdown title="~/.config/opencode/modes/refactor.md"
  225. ---
  226. model: anthropic/claude-sonnet-4-20250514
  227. temperature: 0.2
  228. tools:
  229. edit: true
  230. read: true
  231. grep: true
  232. glob: true
  233. ---
  234. You are in refactoring mode. Focus on improving code quality without changing functionality.
  235. Priorities:
  236. - Improve code readability and maintainability
  237. - Apply consistent naming conventions
  238. - Reduce code duplication
  239. - Optimize performance where appropriate
  240. - Ensure all tests continue to pass
  241. ```
  242. ---
  243. ### Anwendungsfälle
  244. Hier sind einige häufige Anwendungsfälle für verschiedene Modi.
  245. - **Build-Modus**: Vollständige Entwicklungsarbeit mit allen aktivierten Tools
  246. - **Planmodus**: Analyse und Planung ohne Änderungen
  247. - **Überprüfungsmodus**: Codeüberprüfung mit schreibgeschütztem Zugriff plus Dokumentationstools
  248. - **Debug-Modus**: Konzentriert sich auf die Untersuchung mit aktivierten Bash- und Lesetools
  249. - **Docs-Modus**: Dokumentationsschreiben mit Dateioperationen, aber ohne Systembefehle
  250. Möglicherweise stellen Sie auch fest, dass unterschiedliche Modelle für unterschiedliche Anwendungsfälle geeignet sind.