2026-02-10 01:34:35 +08:00
---
2026-02-12 08:51:27 +08:00
title: Araçlar
description: LLM'in kullanabileceği araçları yönetin.
2026-02-10 01:34:35 +08:00
---
2026-02-12 08:51:27 +08:00
Araçlar, LLM'in kod tabanı nı zda eylem gerçekleştirmesini sağlar. opencode yerleşik bir araç setiyle gelir, ancak bunu [özel araçlarla](/docs/custom-tools) veya [MCP sunucuları yla](/docs/mcp-servers) genişletebilirsiniz.
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
Varsayı lan olarak tüm araçlar **etkindir** ve çalı şmak için izin istemez. Araç davranı şı nı [izinler](/docs/permissions) üzerinden kontrol edebilirsiniz.
2026-02-10 01:34:35 +08:00
---
2026-02-12 08:51:27 +08:00
## Yapı landı rma
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
Araç davranı şı nı kontrol etmek için `permission` alanı nı kullanı n. Her araç için izin verebilir, reddedebilir veya onay isteyebilirsiniz.
2026-02-10 01:34:35 +08:00
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny",
"bash": "ask",
"webfetch": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Birden fazla aracı aynı anda kontrol etmek için joker karakterler de kullanabilirsiniz. Örneğin, bir MCP sunucusundan gelen tüm araçlar için onay istemek:
2026-02-10 01:34:35 +08:00
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"mymcp_*": "ask"
}
}
```
2026-02-12 08:51:27 +08:00
İzin yapı landı rması için [daha fazla bilgi alı n](/docs/permissions).
2026-02-10 01:34:35 +08:00
---
2026-02-12 08:51:27 +08:00
## Yerleşik
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
opencode içinde bulunan tüm yerleşik araçlar aşağı dadı r.
2026-02-10 01:34:35 +08:00
---
### bash
2026-02-12 08:51:27 +08:00
Proje ortamı nı zda kabuk komutları çalı ştı rı r.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"bash": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Bu araç LLM'in `npm install`, `git status` gibi terminal komutları nı veya diğer kabuk komutları nı çalı ştı rması nı sağlar.
2026-02-10 01:34:35 +08:00
---
### edit
2026-02-12 08:51:27 +08:00
Birebir metin değiştirme ile mevcut dosyaları düzenler.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Bu araç dosyalarda kesin metin eşleşmelerini değiştirerek hassas düzenleme yapar. LLM'in kodu değiştirmek için kullandı ğı temel yöntemdir.
2026-02-10 01:34:35 +08:00
---
### write
2026-02-12 08:51:27 +08:00
Yeni dosyalar oluşturur veya mevcut dosyaları üzerine yazar.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
LLM'in yeni dosya oluşturması na izin vermek için bunu kullanı n. Dosya zaten varsa üzerine yazar.
2026-02-10 01:34:35 +08:00
:::note
2026-04-21 23:31:20 +08:00
`write` aracı `edit` izniyle kontrol edilir; bu izin tüm dosya değişikliklerini kapsar (`edit`, `write`, `patch`).
2026-02-10 01:34:35 +08:00
:::
---
### read
2026-02-12 08:51:27 +08:00
Kod tabanı nı zdan dosya içeriği okur.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"read": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Bu araç dosyaları okur ve içeriklerini döndürür. Büyük dosyalar için belirli satı r aralı kları nı okuma desteği vardı r.
2026-02-10 01:34:35 +08:00
---
### grep
2026-02-12 08:51:27 +08:00
Düzenli ifadelerle dosya içeriğinde arama yapar.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"grep": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Kod tabanı nda hı zlı içerik araması sunar. Tam regex sözdizimini ve dosya desen filtrelerini destekler.
2026-02-10 01:34:35 +08:00
---
### glob
2026-02-12 08:51:27 +08:00
Desen eşleştirme ile dosya bulur.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"glob": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
`**/*.js` veya `src/**/*.ts` gibi glob desenleriyle dosya arar. Eşleşen dosya yolları nı değişim zamanı na göre sı ralar.
2026-02-10 01:34:35 +08:00
---
### lsp (deneysel)
2026-02-12 08:51:27 +08:00
Tanı m, referans, hover bilgisi ve çağrı lar hiyerarşisi gibi kod zekası özellikleri için yapı landı rdı ğı nı z LSP sunucuları yla etkileşir.
2026-02-10 01:34:35 +08:00
:::note
2026-02-12 08:51:27 +08:00
Bu araç yalnı zca `OPENCODE_EXPERIMENTAL_LSP_TOOL=true` (veya `OPENCODE_EXPERIMENTAL=true`) olduğunda kullanı labilir.
2026-02-10 01:34:35 +08:00
:::
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"lsp": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Desteklenen işlemler: `goToDefinition`, `findReferences`, `hover`, `documentSymbol`, `workspaceSymbol`, `goToImplementation`, `prepareCallHierarchy`, `incomingCalls`, `outgoingCalls`.
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
Projeniz için kullanı labilir LSP sunucuları nı ayarlamak için [LSP Sunucuları ](/docs/lsp) sayfası na bakı n.
2026-02-10 01:34:35 +08:00
---
### patch
Dosyalara patch uygular.
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Bu araç patch dosyaları nı kod tabanı nı za uygular. Farklı kaynaklardan gelen diff ve patch'leri uygulamak için kullanı şlı dı r.
2026-02-10 01:34:35 +08:00
:::note
2026-04-21 23:31:20 +08:00
`patch` aracı `edit` izniyle kontrol edilir; bu izin tüm dosya değişikliklerini kapsar (`edit`, `write`, `patch`).
2026-02-10 01:34:35 +08:00
:::
---
### skill
2026-02-12 08:51:27 +08:00
Bir [skill](/docs/skills) (`SKILL.md` dosyası ) yükler ve içeriğini konuşmaya döndürür.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"skill": "allow"
}
}
```
---
### todowrite
2026-02-12 08:51:27 +08:00
Kodlama oturumları nda yapı lacaklar listesini yönetir.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"todowrite": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Karmaşı k işlemlerde ilerlemeyi takip etmek için görev listeleri oluşturur ve günceller. LLM bunu çok adı mlı görevleri düzenlemek için kullanı r.
2026-02-10 01:34:35 +08:00
:::note
2026-02-12 08:51:27 +08:00
Bu araç alt agent'lar için varsayı lan olarak devre dı şı dı r, ama manuel etkinleştirebilirsiniz. [Daha fazla bilgi](/docs/agents/#permissions)
2026-02-10 01:34:35 +08:00
:::
---
### webfetch
2026-02-12 08:51:27 +08:00
Web içeriği getirir.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"webfetch": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
LLM'in web sayfaları nı getirip okuması nı sağlar. Dokümantasyon aramak veya çevrimiçi kaynakları incelemek için kullanı şlı dı r.
2026-02-10 01:34:35 +08:00
---
### websearch
Web'de bilgi arar.
:::note
2026-02-12 08:51:27 +08:00
Bu araç yalnı zca opencode provider kullanı lı rken veya `OPENCODE_ENABLE_EXA` ortam değişkeni doğru değerlerden birine ayarlandı ğı nda (örneğin `true` ya da `1`) kullanı labilir.
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
opencode başlatı rken etkinleştirmek için:
2026-02-10 01:34:35 +08:00
```bash
OPENCODE_ENABLE_EXA=1 opencode
```
:::
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"websearch": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Exa AI ile web araması yaparak ilgili bilgileri bulur. Eğitim verisi kesim tarihinin ötesindeki konuları araştı rmak, güncel olayları bulmak veya genel araştı rma yapmak için kullanı şlı dı r.
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
API anahtarı gerekmez - araç Exa AI'nin barı ndı rı lan MCP hizmetine doğrudan kimlik doğrulaması olmadan bağlanı r.
2026-02-10 01:34:35 +08:00
:::tip
2026-02-12 08:51:27 +08:00
Bilgi keşfetmeniz gerekiyorsa `websearch`, belirli bir URL'den içerik çekmeniz gerekiyorsa `webfetch` kullanı n.
2026-02-10 01:34:35 +08:00
:::
---
### question
2026-02-12 08:51:27 +08:00
Çalı şma sı rası nda kullanı cı ya soru sorar.
2026-02-10 01:34:35 +08:00
```json title="opencode.json" {4}
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"question": "allow"
}
}
```
2026-02-12 08:51:27 +08:00
Bu araç LLM'in görev sı rası nda kullanı cı ya soru sorması nı sağlar. Şunlar için kullanı şlı dı r:
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
- Kullanı cı tercihleri veya gereksinimleri toplamak
- Belirsiz talimatları netleştirmek
- Uygulama seçeneklerinde karar almak
- Hangi yöne gidileceğine dair seçenek sunmak
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
Her soru bir başlı k, soru metni ve seçenek listesi içerir. Kullanı cı lar seçeneklerden birini seçebilir veya özel yanı t yazabilir. Birden fazla soru varsa tüm yanı tları göndermeden önce sorular arası nda gezebilirler.
2026-02-10 01:34:35 +08:00
---
2026-02-12 08:51:27 +08:00
## Özel araçlar
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
Özel araçlar, LLM'in çağı rabileceği kendi fonksiyonları nı zı tanı mlamanı zı sağlar. Bunlar config dosyanı zda tanı mlanı r ve keyfi kod çalı ştı rabilir.
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
Özel araç oluşturma için [daha fazla bilgi alı n](/docs/custom-tools).
2026-02-10 01:34:35 +08:00
---
2026-02-12 08:51:27 +08:00
## MCP sunucuları
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
MCP (Model Context Protocol) sunucuları , harici araçları ve servisleri entegre etmenizi sağlar. Buna veritabanı erişimi, API entegrasyonları ve üçüncü taraf servisler dahildir.
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
MCP sunucuları nı yapı landı rma için [daha fazla bilgi alı n](/docs/mcp-servers).
2026-02-10 01:34:35 +08:00
---
## Dahili detaylar
2026-04-16 06:44:53 +08:00
Dahilde `grep` ve `glob` gibi araçlar [ripgrep](https://github.com/BurntSushi/ripgrep) kullanı r. Varsayı lan olarak ripgrep `.gitignore` desenlerine uyar; yani `.gitignore` içindeki dosya ve dizinler arama ve listeleme sonucuna dahil edilmez.
2026-02-10 01:34:35 +08:00
---
2026-02-12 08:51:27 +08:00
### Yoksayma desenleri
2026-02-10 01:34:35 +08:00
2026-02-12 08:51:27 +08:00
Normalde yok sayı lan dosyaları dahil etmek için proje kökünde bir `.ignore` dosyası oluşturun. Bu dosya belirli yolları açı kça izinli yapabilir.
2026-02-10 01:34:35 +08:00
```text title=".ignore"
!node_modules/
!dist/
!build/
```
2026-02-12 08:51:27 +08:00
Örneğin bu `.ignore` dosyası , `node_modules/` içinde olsalar bile ripgrep'in `dist/`, `build/` ve `.gitignore` dizinlerinde arama yapması na izin verir.