İçeriğe geç

Araclar

LLM'in kullanabilecegi araclari yonetin.

Araclar, LLM’in kod tabaninizda eylem gerceklestirmesini saglar. opencode yerlesik bir arac setiyle gelir, ancak bunu ozel araclarla veya MCP sunuculariyla genisletebilirsiniz.

Varsayilan olarak tum araclar etkindir ve calismak icin izin istemez. Arac davranisini izinler uzerinden kontrol edebilirsiniz.


Yapilandirin

Arac davranisini kontrol etmek icin permission alanini kullanin. Her arac icin izin verebilir, reddedebilir veya onay isteyebilirsiniz.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny",
"bash": "ask",
"webfetch": "allow"
}
}

Birden fazla araci ayni anda kontrol etmek icin wildcard da kullanabilirsiniz. Ornegin, bir MCP sunucusundan gelen tum araclar icin onay istemek:

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"mymcp_*": "ask"
}
}

Izin yapilandirmasi icin daha fazla bilgi alin.


Yerlesik

opencode icinde bulunan tum yerlesik araclar asagidadir.


bash

Proje ortaminizda kabuk komutlari calistirir.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"bash": "allow"
}
}

Bu arac LLM’in npm install, git status gibi terminal komutlarini veya diger kabuk komutlarini calistirmasini saglar.


edit

Birebir metin degistirme ile mevcut dosyalari duzenler.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "allow"
}
}

Bu arac dosyalarda kesin metin eslesmelerini degistirerek hassas duzenleme yapar. LLM’in kodu degistirmek icin kullandigi temel yontemdir.


write

Yeni dosyalar olusturur veya mevcut dosyalari uzerine yazar.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "allow"
}
}

LLM’in yeni dosya olusturmasina izin vermek icin bunu kullanin. Dosya zaten varsa uzerine yazar.


read

Kod tabaninizdan dosya icerigi okur.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"read": "allow"
}
}

Bu arac dosyalari okur ve iceriklerini dondurur. Buyuk dosyalar icin belirli satir araliklarini okuma destegi vardir.


grep

Duzensiz ifadelerle dosya iceriginde arama yapar.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"grep": "allow"
}
}

Kod tabaninda hizli icerik aramasi sunar. Tam regex sozdizimini ve dosya desen filtrelerini destekler.


glob

Desen eslestirme ile dosya bulur.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"glob": "allow"
}
}

**/*.js veya src/**/*.ts gibi glob desenleriyle dosya arar. Eslesen dosya yollarini degisim zamanina gore siralar.


list

Verilen yoldaki dosya ve dizinleri listeler.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"list": "allow"
}
}

Bu arac dizin icerigini listeler. Sonuclari filtrelemek icin glob desenlerini kabul eder.


lsp (deneysel)

Tanim, referans, hover bilgisi ve cagrilar hiyerarsisi gibi kod zekasi ozellikleri icin yapilandirdiginiz LSP sunuculariyla etkilesir.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"lsp": "allow"
}
}

Desteklenen islemler: goToDefinition, findReferences, hover, documentSymbol, workspaceSymbol, goToImplementation, prepareCallHierarchy, incomingCalls, outgoingCalls.

Projeniz icin kullanilabilir LSP sunucularini ayarlamak icin LSP Servers sayfasina bakin.


patch

Dosyalara patch uygular.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "allow"
}
}

Bu arac patch dosyalarini kod tabaniniza uygular. Farkli kaynaklardan gelen diff ve patch’leri uygulamak icin kullanislidir.


skill

Bir skill (SKILL.md dosyasi) yukler ve icerigini konusmaya dondurur.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"skill": "allow"
}
}

todowrite

Kodlama oturumlarinda yapilacaklar listesini yonetir.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"todowrite": "allow"
}
}

Karmasik islemlerde ilerlemeyi takip etmek icin gorev listeleri olusturur ve gunceller. LLM bunu cok adimli gorevleri duzenlemek icin kullanir.


todoread

Mevcut yapilacaklar listesini okur.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"todoread": "allow"
}
}

Guncel todo listesi durumunu okur. LLM bunu hangi gorevlerin bekledigini veya tamamlandigini takip etmek icin kullanir.


webfetch

Web icerigi getirir.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"webfetch": "allow"
}
}

LLM’in web sayfalarini getirip okumasini saglar. Dokumantasyon aramak veya cevrimici kaynaklari incelemek icin kullanislidir.


websearch

Web’de bilgi arar.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"websearch": "allow"
}
}

Exa AI ile web aramasi yaparak ilgili bilgileri bulur. Egitim verisi kesim tarihinin otesindeki konulari arastirmak, guncel olaylari bulmak veya genel arastirma yapmak icin kullanislidir.

API anahtari gerekmez - arac Exa AI’nin barindirilan MCP hizmetine dogrudan kimlik dogrulamasi olmadan baglanir.


question

Calisma sirasinda kullaniciya soru sorar.

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"question": "allow"
}
}

Bu arac LLM’in gorev sirasinda kullaniciya soru sormasini saglar. Sunlar icin kullanislidir:

  • Kullanici tercihleri veya gereksinimleri toplamak
  • Belirsiz talimatlari netlestirmek
  • Uygulama seceneklerinde karar almak
  • Hangi yone gidilecegine dair secenek sunmak

Her soru bir baslik, soru metni ve secenek listesi icerir. Kullanicilar seceneklerden birini secebilir veya ozel yanit yazabilir. Birden fazla soru varsa tum yanitlari gondermeden once sorular arasinda gezebilirler.


Ozel araclar

Ozel araclar, LLM’in cagirabilecegi kendi fonksiyonlarinizi tanimlamanizi saglar. Bunlar config dosyanizda tanimlanir ve keyfi kod calistirabilir.

Ozel arac olusturma icin daha fazla bilgi alin.


MCP sunuculari

MCP (Model Context Protocol) sunuculari, harici araclari ve servisleri entegre etmenizi saglar. Buna veritabani erisimi, API entegrasyonlari ve ucuncu taraf servisler dahildir.

MCP sunucularini yapilandirma icin daha fazla bilgi alin.


Dahili detaylar

Dahilde grep, glob ve list gibi araclar ripgrep kullanir. Varsayilan olarak ripgrep .gitignore desenlerine uyar; yani .gitignore icindeki dosya ve dizinler arama ve listeleme sonucuna dahil edilmez.


Ignore desenleri

Normalde yok sayilan dosyalari dahil etmek icin proje kokunde bir .ignore dosyasi olusturun. Bu dosya belirli yollari acikca izinli yapabilir.

.ignore
!node_modules/
!dist/
!build/

Ornegin bu .ignore dosyasi, node_modules/ icinde olsalar bile ripgrep’in dist/, build/ ve .gitignore dizinlerinde arama yapmasina izin verir.