Przejdź do głównej zawartości

ACP

Używanie ArmIn z protokołem Agent Client Protocol (ACP).

ArmIn obsługuje Agent Client Protocol (ACP), który umożliwia korzystanie z ArmIn bezpośrednio w edytorach i środowiskach IDE.

ACP to otwarty standard, który ujednolica komunikację między edytorami kodu a agentami kodującymi AI.


Konfiguracja

Aby używać ArmIn przez ACP, skonfiguruj swój edytor tak, aby uruchamiał polecenie armin acp.

Uruchamia to ArmIn jako podproces zgodny z ACP, który komunikuje się z edytorem za pomocą JSON-RPC przez stdio.

Poniżej znajdują się przykłady dla edytorów obsługujących ACP.


Zed

Dodaj do konfiguracji Zed (~/.config/zed/settings.json):

~/.config/zed/settings.json
{
"agent_servers": {
"ArmIn": {
"command": "armin",
"args": ["acp"]
}
}
}

Aby użyć, wybierz agent: new thread w Palecie poleceń (Command Palette).

Możesz także przypisać skrót klawiszowy, edytując keymap.json:

keymap.json
[
{
"bindings": {
"cmd-alt-o": [
"agent::NewExternalAgentThread",
{
"agent": {
"custom": {
"name": "ArmIn",
"command": {
"command": "armin",
"args": ["acp"]
}
}
}
}
]
}
}
]

JetBrains IDE

Dodaj do swojego JetBrains IDE plik acp.json zgodnie z dokumentacją:

acp.json
{
"agent_servers": {
"ArmIn": {
"command": "/absolute/path/bin/armin",
"args": ["acp"]
}
}
}

Następnie wybierz „ArmIn” w selektorze agentów AI Chat.


Avante.nvim

Dodaj do konfiguracji Avante.nvim:

{
acp_providers = {
["armin"] = {
command = "armin",
args = { "acp" }
}
}
}

Jeśli potrzebujesz przekazać klucz API:

{
acp_providers = {
["armin"] = {
command = "armin",
args = { "acp" },
env = {
OPENCODE_API_KEY = os.getenv("OPENCODE_API_KEY")
}
}
}
}

CodeCompanion.nvim

Aby używać ArmIn jako agenta ACP w CodeCompanion.nvim, dodaj następującą konfigurację do Neovim:

require("codecompanion").setup({
interactions = {
chat = {
adapter = {
name = "armin",
model = "claude-sonnet-4",
},
},
},
})

Ta konfiguracja sprawia, że CodeCompanion używa ArmIn jako agenta ACP do czatu.

Jeśli wymagany jest OPENCODE_API_KEY, zapoznaj się z sekcją Konfigurowanie adapterów: Zmienne środowiskowe w dokumentacji CodeCompanion.nvim, aby uzyskać szczegółowe informacje.

Wsparcie

ArmIn działa przez ACP tak samo, jak w terminalu. Obsługiwane są wszystkie główne funkcje:

  • Narzędzia wbudowane (operacje na plikach, terminal itp.)
  • Niestandardowe narzędzia i polecenia z ukośnikiem
  • Serwery MCP zdefiniowane w konfiguracji ArmIn
  • Zasady projektu z AGENTS.md
  • Niestandardowe formatery i lintery
  • Agenci systemowi i uprawnienia