acp.mdx 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. ---
  2. title: ACP-Unterstützung
  3. description: Verwenden Sie OpenCode in jedem ACP-kompatiblen Editor.
  4. ---
  5. OpenCode unterstützt [Agent Client Protocol](https://agentclientprotocol.com) oder (ACP), sodass Sie es direkt in kompatiblen Editoren und IDEs verwenden können.
  6. :::tip
  7. Eine Liste der Editoren und Tools, die ACP unterstützen, finden Sie unter [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now).
  8. :::
  9. ACP ist ein offenes Protokoll, das die Kommunikation zwischen Code-Editoren und AI-Coding-Agenten standardisiert.
  10. ---
  11. ## Konfiguration
  12. Um OpenCode über ACP zu verwenden, konfigurieren Sie Ihren Editor für die Ausführung des Befehls `opencode acp`.
  13. Der Befehl startet OpenCode als ACP-kompatiblen Unterprozess, der über stdio über JSON-RPC mit Ihrem Editor kommuniziert.
  14. Nachfolgend finden Sie Beispiele für beliebte Editoren, die ACP unterstützen.
  15. ---
  16. ### Zed
  17. Fügen Sie Ihrer [Zed](https://zed.dev)-Konfiguration (`~/.config/zed/settings.json`) Folgendes hinzu:
  18. ```json title="~/.config/zed/settings.json"
  19. {
  20. "agent_servers": {
  21. "OpenCode": {
  22. "command": "opencode",
  23. "args": ["acp"]
  24. }
  25. }
  26. }
  27. ```
  28. Um es zu öffnen, verwenden Sie die Aktion `agent: new thread` in der **Befehlspalette**.
  29. Sie können auch eine Tastenkombination binden, indem Sie Ihren `keymap.json` bearbeiten:
  30. ```json title="keymap.json"
  31. [
  32. {
  33. "bindings": {
  34. "cmd-alt-o": [
  35. "agent::NewExternalAgentThread",
  36. {
  37. "agent": {
  38. "custom": {
  39. "name": "OpenCode",
  40. "command": {
  41. "command": "opencode",
  42. "args": ["acp"]
  43. }
  44. }
  45. }
  46. }
  47. ]
  48. }
  49. }
  50. ]
  51. ```
  52. ---
  53. ### JetBrains IDEs
  54. Fügen Sie zu Ihrem [JetBrains IDE](https://www.jetbrains.com/) acp.json gemäß [Dokumentation](https://www.jetbrains.com/help/ai-assistant/acp.html) hinzu:
  55. ```json title="acp.json"
  56. {
  57. "agent_servers": {
  58. "OpenCode": {
  59. "command": "/absolute/path/bin/opencode",
  60. "args": ["acp"]
  61. }
  62. }
  63. }
  64. ```
  65. Um es zu öffnen, verwenden Sie den neuen Agenten „OpenCode“ in der AI Chat Agent Selector.
  66. ---
  67. ### Avante.nvim
  68. Fügen Sie Ihrer [Avante.nvim](https://github.com/yetone/avante.nvim)-Konfiguration Folgendes hinzu:
  69. ```lua
  70. {
  71. acp_providers = {
  72. ["opencode"] = {
  73. command = "opencode",
  74. args = { "acp" }
  75. }
  76. }
  77. }
  78. ```
  79. Wenn Sie Umgebungsvariablen übergeben müssen:
  80. ```lua {6-8}
  81. {
  82. acp_providers = {
  83. ["opencode"] = {
  84. command = "opencode",
  85. args = { "acp" },
  86. env = {
  87. OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
  88. }
  89. }
  90. }
  91. }
  92. ```
  93. ---
  94. ### CodeCompanion.nvim
  95. Um OpenCode als ACP-Agent in [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim) zu verwenden, fügen Sie Folgendes zu Ihrer Neovim-Konfiguration hinzu:
  96. ```lua
  97. require("codecompanion").setup({
  98. interactions = {
  99. chat = {
  100. adapter = {
  101. name = "opencode",
  102. model = "claude-sonnet-4",
  103. },
  104. },
  105. },
  106. })
  107. ```
  108. Diese Konfiguration richtet CodeCompanion so ein, dass OpenCode als ACP-Agent für den Chat verwendet wird.
  109. Wenn Sie Umgebungsvariablen (wie `OPENCODE_API_KEY`) übergeben müssen, finden Sie ausführliche Informationen zu [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) in der Dokumentation zu CodeCompanion.nvim.
  110. ## Unterstützung
  111. OpenCode funktioniert über ACP genauso wie im Terminal. Alle Funktionen werden unterstützt:
  112. :::note
  113. Einige integrierte Slash-Befehle wie `/undo` und `/redo` werden derzeit nicht unterstützt.
  114. :::
  115. - Integrierte Tools (Dateioperationen, Terminalbefehle usw.)
  116. - Benutzerdefinierte Tools und Slash-Befehle
  117. - MCP-Server, die in Ihrer OpenCode-Konfiguration konfiguriert sind
  118. - Projektspezifische Regeln von `AGENTS.md`
  119. - Benutzerdefinierte Formatierer und Linters
  120. - Agenten- und Berechtigungssystem