mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-08 01:39:12 +00:00
157 lines
3.6 KiB
Plaintext
157 lines
3.6 KiB
Plaintext
---
|
|
title: Wsparcie AKP
|
|
description: przetwarzanie opencode w procesorze komunikatu z ACP.
|
|
---
|
|
|
|
opencode obsługi [Protokół klienta agenta](https://agentclientprotocol.com) lub (ACP), dzięki któremu można przejść do oprogramowania bezpośrednio w zainstalowanych edytorach i środowisku IDE.
|
|
|
|
:::tip
|
|
Lista edytorów i narzędzi obsługujących ACP w [raportu sprzętu ACP](https://zed.dev/blog/acp-progress-report#available-now).
|
|
:::
|
|
|
|
ACP do otwierania dokumentów, które standaryzują treść między edytorami kodu a agentem kodującym AI.
|
|
|
|
---
|
|
|
|
## Skonfiguruj
|
|
|
|
Aby wybrać opencode przez ACP, skonfiguruj edytor tak, aby wybrać opcję `opencode acp`.
|
|
|
|
Uruchomienie opencode jako podproces oprogramowania z ACP, który komunikuje się z edytorem poprzez JSON-RPC poprzez stdio.
|
|
|
|
Poniżej znajdują się przykłady procesorów obsługujących ACP.
|
|
|
|
---
|
|
|
|
### Zeda
|
|
|
|
Dodaj do konstrukcji [Zed](https://zed.dev) (`~/.config/zed/settings.json`):
|
|
|
|
```json title="~/.config/zed/settings.json"
|
|
{
|
|
"agent_servers": {
|
|
"OpenCode": {
|
|
"command": "opencode",
|
|
"args": ["acp"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Aby przejść do akcji, `agent: new thread` w **Palecie redakcji**.
|
|
|
|
Można także po skrócie skrótowym, edytując `keymap.json`:
|
|
|
|
```json title="keymap.json"
|
|
[
|
|
{
|
|
"bindings": {
|
|
"cmd-alt-o": [
|
|
"agent::NewExternalAgentThread",
|
|
{
|
|
"agent": {
|
|
"custom": {
|
|
"name": "OpenCode",
|
|
"command": {
|
|
"command": "opencode",
|
|
"args": ["acp"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
```
|
|
|
|
---
|
|
|
|
### IDE JetBrains
|
|
|
|
Dodaj do swojego [JetBrains IDE](https://www.jetbrains.com/) acp.json zgodnie z [dokumentacją](https://www.jetbrains.com/help/ai-assistant/acp.html):
|
|
|
|
```json title="acp.json"
|
|
{
|
|
"agent_servers": {
|
|
"OpenCode": {
|
|
"command": "/absolute/path/bin/opencode",
|
|
"args": ["acp"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Aby przejść do nowego agenta „opencode” w selektorze agenta AI Chat.
|
|
|
|
---
|
|
|
|
### Avante.nvim
|
|
|
|
Dodaj do konstrukcji [Avante.nvim](https://github.com/yetone/avante.nvim):
|
|
|
|
```lua
|
|
{
|
|
acp_providers = {
|
|
["opencode"] = {
|
|
command = "opencode",
|
|
args = { "acp" }
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Jeśli chcesz zachować bezpieczeństwo:
|
|
|
|
```lua {6-8}
|
|
{
|
|
acp_providers = {
|
|
["opencode"] = {
|
|
command = "opencode",
|
|
args = { "acp" },
|
|
env = {
|
|
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### CodeCompanion.nvim
|
|
|
|
Aby opencode jako agenta ACP w [CodeCompanion.nvim](https://github.com/olimorris/codecompanion.nvim), dodaj dodatkowe elementy, aby otrzymać konstrukcje Neovim:
|
|
|
|
```lua
|
|
require("codecompanion").setup({
|
|
interactions = {
|
|
chat = {
|
|
adapter = {
|
|
name = "opencode",
|
|
model = "claude-sonnet-4",
|
|
},
|
|
},
|
|
},
|
|
})
|
|
```
|
|
|
|
Ta konfiguracja CodeCompanion wymaga opencode jako agenta ACP dla czatu.
|
|
|
|
Jeśli jesteś zarejestrowany jako `OPENCODE_API_KEY`, zapoznaj się z sekcją [Konfigurowanie adapterów: Zmienne przebieg](https://codecompanion.olimorris.dev/getting-started#setting-an-api-key) w dokumentacji CodeCompanion.nvim, aby uzyskać szczegółowe informacje.
|
|
|
|
## Wsparcie
|
|
|
|
opencode działa tak samo przez ACP, jak w terminalu. Obsługiwane są wszystkie funkcje:
|
|
|
|
:::note
|
|
początek źródła ukośnikowego, takie jak `/undo` i `/redo`, nie są aktualne pobierane.
|
|
:::
|
|
|
|
- Wbudowane narzędzie (operacje na plikach, rozwiązanie terminala itp.)
|
|
- Niestandardowe narzędzie i polecenie ukośnikowe
|
|
- Serwery MCP skonfigurowane w konfiguracji opencode
|
|
- Zasady dotyczące projektu od `AGENTS.md`
|
|
- Niestandardowe formatory i lintery
|
|
- Agentów systemowych i uprawnień
|