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 edycjebash: 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
-
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. -
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
-
-
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ę.
- <Lider>+Prawo (lub skonfigurowane przez Ciebie klawisze
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:
{ "$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/
---description: Reviews code for quality and best practicesmode: subagentmodel: anthropic/claude-sonnet-4-20250514temperature: 0.1tools: 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ć.
{ "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.
{ "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
{ "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.
{ "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.
{ "agent": { "review": { "disable": true } }}Podpowiedź
niestandardowy plik podpowiedzi systemowych dla tego agenta z konfiguracją prompt. Plik informacyjny powinien zawierać dla celu agenta.
{ "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.
{ "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.
{ "$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:
{ "$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
{ "$schema": "https://opencode.ai/config.json", "permission": { "edit": "deny" }}Można mieć odpowiedni dla każdego agenta.
{ "$schema": "https://opencode.ai/config.json", "permission": { "edit": "deny" }, "agent": { "build": { "permission": { "edit": "ask" } } }}Można także istnieć w agentach Markdown.
---description: Code review without editsmode: subagentpermission: 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.
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "git push": "ask", "grep *": "allow" } } } }}Może być przestrzegany globalnym.
{ "$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.
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "*": "ask", "git status *": "allow" } } } }}Tryb
Kontroluj tryb agenta za pomocą konfiguracji mode. Opcja mode umożliwiająca użycie środka.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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:
{ "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:
opencode agent createWykonaj decyzję:
- Zapytaj, gdzie zapisać agenta; globalne lub szczegółowe dla projektu.
- Opisz tego, co agent powinien.
- Wygeneruj właściwy monit systemowy i identyfikator.
- Wejście do wybrania narzędzia, do którego agenta może być dostęp.
- 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
---description: Writes and maintains project documentationmode: subagenttools: bash: false---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations- Proper structure- Code examples- User-friendly languageAudytor bezpieczeństwa
---description: Performs security audits and identifies vulnerabilitiesmode: subagenttools: 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