mirror of
https://github.com/anomalyco/opencode.git
synced 2026-04-30 09:46:35 +00:00
157 lines
3.7 KiB
Plaintext
157 lines
3.7 KiB
Plaintext
---
|
|
title: ACP support
|
|
description: Brug OpenCode i enhver ACP-kompatibel editor.
|
|
---
|
|
|
|
OpenCode understøtter [Agent Client Protocol](https://agentclientprotocol.com) eller (ACP), så du kan bruge det direkte i kompatible editorer og IDE'er.
|
|
|
|
:::tip
|
|
For en liste over redaktører og værktøjer, der understøtter ACP, tjek [ACP progress report](https://zed.dev/blog/acp-progress-report#available-now).
|
|
:::
|
|
|
|
ACP er en åben protokol, der standardiserer kommunikation mellem kodeeditorer og AI-kodningsagenter.
|
|
|
|
---
|
|
|
|
## Konfigurer
|
|
|
|
For at bruge OpenCode via ACP, konfigurer din editor til at køre kommandoen `opencode acp`.
|
|
|
|
Kommandoen starter OpenCode som en ACP-kompatibel underproces, der kommunikerer med din editor over JSON-RPC via stdio.
|
|
|
|
Nedenfor er eksempler på populære redaktører, der understøtter ACP.
|
|
|
|
---
|
|
|
|
### Zed
|
|
|
|
Føj til din [Zed](https://zed.dev)-konfiguration (`~/.config/zed/settings.json`):
|
|
|
|
```json title="~/.config/zed/settings.json"
|
|
{
|
|
"agent_servers": {
|
|
"OpenCode": {
|
|
"command": "opencode",
|
|
"args": ["acp"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
For at åbne den skal du bruge handlingen `agent: new thread` i **Kommandopaletten**.
|
|
|
|
Du kan også binde en tastaturgenvej ved at redigere din `keymap.json`:
|
|
|
|
```json title="keymap.json"
|
|
[
|
|
{
|
|
"bindings": {
|
|
"cmd-alt-o": [
|
|
"agent::NewExternalAgentThread",
|
|
{
|
|
"agent": {
|
|
"custom": {
|
|
"name": "OpenCode",
|
|
"command": {
|
|
"command": "opencode",
|
|
"args": ["acp"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
```
|
|
|
|
---
|
|
|
|
### JetBrains IDE'er
|
|
|
|
Tilføj til din [JetBrains IDE](https://www.jetbrains.com/) acp.json i henhold til [documentation](https://www.jetbrains.com/help/ai-assistant/acp.html):
|
|
|
|
```json title="acp.json"
|
|
{
|
|
"agent_servers": {
|
|
"OpenCode": {
|
|
"command": "/absolute/path/bin/opencode",
|
|
"args": ["acp"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
For at åbne den skal du bruge den nye 'OpenCode'-agent i AI Chat-agentvælgeren.
|
|
|
|
---
|
|
|
|
### Avante.nvim
|
|
|
|
Føj til din [Avante.nvim](https://github.com/yetone/avante.nvim)-konfiguration:
|
|
|
|
```lua
|
|
{
|
|
acp_providers = {
|
|
["opencode"] = {
|
|
command = "opencode",
|
|
args = { "acp" }
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Hvis du har brug for at videregive miljøvariabler:
|
|
|
|
```lua {6-8}
|
|
{
|
|
acp_providers = {
|
|
["opencode"] = {
|
|
command = "opencode",
|
|
args = { "acp" },
|
|
env = {
|
|
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### CodeCompanion.nvim
|
|
|
|
For at bruge OpenCode som en ACP-agent i [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), skal du tilføje følgende til din Neovim-konfiguration:
|
|
|
|
```lua
|
|
require("codecompanion").setup({
|
|
interactions = {
|
|
chat = {
|
|
adapter = {
|
|
name = "opencode",
|
|
model = "claude-sonnet-4",
|
|
},
|
|
},
|
|
},
|
|
})
|
|
```
|
|
|
|
Denne konfiguration sætter CodeCompanion til at bruge OpenCode som ACP-agent til chat.
|
|
|
|
Hvis du har brug for at sende miljøvariabler (som `OPENCODE_API_KEY`), henvises til [Configuring Adapters: Environment Variables](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) i CodeCompanion.nvim-dokumentationen for alle detaljer.
|
|
|
|
## Support
|
|
|
|
OpenCode fungerer på samme måde via ACP som i terminalen. Alle funktioner understøtter:
|
|
|
|
:::note
|
|
Nogle indbyggede skråstreg-kommandoer som `/undo` og `/redo` er i øjeblikket ikke understøttet.
|
|
:::
|
|
|
|
- Indbyggede værktøjer (filoperationer, terminalkommandoer osv.)
|
|
- Brugerdefinerede værktøjer og skråstreg-kommandoer
|
|
- MCP-servere konfigureret i din OpenCode-konfiguration
|
|
- Projektspecifikke regler fra `AGENTS.md`
|
|
- Brugerdefinerede formatere og linters
|
|
- Agenter og tilladelsessystem
|