Przejdź do głównej zawartości

Agenci

Konfiguruj i używaj funkcjonalnych agentów.

Agenci to asystenci AI, które można podłączyć do gniazd zasilania i przepływów pracy. Umożliwiają tworzenie ukierunkowanych narzędzi z niestandardowymi monitami, modelami i udostępnianiem narzędzi.

Możesz przełączać się między agentami podczas sesji lub wywoływać ich za pomocą wzmianki @.


Typowe

W opencode zasada dwóch charakterystycznych agentów; Najpierw Primary i Subagents.


Primary Agents

Główne zasady asystenci, z podstawowym kontaktem. Możesz je mieć za pomocą klawisza Tab lub podwójnego skrótu klawiszowego switch_agent. Ci agenci obsługujący urządzenie główne. Dostęp do narzędzia jest konfigurowany za pomocą uprawnień — na przykład w programie Build wszystkie narzędzia są dostępne, a Plan jest ograniczony.

opencode zawiera dwa puste agenty główne: Build i Plan. Dobrze spójrz na te poniżej.


Subagents

Subagenci to pomocniczy asystenci, których można przywoływać agenci główni w celu wykonania podstawowych zadań. Możesz także wytwarzać je, @ wspominając o nich w swoich wiadomościach.

opencode ma dwóch subagentów: General i Explore. Przyjrzymy się temu poniżej.


Wbudowany

opencode ma dwa główne agenty i dwa główne agenty podrzędne.


Build

Tryb: primary

Kompilacja jest domyślnym agentem zastosowania z ukrytymi narzędziami. Jest to standardowy agent do prac programistycznych, którego dostęp jest udostępniony do operacji na plikach i podstawowych systemowych.


Plan

Tryb: primary

Zastrzeżony agent do analizy. Używamy systemu, aby włączyć Ci większe ryzyko i zapobiec niezamierzonym zmianom. Domyślnie są wybrane na ask:

  • file edits: Wszystkie zapisy, transkrypcja i edycje
  • bash: Wszystkie polecam bash

Ten agent jest podłączony, gdy chcesz, aby LLM był kompatybilny z kodem, który wymaga zastosowania lub wersji plastikowej bez konieczności stosowania innej wersji bazy kodu.


General

Tryb: subagent

Rozwiązanie rozwiązania złożone z zadań wieloetapowych. Pełny dostęp do narzędzia (z funkcjonalnymi funkcjami do wykonania), dzięki czemu może w razie potrzeby zostać dostarczone w plikach. Przewoźnik dziesięć, aby określić wiele jednostek roboczych.


Explore

Tryb: subagent

Szybki agent tylko do odczytu do eksploracji baz kodu. Nie można modyfikować plików. Użycie tej opcji, jeśli chcesz szybko uzyskać dostęp do plików według wzorców, wyszukać w kodzie słowa kluczowe lub rozwiązania dotyczące zapytań dotyczących bazy kodu.


Compaction

Tryb: primary

Ukryty agent systemowy, który jest kontekstem kontekstowym w dużym podsumowaniu. W razie działania nie można przejść do interfejsu użytkownika.


Title

Tryb: primary

Ukryty agent systemowy, krótki tytuł sesji. Działa automatycznie i nie można przejść do interfejsu użytkownika.


Summary

Tryb: primary

Ukryty agent systemowy, który stanowi podsumowanie podsumowania sesji. Działa automatycznie i nie można przejść do interfejsu użytkownika.


Stosowanie

  1. W przypadku agentów głównych klawisza Tab, aby przełączać się między nimi podczas sesji. Można również podać z skrótu klawiszowego switch_agent.

  2. Subagent można wytwarzać:

    • Automatycznie przez głównych agentów do specjalistycznych zadań na podstawie ich opisów.

    • Ręcznie, @ wspomnienie o subagencji w Twoich wiadomościach. Na przykład.

      @general help me search for this function
  3. Nawigacja pomiędzy sesjami: Kiedy można mieć własne sesje podrzędne, można nawigować pomiędzy sesjami nadrzędnymi a określonymi podrzędnymi, dostępnymi z:

    • <Lider>+Prawo (lub skonfigurowane przez Ciebie klawisze session_child_cycle), aby przełączać się między jednostkami nadrzędnymi → podrzędnymi 1 → podrzędnymi 2 → … → nadrzędnymi
    • <Leader>+Left (lub skrót klawiszowy session_child_cycle_reverse), aby przejść dalej między macierzym ← podnośnik1 ← podnośnik2 ← … ← prowadzącym

    Dostępna możliwość płynnego przełączania pomiędzy rozmową główną a pracą specjalistyczną subagentę.


Skonfiguruj

Możliwość zastosowania agentów lub urządzeń poprzez zastosowanie. Agentów można zidentyfikować na dwóch systemach:


JSON

Skonfiguruj agenta w pliku konfiguracyjnym opencode.json:

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"mode": "primary",
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "{file:./prompts/build.txt}",
"tools": {
"write": true,
"edit": true,
"bash": true
}
},
"plan": {
"mode": "primary",
"model": "anthropic/claude-haiku-4-20250514",
"tools": {
"write": false,
"edit": false,
"bash": false
}
},
"code-reviewer": {
"description": "Reviews code for best practices and potential issues",
"mode": "subagent",
"model": "anthropic/claude-sonnet-4-20250514",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"tools": {
"write": false,
"edit": false
}
}
}
}

Obniżka cen

Można także definiować agentów za pomocą plików przecen. Trzymaj je w:

  • Globalnie: ~/.config/opencode/agents/
  • Na projekt: .opencode/agents/
~/.config/opencode/agents/review.md
---
description: Reviews code for quality and best practices
mode: subagent
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
write: false
edit: false
bash: false
---
You are in code review mode. Focus on:
- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations
Provide constructive feedback without making direct changes.

Nazwa pliku przecen staje się nazwą agenta. Na przykład review.md tworzy agenta review.


Opcje

Przyjrzyjmy się szczegółowo tym opcjom konfiguracji.


Opis

miejsce description, aby krótko tego, co robi agent i kiedy go stosować.

opencode.json
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}

Jest to wymagana opcja konfiguracji.


Temperatura

Kontroluj losowość i kreatywność odpowiedzi LLM za pomocą konfiguracji temperature.

Niższe wartości, że odpowiedzi są bardziej skupione i deterministyczne, gdy wartość jest innowacyjna i złożona.

opencode.json
{
"agent": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}

Wartość temperatury zwykle waha się od 0,0 do 1,0:

  • 0,0-0,2: Bardzo skoncentrowane i deterministyczne odpowiedzi, idealne do analizy i kodu źródłowego
  • 0,3-0,5: Zrównoważona odpowiedź z chwilą powstania, dobre do ogólnych zadań rozwojowych
  • 0,6–1,0: Bardziej kreatywne i odpowiedzi, rozstrzygnięte podczas burzy mózgów i eksploracji
opencode.json
{
"agent": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}

Jeśli nie ma wpływu na kontrolę, opencode używa narzędzia do analizy danych dla modelu; 0 dla określonych modeli, 0,55 dla modeli Qwen.


Maksymalna liczba kroków

Kontroluj funkcjonowanie iteracji agenta, jaki agent może być, zanim będzie dostępny wyłącznie z tekstem. Dzięki temu użytkownicy kontrolujący koszty mogą mieć wpływ na działanie agentów.

Jeśli ta opcja nie zostanie skonfigurowana, agent będzie obowiązywał iterację, jeśli model nie zostanie wydany lub użytkownik nie będzie regularnie używany.

opencode.json
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}

Po tym, jak agent limitu otrzymuje specjalny monit systemowy nakazujący podsumowanie swojej pracy i rekomendowanych do wykonywania zadań.


Wymienne

Ustaw na true, aby wyłączyć agenta.

opencode.json
{
"agent": {
"review": {
"disable": true
}
}
}

Podpowiedź

niestandardowy plik podpowiedzi systemowych dla tego agenta z konfiguracją prompt. Plik informacyjny powinien zawierać dla celu agenta.

opencode.json
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}

Ścieżka ta zależy od miejsca, w którym znajduje się plik konfiguracyjny. Działa również w przypadku globalnej konstrukcji opencode, jak i funkcjonalnej dla projektu.


Model

konstrukcja nośna model, aby mieć model dla tego agenta. Przydatne przy różnych modelach konfiguracji w różnych zadaniach. Na przykład zastosowania modelu, skuteczne wykonanie modelu.

opencode.json
{
"agent": {
"plan": {
"model": "anthropic/claude-haiku-4-20250514"
}
}
}

Identyfikator modelu w konfiguracji opencode w provider/model-id. Na koniec, OpenCode Zen, przestrzeganie opencode/gpt-5.1-codex dla kodeksu GPT 5.1.


Narzędzia

Kontroluj, które narzędzia są dostępne w tej agencji, za pomocą konfiguracji tools. Można włączyć lub dostępne narzędzie, ustawiając je na true lub false.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}

Można także zastosować symboli wieloznacznych do kontrolowanych wielu narzędzi jednocześnie. Na przykład, aby wyłączyć wszystkie narzędzia z serwera MCP:

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}

Dowiedz się więcej o narzędziach.


Uprawnienia

Może wystąpić możliwość działania, które może pozostać ostateczne przez agenta. Obecnie proste dla narzędzia edit, bash i webfetch można znaleźć w drodze:

  • "ask" — Monituj o zatwierdzenie przed użyciem narzędzia
  • "allow" — Zezwalaj na wszystkie operacje bez zatwierdzenia
  • "deny" — Wyłączenie narzędzia
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
}
}

Można mieć odpowiedni dla każdego agenta.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}

Można także istnieć w agentach Markdown.

~/.config/opencode/agents/review.md
---
description: Code review without edits
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Only analyze code and suggest changes.

Można podłączyć do gniazda bash.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}

Może być przestrzegany globalnym.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}

Możesz także uzyskać symbolu wieloznacznego * do zarządzania uprawnieniami dla wszystkich użytkowników. Ostatnie dostępne źródło pierwszeństwo, symbol wieloznaczny * na pierwszym miejscu, wyodrębnione na końcu.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}

Dowiedz się więcej o prawach.


Tryb

Kontroluj tryb agenta za pomocą konfiguracji mode. Opcja mode umożliwiająca użycie środka.

opencode.json
{
"agent": {
"review": {
"mode": "subagent"
}
}
}

Opcję mode można ustawić na primary, subagent lub all. Jeśli nie dotyczy mode, jest to all.


Ukryty

Ukryj subagenta w menu autouzupełniania @ za pomocą hidden: true. Przydatne w postępowaniu sądowym podagenci, potencjalnie być wywoływani programowo przez innych agentów, którzy korzystają z pomocy jako narzędzia.

opencode.json
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}

Wpływ tylko na użytkownika w menu autouzupełniania. Model może nadal wywoływać ukrytych agentów za pomocą narzędzi do zadań, funkcji użytkowych.


Uprawnienia do zadań

Kontroluj, których agenci podawców mogą wywołać za pomocą narzędzia zadanie za pomocą permission.task. Używa wzorców globalnych do elastycznego dopasowywania.

opencode.json
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}

Po ustawieniu wartości deny podagent zostanie usunięty z opisu narzędzia Zadania, więc model nie będzie gotowy do uruchomienia.


Kolor

Dostosuj wygląd agenta w interfejsie użytkownika za pomocą opcji color. Wpływ na wygląd agenta w interfejsie.

Użyj koloru hex (np. #FF5733) lub koloru motywu: primary, secondary, accent, success, warning, error, info.

opencode.json
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}

Top P

Kontroluj różnorodność odpowiedzi za pomocą opcji top_p. Alternatywa dla temperatury w celu kontrolowanej braku wartości.

opencode.json
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}

Wartość mieszkalna obejmuje zakres od 0,0 do 1,0. Niższe wartości są bardziej skoncentrowane, wyższe wartości są bardziej zaawansowane.


nadal

Wszelkie inne konfiguracje w agentach przekazane bezpośrednio jako model sprzedawcy. Dostęp do funkcji i parametrów dostarczanych dla dostawcy.

Na przykład dzięki modelowi rozumowania OpenAI może kontrolować rozumowanie:

opencode.json
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "openai/gpt-5",
"reasoningEffort": "high",
"textVerbosity": "low"
}
}
}

Te dodatkowe cechy można zidentyfikować od modelu i dostawcy. Sprawdź swoje dostawcę pod kątem parametrów.


Utwórz agentów

Możesz stworzyć nowych agentów za pomocą innego polecenia:

Okno terminala
opencode agent create

Wykonaj decyzję:

  1. Zapytaj, gdzie zapisać agenta; globalne lub szczegółowe dla projektu.
  2. Opisz tego, co agent powinien.
  3. Wygeneruj właściwy monit systemowy i identyfikator.
  4. Wejście do wybrania narzędzia, do którego agenta może być dostęp.
  5. Na koniec pliku pliku przecen z konfiguracją agenta.

Przypadki użycia

Oto kilka typowych zastosowań różnych agentów.

  • Agent użyciai: Pełne prace programistyczne z dostępnymi narzędziami
  • Plan agenta: Analiza i planowanie bez zmian
  • Agent recenzujący: Przegląd kodu z odczytu i narzędzia do dokumentacji
  • Agent debugujący: Koncentruje się na urządzeniu z dostępnymi narzędziami bash i odczytu
  • Agent Dokumentów: Zapisywanie dokumentacji za pomocą operacji na plikach, ale bez konieczności posiadania kopii systemowych

Przykład

Oto kilka przykładowych agentów, którzy mogą się przydatni.


Dokumentacja agenta

~/.config/opencode/agents/docs-writer.md
---
description: Writes and maintains project documentation
mode: subagent
tools:
bash: false
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly language

Audytor bezpieczeństwa

~/.config/opencode/agents/security-auditor.md
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
tools:
write: false
edit: false
---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues