Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
diffs, değişiklik içeriğini aracılar için salt okunur bir diff yapıtına dönüştüren kısa yerleşik sistem rehberliği ve eşlik eden bir beceriye sahip isteğe bağlı bir Plugin aracıdır.
Şunlardan birini kabul eder:
beforeveaftermetni- birleşik bir
patch
- kanvas sunumu için bir gateway görüntüleyici URL’si
- ileti teslimi için işlenmiş bir dosya yolu (PNG veya PDF)
- tek çağrıda her iki çıktı
Hızlı başlangıç
Yerleşik sistem rehberliğini devre dışı bırakın
diffs aracını etkin tutup yerleşik sistem istemi rehberliğini devre dışı bırakmak istiyorsanız plugins.entries.diffs.hooks.allowPromptInjection değerini false olarak ayarlayın:
before_prompt_build kancasını engeller.
Hem rehberliği hem de aracı devre dışı bırakmak istiyorsanız bunun yerine Plugin’i devre dışı bırakın.
Tipik aracı iş akışı
Girdi örnekleri
- Öncesi ve sonrası
- Yama
Araç girdi başvurusu
Belirtilmediği sürece tüm alanlar isteğe bağlıdır.Özgün metin.
patch atlandığında after ile birlikte gereklidir.Güncellenmiş metin.
patch atlandığında before ile birlikte gereklidir.Birleşik diff metni.
before ve after ile karşılıklı olarak dışlayıcıdır.Öncesi ve sonrası modu için görüntülenecek dosya adı.
Öncesi ve sonrası modu için dil geçersiz kılma ipucu. Bilinmeyen değerler düz metne geri döner.
Görüntüleyici başlığı geçersiz kılma değeri.
Çıktı modu. Varsayılan olarak Plugin varsayılanı
defaults.mode kullanılır. Kullanımdan kaldırılmış diğer ad: "image", "file" gibi davranır ve geriye dönük uyumluluk için hâlâ kabul edilir.Görüntüleyici teması. Varsayılan olarak Plugin varsayılanı
defaults.theme kullanılır.Diff düzeni. Varsayılan olarak Plugin varsayılanı
defaults.layout kullanılır.Tam bağlam kullanılabilir olduğunda değişmemiş bölümleri genişletin. Yalnızca çağrı başına seçenek (Plugin varsayılan anahtarı değildir).
İşlenmiş dosya biçimi. Varsayılan olarak Plugin varsayılanı
defaults.fileFormat kullanılır.PNG veya PDF işleme için kalite ön ayarı.
Cihaz ölçeği geçersiz kılma değeri (
1-4).CSS pikseli cinsinden en büyük işleme genişliği (
640-2400).Görüntüleyici ve bağımsız dosya çıktıları için saniye cinsinden yapıt TTL değeri. En fazla 21600.
Görüntüleyici URL kaynağı geçersiz kılma değeri. Plugin
viewerBaseUrl değerini geçersiz kılar. Sorgu/hash olmadan http veya https olmalıdır.Eski girdi diğer adları
Eski girdi diğer adları
Geriye dönük uyumluluk için hâlâ kabul edilir:
format->fileFormatimageFormat->fileFormatimageQuality->fileQualityimageScale->fileScaleimageMaxWidth->fileMaxWidth
Doğrulama ve sınırlar
Doğrulama ve sınırlar
beforeveafterher biri en fazla 512 KiB.patchen fazla 2 MiB.pathen fazla 2048 bayt.langen fazla 128 bayt.titleen fazla 1024 bayt.- Yama karmaşıklığı sınırı: en fazla 128 dosya ve toplam 120000 satır.
patchilebeforeveyaafterbirlikte reddedilir.- İşlenmiş dosya güvenlik sınırları (PNG ve PDF için geçerlidir):
fileQuality: "standard": en fazla 8 MP (8.000.000 işlenmiş piksel).fileQuality: "hq": en fazla 14 MP (14.000.000 işlenmiş piksel).fileQuality: "print": en fazla 24 MP (24.000.000 işlenmiş piksel).- PDF için ayrıca en fazla 50 sayfa sınırı vardır.
Çıktı ayrıntıları sözleşmesi
Araç,details altında yapılandırılmış meta veriler döndürür.
Görüntüleyici alanları
Görüntüleyici alanları
Görüntüleyici oluşturan modlar için ortak alanlar:
artifactIdviewerUrlviewerPathtitleexpiresAtinputKindfileCountmodecontext(agentId,sessionId,messageChannel, kullanılabilir olduğundaagentAccountId)
Dosya alanları
Dosya alanları
PNG veya PDF işlendiğinde dosya alanları:
artifactIdexpiresAtfilePathpath(ileti aracı uyumluluğu içinfilePathile aynı değer)fileBytesfileFormatfileQualityfileScalefileMaxWidth
Uyumluluk diğer adları
Uyumluluk diğer adları
Mevcut çağıranlar için ayrıca döndürülür:
format(fileFormatile aynı değer)imagePath(filePathile aynı değer)imageBytes(fileBytesile aynı değer)imageQuality(fileQualityile aynı değer)imageScale(fileScaleile aynı değer)imageMaxWidth(fileMaxWidthile aynı değer)
| Mod | Döndürülenler |
|---|---|
"view" | Yalnızca görüntüleyici alanları. |
"file" | Yalnızca dosya alanları, görüntüleyici yapıtı yok. |
"both" | Görüntüleyici alanları ve dosya alanları. Dosya işleme başarısız olursa görüntüleyici yine de fileError ve imageError diğer adıyla döner. |
Daraltılmış değişmemiş bölümler
- Görüntüleyici
N unmodified linesgibi satırlar gösterebilir. - Bu satırlardaki genişletme denetimleri koşulludur ve her girdi türü için garanti edilmez.
- Genişletme denetimleri, işlenmiş diff genişletilebilir bağlam verisine sahip olduğunda görünür; bu, öncesi ve sonrası girdisi için tipiktir.
- Birçok birleşik yama girdisinde, atlanan bağlam gövdeleri ayrıştırılmış yama hunk’larında kullanılamaz; bu nedenle satır genişletme denetimleri olmadan görünebilir. Bu beklenen davranıştır.
expandUnchangedyalnızca genişletilebilir bağlam olduğunda uygulanır.
Plugin varsayılanları
Plugin genelindeki varsayılanları~/.openclaw/openclaw.json içinde ayarlayın:
fontFamilyfontSizelineSpacinglayoutshowLineNumbersdiffIndicatorswordWrapbackgroundthemefileFormatfileQualityfileScalefileMaxWidthmodettlSeconds
Kalıcı görüntüleyici URL yapılandırması
Bir araç çağrısı
baseUrl iletmediğinde döndürülen görüntüleyici bağlantıları için Plugin’e ait geri dönüş değeri. Sorgu/hash olmadan http veya https olmalıdır.Güvenlik yapılandırması
false: görüntüleyici rotalarına local loopback dışı istekler reddedilir. true: belirteçli yol geçerliyse uzak görüntüleyicilere izin verilir.Yapıt yaşam döngüsü ve depolama
- Yapıtlar geçici alt klasör altında depolanır:
$TMPDIR/openclaw-diffs. - Görüntüleyici yapıt meta verileri şunları içerir:
- rastgele yapıt kimliği (20 onaltılık karakter)
- rastgele belirteç (48 onaltılık karakter)
createdAtveexpiresAt- depolanan
viewer.htmlyolu
- Belirtilmediğinde varsayılan yapıt TTL değeri 30 dakikadır.
- Kabul edilen en büyük görüntüleyici TTL değeri 6 saattir.
- Temizleme, yapıt oluşturulduktan sonra fırsat buldukça çalışır.
- Süresi dolan yapıtlar silinir.
- Geri dönüş temizliği, meta veriler eksik olduğunda 24 saatten eski bayat klasörleri kaldırır.
Görüntüleyici URL’si ve ağ davranışı
Görüntüleyici rotası:/plugins/diffs/view/{artifactId}/{token}
/plugins/diffs/assets/viewer.js/plugins/diffs/assets/viewer-runtime.js
baseUrl yol öneki, iki varlık isteği için de korunur.
URL oluşturma davranışı:
- Araç çağrısı
baseUrlsağlanmışsa sıkı doğrulamadan sonra kullanılır. - Aksi halde Plugin
viewerBaseUrlyapılandırılmışsa kullanılır. - Her iki geçersiz kılma da yoksa görüntüleyici URL’si varsayılan olarak local loopback
127.0.0.1değerine ayarlanır. - Gateway bağlama modu
customise vegateway.customBindHostayarlıysa bu host kullanılır.
baseUrl kuralları:
http://veyahttps://olmalıdır.- Sorgu ve hash reddedilir.
- Kaynak ve isteğe bağlı temel yola izin verilir.
Güvenlik modeli
Görüntüleyici güçlendirmesi
Görüntüleyici güçlendirmesi
- Varsayılan olarak yalnızca loopback.
- Sıkı ID ve token doğrulamalı tokenleştirilmiş görüntüleyici yolları.
- Görüntüleyici yanıtı CSP:
default-src 'none'- betikler ve varlıklar yalnızca self kaynağından
- dışarıya giden
connect-srcyok
- Uzaktan erişim etkinleştirildiğinde uzak erişim kaçırmaları sınırlanır:
- 60 saniyede 40 hata
- 60 saniyelik kilitleme (
429 Too Many Requests)
Dosya işleme güçlendirmesi
Dosya işleme güçlendirmesi
- Ekran görüntüsü tarayıcı istek yönlendirmesi varsayılan olarak reddet şeklindedir.
- Yalnızca
http://127.0.0.1/plugins/diffs/assets/*içindeki yerel görüntüleyici varlıklarına izin verilir. - Harici ağ istekleri engellenir.
Dosya modu için tarayıcı gereksinimleri
mode: "file" ve mode: "both" Chromium uyumlu bir tarayıcı gerektirir.
Çözümleme sırası:
Ortam değişkenleri
OPENCLAW_BROWSER_EXECUTABLE_PATHBROWSER_EXECUTABLE_PATHPLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH
Diff PNG/PDF rendering requires a Chromium-compatible browser...
Sorun giderme
Girdi doğrulama hataları
Girdi doğrulama hataları
Provide patch or both before and after text.— hembeforehem deafterekleyin veyapatchsağlayın.Provide either patch or before/after input, not both.— girdi modlarını karıştırmayın.Invalid baseUrl: ...— isteğe bağlı yol içeren, sorgu/hash içermeyenhttp(s)origin kullanın.{field} exceeds maximum size (...)— yük boyutunu azaltın.- Büyük patch reddi — patch dosyası sayısını veya toplam satır sayısını azaltın.
Görüntüleyici erişilebilirliği
Görüntüleyici erişilebilirliği
- Görüntüleyici URL’si varsayılan olarak
127.0.0.1adresine çözümlenir. - Uzaktan erişim senaryolarında şunlardan birini yapın:
- Plugin
viewerBaseUrlayarını yapın veya - araç çağrısı başına
baseUrlgeçirin veya gateway.bind=customvegateway.customBindHostkullanın
- Plugin
gateway.trustedProxies, aynı ana makinedeki bir proxy için loopback içeriyorsa (örneğin Tailscale Serve), iletilmiş istemci IP başlıkları olmayan ham loopback görüntüleyici istekleri tasarım gereği kapalı başarısız olur.- Bu proxy topolojisi için:
- yalnızca bir eke ihtiyacınız olduğunda
mode: "file"veyamode: "both"tercih edin ya da - paylaşılabilir bir görüntüleyici URL’sine ihtiyacınız olduğunda bilinçli olarak
security.allowRemoteVieweretkinleştirin ve PluginviewerBaseUrlayarını yapın veya proxy/herkese açık birbaseUrlgeçirin
- yalnızca bir eke ihtiyacınız olduğunda
security.allowRemoteViewerayarını yalnızca harici görüntüleyici erişimi istediğinizde etkinleştirin.
Değiştirilmemiş satırlar satırında genişletme düğmesi yok
Değiştirilmemiş satırlar satırında genişletme düğmesi yok
Bu, patch girdisi için patch genişletilebilir bağlam taşımadığında olabilir. Bu beklenen bir durumdur ve görüntüleyici hatasına işaret etmez.
Artefakt bulunamadı
Artefakt bulunamadı
- Artefakt TTL nedeniyle süresi doldu.
- Token veya yol değişti.
- Temizleme eski verileri kaldırdı.
Operasyonel rehberlik
- Canvas içinde yerel etkileşimli incelemeler için
mode: "view"tercih edin. - Ek gerektiren dışa dönük sohbet kanalları için
mode: "file"tercih edin. - Dağıtımınız uzak görüntüleyici URL’leri gerektirmedikçe
allowRemoteViewerdevre dışı kalsın. - Hassas diff’ler için açık ve kısa
ttlSecondsayarlayın. - Gerekli olmadığında diff girdisinde gizli bilgiler göndermekten kaçının.
- Kanalınız görüntüleri agresif biçimde sıkıştırıyorsa (örneğin Telegram veya WhatsApp), PDF çıktısını (
fileFormat: "pdf") tercih edin.
Diff işleme altyapısı Diffs tarafından sağlanır.