chore(i18n): refresh tr translations
This commit is contained in:
parent
1f41a939d6
commit
f368abe421
@ -1,20 +1,20 @@
|
||||
---
|
||||
read_when:
|
||||
- Slack kuruluyorsa veya Slack socket/HTTP modunda hata ayıklanıyorsa
|
||||
summary: Slack kurulumu ve çalışma zamanı davranışı (Socket Mode + HTTP Request URLs)
|
||||
- Slack kuruluyorsa veya Slack socket/HTTP modu hata ayıklanıyorsa
|
||||
summary: Slack kurulumu ve çalışma zamanı davranışı (Socket Mode + HTTP Request URL'leri)
|
||||
title: Slack
|
||||
x-i18n:
|
||||
generated_at: "2026-04-07T08:44:50Z"
|
||||
generated_at: "2026-04-08T06:02:10Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 2b8fd2cc6c638ee82069f0af2c2b6f6f49c87da709b941433a0343724a9907ea
|
||||
source_hash: cad132131ddce688517def7c14703ad314441c67aacc4cc2a2a721e1d1c01942
|
||||
source_path: channels/slack.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Slack
|
||||
|
||||
Durum: Slack uygulama entegrasyonları üzerinden DM'ler ve kanallar için üretime hazır. Varsayılan mod Socket Mode'dur; HTTP Request URLs de desteklenir.
|
||||
Durum: Slack uygulama entegrasyonları aracılığıyla DM'ler + kanallar için üretime hazır. Varsayılan mod Socket Mode'dur; HTTP Request URL'leri de desteklenir.
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="Eşleştirme" icon="link" href="/tr/channels/pairing">
|
||||
@ -24,7 +24,7 @@ Durum: Slack uygulama entegrasyonları üzerinden DM'ler ve kanallar için üret
|
||||
Yerel komut davranışı ve komut kataloğu.
|
||||
</Card>
|
||||
<Card title="Kanal sorun giderme" icon="wrench" href="/tr/channels/troubleshooting">
|
||||
Kanallar arası tanılama ve onarım kılavuzları.
|
||||
Kanallar arası tanılama ve onarım playbook'ları.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
@ -57,7 +57,7 @@ Durum: Slack uygulama entegrasyonları üzerinden DM'ler ve kanallar için üret
|
||||
}
|
||||
```
|
||||
|
||||
Ortam değişkeni yedeği (yalnızca varsayılan hesap):
|
||||
Ortam değişkeni geri dönüşü (yalnızca varsayılan hesap):
|
||||
|
||||
```bash
|
||||
SLACK_APP_TOKEN=xapp-...
|
||||
@ -77,7 +77,7 @@ openclaw gateway
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="HTTP Request URLs">
|
||||
<Tab title="HTTP Request URL'leri">
|
||||
<Steps>
|
||||
<Step title="Yeni bir Slack uygulaması oluşturun">
|
||||
Slack uygulama ayarlarında **[Create New App](https://api.slack.com/apps/new)** düğmesine basın:
|
||||
@ -108,7 +108,7 @@ openclaw gateway
|
||||
<Note>
|
||||
Çok hesaplı HTTP için benzersiz webhook yolları kullanın
|
||||
|
||||
Kayıtların çakışmaması için her hesaba farklı bir `webhookPath` verin (varsayılan `/slack/events`).
|
||||
Kayıtların çakışmaması için her hesaba ayrı bir `webhookPath` (varsayılan `/slack/events`) verin.
|
||||
</Note>
|
||||
|
||||
</Step>
|
||||
@ -134,7 +134,7 @@ openclaw gateway
|
||||
{
|
||||
"display_information": {
|
||||
"name": "OpenClaw",
|
||||
"description": "Slack connector for OpenClaw"
|
||||
"description": "OpenClaw için Slack bağlayıcısı"
|
||||
},
|
||||
"features": {
|
||||
"bot_user": {
|
||||
@ -148,7 +148,7 @@ openclaw gateway
|
||||
"slash_commands": [
|
||||
{
|
||||
"command": "/openclaw",
|
||||
"description": "Send a message to OpenClaw",
|
||||
"description": "OpenClaw'a mesaj gönder",
|
||||
"should_escape": false
|
||||
}
|
||||
]
|
||||
@ -205,13 +205,13 @@ openclaw gateway
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="HTTP Request URLs">
|
||||
<Tab title="HTTP Request URL'leri">
|
||||
|
||||
```json
|
||||
{
|
||||
"display_information": {
|
||||
"name": "OpenClaw",
|
||||
"description": "Slack connector for OpenClaw"
|
||||
"description": "OpenClaw için Slack bağlayıcısı"
|
||||
},
|
||||
"features": {
|
||||
"bot_user": {
|
||||
@ -225,7 +225,7 @@ openclaw gateway
|
||||
"slash_commands": [
|
||||
{
|
||||
"command": "/openclaw",
|
||||
"description": "Send a message to OpenClaw",
|
||||
"description": "OpenClaw'a mesaj gönder",
|
||||
"should_escape": false,
|
||||
"url": "https://gateway-host.example.com/slack/events"
|
||||
}
|
||||
@ -296,7 +296,7 @@ openclaw gateway
|
||||
Bir emoji simgesi kullanıyorsanız Slack `:emoji_name:` sözdizimini bekler.
|
||||
|
||||
</Accordion>
|
||||
<Accordion title="İsteğe bağlı kullanıcı belirteci kapsamları (okuma işlemleri)">
|
||||
<Accordion title="İsteğe bağlı kullanıcı token kapsamları (okuma işlemleri)">
|
||||
`channels.slack.userToken` yapılandırırsanız tipik okuma kapsamları şunlardır:
|
||||
|
||||
- `channels:history`, `groups:history`, `im:history`, `mpim:history`
|
||||
@ -305,20 +305,20 @@ openclaw gateway
|
||||
- `reactions:read`
|
||||
- `pins:read`
|
||||
- `emoji:read`
|
||||
- `search:read` (Slack arama okumalarına bağımlıysanız)
|
||||
- `search:read` (Slack arama okumalarına bağlıysanız)
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Belirteç modeli
|
||||
## Token modeli
|
||||
|
||||
- Socket Mode için `botToken` + `appToken` gereklidir.
|
||||
- HTTP modu `botToken` + `signingSecret` gerektirir.
|
||||
- `botToken`, `appToken`, `signingSecret` ve `userToken`, düz metin
|
||||
- `botToken`, `appToken`, `signingSecret` ve `userToken` düz metin
|
||||
dizeleri veya SecretRef nesneleri kabul eder.
|
||||
- Yapılandırma belirteçleri ortam değişkeni yedeğini geçersiz kılar.
|
||||
- `SLACK_BOT_TOKEN` / `SLACK_APP_TOKEN` ortam değişkeni yedeği yalnızca varsayılan hesaba uygulanır.
|
||||
- `userToken` (`xoxp-...`) yalnızca yapılandırmadadır (ortam değişkeni yedeği yoktur) ve varsayılan olarak salt okunur davranış kullanır (`userTokenReadOnly: true`).
|
||||
- Yapılandırma token'ları ortam değişkeni geri dönüşünü geçersiz kılar.
|
||||
- `SLACK_BOT_TOKEN` / `SLACK_APP_TOKEN` ortam değişkeni geri dönüşü yalnızca varsayılan hesap için geçerlidir.
|
||||
- `userToken` (`xoxp-...`) yalnızca yapılandırmadandır (ortam değişkeni geri dönüşü yoktur) ve varsayılan olarak salt okunur davranış kullanır (`userTokenReadOnly: true`).
|
||||
|
||||
Durum anlık görüntüsü davranışı:
|
||||
|
||||
@ -326,20 +326,20 @@ Durum anlık görüntüsü davranışı:
|
||||
alanlarını izler (`botToken`, `appToken`, `signingSecret`, `userToken`).
|
||||
- Durum `available`, `configured_unavailable` veya `missing` olabilir.
|
||||
- `configured_unavailable`, hesabın SecretRef
|
||||
veya başka bir satır içi olmayan gizli kaynak üzerinden yapılandırıldığı,
|
||||
ancak mevcut komut/çalışma zamanı yolunun gerçek değeri çözemediği anlamına gelir.
|
||||
veya satır içi olmayan başka bir gizli kaynak üzerinden yapılandırıldığı, ancak mevcut komut/çalışma zamanı yolunun
|
||||
gerçek değeri çözemediği anlamına gelir.
|
||||
- HTTP modunda `signingSecretStatus` dahil edilir; Socket Mode'da
|
||||
gereken ikili `botTokenStatus` + `appTokenStatus` olur.
|
||||
gerekli çift `botTokenStatus` + `appTokenStatus` olur.
|
||||
|
||||
<Tip>
|
||||
Eylemler/dizin okumaları için, yapılandırılmışsa kullanıcı belirteci tercih edilebilir. Yazmalar için bot belirteci tercih edilmeye devam eder; kullanıcı belirteciyle yazmaya yalnızca `userTokenReadOnly: false` olduğunda ve bot belirteci kullanılamadığında izin verilir.
|
||||
Eylemler/dizin okumaları için, yapılandırılmışsa user token tercih edilebilir. Yazmalar için bot token tercih edilmeye devam eder; user-token ile yazmalara yalnızca `userTokenReadOnly: false` olduğunda ve bot token kullanılamadığında izin verilir.
|
||||
</Tip>
|
||||
|
||||
## Eylemler ve geçitler
|
||||
|
||||
Slack eylemleri `channels.slack.actions.*` ile kontrol edilir.
|
||||
Slack eylemleri `channels.slack.actions.*` tarafından denetlenir.
|
||||
|
||||
Geçerli Slack araçlarında kullanılabilir eylem grupları:
|
||||
Geçerli Slack araçlarında kullanılabilen eylem grupları:
|
||||
|
||||
| Grup | Varsayılan |
|
||||
| ---------- | ------- |
|
||||
@ -349,31 +349,31 @@ Geçerli Slack araçlarında kullanılabilir eylem grupları:
|
||||
| memberInfo | etkin |
|
||||
| emojiList | etkin |
|
||||
|
||||
Geçerli Slack mesaj eylemleri arasında `send`, `upload-file`, `download-file`, `read`, `edit`, `delete`, `pin`, `unpin`, `list-pins`, `member-info` ve `emoji-list` bulunur.
|
||||
Geçerli Slack mesaj eylemleri `send`, `upload-file`, `download-file`, `read`, `edit`, `delete`, `pin`, `unpin`, `list-pins`, `member-info` ve `emoji-list` içerir.
|
||||
|
||||
## Erişim kontrolü ve yönlendirme
|
||||
## Erişim denetimi ve yönlendirme
|
||||
|
||||
<Tabs>
|
||||
<Tab title="DM ilkesi">
|
||||
`channels.slack.dmPolicy`, DM erişimini kontrol eder (eski: `channels.slack.dm.policy`):
|
||||
`channels.slack.dmPolicy`, DM erişimini denetler (eski: `channels.slack.dm.policy`):
|
||||
|
||||
- `pairing` (varsayılan)
|
||||
- `allowlist`
|
||||
- `open` (`channels.slack.allowFrom` içinde `"*"` bulunmasını gerektirir; eski: `channels.slack.dm.allowFrom`)
|
||||
- `open` (`channels.slack.allowFrom` içine `"*"` eklenmesini gerektirir; eski: `channels.slack.dm.allowFrom`)
|
||||
- `disabled`
|
||||
|
||||
DM işaretleri:
|
||||
DM bayrakları:
|
||||
|
||||
- `dm.enabled` (varsayılan true)
|
||||
- `channels.slack.allowFrom` (tercih edilen)
|
||||
- `dm.allowFrom` (eski)
|
||||
- `dm.groupEnabled` (grup DM'leri varsayılan olarak false)
|
||||
- `dm.groupEnabled` (grup DM'leri varsayılan false)
|
||||
- `dm.groupChannels` (isteğe bağlı MPIM izin listesi)
|
||||
|
||||
Çok hesaplı öncelik:
|
||||
Çok hesaplı öncelik sırası:
|
||||
|
||||
- `channels.slack.accounts.default.allowFrom` yalnızca `default` hesabına uygulanır.
|
||||
- Adlandırılmış hesaplar, kendi `allowFrom` değerleri ayarlanmamışsa `channels.slack.allowFrom` değerini devralır.
|
||||
- Adlandırılmış hesaplar, kendi `allowFrom` değerleri ayarlı değilse `channels.slack.allowFrom` değerini devralır.
|
||||
- Adlandırılmış hesaplar `channels.slack.accounts.default.allowFrom` değerini devralmaz.
|
||||
|
||||
DM'lerde eşleştirme `openclaw pairing approve slack <code>` kullanır.
|
||||
@ -381,7 +381,7 @@ Geçerli Slack mesaj eylemleri arasında `send`, `upload-file`, `download-file`,
|
||||
</Tab>
|
||||
|
||||
<Tab title="Kanal ilkesi">
|
||||
`channels.slack.groupPolicy`, kanal işlemeyi kontrol eder:
|
||||
`channels.slack.groupPolicy`, kanal işlemesini denetler:
|
||||
|
||||
- `open`
|
||||
- `allowlist`
|
||||
@ -389,26 +389,26 @@ Geçerli Slack mesaj eylemleri arasında `send`, `upload-file`, `download-file`,
|
||||
|
||||
Kanal izin listesi `channels.slack.channels` altında bulunur ve kararlı kanal kimlikleri kullanmalıdır.
|
||||
|
||||
Çalışma zamanı notu: `channels.slack` tamamen eksikse (yalnızca ortam değişkenli kurulum), çalışma zamanı `groupPolicy="allowlist"` değerine geri döner ve bir uyarı kaydeder (`channels.defaults.groupPolicy` ayarlanmış olsa bile).
|
||||
Çalışma zamanı notu: `channels.slack` tamamen yoksa (yalnızca ortam değişkeni kurulumu), çalışma zamanı `groupPolicy="allowlist"` değerine geri döner ve bir uyarı günlüğe yazar (`channels.defaults.groupPolicy` ayarlı olsa bile).
|
||||
|
||||
Ad/kimlik çözümleme:
|
||||
|
||||
- kanal izin listesi girişleri ve DM izin listesi girişleri, belirteç erişimi izin verdiğinde başlangıçta çözümlenir
|
||||
- çözümlenmemiş kanal adı girişleri yapılandırıldığı gibi tutulur ancak varsayılan olarak yönlendirme için yok sayılır
|
||||
- kanal izin listesi girdileri ve DM izin listesi girdileri, token erişimi izin verdiğinde başlangıçta çözülür
|
||||
- çözümlenmemiş kanal adı girdileri yapılandırıldığı gibi tutulur ancak varsayılan olarak yönlendirme için yok sayılır
|
||||
- gelen yetkilendirme ve kanal yönlendirme varsayılan olarak önce kimlik kullanır; doğrudan kullanıcı adı/slug eşleştirmesi için `channels.slack.dangerouslyAllowNameMatching: true` gerekir
|
||||
|
||||
</Tab>
|
||||
|
||||
<Tab title="Bahsetmeler ve kanal kullanıcıları">
|
||||
Kanal mesajları varsayılan olarak bahsetme geçidiyle korunur.
|
||||
Kanal mesajları varsayılan olarak bahsetme kapılıdır.
|
||||
|
||||
Bahsetme kaynakları:
|
||||
|
||||
- açık uygulama bahsetmesi (`<@botId>`)
|
||||
- bahsetme regex desenleri (`agents.list[].groupChat.mentionPatterns`, yedek olarak `messages.groupChat.mentionPatterns`)
|
||||
- örtük botta yanıt dizisi davranışı (`thread.requireExplicitMention` `true` olduğunda devre dışıdır)
|
||||
- bahsetme regex desenleri (`agents.list[].groupChat.mentionPatterns`, geri dönüş `messages.groupChat.mentionPatterns`)
|
||||
- örtük botta-yanıt iş parçacığı davranışı (`thread.requireExplicitMention` `true` olduğunda devre dışı bırakılır)
|
||||
|
||||
Kanal başına kontroller (`channels.slack.channels.<id>`; adlar yalnızca başlangıç çözümlemesi veya `dangerouslyAllowNameMatching` ile):
|
||||
Kanal başına denetimler (`channels.slack.channels.<id>`; adlar yalnızca başlangıç çözümlemesi veya `dangerouslyAllowNameMatching` ile):
|
||||
|
||||
- `requireMention`
|
||||
- `users` (izin listesi)
|
||||
@ -417,35 +417,35 @@ Geçerli Slack mesaj eylemleri arasında `send`, `upload-file`, `download-file`,
|
||||
- `systemPrompt`
|
||||
- `tools`, `toolsBySender`
|
||||
- `toolsBySender` anahtar biçimi: `id:`, `e164:`, `username:`, `name:` veya `"*"` joker karakteri
|
||||
(eski ön eksiz anahtarlar yine de yalnızca `id:` ile eşlenir)
|
||||
(eski öneksiz anahtarlar yine de yalnızca `id:` ile eşlenir)
|
||||
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Diziler, oturumlar ve yanıt etiketleri
|
||||
## İş parçacıkları, oturumlar ve yanıt etiketleri
|
||||
|
||||
- DM'ler `direct` olarak; kanallar `channel` olarak; MPIM'ler `group` olarak yönlendirilir.
|
||||
- DM'ler `direct`; kanallar `channel`; MPIM'ler `group` olarak yönlendirilir.
|
||||
- Varsayılan `session.dmScope=main` ile Slack DM'leri ajan ana oturumunda birleştirilir.
|
||||
- Kanal oturumları: `agent:<agentId>:slack:channel:<channelId>`.
|
||||
- Dizi yanıtları, uygun olduğunda dizi oturumu sonekleri (`:thread:<threadTs>`) oluşturabilir.
|
||||
- `channels.slack.thread.historyScope` varsayılanı `thread`; `thread.inheritParent` varsayılanı `false` değeridir.
|
||||
- `channels.slack.thread.initialHistoryLimit`, yeni bir dizi oturumu başladığında kaç mevcut dizi mesajının alınacağını kontrol eder (varsayılan `20`; devre dışı bırakmak için `0` ayarlayın).
|
||||
- `channels.slack.thread.requireExplicitMention` (varsayılan `false`): `true` olduğunda örtük dizi bahsetmelerini bastırır; böylece bot, diziler içinde yalnızca açık `@bot` bahsetmelerine yanıt verir, bot dizide zaten yer almış olsa bile. Bu olmadan, botun katıldığı bir dizideki yanıtlar `requireMention` geçidini atlar.
|
||||
- İş parçacığı yanıtları, uygun olduğunda iş parçacığı oturum son ekleri (`:thread:<threadTs>`) oluşturabilir.
|
||||
- `channels.slack.thread.historyScope` varsayılanı `thread`; `thread.inheritParent` varsayılanı `false`.
|
||||
- `channels.slack.thread.initialHistoryLimit`, yeni bir iş parçacığı oturumu başladığında kaç mevcut iş parçacığı mesajının getirileceğini denetler (varsayılan `20`; devre dışı bırakmak için `0` ayarlayın).
|
||||
- `channels.slack.thread.requireExplicitMention` (varsayılan `false`): `true` olduğunda, örtük iş parçacığı bahsetmelerini bastırır; böylece bot, iş parçacığına daha önce katılmış olsa bile yalnızca iş parçacıkları içindeki açık `@bot` bahsetmelerine yanıt verir. Bu ayar olmadan, botun katıldığı bir iş parçacığındaki yanıtlar `requireMention` kapısını atlar.
|
||||
|
||||
Yanıt dizileme denetimleri:
|
||||
Yanıt iş parçacığı denetimleri:
|
||||
|
||||
- `channels.slack.replyToMode`: `off|first|all|batched` (varsayılan `off`)
|
||||
- `channels.slack.replyToModeByChatType`: `direct|group|channel` başına
|
||||
- doğrudan sohbetler için eski yedek: `channels.slack.dm.replyToMode`
|
||||
- `channels.slack.replyToModeByChatType`: her `direct|group|channel` için
|
||||
- doğrudan sohbetler için eski geri dönüş: `channels.slack.dm.replyToMode`
|
||||
|
||||
Elle yanıt etiketleri desteklenir:
|
||||
|
||||
- `[[reply_to_current]]`
|
||||
- `[[reply_to:<id>]]`
|
||||
|
||||
Not: `replyToMode="off"`, açık `[[reply_to_*]]` etiketleri dahil Slack'teki **tüm** yanıt dizilemesini devre dışı bırakır. Bu, açık etiketlerin `"off"` modunda yine de dikkate alındığı Telegram'dan farklıdır. Fark, platformların dizi modellerini yansıtır: Slack dizileri mesajları kanaldan gizlerken Telegram yanıtları ana sohbet akışında görünür kalır.
|
||||
Not: `replyToMode="off"`, açık `[[reply_to_*]]` etiketleri dahil olmak üzere Slack'teki **tüm** yanıt iş parçacıklarını devre dışı bırakır. Bu, açık etiketlerin `"off"` modunda yine de dikkate alındığı Telegram'dan farklıdır. Bu fark, platform iş parçacığı modellerini yansıtır: Slack iş parçacıkları mesajları kanaldan gizlerken Telegram yanıtları ana sohbet akışında görünür kalır.
|
||||
|
||||
## Onay reaksiyonları
|
||||
## Ack reaksiyonları
|
||||
|
||||
`ackReaction`, OpenClaw gelen bir mesajı işlerken bir onay emojisi gönderir.
|
||||
|
||||
@ -454,27 +454,29 @@ Not: `replyToMode="off"`, açık `[[reply_to_*]]` etiketleri dahil Slack'teki **
|
||||
- `channels.slack.accounts.<accountId>.ackReaction`
|
||||
- `channels.slack.ackReaction`
|
||||
- `messages.ackReaction`
|
||||
- ajan kimliği emoji yedeği (`agents.list[].identity.emoji`, yoksa "👀")
|
||||
- ajan kimliği emoji geri dönüşü (`agents.list[].identity.emoji`, aksi halde "👀")
|
||||
|
||||
Notlar:
|
||||
|
||||
- Slack kısa kodlar bekler (örneğin `"eyes"`).
|
||||
- Slack hesabı veya genel olarak reaksiyonu devre dışı bırakmak için `""` kullanın.
|
||||
- Slack hesabı için veya genel olarak reaksiyonu devre dışı bırakmak için `""` kullanın.
|
||||
|
||||
## Metin akışı
|
||||
|
||||
`channels.slack.streaming`, canlı önizleme davranışını kontrol eder:
|
||||
`channels.slack.streaming`, canlı önizleme davranışını denetler:
|
||||
|
||||
- `off`: canlı önizleme akışını devre dışı bırakır.
|
||||
- `partial` (varsayılan): önizleme metnini en son kısmi çıktıyla değiştirir.
|
||||
- `block`: parçalı önizleme güncellemeleri ekler.
|
||||
- `progress`: üretim sırasında ilerleme durumu metni gösterir, ardından son metni gönderir.
|
||||
- `partial` (varsayılan): önizleme metnini en son kısmi çıktı ile değiştirir.
|
||||
- `block`: parçalı önizleme güncellemelerini ekler.
|
||||
- `progress`: oluşturma sırasında ilerleme durumu metni gösterir, ardından son metni gönderir.
|
||||
|
||||
`channels.slack.nativeStreaming`, `streaming` değeri `partial` olduğunda Slack yerel metin akışını kontrol eder (varsayılan: `true`).
|
||||
`channels.slack.streaming.nativeTransport`, `channels.slack.streaming.mode` `partial` olduğunda Slack yerel metin akışını denetler (varsayılan: `true`).
|
||||
|
||||
- Yerel metin akışının görünmesi için bir yanıt dizisi kullanılabilir olmalıdır. Dizi seçimi yine de `replyToMode` değerini izler. Böyle bir dizi yoksa normal taslak önizleme kullanılır.
|
||||
- Medya ve metin dışı yükler normal teslimata geri döner.
|
||||
- Akış yanıt ortasında başarısız olursa OpenClaw kalan yükler için normal teslimata geri döner.
|
||||
- Yerel metin akışı ve Slack assistant iş parçacığı durumunun görünmesi için bir yanıt iş parçacığı kullanılabilir olmalıdır. İş parçacığı seçimi yine `replyToMode` değerini izler.
|
||||
- Kanal ve grup sohbeti kökleri, yerel akış kullanılamadığında yine normal taslak önizlemeyi kullanabilir.
|
||||
- Üst düzey Slack DM'leri varsayılan olarak iş parçacığı dışında kalır; bu nedenle iş parçacığı tarzı önizlemeyi göstermezler; orada görünür ilerleme istiyorsanız iş parçacığı yanıtları veya `typingReaction` kullanın.
|
||||
- Medya ve metin dışı payload'lar normal teslimata geri döner.
|
||||
- Akış yanıtın ortasında başarısız olursa OpenClaw kalan payload'lar için normal teslimata geri döner.
|
||||
|
||||
Slack yerel metin akışı yerine taslak önizleme kullanın:
|
||||
|
||||
@ -482,8 +484,10 @@ Slack yerel metin akışı yerine taslak önizleme kullanın:
|
||||
{
|
||||
channels: {
|
||||
slack: {
|
||||
streaming: "partial",
|
||||
nativeStreaming: false,
|
||||
streaming: {
|
||||
mode: "partial",
|
||||
nativeTransport: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -491,12 +495,13 @@ Slack yerel metin akışı yerine taslak önizleme kullanın:
|
||||
|
||||
Eski anahtarlar:
|
||||
|
||||
- `channels.slack.streamMode` (`replace | status_final | append`) otomatik olarak `channels.slack.streaming` değerine taşınır.
|
||||
- boolean `channels.slack.streaming`, otomatik olarak `channels.slack.nativeStreaming` değerine taşınır.
|
||||
- `channels.slack.streamMode` (`replace | status_final | append`) otomatik olarak `channels.slack.streaming.mode` değerine geçirilir.
|
||||
- boolean `channels.slack.streaming`, otomatik olarak `channels.slack.streaming.mode` ve `channels.slack.streaming.nativeTransport` değerlerine geçirilir.
|
||||
- eski `channels.slack.nativeStreaming`, otomatik olarak `channels.slack.streaming.nativeTransport` değerine geçirilir.
|
||||
|
||||
## Yazıyor reaksiyonu yedeği
|
||||
## Yazıyor reaksiyonu geri dönüşü
|
||||
|
||||
`typingReaction`, OpenClaw bir yanıtı işlerken gelen Slack mesajına geçici bir reaksiyon ekler, ardından çalıştırma bittiğinde bunu kaldırır. Bu en çok, varsayılan "is typing..." durum göstergesini kullanan dizi yanıtları dışında faydalıdır.
|
||||
`typingReaction`, OpenClaw bir yanıtı işlerken gelen Slack mesajına geçici bir reaksiyon ekler, ardından çalışma bittiğinde bunu kaldırır. Bu en çok, varsayılan `"is typing..."` durum göstergesini kullanan iş parçacığı yanıtları dışında yararlıdır.
|
||||
|
||||
Çözümleme sırası:
|
||||
|
||||
@ -506,23 +511,23 @@ Eski anahtarlar:
|
||||
Notlar:
|
||||
|
||||
- Slack kısa kodlar bekler (örneğin `"hourglass_flowing_sand"`).
|
||||
- Reaksiyon en iyi çabayla uygulanır ve yanıt veya hata yolu tamamlandıktan sonra temizleme otomatik olarak denenir.
|
||||
- Reaksiyon best-effort olarak uygulanır ve yanıt veya hata yolu tamamlandıktan sonra temizleme otomatik olarak denenir.
|
||||
|
||||
## Medya, parçalara ayırma ve teslimat
|
||||
## Medya, parçalama ve teslimat
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Gelen ekler">
|
||||
Slack dosya ekleri, Slack tarafından barındırılan özel URL'lerden (belirteç kimlik doğrulamalı istek akışı) indirilir ve alma başarılı olduğunda ve boyut sınırları izin verdiğinde medya deposuna yazılır.
|
||||
Slack dosya ekleri, Slack tarafından barındırılan özel URL'lerden (token ile kimlik doğrulamalı istek akışı) indirilir ve getirme başarılı olduğunda ve boyut sınırları izin verdiğinde medya deposuna yazılır.
|
||||
|
||||
Çalışma zamanındaki gelen boyut sınırı, `channels.slack.mediaMaxMb` ile geçersiz kılınmadıkça varsayılan olarak `20MB` değeridir.
|
||||
Çalışma zamanı gelen boyut üst sınırı, `channels.slack.mediaMaxMb` ile geçersiz kılınmadıkça varsayılan olarak `20MB` olur.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Giden metin ve dosyalar">
|
||||
- metin parçaları `channels.slack.textChunkLimit` kullanır (varsayılan 4000)
|
||||
- `channels.slack.chunkMode="newline"` paragraf öncelikli bölmeyi etkinleştirir
|
||||
- dosya gönderimleri Slack yükleme API'lerini kullanır ve dizi yanıtlarını (`thread_ts`) içerebilir
|
||||
- giden medya sınırı, yapılandırılmışsa `channels.slack.mediaMaxMb` değerini izler; aksi halde kanal gönderimleri medya işlem hattından MIME türü varsayılanlarını kullanır
|
||||
- dosya gönderimleri Slack yükleme API'lerini kullanır ve iş parçacığı yanıtlarını (`thread_ts`) içerebilir
|
||||
- giden medya üst sınırı, yapılandırılmışsa `channels.slack.mediaMaxMb` değerini izler; aksi halde kanal gönderimleri medya işlem hattındaki MIME türü varsayılanlarını kullanır
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Teslimat hedefleri">
|
||||
@ -531,26 +536,26 @@ Notlar:
|
||||
- DM'ler için `user:<id>`
|
||||
- kanallar için `channel:<id>`
|
||||
|
||||
Slack DM'leri, kullanıcı hedeflerine gönderim yapılırken Slack konuşma API'leri aracılığıyla açılır.
|
||||
Slack DM'leri, kullanıcı hedeflerine gönderim yaparken Slack konuşma API'leri aracılığıyla açılır.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
## Komutlar ve slash davranışı
|
||||
|
||||
- Yerel komut otomatik modu Slack için **kapalıdır** (`commands.native: "auto"` Slack yerel komutlarını etkinleştirmez).
|
||||
- Yerel Slack komut işleyicilerini `channels.slack.commands.native: true` (veya genel `commands.native: true`) ile etkinleştirin.
|
||||
- Yerel komutlar etkinleştirildiğinde, eşleşen slash komutlarını Slack'te (`/<command>` adlarıyla) kaydedin; tek istisna:
|
||||
- durum komutu için `/agentstatus` kaydedin (Slack `/status` komutunu ayırır)
|
||||
- Yerel komutlar etkin değilse, `channels.slack.slashCommand` aracılığıyla tek bir yapılandırılmış slash komutu çalıştırabilirsiniz.
|
||||
- Yerel argüman menüleri artık işleme stratejilerini uyarlıyor:
|
||||
- Yerel komut otomatik modu Slack için **kapalıdır** (`commands.native: "auto"`, Slack yerel komutlarını etkinleştirmez).
|
||||
- `channels.slack.commands.native: true` (veya genel `commands.native: true`) ile yerel Slack komut işleyicilerini etkinleştirin.
|
||||
- Yerel komutlar etkinleştirildiğinde, eşleşen slash komutlarını Slack'te (`/<command>` adları) kaydedin; bir istisna vardır:
|
||||
- durum komutu için `/agentstatus` kaydedin (Slack `/status` değerini ayırır)
|
||||
- Yerel komutlar etkin değilse, tek bir yapılandırılmış slash komutunu `channels.slack.slashCommand` aracılığıyla çalıştırabilirsiniz.
|
||||
- Yerel arg menüleri artık oluşturma stratejilerini uyarlıyor:
|
||||
- 5 seçeneğe kadar: düğme blokları
|
||||
- 6-100 seçenek: statik seçim menüsü
|
||||
- 100'den fazla seçenek: etkileşim seçenek işleyicileri mevcut olduğunda eşzamansız seçenek filtrelemeli harici seçim
|
||||
- kodlanmış seçenek değerleri Slack sınırlarını aşarsa akış düğmelere geri döner
|
||||
- Uzun seçenek yükleri için Slash komutu argüman menüleri, seçilen değeri göndermeden önce bir onay iletişim kutusu kullanır.
|
||||
- Uzun seçenek payload'ları için Slash komutu argüman menüleri, seçilen değeri göndermeden önce bir onay iletişim kutusu kullanır.
|
||||
|
||||
Varsayılan slash komutu ayarları:
|
||||
Varsayılan slash komut ayarları:
|
||||
|
||||
- `enabled: false`
|
||||
- `name: "openclaw"`
|
||||
@ -565,7 +570,7 @@ ve yine de komut yürütmesini hedef konuşma oturumuna göre yönlendirir (`Com
|
||||
|
||||
## Etkileşimli yanıtlar
|
||||
|
||||
Slack, ajan tarafından yazılmış etkileşimli yanıt denetimlerini işleyebilir, ancak bu özellik varsayılan olarak devre dışıdır.
|
||||
Slack, ajan tarafından yazılmış etkileşimli yanıt denetimlerini oluşturabilir, ancak bu özellik varsayılan olarak devre dışıdır.
|
||||
|
||||
Bunu genel olarak etkinleştirin:
|
||||
|
||||
@ -599,44 +604,44 @@ Veya yalnızca bir Slack hesabı için etkinleştirin:
|
||||
}
|
||||
```
|
||||
|
||||
Etkinleştirildiğinde, ajanlar yalnızca Slack'e özel yanıt yönergeleri üretebilir:
|
||||
Etkinleştirildiğinde ajanlar yalnızca Slack'e özgü yanıt yönergeleri üretebilir:
|
||||
|
||||
- `[[slack_buttons: Approve:approve, Reject:reject]]`
|
||||
- `[[slack_select: Choose a target | Canary:canary, Production:production]]`
|
||||
|
||||
Bu yönergeler Slack Block Kit içine derlenir ve tıklamaları veya seçimleri mevcut Slack etkileşim olay yolu üzerinden geri yönlendirir.
|
||||
Bu yönergeler Slack Block Kit'e derlenir ve tıklamaları veya seçimleri mevcut Slack etkileşim olayı yolu üzerinden geri yönlendirir.
|
||||
|
||||
Notlar:
|
||||
|
||||
- Bu, Slack'e özgü bir kullanıcı arayüzüdür. Diğer kanallar, Slack Block Kit yönergelerini kendi düğme sistemlerine çevirmez.
|
||||
- Etkileşimli geri çağrı değerleri, ham ajan tarafından yazılmış değerler değil, OpenClaw tarafından oluşturulmuş opak belirteçlerdir.
|
||||
- Üretilen etkileşimli bloklar Slack Block Kit sınırlarını aşarsa OpenClaw geçersiz bir blocks yükü göndermek yerine özgün metin yanıtına geri döner.
|
||||
- Bu, Slack'e özgü bir kullanıcı arayüzüdür. Diğer kanallar Slack Block Kit yönergelerini kendi düğme sistemlerine çevirmez.
|
||||
- Etkileşimli callback değerleri, ajan tarafından yazılmış ham değerler değil, OpenClaw tarafından üretilmiş opak token'lardır.
|
||||
- Üretilen etkileşimli bloklar Slack Block Kit sınırlarını aşarsa OpenClaw geçersiz bir blocks payload'ı göndermek yerine özgün metin yanıtına geri döner.
|
||||
|
||||
## Slack'te exec onayları
|
||||
|
||||
Slack, Web UI veya terminale geri dönmek yerine, etkileşimli düğmeler ve etkileşimlerle yerel bir onay istemcisi olarak çalışabilir.
|
||||
Slack, Web UI veya terminale geri dönmek yerine etkileşimli düğmeler ve etkileşimlerle yerel bir onay istemcisi olarak davranabilir.
|
||||
|
||||
- Exec onayları, yerel DM/kanal yönlendirmesi için `channels.slack.execApprovals.*` kullanır.
|
||||
- Eklenti onayları, istek zaten Slack'e ulaşıyorsa ve onay kimliği türü `plugin:` ise aynı Slack yerel düğme yüzeyi üzerinden yine çözülebilir.
|
||||
- Onaylayıcı yetkilendirmesi yine de uygulanır: yalnızca onaylayıcı olarak tanımlanan kullanıcılar Slack üzerinden istekleri onaylayabilir veya reddedebilir.
|
||||
- İstek zaten Slack'e geliyorsa ve onay kimliği türü `plugin:` ise, plugin onayları yine aynı Slack yerel düğme yüzeyi üzerinden çözümlenebilir.
|
||||
- Onaylayıcı yetkilendirmesi yine uygulanır: yalnızca onaylayıcı olarak tanımlanan kullanıcılar Slack üzerinden istekleri onaylayabilir veya reddedebilir.
|
||||
|
||||
Bu, diğer kanallarla aynı paylaşılan onay düğmesi yüzeyini kullanır. Slack uygulama ayarlarınızda `interactivity` etkinleştirildiğinde, onay istemleri doğrudan konuşma içinde Block Kit düğmeleri olarak işlenir.
|
||||
Bu düğmeler mevcut olduğunda birincil onay kullanıcı deneyimi bunlar olur; OpenClaw,
|
||||
araç sonucu sohbet onaylarının kullanılamadığını söylemediği veya tek yol manuel onay olmadığı sürece
|
||||
yalnızca manuel bir `/approve` komutu eklemelidir.
|
||||
Bu düğmeler mevcut olduğunda birincil onay kullanıcı deneyimi bunlardır; OpenClaw,
|
||||
yalnızca araç sonucu sohbet onaylarının kullanılamadığını söylediğinde veya tek yol manuel onaysa
|
||||
elle bir `/approve` komutu eklemelidir.
|
||||
|
||||
Yapılandırma yolu:
|
||||
|
||||
- `channels.slack.execApprovals.enabled`
|
||||
- `channels.slack.execApprovals.approvers` (isteğe bağlı; mümkün olduğunda `commands.ownerAllowFrom` değerine geri döner)
|
||||
- `channels.slack.execApprovals.approvers` (isteğe bağlıdır; mümkün olduğunda `commands.ownerAllowFrom` değerine geri döner)
|
||||
- `channels.slack.execApprovals.target` (`dm` | `channel` | `both`, varsayılan: `dm`)
|
||||
- `agentFilter`, `sessionFilter`
|
||||
|
||||
Slack, `enabled` ayarlanmamış veya `"auto"` olduğunda ve en az bir
|
||||
onaylayıcı çözümlendiğinde yerel exec onaylarını otomatik etkinleştirir. Slack'i yerel onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın.
|
||||
`enabled` ayarsız veya `"auto"` olduğunda ve en az bir
|
||||
onaylayıcı çözümlendiğinde Slack yerel exec onaylarını otomatik olarak etkinleştirir. Slack'i yerel bir onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın.
|
||||
Onaylayıcılar çözümlendiğinde yerel onayları zorla açmak için `enabled: true` ayarlayın.
|
||||
|
||||
Açık Slack exec onay yapılandırması olmayan varsayılan davranış:
|
||||
Açık Slack exec onay yapılandırması olmadan varsayılan davranış:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -646,8 +651,8 @@ Açık Slack exec onay yapılandırması olmayan varsayılan davranış:
|
||||
}
|
||||
```
|
||||
|
||||
Açık Slack yerel yapılandırması yalnızca onaylayıcıları geçersiz kılmak, filtre eklemek veya
|
||||
kaynak sohbet teslimatına katılmak istediğinizde gerekir:
|
||||
Açık Slack-yerel yapılandırma yalnızca onaylayıcıları geçersiz kılmak, filtre eklemek veya
|
||||
kaynak sohbet teslimatını etkinleştirmek istediğinizde gerekir:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -663,45 +668,44 @@ kaynak sohbet teslimatına katılmak istediğinizde gerekir:
|
||||
}
|
||||
```
|
||||
|
||||
Paylaşılan `approvals.exec` yönlendirmesi ayrıdır. Bunu yalnızca exec onay istemleri ayrıca
|
||||
başka sohbetlere veya açık bant dışı hedeflere yönlendirilmeliyse kullanın. Paylaşılan `approvals.plugin` yönlendirmesi de
|
||||
ayrıdır; Slack yerel düğmeleri bu istekler zaten
|
||||
Slack'e ulaşmışsa eklenti onaylarını yine çözebilir.
|
||||
Paylaşılan `approvals.exec` iletimi ayrıdır. Bunu yalnızca exec onay istemlerinin ayrıca
|
||||
diğer sohbetlere veya açık bant dışı hedeflere yönlendirilmesi gerekiyorsa kullanın. Paylaşılan `approvals.plugin` iletimi de ayrıdır; bu istekler zaten
|
||||
Slack'e geliyorsa Slack yerel düğmeleri yine plugin onaylarını çözebilir.
|
||||
|
||||
Aynı sohbet içi `/approve`, komutları zaten destekleyen Slack kanalları ve DM'lerinde de çalışır. Tüm onay yönlendirme modeli için [Exec approvals](/tr/tools/exec-approvals) bölümüne bakın.
|
||||
Aynı sohbette `/approve`, komutları zaten destekleyen Slack kanallarında ve DM'lerde de çalışır. Tam onay iletme modeli için bkz. [Exec approvals](/tr/tools/exec-approvals).
|
||||
|
||||
## Olaylar ve operasyonel davranış
|
||||
|
||||
- Mesaj düzenlemeleri/silmeleri/dizi yayınları sistem olaylarına eşlenir.
|
||||
- Mesaj düzenlemeleri/silmeleri/iş parçacığı yayınları sistem olaylarına eşlenir.
|
||||
- Reaksiyon ekleme/kaldırma olayları sistem olaylarına eşlenir.
|
||||
- Üye katılma/ayrılma, kanal oluşturma/yeniden adlandırma ve sabitleme ekleme/kaldırma olayları sistem olaylarına eşlenir.
|
||||
- `channel_id_changed`, `configWrites` etkin olduğunda kanal yapılandırma anahtarlarını taşıyabilir.
|
||||
- Kanal topic/purpose meta verisi güvenilmeyen bağlam olarak değerlendirilir ve yönlendirme bağlamına enjekte edilebilir.
|
||||
- Dizi başlatıcısı ve ilk dizi geçmişi bağlam tohumlaması, uygun olduğunda yapılandırılmış gönderici izin listelerine göre filtrelenir.
|
||||
- Blok eylemleri ve modal etkileşimler, zengin yük alanlarıyla yapılandırılmış `Slack interaction: ...` sistem olayları üretir:
|
||||
- blok eylemleri: seçilen değerler, etiketler, seçici değerleri ve `workflow_*` meta verisi
|
||||
- yönlendirilmiş kanal meta verisi ve form girdileriyle modal `view_submission` ve `view_closed` olayları
|
||||
- Kanal konu/amaç meta verileri güvenilmeyen bağlam olarak değerlendirilir ve yönlendirme bağlamına enjekte edilebilir.
|
||||
- İş parçacığı başlatıcı ve ilk iş parçacığı geçmişi bağlam tohumlama, uygun olduğunda yapılandırılmış gönderici izin listelerine göre filtrelenir.
|
||||
- Blok eylemleri ve modal etkileşimler, zengin payload alanlarıyla yapılandırılmış `Slack interaction: ...` sistem olayları üretir:
|
||||
- blok eylemleri: seçilen değerler, etiketler, picker değerleri ve `workflow_*` meta verileri
|
||||
- yönlendirilmiş kanal meta verileri ve form girdileriyle modal `view_submission` ve `view_closed` olayları
|
||||
|
||||
## Yapılandırma başvurusu işaretçileri
|
||||
## Yapılandırma referansı işaretçileri
|
||||
|
||||
Birincil başvuru:
|
||||
Birincil referans:
|
||||
|
||||
- [Configuration reference - Slack](/tr/gateway/configuration-reference#slack)
|
||||
- [Yapılandırma referansı - Slack](/tr/gateway/configuration-reference#slack)
|
||||
|
||||
Yüksek sinyalli Slack alanları:
|
||||
- mod/kimlik doğrulama: `mode`, `botToken`, `appToken`, `signingSecret`, `webhookPath`, `accounts.*`
|
||||
- DM erişimi: `dm.enabled`, `dmPolicy`, `allowFrom` (eski: `dm.policy`, `dm.allowFrom`), `dm.groupEnabled`, `dm.groupChannels`
|
||||
- uyumluluk anahtarı: `dangerouslyAllowNameMatching` (son çare; gerekmedikçe kapalı tutun)
|
||||
- uyumluluk anahtarı: `dangerouslyAllowNameMatching` (acil durum; gerekmedikçe kapalı tutun)
|
||||
- kanal erişimi: `groupPolicy`, `channels.*`, `channels.*.users`, `channels.*.requireMention`
|
||||
- dizi/geçmiş: `replyToMode`, `replyToModeByChatType`, `thread.*`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`
|
||||
- teslimat: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `streaming`, `nativeStreaming`
|
||||
- iş parçacığı/geçmiş: `replyToMode`, `replyToModeByChatType`, `thread.*`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`
|
||||
- teslimat: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `streaming`, `streaming.nativeTransport`
|
||||
- işlemler/özellikler: `configWrites`, `commands.native`, `slashCommand.*`, `actions.*`, `userToken`, `userTokenReadOnly`
|
||||
|
||||
## Sorun giderme
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Kanallarda yanıt yok">
|
||||
Sırayla şunları kontrol edin:
|
||||
Sırayla kontrol edin:
|
||||
|
||||
- `groupPolicy`
|
||||
- kanal izin listesi (`channels.slack.channels`)
|
||||
@ -731,26 +735,26 @@ openclaw pairing list slack
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Socket mode bağlanmıyor">
|
||||
Slack uygulama ayarlarında bot + uygulama belirteçlerini ve Socket Mode etkinliğini doğrulayın.
|
||||
<Accordion title="Socket modu bağlanmıyor">
|
||||
Bot + uygulama token'larını ve Slack uygulama ayarlarındaki Socket Mode etkinliğini doğrulayın.
|
||||
|
||||
`openclaw channels status --probe --json`, `botTokenStatus` veya
|
||||
`appTokenStatus: "configured_unavailable"` gösteriyorsa, Slack hesabı
|
||||
`appTokenStatus: "configured_unavailable"` gösteriyorsa Slack hesabı
|
||||
yapılandırılmıştır ancak mevcut çalışma zamanı SecretRef destekli
|
||||
değeri çözememiştir.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="HTTP mode olay almıyor">
|
||||
<Accordion title="HTTP modu olay almıyor">
|
||||
Şunları doğrulayın:
|
||||
|
||||
- signing secret
|
||||
- webhook yolu
|
||||
- Slack Request URLs (Events + Interactivity + Slash Commands)
|
||||
- HTTP hesap başına benzersiz `webhookPath`
|
||||
- Slack Request URL'leri (Events + Interactivity + Slash Commands)
|
||||
- HTTP hesabı başına benzersiz `webhookPath`
|
||||
|
||||
Hesap anlık görüntülerinde `signingSecretStatus: "configured_unavailable"`
|
||||
görünüyorsa, HTTP hesabı yapılandırılmıştır ancak mevcut çalışma zamanı
|
||||
görünüyorsa HTTP hesabı yapılandırılmıştır ancak mevcut çalışma zamanı
|
||||
SecretRef destekli signing secret değerini çözememiştir.
|
||||
|
||||
</Accordion>
|
||||
@ -758,10 +762,10 @@ openclaw pairing list slack
|
||||
<Accordion title="Yerel/slash komutları çalışmıyor">
|
||||
Neyi amaçladığınızı doğrulayın:
|
||||
|
||||
- Slack'te eşleşen slash komutları kaydedilmiş yerel komut modu (`channels.slack.commands.native: true`)
|
||||
- Slack'te kayıtlı eşleşen slash komutlarıyla yerel komut modu (`channels.slack.commands.native: true`)
|
||||
- veya tek slash komutu modu (`channels.slack.slashCommand.enabled: true`)
|
||||
|
||||
Ayrıca `commands.useAccessGroups` ile kanal/kullanıcı izin listelerini de kontrol edin.
|
||||
Ayrıca `commands.useAccessGroups` ve kanal/kullanıcı izin listelerini kontrol edin.
|
||||
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
@ -1,104 +1,164 @@
|
||||
---
|
||||
read_when:
|
||||
- Belleğin nasıl çalıştığını anlamak istiyorsunuz
|
||||
- Hangi bellek dosyalarına yazılması gerektiğini öğrenmek istiyorsunuz
|
||||
summary: OpenClaw’un oturumlar arasında bir şeyleri nasıl hatırladığı
|
||||
- Hangi bellek dosyalarını yazmanız gerektiğini öğrenmek istiyorsunuz
|
||||
summary: OpenClaw'un oturumlar arasında şeyleri nasıl hatırladığı
|
||||
title: Belleğe Genel Bakış
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:06:37Z"
|
||||
generated_at: "2026-04-08T06:00:52Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: d19d4fa9c4b3232b7a97f7a382311d2a375b562040de15e9fe4a0b1990b825e7
|
||||
source_hash: 3bb8552341b0b651609edaaae826a22fdc535d240aed4fad4af4b069454004af
|
||||
source_path: concepts/memory.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Belleğe Genel Bakış
|
||||
|
||||
OpenClaw, aracınızın çalışma alanında **düz Markdown dosyaları** yazarak bir şeyleri hatırlar. Model yalnızca diske kaydedilenleri "hatırlar" -- gizli durum yoktur.
|
||||
OpenClaw, aracı workspace'inizde **düz Markdown dosyaları** yazarak şeyleri
|
||||
hatırlar. Model yalnızca diske kaydedilenleri "hatırlar" -- gizli bir durum
|
||||
yoktur.
|
||||
|
||||
## Nasıl çalışır
|
||||
|
||||
Aracınızın bellekle ilgili üç dosyası vardır:
|
||||
|
||||
- **`MEMORY.md`** -- uzun vadeli bellek. Kalıcı gerçekler, tercihler ve kararlar. Her DM oturumunun başında yüklenir.
|
||||
- **`memory/YYYY-MM-DD.md`** -- günlük notlar. Akan bağlam ve gözlemler. Bugünün ve dünkü notlar otomatik olarak yüklenir.
|
||||
- **`DREAMS.md`** (deneysel, isteğe bağlı) -- insan incelemesi için Dream Diary ve dreaming sweep özetleri.
|
||||
- **`MEMORY.md`** -- uzun vadeli bellek. Kalıcı gerçekler, tercihler ve
|
||||
kararlar. Her DM oturumunun başında yüklenir.
|
||||
- **`memory/YYYY-MM-DD.md`** -- günlük notlar. Devam eden bağlam ve gözlemler.
|
||||
Bugünün ve dünkü notlar otomatik olarak yüklenir.
|
||||
- **`DREAMS.md`** (deneysel, isteğe bağlı) -- insan incelemesi için Dream Diary
|
||||
ve dreaming sweep özetleri.
|
||||
|
||||
Bu dosyalar araç çalışma alanında bulunur (varsayılan `~/.openclaw/workspace`).
|
||||
Bu dosyalar aracının workspace'inde bulunur (varsayılan olarak `~/.openclaw/workspace`).
|
||||
|
||||
<Tip>
|
||||
Aracınızın bir şeyi hatırlamasını istiyorsanız, ona söylemeniz yeterlidir: "TypeScript tercih ettiğimi hatırla." Uygun dosyaya yazacaktır.
|
||||
Aracınızın bir şeyi hatırlamasını istiyorsanız, ona söylemeniz yeterlidir: "Benim
|
||||
TypeScript'i tercih ettiğimi hatırla." Bunu uygun dosyaya yazar.
|
||||
</Tip>
|
||||
|
||||
## Bellek araçları
|
||||
|
||||
Aracının bellekle çalışmak için iki aracı vardır:
|
||||
|
||||
- **`memory_search`** -- ifade biçimi asılinden farklı olsa bile, anlamsal arama kullanarak ilgili notları bulur.
|
||||
- **`memory_search`** -- ifade biçimi orijinalden farklı olsa bile, anlamsal
|
||||
arama kullanarak ilgili notları bulur.
|
||||
- **`memory_get`** -- belirli bir bellek dosyasını veya satır aralığını okur.
|
||||
|
||||
Her iki araç da etkin bellek plugin’i tarafından sağlanır (varsayılan: `memory-core`).
|
||||
Bu araçların ikisi de etkin bellek plugin'i tarafından sağlanır (varsayılan: `memory-core`).
|
||||
|
||||
## Memory Wiki yardımcı plugin'i
|
||||
|
||||
Kalıcı belleğin yalnızca ham notlar gibi değil, bakımı yapılan bir bilgi tabanı
|
||||
gibi davranmasını istiyorsanız, paketle gelen `memory-wiki` plugin'ini kullanın.
|
||||
|
||||
`memory-wiki`, kalıcı bilgiyi şu özelliklere sahip bir wiki kasasına derler:
|
||||
|
||||
- deterministik sayfa yapısı
|
||||
- yapılandırılmış iddialar ve kanıtlar
|
||||
- çelişki ve güncellik takibi
|
||||
- oluşturulmuş panolar
|
||||
- agent/runtime tüketicileri için derlenmiş özetler
|
||||
- `wiki_search`, `wiki_get`, `wiki_apply` ve `wiki_lint` gibi wiki'ye özgü araçlar
|
||||
|
||||
Etkin bellek plugin'inin yerini almaz. Etkin bellek plugin'i hâlâ geri getirme,
|
||||
yükseltme ve dreaming işlemlerine sahiptir. `memory-wiki`, bunun yanına
|
||||
kaynak zenginliğine sahip bir bilgi katmanı ekler.
|
||||
|
||||
Bkz. [Memory Wiki](/tr/plugins/memory-wiki).
|
||||
|
||||
## Bellek araması
|
||||
|
||||
Bir embedding sağlayıcısı yapılandırıldığında, `memory_search` **hibrit arama** kullanır -- vektör benzerliğini (anlamsal anlam) anahtar kelime eşleştirmesiyle (kimlikler ve kod sembolleri gibi tam terimler) birleştirir. Desteklenen herhangi bir sağlayıcı için bir API anahtarınız olduğunda bu özellik kutudan çıktığı gibi çalışır.
|
||||
Bir embedding sağlayıcısı yapılandırıldığında, `memory_search` **hibrit
|
||||
arama** kullanır -- vektör benzerliğini (anlamsal anlam) anahtar sözcük
|
||||
eşleştirmesiyle (kimlikler ve kod sembolleri gibi tam terimler) birleştirir.
|
||||
Desteklenen herhangi bir sağlayıcı için bir API anahtarınız olduğunda bu kutudan
|
||||
çıktığı gibi çalışır.
|
||||
|
||||
<Info>
|
||||
OpenClaw, kullanılabilir API anahtarlarından embedding sağlayıcınızı otomatik algılar. Yapılandırılmış bir OpenAI, Gemini, Voyage veya Mistral anahtarınız varsa, bellek araması otomatik olarak etkinleştirilir.
|
||||
OpenClaw, kullanılabilir API anahtarlarından embedding sağlayıcınızı otomatik
|
||||
olarak algılar. Yapılandırılmış bir OpenAI, Gemini, Voyage veya Mistral
|
||||
anahtarınız varsa, bellek araması otomatik olarak etkinleştirilir.
|
||||
</Info>
|
||||
|
||||
Aramanın nasıl çalıştığı, ince ayar seçenekleri ve sağlayıcı kurulumu hakkında ayrıntılar için bkz. [Bellek Araması](/tr/concepts/memory-search).
|
||||
Aramanın nasıl çalıştığı, ayarlama seçenekleri ve sağlayıcı kurulumu hakkında
|
||||
ayrıntılar için bkz. [Memory Search](/tr/concepts/memory-search).
|
||||
|
||||
## Bellek arka uçları
|
||||
|
||||
<CardGroup cols={3}>
|
||||
<Card title="Yerleşik (varsayılan)" icon="database" href="/tr/concepts/memory-builtin">
|
||||
SQLite tabanlıdır. Anahtar kelime araması, vektör benzerliği ve hibrit arama ile kutudan çıktığı gibi çalışır. Ek bağımlılık yoktur.
|
||||
SQLite tabanlıdır. Anahtar sözcük araması, vektör benzerliği ve hibrit arama ile
|
||||
kutudan çıktığı gibi çalışır. Ek bağımlılık gerekmez.
|
||||
</Card>
|
||||
<Card title="QMD" icon="search" href="/tr/concepts/memory-qmd">
|
||||
Yeniden sıralama, sorgu genişletme ve çalışma alanı dışındaki dizinleri indeksleme yeteneğine sahip local-first yan hizmet.
|
||||
Yeniden sıralama, sorgu genişletme ve workspace dışındaki dizinleri
|
||||
indeksleyebilme yeteneğine sahip local-first sidecar.
|
||||
</Card>
|
||||
<Card title="Honcho" icon="brain" href="/tr/concepts/memory-honcho">
|
||||
Kullanıcı modelleme, anlamsal arama ve çok aracılı farkındalık ile AI-native oturumlar arası bellek. Plugin kurulumu gerekir.
|
||||
Kullanıcı modelleme, anlamsal arama ve çoklu agent farkındalığı ile AI-native
|
||||
oturumlar arası bellek. Plugin kurulumu.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Otomatik bellek flush
|
||||
## Bilgi wiki katmanı
|
||||
|
||||
[Compaction](/tr/concepts/compaction) konuşmanızı özetlemeden önce, OpenClaw araca önemli bağlamı bellek dosyalarına kaydetmesini hatırlatan sessiz bir tur çalıştırır. Bu varsayılan olarak açıktır -- herhangi bir şey yapılandırmanız gerekmez.
|
||||
<CardGroup cols={1}>
|
||||
<Card title="Memory Wiki" icon="book" href="/tr/plugins/memory-wiki">
|
||||
Kalıcı belleği iddialar, panolar, köprü modu ve Obsidian uyumlu iş akışlarıyla
|
||||
kaynak zenginliğine sahip bir wiki kasasına derler.
|
||||
</Card>
|
||||
</CardGroup>
|
||||
|
||||
## Otomatik bellek boşaltma
|
||||
|
||||
[Compaction](/tr/concepts/compaction) konuşmanızı özetlemeden önce, OpenClaw
|
||||
aracıya önemli bağlamı bellek dosyalarına kaydetmesini hatırlatan sessiz bir tur
|
||||
çalıştırır. Bu varsayılan olarak açıktır -- herhangi bir şeyi yapılandırmanız
|
||||
gerekmez.
|
||||
|
||||
<Tip>
|
||||
Bellek flush, sıkıştırma sırasında bağlam kaybını önler. Konuşmada henüz bir dosyaya yazılmamış önemli gerçekler varsa, özetleme gerçekleşmeden önce otomatik olarak kaydedilirler.
|
||||
Bellek boşaltma, compaction sırasında bağlam kaybını önler. Aracınızın
|
||||
konuşmada henüz bir dosyaya yazılmamış önemli gerçekleri varsa, özetleme
|
||||
gerçekleşmeden önce bunlar otomatik olarak kaydedilir.
|
||||
</Tip>
|
||||
|
||||
## Dreaming (deneysel)
|
||||
|
||||
Dreaming, bellek için isteğe bağlı bir arka plan pekiştirme geçişidir. Kısa vadeli sinyalleri toplar, adayları puanlar ve yalnızca uygun öğeleri uzun vadeli belleğe (`MEMORY.md`) yükseltir.
|
||||
Dreaming, bellek için isteğe bağlı bir arka plan pekiştirme geçişidir. Kısa
|
||||
vadeli sinyalleri toplar, adayları puanlar ve yalnızca uygun öğeleri uzun
|
||||
vadeli belleğe (`MEMORY.md`) yükseltir.
|
||||
|
||||
Uzun vadeli belleği yüksek sinyalli tutmak için tasarlanmıştır:
|
||||
|
||||
- **İsteğe bağlı**: varsayılan olarak devre dışıdır.
|
||||
- **Zamanlanmış**: etkinleştirildiğinde `memory-core`, tam bir dreaming sweep için yinelenen bir cron işini otomatik olarak yönetir.
|
||||
- **Eşikli**: yükseltmelerin puan, hatırlama sıklığı ve sorgu çeşitliliği kapılarını geçmesi gerekir.
|
||||
- **İncelenebilir**: aşama özetleri ve günlük girdileri insan incelemesi için `DREAMS.md` dosyasına yazılır.
|
||||
- **Zamanlanmış**: etkinleştirildiğinde, `memory-core` bir tam dreaming sweep'i
|
||||
için yinelenen bir cron işini otomatik olarak yönetir.
|
||||
- **Eşikli**: yükseltmelerin puan, geri çağırma sıklığı ve sorgu çeşitliliği
|
||||
geçitlerini geçmesi gerekir.
|
||||
- **İncelenebilir**: aşama özetleri ve günlük girdileri insan incelemesi için
|
||||
`DREAMS.md` dosyasına yazılır.
|
||||
|
||||
Aşama davranışı, puanlama sinyalleri ve Dream Diary ayrıntıları için bkz. [Dreaming (deneysel)](/concepts/dreaming).
|
||||
Aşama davranışı, puanlama sinyalleri ve Dream Diary ayrıntıları için bkz.
|
||||
[Dreaming (experimental)](/tr/concepts/dreaming).
|
||||
|
||||
## CLI
|
||||
|
||||
```bash
|
||||
openclaw memory status # İndeks durumunu ve sağlayıcıyı kontrol et
|
||||
openclaw memory search "query" # Komut satırından ara
|
||||
openclaw memory index --force # İndeksi yeniden oluştur
|
||||
openclaw memory status # Dizin durumunu ve sağlayıcıyı kontrol edin
|
||||
openclaw memory search "query" # Komut satırından arama yapın
|
||||
openclaw memory index --force # Dizini yeniden oluşturun
|
||||
```
|
||||
|
||||
## Daha fazla okuma
|
||||
## İleri okuma
|
||||
|
||||
- [Builtin Memory Engine](/tr/concepts/memory-builtin) -- varsayılan SQLite arka ucu
|
||||
- [QMD Memory Engine](/tr/concepts/memory-qmd) -- gelişmiş local-first yan hizmet
|
||||
- [QMD Memory Engine](/tr/concepts/memory-qmd) -- gelişmiş local-first sidecar
|
||||
- [Honcho Memory](/tr/concepts/memory-honcho) -- AI-native oturumlar arası bellek
|
||||
- [Memory Search](/tr/concepts/memory-search) -- arama işlem hattı, sağlayıcılar ve ince ayar
|
||||
- [Dreaming (experimental)](/concepts/dreaming) -- kısa vadeli hatırlamadan uzun vadeli belleğe arka plan yükseltme
|
||||
- [Memory configuration reference](/tr/reference/memory-config) -- tüm yapılandırma ayarları
|
||||
- [Compaction](/tr/concepts/compaction) -- sıkıştırmanın bellekle nasıl etkileşime girdiği
|
||||
- [Memory Wiki](/tr/plugins/memory-wiki) -- derlenmiş bilgi kasası ve wiki'ye özgü araçlar
|
||||
- [Memory Search](/tr/concepts/memory-search) -- arama işlem hattı, sağlayıcılar ve
|
||||
ayarlama
|
||||
- [Dreaming (experimental)](/tr/concepts/dreaming) -- kısa vadeli geri çağırmadan
|
||||
uzun vadeli belleğe arka plan yükseltmesi
|
||||
- [Bellek yapılandırma başvurusu](/tr/reference/memory-config) -- tüm yapılandırma seçenekleri
|
||||
- [Compaction](/tr/concepts/compaction) -- compaction'ın bellekle nasıl etkileşime girdiği
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Sağlayıcı bazında model kurulum başvurusu gerektiğinde
|
||||
- Model sağlayıcıları için örnek yapılandırmalar veya CLI onboarding komutları istediğinizde
|
||||
- Sağlayıcı bazında model kurulumu için bir başvuruya ihtiyacınız var
|
||||
- Model sağlayıcıları için örnek yapılandırmalar veya CLI ilk kurulum komutları istiyorsunuz
|
||||
summary: Örnek yapılandırmalar ve CLI akışlarıyla model sağlayıcısı genel bakışı
|
||||
title: Model Sağlayıcıları
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T02:15:45Z"
|
||||
generated_at: "2026-04-08T06:02:33Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 26b36a2bc19a28a7ef39aa8e81a0050fea1d452ac4969122e5cdf8755e690258
|
||||
source_hash: 558ac9e34b67fcc3dd6791a01bebc17e1c34152fa6c5611593d681e8cfa532d9
|
||||
source_path: concepts/model-providers.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -16,25 +16,24 @@ x-i18n:
|
||||
# Model sağlayıcıları
|
||||
|
||||
Bu sayfa **LLM/model sağlayıcılarını** kapsar (WhatsApp/Telegram gibi sohbet kanalları değil).
|
||||
Model seçim kuralları için bkz. [/concepts/models](/tr/concepts/models).
|
||||
Model seçimi kuralları için bkz. [/concepts/models](/tr/concepts/models).
|
||||
|
||||
## Hızlı kurallar
|
||||
|
||||
- Model başvuruları `provider/model` kullanır (örnek: `opencode/claude-opus-4-6`).
|
||||
- `agents.defaults.models` ayarlarsanız bu allowlist olur.
|
||||
- `agents.defaults.models` ayarlarsanız, bu allowlist olur.
|
||||
- CLI yardımcıları: `openclaw onboard`, `openclaw models list`, `openclaw models set <provider/model>`.
|
||||
- Yedek çalışma zamanı kuralları, cooldown propları ve oturum geçersiz kılma kalıcılığı
|
||||
- Geri dönüş çalışma zamanı kuralları, cooldown probları ve oturum geçersiz kılma kalıcılığı
|
||||
[/concepts/model-failover](/tr/concepts/model-failover) içinde belgelenmiştir.
|
||||
- `models.providers.*.models[].contextWindow` yerel model meta verisidir;
|
||||
`models.providers.*.models[].contextTokens` etkin çalışma zamanı sınırıdır.
|
||||
- Sağlayıcı plugin’leri `registerProvider({ catalog })` aracılığıyla model katalogları ekleyebilir;
|
||||
OpenClaw bu çıktıyı `models.providers` içine birleştirir ve ardından
|
||||
`models.json` yazar.
|
||||
- Sağlayıcı manifest’leri `providerAuthEnvVars` bildirebilir; böylece genel env tabanlı
|
||||
kimlik doğrulama yoklamalarının plugin çalışma zamanını yüklemesi gerekmez. Kalan çekirdek env-var
|
||||
eşlemesi artık yalnızca plugin olmayan/çekirdek sağlayıcılar ve Anthropic için API-key-first onboarding gibi
|
||||
`models.providers.*.models[].contextTokens` ise etkili çalışma zamanı sınırıdır.
|
||||
- Sağlayıcı eklentileri `registerProvider({ catalog })` aracılığıyla model katalogları ekleyebilir;
|
||||
OpenClaw, `models.json` yazılmadan önce bu çıktıyı `models.providers` içine birleştirir.
|
||||
- Sağlayıcı manifest dosyaları `providerAuthEnvVars` bildirebilir; böylece genel env tabanlı
|
||||
kimlik doğrulama problarının eklenti çalışma zamanını yüklemesi gerekmez. Kalan çekirdek env-var
|
||||
haritası artık yalnızca eklenti olmayan/çekirdek sağlayıcılar ve Anthropic API-key-first ilk kurulum gibi
|
||||
birkaç genel öncelik durumu içindir.
|
||||
- Sağlayıcı plugin’leri ayrıca
|
||||
- Sağlayıcı eklentileri ayrıca sağlayıcı çalışma zamanı davranışını da şu yollarla sahiplenebilir:
|
||||
`normalizeModelId`, `normalizeTransport`, `normalizeConfig`,
|
||||
`applyNativeStreamingUsageCompat`, `resolveConfigApiKey`,
|
||||
`resolveSyntheticAuth`, `shouldDeferSyntheticProfileAuth`,
|
||||
@ -51,216 +50,209 @@ Model seçim kuralları için bkz. [/concepts/models](/tr/concepts/models).
|
||||
`augmentModelCatalog`, `isBinaryThinking`, `supportsXHighThinking`,
|
||||
`resolveDefaultThinkingLevel`, `applyConfigDefaults`, `isModernModelRef`,
|
||||
`prepareRuntimeAuth`, `resolveUsageAuth`, `fetchUsageSnapshot` ve
|
||||
`onModelSelected` aracılığıyla sağlayıcı çalışma zamanı davranışını sahiplenebilir.
|
||||
`onModelSelected`.
|
||||
- Not: sağlayıcı çalışma zamanı `capabilities`, paylaşılan çalıştırıcı meta verisidir (sağlayıcı
|
||||
ailesi, transkript/araç farklılıkları, taşıma/önbellek ipuçları). Bu,
|
||||
bir plugin’in ne kaydettiğini açıklayan
|
||||
[genel capability modeli](/tr/plugins/architecture#public-capability-model)
|
||||
ailesi, transcript/tooling özellikleri, transport/cache ipuçları). Bu,
|
||||
bir eklentinin ne kaydettiğini açıklayan [public capability model](/tr/plugins/architecture#public-capability-model)
|
||||
ile aynı şey değildir (metin çıkarımı, konuşma vb.).
|
||||
|
||||
## Plugin’e ait sağlayıcı davranışı
|
||||
## Eklenti sahipliğinde sağlayıcı davranışı
|
||||
|
||||
Sağlayıcı plugin’leri artık sağlayıcıya özgü mantığın çoğunu sahiplenebilirken OpenClaw
|
||||
genel çıkarım döngüsünü korur.
|
||||
Sağlayıcı eklentileri artık OpenClaw genel çıkarım döngüsünü korurken
|
||||
sağlayıcıya özgü mantığın çoğunu sahiplenebilir.
|
||||
|
||||
Tipik ayrım:
|
||||
|
||||
- `auth[].run` / `auth[].runNonInteractive`: sağlayıcı,
|
||||
`openclaw onboard`, `openclaw models auth` ve başsız kurulum için onboarding/login
|
||||
- `auth[].run` / `auth[].runNonInteractive`: sağlayıcı, `openclaw onboard`, `openclaw models auth` ve başsız kurulum için ilk kurulum/giriş
|
||||
akışlarını sahiplenir
|
||||
- `wizard.setup` / `wizard.modelPicker`: sağlayıcı, auth-choice etiketlerini,
|
||||
eski takma adları, onboarding allowlist ipuçlarını ve onboarding/model seçimlerinde
|
||||
kurulum girişlerini sahiplenir
|
||||
eski takma adları, ilk kurulum allowlist ipuçlarını ve ilk kurulum/model seçicilerindeki kurulum girdilerini sahiplenir
|
||||
- `catalog`: sağlayıcı `models.providers` içinde görünür
|
||||
- `normalizeModelId`: sağlayıcı, arama veya kanonikleştirme öncesinde eski/önizleme model kimliklerini
|
||||
normalize eder
|
||||
- `normalizeTransport`: sağlayıcı, genel model derlemesi öncesinde taşıma ailesi `api` / `baseUrl` değerlerini
|
||||
normalize eder; OpenClaw önce eşleşen sağlayıcıyı,
|
||||
sonra gerçekten taşıma üzerinde değişiklik yapana kadar diğer hook destekli sağlayıcı plugin’lerini
|
||||
denetler
|
||||
- `normalizeModelId`: sağlayıcı, arama veya kanonikleştirme öncesinde eski/önizleme model kimliklerini normalleştirir
|
||||
- `normalizeTransport`: sağlayıcı, genel model birleştirmesinden önce transport-family `api` / `baseUrl`
|
||||
değerlerini normalleştirir; OpenClaw önce eşleşen sağlayıcıyı,
|
||||
ardından transport'u gerçekten değiştiren bir tane bulunana kadar kanca yetenekli diğer sağlayıcı eklentilerini kontrol eder
|
||||
- `normalizeConfig`: sağlayıcı, çalışma zamanı kullanmadan önce `models.providers.<id>` yapılandırmasını
|
||||
normalize eder; OpenClaw önce eşleşen sağlayıcıyı,
|
||||
sonra gerçekten yapılandırmayı değiştirene kadar diğer hook destekli sağlayıcı plugin’lerini
|
||||
denetler. Hiçbir sağlayıcı hook’u yapılandırmayı yeniden yazmazsa, paketlenmiş Google ailesi yardımcıları
|
||||
desteklenen Google sağlayıcı girdilerini yine de normalize eder.
|
||||
- `applyNativeStreamingUsageCompat`: sağlayıcı, yapılandırma sağlayıcıları için uç nokta odaklı yerel akış-kullanım uyumluluk yeniden yazımlarını uygular
|
||||
- `resolveConfigApiKey`: sağlayıcı, yapılandırma sağlayıcıları için tam çalışma zamanı auth yüklemesini zorlamadan
|
||||
env-marker auth çözümler. Bedrock çalışma zamanı auth’u
|
||||
AWS SDK varsayılan zincirini kullansa da `amazon-bedrock` burada ayrıca
|
||||
yerleşik bir AWS env-marker çözücüsüne sahiptir.
|
||||
- `resolveSyntheticAuth`: sağlayıcı, düz metin gizli anahtarları kalıcılaştırmadan
|
||||
local/self-hosted veya diğer yapılandırma destekli auth kullanılabilirliğini ortaya çıkarabilir
|
||||
normalleştirir; OpenClaw önce eşleşen sağlayıcıyı, ardından
|
||||
yapılandırmayı gerçekten değiştiren bir tane bulunana kadar kanca yetenekli diğer sağlayıcı eklentilerini kontrol eder. Eğer hiçbir
|
||||
sağlayıcı kancası yapılandırmayı yeniden yazmazsa, paketlenmiş Google ailesi yardımcıları
|
||||
desteklenen Google sağlayıcı girdilerini yine de normalleştirir.
|
||||
- `applyNativeStreamingUsageCompat`: sağlayıcı, yapılandırma sağlayıcıları için endpoint kaynaklı yerel streaming-usage uyumluluk yeniden yazımlarını uygular
|
||||
- `resolveConfigApiKey`: sağlayıcı, tam çalışma zamanı auth yüklemesini zorlamadan yapılandırma sağlayıcıları için env-marker auth'u çözümler.
|
||||
`amazon-bedrock` ayrıca burada yerleşik bir AWS env-marker çözücüsüne sahiptir; Bedrock çalışma zamanı auth'u
|
||||
AWS SDK varsayılan zincirini kullanmasına rağmen.
|
||||
- `resolveSyntheticAuth`: sağlayıcı, düz metin sırları kalıcı hale getirmeden yerel/self-hosted veya
|
||||
diğer yapılandırma destekli auth kullanılabilirliğini gösterebilir
|
||||
- `shouldDeferSyntheticProfileAuth`: sağlayıcı, depolanmış sentetik profil
|
||||
yer tutucularını env/config destekli auth’tan daha düşük öncelikli olarak işaretleyebilir
|
||||
yer tutucularını env/config destekli auth'tan daha düşük öncelikli olarak işaretleyebilir
|
||||
- `resolveDynamicModel`: sağlayıcı, henüz yerel statik katalogda bulunmayan model kimliklerini kabul eder
|
||||
- `prepareDynamicModel`: sağlayıcı, dinamik çözümlemeyi yeniden denemeden önce meta veri yenilemesine ihtiyaç duyar
|
||||
- `normalizeResolvedModel`: sağlayıcı, taşıma veya base URL yeniden yazımlarına ihtiyaç duyar
|
||||
- `contributeResolvedModelCompat`: sağlayıcı, başka bir uyumlu taşıma üzerinden gelseler bile
|
||||
kendi satıcı modelleri için uyumluluk bayrakları sağlar
|
||||
- `capabilities`: sağlayıcı, transkript/araçlama/sağlayıcı ailesi farklılıklarını yayımlar
|
||||
- `normalizeToolSchemas`: sağlayıcı, gömülü çalıştırıcı onları görmeden önce araç şemalarını temizler
|
||||
- `inspectToolSchemas`: sağlayıcı, normalleştirme sonrasında taşıma türüne özgü şema uyarılarını yüzeye çıkarır
|
||||
- `resolveReasoningOutputMode`: sağlayıcı, yerel ve etiketli
|
||||
reasoning-output sözleşmeleri arasında seçim yapar
|
||||
- `prepareExtraParams`: sağlayıcı, model başına istek parametreleri için varsayılanları uygular veya normalize eder
|
||||
- `createStreamFn`: sağlayıcı, normal akış yolunu tamamen
|
||||
özel bir taşıma ile değiştirir
|
||||
- `wrapStreamFn`: sağlayıcı, istek üstbilgisi/gövdesi/model uyumluluk sarmalayıcıları uygular
|
||||
- `resolveTransportTurnState`: sağlayıcı, tur başına yerel taşıma
|
||||
üstbilgileri veya meta verileri sağlar
|
||||
- `resolveWebSocketSessionPolicy`: sağlayıcı, yerel WebSocket oturumu
|
||||
üstbilgileri veya oturum cool-down politikasını sağlar
|
||||
- `createEmbeddingProvider`: provider plugin’i yerine çekirdek embedding switchboard’a değil,
|
||||
sağlayıcı plugin’ine ait olduğunda bellek embedding davranışını sağlayıcı sahiplenir
|
||||
- `formatApiKey`: sağlayıcı, depolanmış auth profillerini taşımanın beklediği
|
||||
çalışma zamanı `apiKey` dizesine biçimlendirir
|
||||
- `prepareDynamicModel`: sağlayıcının, dinamik çözümlemeyi yeniden denemeden önce meta veri yenilemesine ihtiyacı vardır
|
||||
- `normalizeResolvedModel`: sağlayıcının transport veya temel URL yeniden yazımlarına ihtiyacı vardır
|
||||
- `contributeResolvedModelCompat`: sağlayıcı, sağlayıcıya ait modeller başka bir uyumlu transport üzerinden
|
||||
gelse bile onlar için compat bayrakları ekler
|
||||
- `capabilities`: sağlayıcı transcript/tooling/provider-family özelliklerini yayımlar
|
||||
- `normalizeToolSchemas`: sağlayıcı, gömülü çalıştırıcı bunları görmeden önce araç şemalarını temizler
|
||||
- `inspectToolSchemas`: sağlayıcı, normalleştirmeden sonra transport'a özgü şema uyarılarını ortaya çıkarır
|
||||
- `resolveReasoningOutputMode`: sağlayıcı, yerel veya etiketli reasoning-output sözleşmelerini seçer
|
||||
- `prepareExtraParams`: sağlayıcı, model başına istek parametreleri için varsayılanları ayarlar veya normalleştirir
|
||||
- `createStreamFn`: sağlayıcı, normal akış yolunu tamamen özel bir transport ile değiştirir
|
||||
- `wrapStreamFn`: sağlayıcı, istek başlık/gövde/model compat sarmalayıcıları uygular
|
||||
- `resolveTransportTurnState`: sağlayıcı, tur başına yerel transport
|
||||
başlıkları veya meta verisi sağlar
|
||||
- `resolveWebSocketSessionPolicy`: sağlayıcı, yerel WebSocket oturum
|
||||
başlıkları veya oturum cool-down ilkesi sağlar
|
||||
- `createEmbeddingProvider`: sağlayıcı, çekirdek embedding anahtarlayıcısı yerine
|
||||
sağlayıcı eklentisiyle birlikte olması gerektiğinde bellek embedding davranışını sahiplenir
|
||||
- `formatApiKey`: sağlayıcı, depolanmış auth profillerini transport'un beklediği çalışma zamanı
|
||||
`apiKey` dizesi biçimine dönüştürür
|
||||
- `refreshOAuth`: sağlayıcı, paylaşılan `pi-ai`
|
||||
yenileyiciler yeterli olmadığında OAuth yenilemeyi sahiplenir
|
||||
- `buildAuthDoctorHint`: sağlayıcı, OAuth yenileme
|
||||
başarısız olduğunda onarım rehberliği ekler
|
||||
- `matchesContextOverflowError`: sağlayıcı, genel sezgilerin kaçıracağı
|
||||
sağlayıcıya özgü context-window taşma hatalarını tanır
|
||||
- `classifyFailoverReason`: sağlayıcı, sağlayıcıya özgü ham taşıma/API
|
||||
hatalarını hız sınırı veya aşırı yük gibi failover nedenlerine eşler
|
||||
- `isCacheTtlEligible`: sağlayıcı, hangi yukarı akış model kimliklerinin prompt-cache TTL desteklediğine karar verir
|
||||
- `classifyFailoverReason`: sağlayıcı, sağlayıcıya özgü ham transport/API
|
||||
hatalarını rate limit veya overload gibi geri dönüş nedenlerine eşler
|
||||
- `isCacheTtlEligible`: sağlayıcı, hangi upstream model kimliklerinin prompt-cache TTL'yi desteklediğine karar verir
|
||||
- `buildMissingAuthMessage`: sağlayıcı, genel auth-store hatasını
|
||||
sağlayıcıya özgü bir kurtarma ipucuyla değiştirir
|
||||
- `suppressBuiltInModel`: sağlayıcı, eski yukarı akış satırlarını gizler ve doğrudan çözümleme başarısızlıkları için
|
||||
satıcıya ait bir hata döndürebilir
|
||||
- `suppressBuiltInModel`: sağlayıcı, eski upstream satırlarını gizler ve doğrudan çözümleme başarısızlıkları için
|
||||
sağlayıcıya ait bir hata döndürebilir
|
||||
- `augmentModelCatalog`: sağlayıcı, keşif ve yapılandırma birleştirmesinden sonra
|
||||
sentetik/nihai katalog satırları ekler
|
||||
- `isBinaryThinking`: sağlayıcı, ikili açık/kapalı düşünme UX’ini sahiplenir
|
||||
- `isBinaryThinking`: sağlayıcı, ikili açık/kapalı düşünme UX'ini sahiplenir
|
||||
- `supportsXHighThinking`: sağlayıcı, seçili modelleri `xhigh` içine alır
|
||||
- `resolveDefaultThinkingLevel`: sağlayıcı, bir model ailesi için varsayılan `/think` politikasını sahiplenir
|
||||
- `resolveDefaultThinkingLevel`: sağlayıcı, bir model ailesi için varsayılan `/think` ilkesini sahiplenir
|
||||
- `applyConfigDefaults`: sağlayıcı, auth modu, env veya model ailesine göre
|
||||
yapılandırma materyalizasyonu sırasında sağlayıcıya özgü genel varsayılanlar uygular
|
||||
yapılandırma somutlaştırması sırasında sağlayıcıya özgü genel varsayılanları uygular
|
||||
- `isModernModelRef`: sağlayıcı, live/smoke tercih edilen model eşleştirmesini sahiplenir
|
||||
- `prepareRuntimeAuth`: sağlayıcı, yapılandırılmış bir kimlik bilgisini kısa ömürlü bir
|
||||
çalışma zamanı belirtecine dönüştürür
|
||||
- `resolveUsageAuth`: sağlayıcı, `/usage`
|
||||
ve ilgili durum/raporlama yüzeyleri için kullanım/kota kimlik bilgilerini çözer
|
||||
- `fetchUsageSnapshot`: sağlayıcı, kullanım uç noktası alma/ayrıştırma işini sahiplenirken
|
||||
çekirdek yine özet kabuğunu ve biçimlendirmeyi sahiplenir
|
||||
- `onModelSelected`: sağlayıcı, telemetri veya sağlayıcıya ait oturum kayıt tutma gibi
|
||||
ve ilgili durum/raporlama yüzeyleri için kullanım/kota kimlik bilgilerini çözümler
|
||||
- `fetchUsageSnapshot`: sağlayıcı, kullanım endpoint'inin getirilmesini/ayrıştırılmasını sahiplenirken
|
||||
çekirdek özet kabuğu ve biçimlendirmeyi sahiplenmeye devam eder
|
||||
- `onModelSelected`: sağlayıcı, telemetri veya sağlayıcıya ait oturum kayıt işlemleri gibi
|
||||
seçim sonrası yan etkileri çalıştırır
|
||||
|
||||
Mevcut paketlenmiş örnekler:
|
||||
|
||||
- `anthropic`: Claude 4.6 ileri uyumluluk geri dönüşü, auth onarım ipuçları, kullanım
|
||||
uç noktası alma, cache-TTL/sağlayıcı ailesi meta verisi ve auth farkındalıklı genel
|
||||
- `anthropic`: Claude 4.6 ileriye dönük uyumlu geri dönüş, auth onarım ipuçları, kullanım
|
||||
endpoint getirme, cache-TTL/provider-family meta verisi ve auth farkındalığına sahip genel
|
||||
yapılandırma varsayılanları
|
||||
- `amazon-bedrock`: Bedrock’a özgü throttle/not-ready hataları için sağlayıcıya ait context-overflow eşleştirme ve failover
|
||||
neden sınıflandırması; ayrıca Anthropic trafiğindeki yalnızca-Claude replay-policy
|
||||
- `amazon-bedrock`: Bedrock'a özgü throttle/not-ready hataları için sağlayıcı sahipliğinde context-overflow eşleştirmesi ve failover
|
||||
nedeni sınıflandırması, ayrıca Anthropic trafiğinde Claude'a özel replay-policy
|
||||
korumaları için paylaşılan `anthropic-by-model` replay ailesi
|
||||
- `anthropic-vertex`: Anthropic-message
|
||||
trafiği için yalnızca-Claude replay-policy korumaları
|
||||
trafiğinde Claude'a özel replay-policy korumaları
|
||||
- `openrouter`: doğrudan model kimlikleri, istek sarmalayıcıları, sağlayıcı capability
|
||||
ipuçları, proxy Gemini trafiğinde Gemini thought-signature temizleme,
|
||||
`openrouter-thinking` akış ailesi üzerinden proxy reasoning ekleme, yönlendirme
|
||||
meta verisi iletimi ve cache-TTL politikası
|
||||
- `github-copilot`: onboarding/device login, ileri uyumluluk model geri dönüşü,
|
||||
Claude-thinking transkript ipuçları, çalışma zamanı token değişimi ve kullanım uç noktası
|
||||
alma
|
||||
- `openai`: GPT-5.4 ileri uyumluluk geri dönüşü, doğrudan OpenAI taşıma
|
||||
normalizasyonu, Codex farkındalıklı eksik auth ipuçları, Spark gizleme, sentetik
|
||||
OpenAI/Codex katalog satırları, thinking/live-model politikası, kullanım token takma ad
|
||||
meta verisi iletme ve cache-TTL ilkesi
|
||||
- `github-copilot`: ilk kurulum/cihaz girişi, ileriye dönük uyumlu model geri dönüşü,
|
||||
Claude-thinking transcript ipuçları, çalışma zamanı token değişimi ve kullanım endpoint'i
|
||||
getirme
|
||||
- `openai`: GPT-5.4 ileriye dönük uyumlu geri dönüş, doğrudan OpenAI transport
|
||||
normalizasyonu, Codex farkındalığına sahip eksik auth ipuçları, Spark bastırma, sentetik
|
||||
OpenAI/Codex katalog satırları, thinking/live-model ilkesi, kullanım belirteci takma adı
|
||||
normalizasyonu (`input` / `output` ve `prompt` / `completion` aileleri), yerel OpenAI/Codex
|
||||
sarmalayıcıları için paylaşılan `openai-responses-defaults` akış ailesi, sağlayıcı ailesi
|
||||
meta verisi, `gpt-image-1` için paketlenmiş görüntü oluşturma sağlayıcısı
|
||||
sarmalayıcıları için paylaşılan `openai-responses-defaults` akış ailesi,
|
||||
provider-family meta verisi, `gpt-image-1` için paketlenmiş görüntü oluşturma sağlayıcısı
|
||||
kaydı ve `sora-2` için paketlenmiş video oluşturma sağlayıcısı
|
||||
kaydı
|
||||
- `google` ve `google-gemini-cli`: Gemini 3.1 ileri uyumluluk geri dönüşü,
|
||||
yerel Gemini replay doğrulaması, bootstrap replay temizliği, etiketli
|
||||
reasoning-output modu, modern model eşleştirmesi, Gemini image-preview modelleri için paketlenmiş görüntü oluşturma
|
||||
- `google` ve `google-gemini-cli`: Gemini 3.1 ileriye dönük uyumlu geri dönüş,
|
||||
yerel Gemini replay doğrulaması, bootstrap replay temizleme, etiketli
|
||||
reasoning-output modu, modern-model eşleştirme, Gemini image-preview modelleri için paketlenmiş görüntü oluşturma
|
||||
sağlayıcısı kaydı ve Veo modelleri için paketlenmiş
|
||||
video oluşturma sağlayıcısı kaydı; Gemini CLI OAuth ayrıca
|
||||
auth-profile token biçimlendirmesi, usage-token ayrıştırması ve kullanım yüzeyleri için kota uç noktası
|
||||
alımını da sahiplenir
|
||||
- `moonshot`: paylaşılan taşıma, plugin’e ait thinking payload normalizasyonu
|
||||
- `kilocode`: paylaşılan taşıma, plugin’e ait istek üstbilgileri, reasoning payload
|
||||
normalizasyonu, proxy-Gemini thought-signature temizliği ve cache-TTL
|
||||
politikası
|
||||
- `zai`: GLM-5 ileri uyumluluk geri dönüşü, `tool_stream` varsayılanları, cache-TTL
|
||||
politikası, binary-thinking/live-model politikası ve kullanım auth + kota alımı;
|
||||
bilinmeyen `glm-5*` kimlikleri, paketlenmiş `glm-4.7` şablonundan sentezlenir
|
||||
- `xai`: yerel Responses taşıma normalizasyonu, Grok hızlı varyantları için
|
||||
`/fast` takma ad yeniden yazımları, varsayılan `tool_stream`, xAI’ye özgü tool-schema /
|
||||
kullanım yüzeyleri için auth-profile token biçimlendirmesi, usage-token ayrıştırması ve kota endpoint'i
|
||||
getirmeyi de sahiplenir
|
||||
- `moonshot`: paylaşılan transport, eklenti sahipliğinde thinking payload normalizasyonu
|
||||
- `kilocode`: paylaşılan transport, eklenti sahipliğinde istek başlıkları, reasoning payload
|
||||
normalizasyonu, proxy-Gemini thought-signature temizleme ve cache-TTL
|
||||
ilkesi
|
||||
- `zai`: GLM-5 ileriye dönük uyumlu geri dönüş, `tool_stream` varsayılanları, cache-TTL
|
||||
ilkesi, binary-thinking/live-model ilkesi ve kullanım auth + kota getirme;
|
||||
bilinmeyen `glm-5*` kimlikleri, paketlenmiş `glm-4.7` şablonundan sentetik olarak üretilir
|
||||
- `xai`: yerel Responses transport normalizasyonu, Grok hızlı varyantları için `/fast` takma ad yeniden yazımları,
|
||||
varsayılan `tool_stream`, xAI'ye özgü tool-schema /
|
||||
reasoning-payload temizliği ve `grok-imagine-video` için paketlenmiş video oluşturma sağlayıcısı
|
||||
kaydı
|
||||
- `mistral`: plugin’e ait capability meta verisi
|
||||
- `opencode` ve `opencode-go`: plugin’e ait capability meta verisi ile birlikte
|
||||
proxy-Gemini thought-signature temizliği
|
||||
- `alibaba`: `alibaba/wan2.6-t2v` gibi doğrudan Wan model başvuruları için
|
||||
plugin’e ait video oluşturma kataloğu
|
||||
- `byteplus`: plugin’e ait kataloglar ve Seedance text-to-video/image-to-video modelleri için
|
||||
paketlenmiş video oluşturma sağlayıcısı kaydı
|
||||
- `fal`: FLUX görüntü modelleri için barındırılan üçüncü taraf görüntü oluşturma sağlayıcısı kaydı ve
|
||||
barındırılan üçüncü taraf video modelleri için paketlenmiş
|
||||
- `mistral`: eklenti sahipliğinde capability meta verisi
|
||||
- `opencode` ve `opencode-go`: eklenti sahipliğinde capability meta verisi ve ayrıca
|
||||
proxy-Gemini thought-signature temizleme
|
||||
- `alibaba`: `alibaba/wan2.6-t2v` gibi doğrudan Wan model başvuruları için eklenti sahipliğinde video oluşturma kataloğu
|
||||
- `byteplus`: eklenti sahipliğinde kataloglar ve ayrıca Seedance text-to-video/image-to-video modelleri için paketlenmiş video oluşturma sağlayıcısı
|
||||
kaydı
|
||||
- `fal`: barındırılan üçüncü taraf görüntü oluşturma sağlayıcısı
|
||||
kaydı ile FLUX görüntü modelleri için birlikte, ayrıca barındırılan üçüncü taraf video modelleri için paketlenmiş
|
||||
video oluşturma sağlayıcısı kaydı
|
||||
- `cloudflare-ai-gateway`, `huggingface`, `kimi`, `nvidia`, `qianfan`,
|
||||
`stepfun`, `synthetic`, `venice`, `vercel-ai-gateway` ve `volcengine`:
|
||||
yalnızca plugin’e ait kataloglar
|
||||
- `qwen`: metin modelleri için plugin’e ait kataloglar ile birlikte,
|
||||
çok modlu yüzeyleri için paylaşılan media-understanding ve video-generation sağlayıcısı kayıtları;
|
||||
Qwen video oluşturma, `wan2.6-t2v` ve `wan2.7-r2v` gibi paketlenmiş Wan modelleriyle
|
||||
Standard DashScope video uç noktalarını kullanır
|
||||
yalnızca eklenti sahipliğinde kataloglar
|
||||
- `qwen`: metin modelleri için eklenti sahipliğinde kataloglar ve ayrıca
|
||||
çok modlu yüzeyleri için paylaşılan
|
||||
media-understanding ve video oluşturma sağlayıcısı kayıtları; Qwen video üretimi,
|
||||
`wan2.6-t2v` ve `wan2.7-r2v` gibi paketlenmiş Wan modelleriyle Standart DashScope video
|
||||
endpoint'lerini kullanır
|
||||
- `runway`: `gen4.5` gibi yerel
|
||||
Runway görev tabanlı modeller için plugin’e ait video oluşturma sağlayıcısı kaydı
|
||||
- `minimax`: plugin’e ait kataloglar, Hailuo video modelleri için paketlenmiş video oluşturma sağlayıcısı
|
||||
Runway görev tabanlı modeller için eklenti sahipliğinde video oluşturma sağlayıcısı kaydı
|
||||
- `minimax`: eklenti sahipliğinde kataloglar, Hailuo video modelleri için paketlenmiş video oluşturma sağlayıcısı
|
||||
kaydı, `image-01` için paketlenmiş görüntü oluşturma sağlayıcısı
|
||||
kaydı, hibrit Anthropic/OpenAI replay-policy
|
||||
seçimi ve kullanım auth/snapshot mantığı
|
||||
- `together`: plugin’e ait kataloglar ve Wan video modelleri için paketlenmiş video oluşturma sağlayıcısı
|
||||
- `together`: eklenti sahipliğinde kataloglar ve ayrıca Wan video modelleri için paketlenmiş video oluşturma sağlayıcısı
|
||||
kaydı
|
||||
- `xiaomi`: plugin’e ait kataloglar ile kullanım auth/snapshot mantığı
|
||||
- `xiaomi`: eklenti sahipliğinde kataloglar ve ayrıca kullanım auth/snapshot mantığı
|
||||
|
||||
Paketlenmiş `openai` plugin’i artık her iki sağlayıcı kimliğini de sahipleniyor: `openai` ve
|
||||
Paketlenmiş `openai` eklentisi artık her iki sağlayıcı kimliğini de sahipleniyor: `openai` ve
|
||||
`openai-codex`.
|
||||
|
||||
Bu, OpenClaw’ın normal taşımalarına hâlâ uyan sağlayıcıları kapsar. Tamamen
|
||||
özel bir istek yürütücüsüne ihtiyaç duyan sağlayıcılar ayrı, daha derin bir genişletme yüzeyidir.
|
||||
Bu, hâlâ OpenClaw'ın normal transport'larına uyan sağlayıcıları kapsar. Tamamen
|
||||
özel bir istek yürütücüsü gerektiren bir sağlayıcı, ayrı ve daha derin bir genişletme
|
||||
yüzeyidir.
|
||||
|
||||
## API anahtarı rotasyonu
|
||||
|
||||
- Seçili sağlayıcılar için genel sağlayıcı rotasyonunu destekler.
|
||||
- Birden çok anahtarı şu yollarla yapılandırın:
|
||||
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (tek canlı geçersiz kılma, en yüksek öncelik)
|
||||
- `<PROVIDER>_API_KEYS` (virgül veya noktalı virgül ayrımlı liste)
|
||||
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (tek live override, en yüksek öncelik)
|
||||
- `<PROVIDER>_API_KEYS` (virgül veya noktalı virgülle ayrılmış liste)
|
||||
- `<PROVIDER>_API_KEY` (birincil anahtar)
|
||||
- `<PROVIDER>_API_KEY_*` (numaralandırılmış liste, örn. `<PROVIDER>_API_KEY_1`)
|
||||
- Google sağlayıcıları için `GOOGLE_API_KEY` de yedek olarak dahil edilir.
|
||||
- Anahtar seçim sırası önceliği korur ve değerleri tekilleştirir.
|
||||
- İstekler yalnızca hız sınırı yanıtlarında bir sonraki anahtarla yeniden denenir
|
||||
(örneğin `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many
|
||||
- `<PROVIDER>_API_KEY_*` (numaralı liste, örn. `<PROVIDER>_API_KEY_1`)
|
||||
- Google sağlayıcıları için `GOOGLE_API_KEY` de geri dönüş olarak dahildir.
|
||||
- Anahtar seçimi sırası önceliği korur ve değerlerin yinelenmesini kaldırır.
|
||||
- İstekler yalnızca rate-limit yanıtlarında bir sonraki anahtarla yeniden denenir (örneğin
|
||||
`429`, `rate_limit`, `quota`, `resource exhausted`, `Too many
|
||||
concurrent requests`, `ThrottlingException`, `concurrency limit reached`,
|
||||
`workers_ai ... quota limit exceeded` veya dönemsel kullanım sınırı iletileri).
|
||||
- Hız sınırı dışındaki hatalar hemen başarısız olur; anahtar rotasyonu denenmez.
|
||||
- Tüm aday anahtarlar başarısız olduğunda son hata, son denemeden döndürülür.
|
||||
`workers_ai ... quota limit exceeded` veya dönemsel kullanım sınırı mesajları).
|
||||
- Rate-limit dışı hatalar hemen başarısız olur; anahtar rotasyonu denenmez.
|
||||
- Tüm aday anahtarlar başarısız olduğunda, son hata son denemeden döndürülür.
|
||||
|
||||
## Yerleşik sağlayıcılar (pi-ai kataloğu)
|
||||
## Yerleşik sağlayıcılar (pi-ai catalog)
|
||||
|
||||
OpenClaw, pi‑ai kataloğuyla gelir. Bu sağlayıcılar için
|
||||
`models.providers` yapılandırması **gerekmez**; yalnızca auth ayarlayın ve bir model seçin.
|
||||
OpenClaw, pi‑ai catalog ile birlikte gelir. Bu sağlayıcılar için
|
||||
`models.providers` yapılandırması gerekmez; yalnızca auth ayarlayın ve bir model seçin.
|
||||
|
||||
### OpenAI
|
||||
|
||||
- Sağlayıcı: `openai`
|
||||
- Auth: `OPENAI_API_KEY`
|
||||
- İsteğe bağlı rotasyon: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, ayrıca `OPENCLAW_LIVE_OPENAI_KEY` (tek geçersiz kılma)
|
||||
- İsteğe bağlı rotasyon: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2` ve ayrıca `OPENCLAW_LIVE_OPENAI_KEY` (tek override)
|
||||
- Örnek modeller: `openai/gpt-5.4`, `openai/gpt-5.4-pro`
|
||||
- CLI: `openclaw onboard --auth-choice openai-api-key`
|
||||
- Varsayılan taşıma `auto`’dur (önce WebSocket, sonra SSE)
|
||||
- Model başına geçersiz kılmak için `agents.defaults.models["openai/<model>"].params.transport` kullanın (`"sse"`, `"websocket"` veya `"auto"`)
|
||||
- OpenAI Responses WebSocket ısınması varsayılan olarak `params.openaiWsWarmup` aracılığıyla etkindir (`true`/`false`)
|
||||
- OpenAI öncelikli işleme, `agents.defaults.models["openai/<model>"].params.serviceTier` aracılığıyla etkinleştirilebilir
|
||||
- Varsayılan transport `auto`dur (önce WebSocket, sonra SSE geri dönüşü)
|
||||
- Model başına geçersiz kılma: `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"` veya `"auto"`)
|
||||
- OpenAI Responses WebSocket ısınma varsayılanı `params.openaiWsWarmup` ile etkin gelir (`true`/`false`)
|
||||
- OpenAI öncelikli işleme `agents.defaults.models["openai/<model>"].params.serviceTier` ile etkinleştirilebilir
|
||||
- `/fast` ve `params.fastMode`, doğrudan `openai/*` Responses isteklerini `api.openai.com` üzerinde `service_tier=priority` olarak eşler
|
||||
- Paylaşılan `/fast` anahtarı yerine açık bir katman istiyorsanız `params.serviceTier` kullanın
|
||||
- Gizli OpenClaw atıf üstbilgileri (`originator`, `version`,
|
||||
`User-Agent`) yalnızca `api.openai.com` üzerindeki yerel OpenAI trafiğinde uygulanır,
|
||||
genel OpenAI uyumlu proxy’lerde uygulanmaz
|
||||
- Paylaşılan `/fast` geçişi yerine açık bir katman istediğinizde `params.serviceTier` kullanın
|
||||
- Gizli OpenClaw ilişkilendirme başlıkları (`originator`, `version`,
|
||||
`User-Agent`) yalnızca `api.openai.com` adresine giden yerel OpenAI trafiğinde uygulanır,
|
||||
genel OpenAI uyumlu proxy'lerde uygulanmaz
|
||||
- Yerel OpenAI rotaları ayrıca Responses `store`, prompt-cache ipuçları ve
|
||||
OpenAI reasoning-compat payload şekillendirmesini korur; proxy rotaları korumaz
|
||||
- `openai/gpt-5.3-codex-spark`, canlı OpenAI API bunu reddettiği için OpenClaw’da kasıtlı olarak gizlenir; Spark yalnızca Codex’e ait kabul edilir
|
||||
- `openai/gpt-5.3-codex-spark`, canlı OpenAI API bunu reddettiği için OpenClaw'da bilinçli olarak bastırılır; Spark yalnızca Codex'e özel kabul edilir
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -272,13 +264,12 @@ OpenClaw, pi‑ai kataloğuyla gelir. Bu sağlayıcılar için
|
||||
|
||||
- Sağlayıcı: `anthropic`
|
||||
- Auth: `ANTHROPIC_API_KEY`
|
||||
- İsteğe bağlı rotasyon: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2`, ayrıca `OPENCLAW_LIVE_ANTHROPIC_KEY` (tek geçersiz kılma)
|
||||
- İsteğe bağlı rotasyon: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2` ve ayrıca `OPENCLAW_LIVE_ANTHROPIC_KEY` (tek override)
|
||||
- Örnek model: `anthropic/claude-opus-4-6`
|
||||
- CLI: `openclaw onboard --auth-choice apiKey`
|
||||
- Doğrudan genel Anthropic istekleri, `api.anthropic.com` adresine gönderilen API anahtarı ve OAuth kimlik doğrulamalı trafik dahil,
|
||||
paylaşılan `/fast` anahtarını ve `params.fastMode` değerini destekler; OpenClaw bunu Anthropic `service_tier` değerine (`auto` ve `standard_only`) eşler
|
||||
- Anthropic notu: Anthropic çalışanları, OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini söyledi; bu yüzden Anthropic yeni bir politika yayımlamadığı sürece OpenClaw, Claude CLI yeniden kullanımını ve `claude -p` kullanımını bu entegrasyon için onaylı kabul eder.
|
||||
- Anthropic setup-token, desteklenen bir OpenClaw token yolu olarak kullanılmaya devam eder, ancak OpenClaw artık mevcut olduğunda Claude CLI yeniden kullanımını ve `claude -p`’yi tercih eder.
|
||||
- Doğrudan herkese açık Anthropic istekleri, `api.anthropic.com` adresine gönderilen API anahtarı ve OAuth ile kimliği doğrulanmış trafik dahil olmak üzere paylaşılan `/fast` geçişini ve `params.fastMode` değerini destekler; OpenClaw bunu Anthropic `service_tier` (`auto` vs `standard_only`) olarak eşler
|
||||
- Anthropic notu: Anthropic çalışanları, OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini bize bildirdi; bu nedenle OpenClaw, Anthropic yeni bir ilke yayımlamadıkça Claude CLI yeniden kullanımını ve `claude -p` kullanımını bu entegrasyon için onaylı kabul eder.
|
||||
- Anthropic setup-token, desteklenen bir OpenClaw token yolu olarak kullanılmaya devam eder, ancak OpenClaw artık mümkün olduğunda Claude CLI yeniden kullanımını ve `claude -p` kullanımını tercih eder.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -292,16 +283,16 @@ OpenClaw, pi‑ai kataloğuyla gelir. Bu sağlayıcılar için
|
||||
- Auth: OAuth (ChatGPT)
|
||||
- Örnek model: `openai-codex/gpt-5.4`
|
||||
- CLI: `openclaw onboard --auth-choice openai-codex` veya `openclaw models auth login --provider openai-codex`
|
||||
- Varsayılan taşıma `auto`’dur (önce WebSocket, sonra SSE)
|
||||
- Model başına geçersiz kılmak için `agents.defaults.models["openai-codex/<model>"].params.transport` kullanın (`"sse"`, `"websocket"` veya `"auto"`)
|
||||
- Varsayılan transport `auto`dur (önce WebSocket, sonra SSE geri dönüşü)
|
||||
- Model başına geçersiz kılma: `agents.defaults.models["openai-codex/<model>"].params.transport` (`"sse"`, `"websocket"` veya `"auto"`)
|
||||
- `params.serviceTier`, yerel Codex Responses isteklerinde (`chatgpt.com/backend-api`) de iletilir
|
||||
- Gizli OpenClaw atıf üstbilgileri (`originator`, `version`,
|
||||
- Gizli OpenClaw ilişkilendirme başlıkları (`originator`, `version`,
|
||||
`User-Agent`) yalnızca
|
||||
`chatgpt.com/backend-api` üzerindeki yerel Codex trafiğine eklenir, genel OpenAI uyumlu proxy’lere eklenmez
|
||||
- Doğrudan `openai/*` ile aynı `/fast` anahtarını ve `params.fastMode` yapılandırmasını paylaşır; OpenClaw bunu `service_tier=priority` olarak eşler
|
||||
- `openai-codex/gpt-5.3-codex-spark`, Codex OAuth kataloğu bunu açığa çıkardığında kullanılabilir kalır; yetki durumuna bağlıdır
|
||||
`chatgpt.com/backend-api` adresine giden yerel Codex trafiğine eklenir, genel OpenAI uyumlu proxy'lere eklenmez
|
||||
- Doğrudan `openai/*` ile aynı `/fast` geçişini ve `params.fastMode` yapılandırmasını paylaşır; OpenClaw bunu `service_tier=priority` olarak eşler
|
||||
- `openai-codex/gpt-5.3-codex-spark`, Codex OAuth catalog bunu sunduğunda kullanılabilir kalır; entitlement'e bağlıdır
|
||||
- `openai-codex/gpt-5.4`, yerel `contextWindow = 1050000` ve varsayılan çalışma zamanı `contextTokens = 272000` değerlerini korur; çalışma zamanı sınırını `models.providers.openai-codex.models[].contextTokens` ile geçersiz kılın
|
||||
- Politika notu: OpenAI Codex OAuth, OpenClaw gibi harici araçlar/iş akışları için açıkça desteklenmektedir.
|
||||
- İlke notu: OpenAI Codex OAuth, OpenClaw gibi harici araçlar/iş akışları için açıkça desteklenir.
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -323,9 +314,9 @@ OpenClaw, pi‑ai kataloğuyla gelir. Bu sağlayıcılar için
|
||||
|
||||
### Diğer abonelik tarzı barındırılan seçenekler
|
||||
|
||||
- [Qwen Cloud](/tr/providers/qwen): Qwen Cloud sağlayıcı yüzeyi ile Alibaba DashScope ve Coding Plan uç nokta eşlemesi
|
||||
- [Qwen Cloud](/tr/providers/qwen): Qwen Cloud sağlayıcı yüzeyi ve ayrıca Alibaba DashScope ile Coding Plan endpoint eşlemesi
|
||||
- [MiniMax](/tr/providers/minimax): MiniMax Coding Plan OAuth veya API anahtarı erişimi
|
||||
- [GLM Models](/tr/providers/glm): Z.AI Coding Plan veya genel API uç noktaları
|
||||
- [GLM Models](/tr/providers/glm): Z.AI Coding Plan veya genel API endpoint'leri
|
||||
|
||||
### OpenCode
|
||||
|
||||
@ -345,40 +336,40 @@ OpenClaw, pi‑ai kataloğuyla gelir. Bu sağlayıcılar için
|
||||
|
||||
- Sağlayıcı: `google`
|
||||
- Auth: `GEMINI_API_KEY`
|
||||
- İsteğe bağlı rotasyon: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, `GOOGLE_API_KEY` yedeği ve `OPENCLAW_LIVE_GEMINI_KEY` (tek geçersiz kılma)
|
||||
- İsteğe bağlı rotasyon: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, `GOOGLE_API_KEY` geri dönüşü ve `OPENCLAW_LIVE_GEMINI_KEY` (tek override)
|
||||
- Örnek modeller: `google/gemini-3.1-pro-preview`, `google/gemini-3-flash-preview`
|
||||
- Uyumluluk: `google/gemini-3.1-flash-preview` kullanan eski OpenClaw yapılandırması `google/gemini-3-flash-preview` olarak normalize edilir
|
||||
- Uyumluluk: `google/gemini-3.1-flash-preview` kullanan eski OpenClaw yapılandırması `google/gemini-3-flash-preview` olarak normalleştirilir
|
||||
- CLI: `openclaw onboard --auth-choice gemini-api-key`
|
||||
- Doğrudan Gemini çalıştırmaları ayrıca `agents.defaults.models["google/<model>"].params.cachedContent`
|
||||
(veya eski `cached_content`) kabul eder; böylece sağlayıcıya özgü bir
|
||||
`cachedContents/...` işleyicisini iletir; Gemini önbellek isabetleri OpenClaw `cacheRead` olarak görünür
|
||||
(veya eski `cached_content`) kabul eder; bu, sağlayıcıya özgü bir
|
||||
`cachedContents/...` tanıtıcısını iletmek içindir; Gemini önbellek isabetleri OpenClaw `cacheRead` olarak görünür
|
||||
|
||||
### Google Vertex ve Gemini CLI
|
||||
|
||||
- Sağlayıcılar: `google-vertex`, `google-gemini-cli`
|
||||
- Auth: Vertex gcloud ADC kullanır; Gemini CLI kendi OAuth akışını kullanır
|
||||
- Dikkat: Gemini CLI OAuth’un OpenClaw içindeki entegrasyonu resmi değildir. Bazı kullanıcılar üçüncü taraf istemcileri kullandıktan sonra Google hesaplarında kısıtlamalar bildiriyor. Devam etmeyi seçerseniz Google şartlarını inceleyin ve kritik olmayan bir hesap kullanın.
|
||||
- Gemini CLI OAuth, paketlenmiş `google` plugin’inin bir parçası olarak gönderilir.
|
||||
- Önce Gemini CLI’yi kurun:
|
||||
- Auth: Vertex, gcloud ADC kullanır; Gemini CLI kendi OAuth akışını kullanır
|
||||
- Dikkat: OpenClaw içindeki Gemini CLI OAuth resmi olmayan bir entegrasyondur. Bazı kullanıcılar, üçüncü taraf istemciler kullandıktan sonra Google hesaplarında kısıtlamalar bildiriyor. Devam etmeyi seçerseniz Google şartlarını inceleyin ve kritik olmayan bir hesap kullanın.
|
||||
- Gemini CLI OAuth, paketlenmiş `google` eklentisinin bir parçası olarak gönderilir.
|
||||
- Önce Gemini CLI'yi yükleyin:
|
||||
- `brew install gemini-cli`
|
||||
- veya `npm install -g @google/gemini-cli`
|
||||
- Etkinleştirin: `openclaw plugins enable google`
|
||||
- Giriş yapın: `openclaw models auth login --provider google-gemini-cli --set-default`
|
||||
- Etkinleştirme: `openclaw plugins enable google`
|
||||
- Giriş: `openclaw models auth login --provider google-gemini-cli --set-default`
|
||||
- Varsayılan model: `google-gemini-cli/gemini-3-flash-preview`
|
||||
- Not: istemci kimliğini veya gizli anahtarı `openclaw.json` içine **yapıştırmazsınız**. CLI giriş akışı,
|
||||
token’ları gateway host üzerindeki auth profillerinde depolar.
|
||||
- Girişten sonra istekler başarısız olursa gateway host üzerinde `GOOGLE_CLOUD_PROJECT` veya `GOOGLE_CLOUD_PROJECT_ID` ayarlayın.
|
||||
- Gemini CLI JSON yanıtları `response` alanından ayrıştırılır; kullanım bilgisi
|
||||
`stats` alanına geri döner ve `stats.cached`, OpenClaw `cacheRead` olarak normalize edilir.
|
||||
- Not: `openclaw.json` içine bir istemci kimliği veya sır yapıştırmazsınız. CLI giriş akışı
|
||||
belirteçleri gateway host üzerindeki auth profillerinde saklar.
|
||||
- Girişten sonra istekler başarısız olursa, gateway host üzerinde `GOOGLE_CLOUD_PROJECT` veya `GOOGLE_CLOUD_PROJECT_ID` ayarlayın.
|
||||
- Gemini CLI JSON yanıtları `response` içinden ayrıştırılır; kullanım verisi
|
||||
`stats` üzerinden geri döner ve `stats.cached` OpenClaw `cacheRead` olarak normalleştirilir.
|
||||
|
||||
### Z.AI (GLM)
|
||||
|
||||
- Sağlayıcı: `zai`
|
||||
- Auth: `ZAI_API_KEY`
|
||||
- Örnek model: `zai/glm-5`
|
||||
- Örnek model: `zai/glm-5.1`
|
||||
- CLI: `openclaw onboard --auth-choice zai-api-key`
|
||||
- Takma adlar: `z.ai/*` ve `z-ai/*`, `zai/*` olarak normalize edilir
|
||||
- `zai-api-key`, eşleşen Z.AI uç noktasını otomatik algılar; `zai-coding-global`, `zai-coding-cn`, `zai-global` ve `zai-cn` belirli bir yüzeyi zorlar
|
||||
- Takma adlar: `z.ai/*` ve `z-ai/*`, `zai/*` olarak normalleştirilir
|
||||
- `zai-api-key`, eşleşen Z.AI endpoint'ini otomatik algılar; `zai-coding-global`, `zai-coding-cn`, `zai-global` ve `zai-cn` belirli bir yüzeyi zorlar
|
||||
|
||||
### Vercel AI Gateway
|
||||
|
||||
@ -393,39 +384,37 @@ OpenClaw, pi‑ai kataloğuyla gelir. Bu sağlayıcılar için
|
||||
- Auth: `KILOCODE_API_KEY`
|
||||
- Örnek model: `kilocode/kilo/auto`
|
||||
- CLI: `openclaw onboard --auth-choice kilocode-api-key`
|
||||
- Base URL: `https://api.kilo.ai/api/gateway/`
|
||||
- Statik yedek katalog `kilocode/kilo/auto` ile gelir; canlı
|
||||
- Temel URL: `https://api.kilo.ai/api/gateway/`
|
||||
- Statik geri dönüş kataloğu `kilocode/kilo/auto` ile gelir; canlı
|
||||
`https://api.kilo.ai/api/gateway/models` keşfi çalışma zamanı
|
||||
kataloğunu daha da genişletebilir.
|
||||
- `kilocode/kilo/auto` arkasındaki tam yukarı akış yönlendirmesi Kilo Gateway’e aittir,
|
||||
OpenClaw içinde sabit kodlanmamıştır.
|
||||
- `kilocode/kilo/auto` arkasındaki tam upstream yönlendirme Kilo Gateway'e aittir,
|
||||
OpenClaw içinde sabit kodlanmış değildir.
|
||||
|
||||
Kurulum ayrıntıları için bkz. [/providers/kilocode](/tr/providers/kilocode).
|
||||
|
||||
### Diğer paketlenmiş sağlayıcı plugin’leri
|
||||
### Diğer paketlenmiş sağlayıcı eklentileri
|
||||
|
||||
- OpenRouter: `openrouter` (`OPENROUTER_API_KEY`)
|
||||
- Örnek model: `openrouter/auto`
|
||||
- OpenClaw, OpenRouter’ın belgelenmiş uygulama atıf üstbilgilerini yalnızca
|
||||
istek gerçekten `openrouter.ai` hedefine gidiyorsa uygular
|
||||
- OpenRouter’a özgü Anthropic `cache_control` işaretçileri de
|
||||
rastgele proxy URL’lerine değil, yalnızca doğrulanmış OpenRouter rotalarına uygulanır
|
||||
- OpenRouter, proxy tarzı OpenAI uyumlu yol üzerinde kalır; dolayısıyla yerel
|
||||
yalnızca OpenAI’ye özgü istek şekillendirme (`serviceTier`, Responses `store`,
|
||||
prompt-cache ipuçları, OpenAI reasoning-compat payload’ları) iletilmez
|
||||
- Gemini destekli OpenRouter başvuruları yalnızca proxy-Gemini thought-signature temizliğini korur;
|
||||
- OpenClaw, OpenRouter'ın belgelenmiş uygulama ilişkilendirme başlıklarını yalnızca
|
||||
istek gerçekten `openrouter.ai` adresine gidiyorsa uygular
|
||||
- OpenRouter'a özgü Anthropic `cache_control` işaretçileri de aynı şekilde
|
||||
doğrulanmış OpenRouter rotalarıyla sınırlıdır, rastgele proxy URL'leriyle değil
|
||||
- OpenRouter, proxy tarzı OpenAI uyumlu yol üzerinde kalır; bu nedenle yerel
|
||||
yalnızca OpenAI istek şekillendirmesi (`serviceTier`, Responses `store`,
|
||||
prompt-cache ipuçları, OpenAI reasoning-compat payload'ları) iletilmez
|
||||
- Gemini tabanlı OpenRouter başvuruları yalnızca proxy-Gemini thought-signature temizliğini korur;
|
||||
yerel Gemini replay doğrulaması ve bootstrap yeniden yazımları kapalı kalır
|
||||
- Kilo Gateway: `kilocode` (`KILOCODE_API_KEY`)
|
||||
- Örnek model: `kilocode/kilo/auto`
|
||||
- Gemini destekli Kilo başvuruları aynı proxy-Gemini thought-signature
|
||||
temizleme yolunu korur; `kilocode/kilo/auto` ve proxy-reasoning’i desteklemeyen diğer
|
||||
ipuçları proxy reasoning eklemeyi atlar
|
||||
- Gemini tabanlı Kilo başvuruları aynı proxy-Gemini thought-signature
|
||||
temizleme yolunu korur; `kilocode/kilo/auto` ve proxy reasoning'i desteklemeyen diğer ipuçları
|
||||
proxy reasoning eklemeyi atlar
|
||||
- MiniMax: `minimax` (API anahtarı) ve `minimax-portal` (OAuth)
|
||||
- Auth: `minimax` için `MINIMAX_API_KEY`; `minimax-portal` için `MINIMAX_OAUTH_TOKEN` veya `MINIMAX_API_KEY`
|
||||
- Örnek model: `minimax/MiniMax-M2.7` veya `minimax-portal/MiniMax-M2.7`
|
||||
- MiniMax onboarding/API anahtarı kurulumu, açık M2.7 model tanımları yazar ve
|
||||
`input: ["text", "image"]` içerir; paketlenmiş sağlayıcı kataloğu bu sohbet başvurularını
|
||||
sağlayıcı yapılandırması materyalize edilene kadar yalnızca metin olarak tutar
|
||||
- MiniMax ilk kurulumu/API anahtarı kurulumu, `input: ["text", "image"]` ile açık M2.7 model tanımları yazar; paketlenmiş sağlayıcı kataloğu, o sağlayıcı yapılandırması somutlaştırılana kadar sohbet başvurularını yalnızca metin olarak tutar
|
||||
- Moonshot: `moonshot` (`MOONSHOT_API_KEY`)
|
||||
- Örnek model: `moonshot/kimi-k2.5`
|
||||
- Kimi Coding: `kimi` (`KIMI_API_KEY` veya `KIMICODE_API_KEY`)
|
||||
@ -453,34 +442,34 @@ Kurulum ayrıntıları için bkz. [/providers/kilocode](/tr/providers/kilocode).
|
||||
- xAI: `xai` (`XAI_API_KEY`)
|
||||
- Yerel paketlenmiş xAI istekleri xAI Responses yolunu kullanır
|
||||
- `/fast` veya `params.fastMode: true`, `grok-3`, `grok-3-mini`,
|
||||
`grok-4` ve `grok-4-0709` modellerini `*-fast` varyantlarına yeniden yazar
|
||||
- `tool_stream` varsayılan olarak açıktır; devre dışı bırakmak için
|
||||
`grok-4` ve `grok-4-0709` değerlerini `*-fast` varyantlarına yeniden yazar
|
||||
- `tool_stream` varsayılan olarak açıktır; kapatmak için
|
||||
`agents.defaults.models["xai/<model>"].params.tool_stream` değerini `false`
|
||||
yapın
|
||||
olarak ayarlayın
|
||||
- Mistral: `mistral` (`MISTRAL_API_KEY`)
|
||||
- Örnek model: `mistral/mistral-large-latest`
|
||||
- CLI: `openclaw onboard --auth-choice mistral-api-key`
|
||||
- Groq: `groq` (`GROQ_API_KEY`)
|
||||
- Cerebras: `cerebras` (`CEREBRAS_API_KEY`)
|
||||
- Cerebras üzerindeki GLM modelleri `zai-glm-4.7` ve `zai-glm-4.6` kimliklerini kullanır.
|
||||
- OpenAI uyumlu base URL: `https://api.cerebras.ai/v1`.
|
||||
- OpenAI uyumlu temel URL: `https://api.cerebras.ai/v1`.
|
||||
- GitHub Copilot: `github-copilot` (`COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN`)
|
||||
- Hugging Face Inference örnek modeli: `huggingface/deepseek-ai/DeepSeek-R1`; CLI: `openclaw onboard --auth-choice huggingface-api-key`. Bkz. [Hugging Face (Inference)](/tr/providers/huggingface).
|
||||
|
||||
## `models.providers` üzerinden sağlayıcılar (özel/base URL)
|
||||
|
||||
**Özel** sağlayıcılar veya
|
||||
OpenAI/Anthropic uyumlu proxy’ler eklemek için `models.providers` (veya `models.json`) kullanın.
|
||||
OpenAI/Anthropic uyumlu proxy'ler eklemek için `models.providers` (veya `models.json`) kullanın.
|
||||
|
||||
Aşağıdaki paketlenmiş sağlayıcı plugin’lerinin çoğu zaten varsayılan bir katalog yayımlar.
|
||||
Varsayılan base URL, üstbilgiler veya model listesini geçersiz kılmak
|
||||
istemediğiniz sürece açık `models.providers.<id>` girdileri kullanmayın.
|
||||
Aşağıdaki paketlenmiş sağlayıcı eklentilerinin çoğu zaten varsayılan bir katalog yayımlar.
|
||||
Varsayılan temel URL'yi, başlıkları veya model listesini geçersiz kılmak istediğinizde
|
||||
yalnızca açık `models.providers.<id>` girdilerini kullanın.
|
||||
|
||||
### Moonshot AI (Kimi)
|
||||
|
||||
Moonshot, paketlenmiş bir sağlayıcı plugin’i olarak gelir. Varsayılan olarak yerleşik sağlayıcıyı
|
||||
kullanın; yalnızca base URL veya model meta verisini geçersiz kılmanız gerektiğinde
|
||||
açık bir `models.providers.moonshot` girdisi ekleyin:
|
||||
Moonshot paketlenmiş bir sağlayıcı eklentisi olarak gelir. Varsayılan olarak yerleşik sağlayıcıyı
|
||||
kullanın ve yalnızca temel URL'yi veya model meta verisini geçersiz kılmanız
|
||||
gerektiğinde açık bir `models.providers.moonshot` girdisi ekleyin:
|
||||
|
||||
- Sağlayıcı: `moonshot`
|
||||
- Auth: `MOONSHOT_API_KEY`
|
||||
@ -519,7 +508,7 @@ Kimi K2 model kimlikleri:
|
||||
|
||||
### Kimi Coding
|
||||
|
||||
Kimi Coding, Moonshot AI’nin Anthropic uyumlu uç noktasını kullanır:
|
||||
Kimi Coding, Moonshot AI'nin Anthropic uyumlu endpoint'ini kullanır:
|
||||
|
||||
- Sağlayıcı: `kimi`
|
||||
- Auth: `KIMI_API_KEY`
|
||||
@ -534,13 +523,13 @@ Kimi Coding, Moonshot AI’nin Anthropic uyumlu uç noktasını kullanır:
|
||||
}
|
||||
```
|
||||
|
||||
Eski `kimi/k2p5`, uyumluluk modeli kimliği olarak kabul edilmeye devam eder.
|
||||
Eski `kimi/k2p5`, uyumluluk model kimliği olarak kabul edilmeye devam eder.
|
||||
|
||||
### Volcano Engine (Doubao)
|
||||
|
||||
Volcano Engine (火山引擎), Çin’de Doubao ve diğer modellere erişim sağlar.
|
||||
Volcano Engine (火山引擎), Çin'de Doubao ve diğer modellere erişim sağlar.
|
||||
|
||||
- Sağlayıcı: `volcengine` (coding: `volcengine-plan`)
|
||||
- Sağlayıcı: `volcengine` (kodlama: `volcengine-plan`)
|
||||
- Auth: `VOLCANO_ENGINE_API_KEY`
|
||||
- Örnek model: `volcengine-plan/ark-code-latest`
|
||||
- CLI: `openclaw onboard --auth-choice volcengine-api-key`
|
||||
@ -553,13 +542,12 @@ Volcano Engine (火山引擎), Çin’de Doubao ve diğer modellere erişim sağ
|
||||
}
|
||||
```
|
||||
|
||||
Onboarding varsayılan olarak coding yüzeyini kullanır, ancak genel `volcengine/*`
|
||||
kataloğu da aynı anda kaydedilir.
|
||||
İlk kurulum varsayılan olarak kodlama yüzeyini kullanır, ancak genel `volcengine/*`
|
||||
catalog aynı anda kaydedilir.
|
||||
|
||||
Onboarding/model yapılandırma seçimlerinde Volcengine auth choice,
|
||||
hem `volcengine/*` hem de `volcengine-plan/*` satırlarını tercih eder. Bu modeller henüz yüklenmemişse
|
||||
OpenClaw, boş bir sağlayıcı kapsamlı seçim göstermek yerine
|
||||
filtrelenmemiş kataloğa geri döner.
|
||||
İlk kurulum/yapılandırma model seçicilerinde, Volcengine auth choice hem
|
||||
`volcengine/*` hem de `volcengine-plan/*` satırlarını tercih eder. Bu modeller henüz yüklenmemişse,
|
||||
OpenClaw boş bir sağlayıcı kapsamlı seçici göstermek yerine filtrelenmemiş kataloğa geri döner.
|
||||
|
||||
Kullanılabilir modeller:
|
||||
|
||||
@ -569,7 +557,7 @@ Kullanılabilir modeller:
|
||||
- `volcengine/glm-4-7-251222` (GLM 4.7)
|
||||
- `volcengine/deepseek-v3-2-251201` (DeepSeek V3.2 128K)
|
||||
|
||||
Coding modelleri (`volcengine-plan`):
|
||||
Kodlama modelleri (`volcengine-plan`):
|
||||
|
||||
- `volcengine-plan/ark-code-latest`
|
||||
- `volcengine-plan/doubao-seed-code`
|
||||
@ -581,7 +569,7 @@ Coding modelleri (`volcengine-plan`):
|
||||
|
||||
BytePlus ARK, uluslararası kullanıcılar için Volcano Engine ile aynı modellere erişim sağlar.
|
||||
|
||||
- Sağlayıcı: `byteplus` (coding: `byteplus-plan`)
|
||||
- Sağlayıcı: `byteplus` (kodlama: `byteplus-plan`)
|
||||
- Auth: `BYTEPLUS_API_KEY`
|
||||
- Örnek model: `byteplus-plan/ark-code-latest`
|
||||
- CLI: `openclaw onboard --auth-choice byteplus-api-key`
|
||||
@ -594,13 +582,12 @@ BytePlus ARK, uluslararası kullanıcılar için Volcano Engine ile aynı modell
|
||||
}
|
||||
```
|
||||
|
||||
Onboarding varsayılan olarak coding yüzeyini kullanır, ancak genel `byteplus/*`
|
||||
kataloğu da aynı anda kaydedilir.
|
||||
İlk kurulum varsayılan olarak kodlama yüzeyini kullanır, ancak genel `byteplus/*`
|
||||
catalog aynı anda kaydedilir.
|
||||
|
||||
Onboarding/model yapılandırma seçimlerinde BytePlus auth choice,
|
||||
hem `byteplus/*` hem de `byteplus-plan/*` satırlarını tercih eder. Bu modeller henüz yüklenmemişse
|
||||
OpenClaw, boş bir sağlayıcı kapsamlı seçim göstermek yerine
|
||||
filtrelenmemiş kataloğa geri döner.
|
||||
İlk kurulum/yapılandırma model seçicilerinde, BytePlus auth choice hem
|
||||
`byteplus/*` hem de `byteplus-plan/*` satırlarını tercih eder. Bu modeller henüz yüklenmemişse,
|
||||
OpenClaw boş bir sağlayıcı kapsamlı seçici göstermek yerine filtrelenmemiş kataloğa geri döner.
|
||||
|
||||
Kullanılabilir modeller:
|
||||
|
||||
@ -608,7 +595,7 @@ Kullanılabilir modeller:
|
||||
- `byteplus/kimi-k2-5-260127` (Kimi K2.5)
|
||||
- `byteplus/glm-4-7-251222` (GLM 4.7)
|
||||
|
||||
Coding modelleri (`byteplus-plan`):
|
||||
Kodlama modelleri (`byteplus-plan`):
|
||||
|
||||
- `byteplus-plan/ark-code-latest`
|
||||
- `byteplus-plan/doubao-seed-code`
|
||||
@ -618,7 +605,7 @@ Coding modelleri (`byteplus-plan`):
|
||||
|
||||
### Synthetic
|
||||
|
||||
Synthetic, `synthetic` sağlayıcısı arkasında Anthropic uyumlu modeller sunar:
|
||||
Synthetic, `synthetic` sağlayıcısının arkasında Anthropic uyumlu modeller sunar:
|
||||
|
||||
- Sağlayıcı: `synthetic`
|
||||
- Auth: `SYNTHETIC_API_KEY`
|
||||
@ -646,31 +633,31 @@ Synthetic, `synthetic` sağlayıcısı arkasında Anthropic uyumlu modeller suna
|
||||
|
||||
### MiniMax
|
||||
|
||||
MiniMax, özel uç noktalar kullandığı için `models.providers` üzerinden yapılandırılır:
|
||||
MiniMax, özel endpoint'ler kullandığı için `models.providers` üzerinden yapılandırılır:
|
||||
|
||||
- MiniMax OAuth (Genel): `--auth-choice minimax-global-oauth`
|
||||
- MiniMax OAuth (Global): `--auth-choice minimax-global-oauth`
|
||||
- MiniMax OAuth (CN): `--auth-choice minimax-cn-oauth`
|
||||
- MiniMax API anahtarı (Genel): `--auth-choice minimax-global-api`
|
||||
- MiniMax API anahtarı (Global): `--auth-choice minimax-global-api`
|
||||
- MiniMax API anahtarı (CN): `--auth-choice minimax-cn-api`
|
||||
- Auth: `minimax` için `MINIMAX_API_KEY`; `minimax-portal` için `MINIMAX_OAUTH_TOKEN` veya
|
||||
`MINIMAX_API_KEY`
|
||||
|
||||
Kurulum ayrıntıları, model seçenekleri ve yapılandırma parçacıkları için bkz. [/providers/minimax](/tr/providers/minimax).
|
||||
|
||||
MiniMax’in Anthropic uyumlu akış yolunda OpenClaw,
|
||||
siz açıkça ayarlamadığınız sürece düşünmeyi varsayılan olarak devre dışı bırakır ve `/fast on`
|
||||
`MiniMax-M2.7` modelini `MiniMax-M2.7-highspeed` olarak yeniden yazar.
|
||||
MiniMax'ın Anthropic uyumlu akış yolunda OpenClaw, siz açıkça ayarlamadığınız sürece
|
||||
thinking'i varsayılan olarak devre dışı bırakır ve `/fast on`,
|
||||
`MiniMax-M2.7` değerini `MiniMax-M2.7-highspeed` olarak yeniden yazar.
|
||||
|
||||
Plugin’e ait capability ayrımı:
|
||||
Eklenti sahipliğinde capability ayrımı:
|
||||
|
||||
- Metin/sohbet varsayılanları `minimax/MiniMax-M2.7` üzerinde kalır
|
||||
- Görüntü oluşturma `minimax/image-01` veya `minimax-portal/image-01` kullanır
|
||||
- Görüntü anlama, her iki MiniMax auth yolunda da plugin’e ait `MiniMax-VL-01` kullanır
|
||||
- Web araması `minimax` sağlayıcı kimliğinde kalır
|
||||
- Görüntü oluşturma `minimax/image-01` veya `minimax-portal/image-01` biçimindedir
|
||||
- Görüntü anlama, her iki MiniMax auth yolunda da eklenti sahipliğinde `MiniMax-VL-01` olur
|
||||
- Web search sağlayıcı kimliği olarak `minimax` üzerinde kalır
|
||||
|
||||
### Ollama
|
||||
|
||||
Ollama, paketlenmiş bir sağlayıcı plugin’i olarak gelir ve Ollama’nın yerel API’sini kullanır:
|
||||
Ollama, paketlenmiş bir sağlayıcı eklentisi olarak gelir ve Ollama'nın yerel API'sini kullanır:
|
||||
|
||||
- Sağlayıcı: `ollama`
|
||||
- Auth: Gerekmez (yerel sunucu)
|
||||
@ -678,7 +665,7 @@ Ollama, paketlenmiş bir sağlayıcı plugin’i olarak gelir ve Ollama’nın y
|
||||
- Kurulum: [https://ollama.com/download](https://ollama.com/download)
|
||||
|
||||
```bash
|
||||
# Ollama'yı kurun, ardından bir model çekin:
|
||||
# Önce Ollama'yı kurun, ardından bir model çekin:
|
||||
ollama pull llama3.3
|
||||
```
|
||||
|
||||
@ -690,21 +677,21 @@ ollama pull llama3.3
|
||||
}
|
||||
```
|
||||
|
||||
`OLLAMA_API_KEY` ile katılım gösterdiğinizde Ollama yerel olarak `http://127.0.0.1:11434`
|
||||
adresinde algılanır ve paketlenmiş sağlayıcı plugin’i Ollama’yı doğrudan
|
||||
`openclaw onboard` ve model seçicisine ekler. Onboarding, cloud/local modu ve özel yapılandırma için
|
||||
Ollama, `OLLAMA_API_KEY` ile katılım sağladığınızda yerel olarak `http://127.0.0.1:11434` adresinde
|
||||
algılanır ve paketlenmiş sağlayıcı eklentisi Ollama'yı doğrudan
|
||||
`openclaw onboard` ve model seçiciye ekler. İlk kurulum, bulut/yerel mod ve özel yapılandırma için
|
||||
bkz. [/providers/ollama](/tr/providers/ollama).
|
||||
|
||||
### vLLM
|
||||
|
||||
vLLM, local/self-hosted OpenAI uyumlu
|
||||
sunucular için paketlenmiş bir sağlayıcı plugin’i olarak gelir:
|
||||
vLLM, yerel/self-hosted OpenAI uyumlu
|
||||
sunucular için paketlenmiş bir sağlayıcı eklentisi olarak gelir:
|
||||
|
||||
- Sağlayıcı: `vllm`
|
||||
- Auth: İsteğe bağlıdır (sunucunuza bağlıdır)
|
||||
- Varsayılan base URL: `http://127.0.0.1:8000/v1`
|
||||
- Varsayılan temel URL: `http://127.0.0.1:8000/v1`
|
||||
|
||||
Yerelde otomatik keşfe katılmak için (sunucunuz auth zorlamıyorsa herhangi bir değer çalışır):
|
||||
Yerelde otomatik keşfe katılmak için (sunucunuz auth zorlamıyorsa herhangi bir değer işe yarar):
|
||||
|
||||
```bash
|
||||
export VLLM_API_KEY="vllm-local"
|
||||
@ -725,13 +712,14 @@ Ayrıntılar için bkz. [/providers/vllm](/tr/providers/vllm).
|
||||
### SGLang
|
||||
|
||||
SGLang, hızlı self-hosted
|
||||
OpenAI uyumlu sunucular için paketlenmiş bir sağlayıcı plugin’i olarak gelir:
|
||||
OpenAI uyumlu sunucular için paketlenmiş bir sağlayıcı eklentisi olarak gelir:
|
||||
|
||||
- Sağlayıcı: `sglang`
|
||||
- Auth: İsteğe bağlıdır (sunucunuza bağlıdır)
|
||||
- Varsayılan base URL: `http://127.0.0.1:30000/v1`
|
||||
- Varsayılan temel URL: `http://127.0.0.1:30000/v1`
|
||||
|
||||
Yerelde otomatik keşfe katılmak için (sunucunuz auth zorlamıyorsa herhangi bir değer çalışır):
|
||||
Yerelde otomatik keşfe katılmak için (sunucunuz auth'u
|
||||
zorlamıyorsa herhangi bir değer işe yarar):
|
||||
|
||||
```bash
|
||||
export SGLANG_API_KEY="sglang-local"
|
||||
@ -749,7 +737,7 @@ Ardından bir model ayarlayın (`/v1/models` tarafından döndürülen kimlikler
|
||||
|
||||
Ayrıntılar için bkz. [/providers/sglang](/tr/providers/sglang).
|
||||
|
||||
### Yerel proxy’ler (LM Studio, vLLM, LiteLLM vb.)
|
||||
### Yerel proxy'ler (LM Studio, vLLM, LiteLLM vb.)
|
||||
|
||||
Örnek (OpenAI uyumlu):
|
||||
|
||||
@ -787,20 +775,20 @@ Ayrıntılar için bkz. [/providers/sglang](/tr/providers/sglang).
|
||||
Notlar:
|
||||
|
||||
- Özel sağlayıcılar için `reasoning`, `input`, `cost`, `contextWindow` ve `maxTokens` isteğe bağlıdır.
|
||||
Atlandıklarında OpenClaw şu varsayılanları kullanır:
|
||||
Atlandıklarında OpenClaw varsayılan olarak şunları kullanır:
|
||||
- `reasoning: false`
|
||||
- `input: ["text"]`
|
||||
- `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }`
|
||||
- `contextWindow: 200000`
|
||||
- `maxTokens: 8192`
|
||||
- Önerilir: proxy/model sınırlarınızla eşleşen açık değerler ayarlayın.
|
||||
- Yerel olmayan uç noktalarda `api: "openai-completions"` için (ana makinesi `api.openai.com` olmayan boş olmayan herhangi bir `baseUrl`), OpenClaw sağlayıcının desteklemediği `developer` rolleri nedeniyle 400 hatalarından kaçınmak için `compat.supportsDeveloperRole: false` değerini zorunlu kılar.
|
||||
- Proxy tarzı OpenAI uyumlu rotalar ayrıca yerel yalnızca OpenAI’ye özgü istek
|
||||
şekillendirmesini de atlar: `service_tier` yok, Responses `store` yok, prompt-cache ipuçları yok,
|
||||
OpenAI reasoning-compat payload şekillendirmesi yok ve gizli OpenClaw atıf
|
||||
üstbilgileri yok.
|
||||
- `baseUrl` boşsa/atlanmışsa OpenClaw varsayılan OpenAI davranışını korur (`api.openai.com` adresine çözülür).
|
||||
- Güvenlik için, açık bir `compat.supportsDeveloperRole: true` değeri bile yerel olmayan `openai-completions` uç noktalarında yine geçersiz kılınır.
|
||||
- Yerel olmayan endpoint'lerde `api: "openai-completions"` için (`baseUrl` boş olmayan ve ana bilgisayarı `api.openai.com` olmayan her değer), OpenClaw desteklenmeyen `developer` rolleri için sağlayıcı 400 hatalarını önlemek amacıyla `compat.supportsDeveloperRole: false` değerini zorlar.
|
||||
- Proxy tarzı OpenAI uyumlu rotalar ayrıca yalnızca yerel OpenAI istek
|
||||
şekillendirmesini atlar: `service_tier` yok, Responses `store` yok, prompt-cache ipuçları yok,
|
||||
OpenAI reasoning-compat payload şekillendirmesi yok ve gizli OpenClaw ilişkilendirme
|
||||
başlıkları yok.
|
||||
- `baseUrl` boşsa/atlanmışsa, OpenClaw varsayılan OpenAI davranışını korur (`api.openai.com` adresine çözümlenir).
|
||||
- Güvenlik için, yerel olmayan `openai-completions` endpoint'lerinde açık `compat.supportsDeveloperRole: true` ayarı bile yine geçersiz kılınır.
|
||||
|
||||
## CLI örnekleri
|
||||
|
||||
@ -815,6 +803,6 @@ Ayrıca bkz.: tam yapılandırma örnekleri için [/gateway/configuration](/tr/g
|
||||
## İlgili
|
||||
|
||||
- [Models](/tr/concepts/models) — model yapılandırması ve takma adlar
|
||||
- [Model Failover](/tr/concepts/model-failover) — fallback zincirleri ve yeniden deneme davranışı
|
||||
- [Model Failover](/tr/concepts/model-failover) — geri dönüş zincirleri ve yeniden deneme davranışı
|
||||
- [Configuration Reference](/tr/gateway/configuration-reference#agent-defaults) — model yapılandırma anahtarları
|
||||
- [Providers](/tr/providers) — sağlayıcı bazında kurulum kılavuzları
|
||||
- [Providers](/tr/providers) — sağlayıcı başına kurulum kılavuzları
|
||||
|
||||
@ -2,14 +2,14 @@
|
||||
read_when:
|
||||
- qa-lab veya qa-channel genişletilirken
|
||||
- repo destekli QA senaryoları eklerken
|
||||
- Gateway kontrol paneli etrafında daha yüksek gerçekçiliğe sahip QA otomasyonu oluştururken
|
||||
- Gateway panosu etrafında daha gerçekçi QA otomasyonu oluştururken
|
||||
summary: qa-lab, qa-channel, tohumlanmış senaryolar ve protokol raporları için özel QA otomasyon yapısı
|
||||
title: QA E2E Otomasyonu
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T02:13:58Z"
|
||||
generated_at: "2026-04-08T06:00:43Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 3b4aa5acc8e77303f4045d4f04372494cae21b89d2fdaba856dbb4855ced9d27
|
||||
source_hash: 57da147dc06abf9620290104e01a83b42182db1806514114fd9e8467492cda99
|
||||
source_path: concepts/qa-e2e-automation.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -21,30 +21,31 @@ kanal biçimli bir şekilde çalıştırmak için tasarlanmıştır.
|
||||
|
||||
Mevcut parçalar:
|
||||
|
||||
- `extensions/qa-channel`: DM, kanal, konu, tepki,
|
||||
düzenleme ve silme yüzeylerine sahip sentetik mesaj kanalı.
|
||||
- `extensions/qa-channel`: DM, kanal, iş parçacığı,
|
||||
tepki, düzenleme ve silme yüzeylerine sahip sentetik mesaj kanalı.
|
||||
- `extensions/qa-lab`: transkripti gözlemlemek,
|
||||
gelen mesajları enjekte etmek ve bir Markdown raporu dışa aktarmak için hata ayıklayıcı UI'ı ve QA veri yolu.
|
||||
gelen mesajları enjekte etmek ve bir Markdown raporu dışa aktarmak için hata ayıklayıcı UI ve QA veri yolu.
|
||||
- `qa/`: başlangıç görevi ve temel QA
|
||||
senaryoları için repo destekli tohum varlıkları.
|
||||
|
||||
Geçerli QA operatörü akışı iki panelli bir QA sitesidir:
|
||||
Geçerli QA operatör akışı, iki bölmeli bir QA sitesidir:
|
||||
|
||||
- Sol: Aracının bulunduğu Gateway kontrol paneli (Control UI).
|
||||
- Sağ: Slack benzeri transkript ve senaryo planını gösteren QA Lab.
|
||||
- Sol: ajan ile Gateway panosu (Control UI).
|
||||
- Sağ: Slack benzeri transkripti ve senaryo planını gösteren QA Lab.
|
||||
|
||||
Bunu şu komutla çalıştırın:
|
||||
Şununla çalıştırın:
|
||||
|
||||
```bash
|
||||
pnpm qa:lab:up
|
||||
```
|
||||
|
||||
Bu, QA sitesini derler, Docker destekli gateway hattını başlatır ve bir operatörün veya otomasyon döngüsünün aracıya bir QA
|
||||
Bu, QA sitesini derler, Docker destekli gateway hattını başlatır ve
|
||||
bir operatörün veya otomasyon döngüsünün ajana bir QA
|
||||
görevi verebildiği, gerçek kanal davranışını gözlemleyebildiği ve neyin işe yaradığını, neyin başarısız olduğunu veya
|
||||
neyin engelli kaldığını kaydedebildiği QA Lab sayfasını açığa çıkarır.
|
||||
|
||||
Docker imajını her seferinde yeniden derlemeden daha hızlı QA Lab UI yinelemesi için,
|
||||
yığını bind-mount edilmiş bir QA Lab paketiyle başlatın:
|
||||
Docker imajını her seferinde yeniden derlemeden daha hızlı QA Lab UI yinelemesi için
|
||||
yığını, bağlama ile monte edilmiş bir QA Lab paketiyle başlatın:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa docker-build-image
|
||||
@ -53,41 +54,43 @@ pnpm qa:lab:up:fast
|
||||
pnpm qa:lab:watch
|
||||
```
|
||||
|
||||
`qa:lab:up:fast`, Docker hizmetlerini önceden derlenmiş bir imajda tutar ve
|
||||
`extensions/qa-lab/web/dist` dizinini `qa-lab` kapsayıcısına bind-mount eder. `qa:lab:watch`
|
||||
bu paketi değişikliklerde yeniden derler ve QA Lab varlık karması değiştiğinde tarayıcı otomatik olarak yeniden yüklenir.
|
||||
`qa:lab:up:fast`, Docker servislerini önceden derlenmiş bir imaj üzerinde tutar ve
|
||||
`extensions/qa-lab/web/dist` dizinini `qa-lab` container'ına bağlama ile monte eder. `qa:lab:watch`
|
||||
değişiklik olduğunda bu paketi yeniden derler ve QA Lab
|
||||
varlık karması değiştiğinde tarayıcı otomatik olarak yeniden yüklenir.
|
||||
|
||||
## Repo destekli tohumlar
|
||||
|
||||
Tohum varlıkları `qa/` içinde bulunur:
|
||||
|
||||
- `qa/scenarios.md`
|
||||
- `qa/scenarios/index.md`
|
||||
- `qa/scenarios/*.md`
|
||||
|
||||
Bunlar, QA planı hem insanlar hem de
|
||||
aracı için görünür olsun diye kasıtlı olarak git içinde tutulur. Temel liste, şunları kapsayacak kadar geniş kalmalıdır:
|
||||
Bunlar bilerek git içinde tutulur; böylece QA planı hem insanlar hem de
|
||||
ajan tarafından görülebilir. Temel liste, şu konuları kapsayacak kadar geniş kalmalıdır:
|
||||
|
||||
- DM ve kanal sohbeti
|
||||
- konu davranışı
|
||||
- iş parçacığı davranışı
|
||||
- mesaj eylemi yaşam döngüsü
|
||||
- cron geri çağrıları
|
||||
- bellekten geri çağırma
|
||||
- model değiştirme
|
||||
- alt aracı devri
|
||||
- alt ajan devri
|
||||
- repo okuma ve doküman okuma
|
||||
- Lobster Invaders gibi küçük bir derleme görevi
|
||||
|
||||
## Raporlama
|
||||
|
||||
`qa-lab`, gözlemlenen veri yolu zaman çizelgesinden bir Markdown protokol raporu dışa aktarır.
|
||||
Rapor şu sorulara yanıt vermelidir:
|
||||
Rapor şu soruları yanıtlamalıdır:
|
||||
|
||||
- Ne işe yaradı
|
||||
- Ne başarısız oldu
|
||||
- Ne engelli kaldı
|
||||
- Neler işe yaradı
|
||||
- Neler başarısız oldu
|
||||
- Neler engelli kaldı
|
||||
- Hangi takip senaryolarını eklemeye değer
|
||||
|
||||
## İlgili dokümanlar
|
||||
|
||||
- [Testler](/tr/help/testing)
|
||||
- [QA Kanalı](/tr/channels/qa-channel)
|
||||
- [Kontrol Paneli](/web/dashboard)
|
||||
- [Test etme](/tr/help/testing)
|
||||
- [QA Channel](/tr/channels/qa-channel)
|
||||
- [Pano](/web/dashboard)
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
---
|
||||
read_when:
|
||||
- Kanallarda akışın veya parçalamanın nasıl çalıştığını açıklıyorsanız
|
||||
- Blok akışını veya kanal parçalama davranışını değiştiriyorsanız
|
||||
- Yinelenen/erken blok yanıtlarında veya kanal önizleme akışında hata ayıklıyorsanız
|
||||
summary: Akış + parçalama davranışı (blok yanıtları, kanal önizleme akışı, kip eşleme)
|
||||
- Kanallarda akışın veya parçalamanın nasıl çalıştığını açıklama
|
||||
- Blok akışını veya kanal parçalama davranışını değiştirme
|
||||
- Yinelenen/erken blok yanıtlarını veya kanal önizleme akışını hata ayıklama
|
||||
summary: Akış + parçalama davranışı (blok yanıtları, kanal önizleme akışı, mod eşleme)
|
||||
title: Akış ve Parçalama
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T13:52:01Z"
|
||||
generated_at: "2026-04-08T06:01:00Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 44b0d08c7eafcb32030ef7c8d5719c2ea2d34e4bac5fdad8cc8b3f4e9e9fad97
|
||||
source_hash: a8e847bb7da890818cd79dec7777f6ae488e6d6c0468e948e56b6b6c598e0000
|
||||
source_path: concepts/streaming.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -18,14 +18,14 @@ x-i18n:
|
||||
|
||||
OpenClaw iki ayrı akış katmanına sahiptir:
|
||||
|
||||
- **Blok akışı (kanallar):** assistant yazarken tamamlanmış **blokları** yayar. Bunlar normal kanal mesajlarıdır (token deltaları değildir).
|
||||
- **Blok akışı (kanallar):** asistan yazarken tamamlanan **blokları** yayar. Bunlar normal kanal mesajlarıdır (token deltaları değil).
|
||||
- **Önizleme akışı (Telegram/Discord/Slack):** oluşturma sırasında geçici bir **önizleme mesajını** günceller.
|
||||
|
||||
Bugün kanal mesajlarına **gerçek token-delta akışı yoktur**. Önizleme akışı mesaj tabanlıdır (gönderme + düzenleme/ekleme).
|
||||
Bugün kanal mesajlarına **gerçek token-delta akışı** yoktur. Önizleme akışı mesaj tabanlıdır (gönderme + düzenlemeler/eklemeler).
|
||||
|
||||
## Blok akışı (kanal mesajları)
|
||||
|
||||
Blok akışı, kullanılabilir oldukça assistant çıktısını kaba parçalar halinde gönderir.
|
||||
Blok akışı, asistan çıktısını kullanılabilir oldukça büyük parçalar halinde gönderir.
|
||||
|
||||
```
|
||||
Model output
|
||||
@ -37,132 +37,133 @@ Model output
|
||||
└─ channel send (block replies)
|
||||
```
|
||||
|
||||
Açıklama:
|
||||
Gösterge:
|
||||
|
||||
- `text_delta/events`: model akış olaylarıdır (akışsız modeller için seyrek olabilir).
|
||||
- `chunker`: min/maks sınırlar + kırma tercihi uygulayan `EmbeddedBlockChunker`.
|
||||
- `text_delta/events`: model akış olayları (akışsız modeller için seyrek olabilir).
|
||||
- `chunker`: min/max sınırları + kırma tercihi uygulayan `EmbeddedBlockChunker`.
|
||||
- `channel send`: gerçek giden mesajlar (blok yanıtları).
|
||||
|
||||
**Denetimler:**
|
||||
|
||||
- `agents.defaults.blockStreamingDefault`: `"on"`/`"off"` (varsayılan kapalı).
|
||||
- Kanal geçersiz kılmaları: kanal başına `"on"`/`"off"` zorlamak için `*.blockStreaming` (ve hesap başına varyantlar).
|
||||
- Kanal geçersiz kılmaları: kanal başına `"on"`/`"off"` zorlamak için `*.blockStreaming` (ve hesap başına varyantları).
|
||||
- `agents.defaults.blockStreamingBreak`: `"text_end"` veya `"message_end"`.
|
||||
- `agents.defaults.blockStreamingChunk`: `{ minChars, maxChars, breakPreference? }`.
|
||||
- `agents.defaults.blockStreamingCoalesce`: `{ minChars?, maxChars?, idleMs? }` (göndermeden önce akış bloklarını birleştirir).
|
||||
- Kanal katı üst sınırı: `*.textChunkLimit` (ör. `channels.whatsapp.textChunkLimit`).
|
||||
- Kanal parçalama kipi: `*.chunkMode` (`length` varsayılan, `newline` uzunluğa göre parçalamadan önce boş satırlarda bölünür (paragraf sınırları)).
|
||||
- Discord yumuşak üst sınırı: `channels.discord.maxLinesPerMessage` (varsayılan 17), arayüz kırpmasını önlemek için uzun yanıtları böler.
|
||||
- Kanal kesin üst sınırı: `*.textChunkLimit` (ör. `channels.whatsapp.textChunkLimit`).
|
||||
- Kanal parça modu: `*.chunkMode` (`length` varsayılan, `newline` uzunluğa göre parçalamadan önce boş satırlarda (paragraf sınırları) böler).
|
||||
- Discord yumuşak üst sınırı: `channels.discord.maxLinesPerMessage` (varsayılan 17), kullanıcı arayüzü kırpmasını önlemek için uzun yanıtları böler.
|
||||
|
||||
**Sınır semantiği:**
|
||||
**Sınır anlamları:**
|
||||
|
||||
- `text_end`: chunker üretir üretmez blokları akıt; her `text_end` üzerinde flush yap.
|
||||
- `message_end`: assistant mesajı bitene kadar bekle, sonra tamponlanan çıktıyı flush et.
|
||||
- `text_end`: `chunker` blok yayar yaymaz akış bloklarını gönderir; her `text_end` için boşaltır.
|
||||
- `message_end`: asistan mesajı bitene kadar bekler, sonra arabelleğe alınmış çıktıyı boşaltır.
|
||||
|
||||
Tamponlanan metin `maxChars` değerini aşarsa `message_end` yine chunker kullanır; bu nedenle sonda birden fazla parça yayabilir.
|
||||
`message_end`, arabelleğe alınmış metin `maxChars` değerini aşarsa yine `chunker` kullanır; bu nedenle sonda birden çok parça yayabilir.
|
||||
|
||||
## Parçalama algoritması (alt/üst sınırlar)
|
||||
|
||||
Blok parçalama `EmbeddedBlockChunker` tarafından uygulanır:
|
||||
|
||||
- **Alt sınır:** tampon >= `minChars` olana kadar yayma (zorlanmadıkça).
|
||||
- **Üst sınır:** bölmeleri `maxChars` öncesinde tercih et; zorlanırsa `maxChars` değerinde böl.
|
||||
- **Alt sınır:** arabellek >= `minChars` olana kadar yayma (zorlanmadıkça).
|
||||
- **Üst sınır:** `maxChars` öncesinde bölmeyi tercih eder; zorlanırsa `maxChars` konumunda böler.
|
||||
- **Kırma tercihi:** `paragraph` → `newline` → `sentence` → `whitespace` → sert kırma.
|
||||
- **Kod çitleri:** çitlerin içinde asla bölme; `maxChars` değerinde zorlandığında Markdown geçerliliğini korumak için çiti kapat + yeniden aç.
|
||||
- **Kod çitleri:** çitlerin içinde asla bölmez; `maxChars` konumunda zorlandığında Markdown geçerliliğini korumak için çiti kapatıp yeniden açar.
|
||||
|
||||
`maxChars`, kanal `textChunkLimit` değerine sıkıştırılır; böylece kanal başına sınırları aşamazsınız.
|
||||
`maxChars`, kanal `textChunkLimit` değerine sabitlenir; bu yüzden kanal başına sınırları aşamazsınız.
|
||||
|
||||
## Birleştirme (akış bloklarını birleştirme)
|
||||
|
||||
Blok akışı etkin olduğunda, OpenClaw **ardışık blok parçalarını**
|
||||
göndermeden önce birleştirebilir. Bu, ilerlemeli çıktı sağlamaya devam ederken
|
||||
Blok akışı etkin olduğunda, OpenClaw art arda gelen blok parçalarını
|
||||
göndermeden önce **birleştirebilir**. Bu, ilerlemeli çıktı sağlamaya devam ederken
|
||||
“tek satırlık spam”i azaltır.
|
||||
|
||||
- Birleştirme, flush yapmadan önce **boşta kalma aralıklarını** (`idleMs`) bekler.
|
||||
- Tamponlar `maxChars` ile sınırlandırılır ve bu sınırı aşarlarsa flush edilir.
|
||||
- `minChars`, yeterli metin birikene kadar küçük parçaların gönderilmesini önler
|
||||
(son flush her zaman kalan metni gönderir).
|
||||
- Birleştirici, `blockStreamingChunk.breakPreference`
|
||||
değerinden türetilir (`paragraph` → `\n\n`, `newline` → `\n`, `sentence` → boşluk).
|
||||
- Kanal geçersiz kılmaları `*.blockStreamingCoalesce` aracılığıyla kullanılabilir (hesap başına config'ler dahil).
|
||||
- Birleştirme, boşaltmadan önce **boşta kalma aralıklarını** (`idleMs`) bekler.
|
||||
- Arabellekler `maxChars` ile sınırlandırılır ve aşılırsa boşaltılır.
|
||||
- `minChars`, yeterli metin birikene kadar çok küçük parçaların gönderilmesini engeller
|
||||
(son boşaltma her zaman kalan metni gönderir).
|
||||
- Birleştirici, `blockStreamingChunk.breakPreference` değerinden türetilir
|
||||
(`paragraph` → `\n\n`, `newline` → `\n`, `sentence` → boşluk).
|
||||
- Kanal geçersiz kılmaları `*.blockStreamingCoalesce` üzerinden kullanılabilir (hesap başına yapılandırmalar dahil).
|
||||
- Varsayılan birleştirme `minChars`, geçersiz kılınmadıkça Signal/Slack/Discord için 1500'e yükseltilir.
|
||||
|
||||
## Bloklar arasında insan benzeri tempo
|
||||
|
||||
Blok akışı etkin olduğunda, blok yanıtları arasında
|
||||
(ilk bloktan sonra) **rastgeleleştirilmiş bir duraklama** ekleyebilirsiniz. Bu, çoklu baloncuk yanıtlarının
|
||||
Blok akışı etkin olduğunda, blok yanıtları arasında **rastgele bir duraklama**
|
||||
ekleyebilirsiniz (ilk bloktan sonra). Bu, çok baloncuklu yanıtların
|
||||
daha doğal hissettirmesini sağlar.
|
||||
|
||||
- Config: `agents.defaults.humanDelay` (ajan başına `agents.list[].humanDelay` ile geçersiz kılınabilir).
|
||||
- Kipler: `off` (varsayılan), `natural` (800–2500ms), `custom` (`minMs`/`maxMs`).
|
||||
- Yalnızca **blok yanıtlarına** uygulanır, son yanıtlara veya araç özetlerine uygulanmaz.
|
||||
- Yapılandırma: `agents.defaults.humanDelay` (ajan başına `agents.list[].humanDelay` ile geçersiz kılınır).
|
||||
- Modlar: `off` (varsayılan), `natural` (800–2500ms), `custom` (`minMs`/`maxMs`).
|
||||
- Yalnızca **blok yanıtlarına** uygulanır; son yanıtlara veya araç özetlerine uygulanmaz.
|
||||
|
||||
## "Parçaları akıt veya her şeyi"
|
||||
|
||||
Bu, şu anlama gelir:
|
||||
Bu, şuna karşılık gelir:
|
||||
|
||||
- **Parçaları akıt:** `blockStreamingDefault: "on"` + `blockStreamingBreak: "text_end"` (ilerledikçe yay). Telegram dışındaki kanallarda ayrıca `*.blockStreaming: true` gerekir.
|
||||
- **Her şeyi sonda akıt:** `blockStreamingBreak: "message_end"` (bir kez flush yapar, çok uzunsa yine birden fazla parça olabilir).
|
||||
- **Her şeyi sonda akıt:** `blockStreamingBreak: "message_end"` (bir kez boşaltır; çok uzunsa muhtemelen birden çok parça halinde).
|
||||
- **Blok akışı yok:** `blockStreamingDefault: "off"` (yalnızca son yanıt).
|
||||
|
||||
**Kanal notu:** `*.blockStreaming` açıkça `true`
|
||||
olarak ayarlanmadıkça blok akışı **kapalıdır**. Kanallar blok yanıtları olmadan da canlı önizleme
|
||||
(`channels.<channel>.streaming`) akıtabilir.
|
||||
**Kanal notu:** `*.blockStreaming` açıkça `true` olarak
|
||||
ayarlanmadıkça blok akışı **kapalıdır**. Kanallar, blok yanıtları olmadan
|
||||
canlı bir önizleme akıtabilir (`channels.<channel>.streaming`).
|
||||
|
||||
Config konumu hatırlatması: `blockStreaming*` varsayılanları kök config altında değil,
|
||||
Yapılandırma konumu hatırlatması: `blockStreaming*` varsayılanları kök yapılandırmada değil,
|
||||
`agents.defaults` altında bulunur.
|
||||
|
||||
## Önizleme akışı kipleri
|
||||
## Önizleme akışı modları
|
||||
|
||||
Kurallı anahtar: `channels.<channel>.streaming`
|
||||
Kanoni̇k anahtar: `channels.<channel>.streaming`
|
||||
|
||||
Kipler:
|
||||
Modlar:
|
||||
|
||||
- `off`: önizleme akışını devre dışı bırak.
|
||||
- `off`: önizleme akışını devre dışı bırakır.
|
||||
- `partial`: en son metinle değiştirilen tek bir önizleme.
|
||||
- `block`: parçalanmış/eklenmiş adımlarla önizleme güncellemeleri.
|
||||
- `progress`: oluşturma sırasında ilerleme/durum önizlemesi, tamamlandığında son yanıt.
|
||||
|
||||
### Kanal eşleme
|
||||
|
||||
| Kanal | `off` | `partial` | `block` | `progress` |
|
||||
| -------- | ----- | --------- | ------- | ------------------- |
|
||||
| Kanal | `off` | `partial` | `block` | `progress` |
|
||||
| -------- | ----- | --------- | ------- | ---------------------- |
|
||||
| Telegram | ✅ | ✅ | ✅ | `partial` olarak eşlenir |
|
||||
| Discord | ✅ | ✅ | ✅ | `partial` olarak eşlenir |
|
||||
| Slack | ✅ | ✅ | ✅ | ✅ |
|
||||
| Slack | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
Yalnızca Slack:
|
||||
|
||||
- `streaming=partial` olduğunda `channels.slack.nativeStreaming`, Slack yerel akış API çağrılarını açıp kapatır (varsayılan: `true`).
|
||||
- `channels.slack.streaming.nativeTransport`, `channels.slack.streaming.mode="partial"` olduğunda Slack yerel akış API çağrılarını açıp kapatır (varsayılan: `true`).
|
||||
- Slack yerel akışı ve Slack asistan ileti dizisi durumu, bir yanıt ileti dizisi hedefi gerektirir; üst düzey DM'ler bu ileti dizisi tarzı önizlemeyi göstermez.
|
||||
|
||||
Eski anahtar geçişi:
|
||||
|
||||
- Telegram: `streamMode` + boolean `streaming`, otomatik olarak `streaming` enum'una geçirilir.
|
||||
- Discord: `streamMode` + boolean `streaming`, otomatik olarak `streaming` enum'una geçirilir.
|
||||
- Slack: `streamMode`, otomatik olarak `streaming` enum'una geçirilir; boolean `streaming`, otomatik olarak `nativeStreaming` değerine geçirilir.
|
||||
- Telegram: `streamMode` + boolean `streaming`, `streaming` enum'una otomatik geçirilir.
|
||||
- Discord: `streamMode` + boolean `streaming`, `streaming` enum'una otomatik geçirilir.
|
||||
- Slack: `streamMode`, `streaming.mode` alanına otomatik geçirilir; boolean `streaming`, `streaming.mode` + `streaming.nativeTransport` alanlarına otomatik geçirilir; eski `nativeStreaming`, `streaming.nativeTransport` alanına otomatik geçirilir.
|
||||
|
||||
### Çalışma zamanı davranışı
|
||||
|
||||
Telegram:
|
||||
|
||||
- DM'ler ve grup/konular genelinde `sendMessage` + `editMessageText` önizleme güncellemelerini kullanır.
|
||||
- DM'lerde ve grup/konularda önizleme güncellemeleri için `sendMessage` + `editMessageText` kullanır.
|
||||
- Telegram blok akışı açıkça etkinleştirildiğinde önizleme akışı atlanır (çift akışı önlemek için).
|
||||
- `/reasoning stream`, önizlemeye akıl yürütme yazabilir.
|
||||
- `/reasoning stream`, gerekçelendirmeyi önizlemeye yazabilir.
|
||||
|
||||
Discord:
|
||||
|
||||
- gönder + düzenle önizleme mesajları kullanır.
|
||||
- `block` kipi taslak parçalama (`draftChunk`) kullanır.
|
||||
- Gönderme + düzenleme önizleme mesajları kullanır.
|
||||
- `block` modu `draftChunk` taslak parçalamayı kullanır.
|
||||
- Discord blok akışı açıkça etkinleştirildiğinde önizleme akışı atlanır.
|
||||
|
||||
Slack:
|
||||
|
||||
- `partial`, mevcut olduğunda Slack yerel akışını (`chat.startStream`/`append`/`stop`) kullanabilir.
|
||||
- `block`, ekleme tarzı taslak önizlemeleri kullanır.
|
||||
- `progress`, durum önizleme metni kullanır, ardından son yanıtı gönderir.
|
||||
- `progress`, durum önizleme metni kullanır, ardından son yanıtı verir.
|
||||
|
||||
## İlgili
|
||||
|
||||
- [Mesajlar](/concepts/messages) — mesaj yaşam döngüsü ve teslimat
|
||||
- [Yeniden deneme](/concepts/retry) — teslimat başarısızlığında yeniden deneme davranışı
|
||||
- [Mesajlar](/tr/concepts/messages) — mesaj yaşam döngüsü ve teslimat
|
||||
- [Yeniden deneme](/tr/concepts/retry) — teslimat hatasında yeniden deneme davranışı
|
||||
- [Kanallar](/tr/channels) — kanal başına akış desteği
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,36 +1,36 @@
|
||||
---
|
||||
read_when:
|
||||
- OpenClaw'ı ilk kez kuruyorsunuz
|
||||
- Yaygın yapılandırma kalıplarını arıyorsunuz
|
||||
- Belirli yapılandırma bölümlerine gitmek istiyorsunuz
|
||||
summary: 'Yapılandırma genel bakışı: yaygın görevler, hızlı kurulum ve tam başvuru bağlantıları'
|
||||
title: Configuration
|
||||
- OpenClaw ilk kez kurulurken
|
||||
- Yaygın yapılandırma kalıplarını ararken
|
||||
- Belirli yapılandırma bölümlerine giderken
|
||||
summary: 'Yapılandırmaya genel bakış: yaygın görevler, hızlı kurulum ve tam başvuru bağlantıları'
|
||||
title: Yapılandırma
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T13:53:51Z"
|
||||
generated_at: "2026-04-08T06:01:58Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: a39a7de09c5f9540785ec67f37d435a7a86201f0f5f640dae663054f35976712
|
||||
source_hash: 199a1e515bd4003319e71593a2659bb883299a76ff67e273d92583df03c96604
|
||||
source_path: gateway/configuration.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Configuration
|
||||
# Yapılandırma
|
||||
|
||||
OpenClaw, `~/.openclaw/openclaw.json` içinden isteğe bağlı bir <Tooltip tip="JSON5 yorumları ve sondaki virgülleri destekler">**JSON5**</Tooltip> yapılandırması okur.
|
||||
OpenClaw, `~/.openclaw/openclaw.json` dosyasından isteğe bağlı bir <Tooltip tip="JSON5 yorumları ve sondaki virgülleri destekler">**JSON5**</Tooltip> yapılandırması okur.
|
||||
|
||||
Dosya yoksa OpenClaw güvenli varsayılanları kullanır. Yapılandırma eklemek için yaygın nedenler:
|
||||
Dosya yoksa, OpenClaw güvenli varsayılanları kullanır. Yapılandırma eklemek için yaygın nedenler:
|
||||
|
||||
- Kanalları bağlamak ve bot'a kimlerin mesaj gönderebileceğini kontrol etmek
|
||||
- Modelleri, araçları, sandbox kullanımını veya otomasyonu ayarlamak (cron, hook'lar)
|
||||
- Oturumları, medyayı, ağı veya kullanıcı arayüzünü ince ayarlamak
|
||||
- Kanalları bağlamak ve botla kimlerin mesajlaşabileceğini denetlemek
|
||||
- Modelleri, araçları, sandbox kullanımını veya otomasyonu (cron, hook'lar) ayarlamak
|
||||
- Oturumları, medyayı, ağ iletişimini veya kullanıcı arayüzünü ince ayarlamak
|
||||
|
||||
Kullanılabilir tüm alanlar için [tam başvuruya](/gateway/configuration-reference) bakın.
|
||||
Kullanılabilir tüm alanlar için [tam başvuruya](/tr/gateway/configuration-reference) bakın.
|
||||
|
||||
<Tip>
|
||||
**Yapılandırma konusunda yeni misiniz?** Etkileşimli kurulum için `openclaw onboard` ile başlayın veya tam kopyala-yapıştır yapılandırmaları için [Configuration Examples](/gateway/configuration-examples) kılavuzuna göz atın.
|
||||
**Yapılandırma konusunda yeni misiniz?** Etkileşimli kurulum için `openclaw onboard` ile başlayın veya eksiksiz kopyala-yapıştır yapılandırmaları için [Yapılandırma Örnekleri](/tr/gateway/configuration-examples) kılavuzuna göz atın.
|
||||
</Tip>
|
||||
|
||||
## Minimal yapılandırma
|
||||
## En küçük yapılandırma
|
||||
|
||||
```json5
|
||||
// ~/.openclaw/openclaw.json
|
||||
@ -45,7 +45,7 @@ Kullanılabilir tüm alanlar için [tam başvuruya](/gateway/configuration-refer
|
||||
<Tabs>
|
||||
<Tab title="Etkileşimli sihirbaz">
|
||||
```bash
|
||||
openclaw onboard # tam başlangıç kurulumu akışı
|
||||
openclaw onboard # tam ilk kurulum akışı
|
||||
openclaw configure # yapılandırma sihirbazı
|
||||
```
|
||||
</Tab>
|
||||
@ -58,49 +58,56 @@ Kullanılabilir tüm alanlar için [tam başvuruya](/gateway/configuration-refer
|
||||
</Tab>
|
||||
<Tab title="Kontrol UI">
|
||||
[http://127.0.0.1:18789](http://127.0.0.1:18789) adresini açın ve **Config** sekmesini kullanın.
|
||||
Kontrol UI, mevcut yapılandırma şemasından bir form oluşturur; buna alan
|
||||
`title` / `description` belge meta verileri ile kullanılabilir olduğunda eklenti ve kanal şemaları da dahildir. Ayrıca kaçış noktası olarak bir **Raw JSON** düzenleyici sunar. Ayrıntılı inceleme
|
||||
arayüzleri ve diğer araçlar için gateway ayrıca
|
||||
yol kapsamlı tek bir şema düğümü ve hemen altındaki çocuk özetlerini almak üzere
|
||||
`config.schema.lookup` yöntemini de açığa çıkarır.
|
||||
Kontrol UI, canlı yapılandırma şemasından bir form oluşturur; buna mevcut
|
||||
olduğunda alan `title` / `description` belge meta verileri ile plugin ve kanal şemaları da dahildir
|
||||
ve kaçış kapağı olarak bir **Raw JSON** düzenleyicisi sunar. Ayrıntılı inceleme
|
||||
kullanıcı arayüzleri ve diğer araçlar için gateway ayrıca
|
||||
tek bir yol kapsamlı şema düğümünü ve doğrudan alt özetleri getirmek üzere `config.schema.lookup`
|
||||
sunar.
|
||||
</Tab>
|
||||
<Tab title="Doğrudan düzenleme">
|
||||
`~/.openclaw/openclaw.json` dosyasını doğrudan düzenleyin. Gateway dosyayı izler ve değişiklikleri otomatik olarak uygular (bkz. [anında yeniden yükleme](#config-hot-reload)).
|
||||
`~/.openclaw/openclaw.json` dosyasını doğrudan düzenleyin. Gateway dosyayı izler ve değişiklikleri otomatik olarak uygular ([anında yeniden yükleme](#config-hot-reload) bölümüne bakın).
|
||||
</Tab>
|
||||
</Tabs>
|
||||
|
||||
## Sıkı doğrulama
|
||||
## Katı doğrulama
|
||||
|
||||
<Warning>
|
||||
OpenClaw yalnızca şemayla tamamen eşleşen yapılandırmaları kabul eder. Bilinmeyen anahtarlar, hatalı türler veya geçersiz değerler Gateway'in **başlatılmayı reddetmesine** neden olur. Tek kök düzey istisna `$schema`dır (string); böylece düzenleyiciler JSON Schema meta verisini ekleyebilir.
|
||||
OpenClaw yalnızca şemayla tamamen eşleşen yapılandırmaları kabul eder. Bilinmeyen anahtarlar, hatalı türler veya geçersiz değerler Gateway'nin **başlatılmayı reddetmesine** neden olur. Kök düzeyindeki tek istisna `$schema` (string) alanıdır; böylece düzenleyiciler JSON Schema meta verisi ekleyebilir.
|
||||
</Warning>
|
||||
|
||||
Şema araç notları:
|
||||
Şema aracı notları:
|
||||
|
||||
- `openclaw config schema`, Kontrol UI ve yapılandırma doğrulaması tarafından kullanılan aynı JSON Schema ailesini yazdırır.
|
||||
- `openclaw config schema`, Kontrol UI tarafından kullanılan aynı JSON Schema ailesini
|
||||
ve yapılandırma doğrulamasını yazdırır.
|
||||
- Bu şema çıktısını, `openclaw.json` için kanonik makine tarafından okunabilir sözleşme olarak
|
||||
değerlendirin; bu genel bakış ve yapılandırma başvurusu bunu özetler.
|
||||
- Alan `title` ve `description` değerleri, düzenleyici ve form araçları için
|
||||
şema çıktısına taşınır.
|
||||
- İç içe nesne, joker (`*`) ve dizi öğesi (`[]`) girişleri, eşleşen alan belgeleri bulunduğunda aynı
|
||||
belge meta verisini devralır.
|
||||
- `anyOf` / `oneOf` / `allOf` birleşim dalları da aynı belge
|
||||
- İç içe nesne, joker (`*`) ve dizi öğesi (`[]`) girdileri, eşleşen alan belgeleri mevcut olduğunda
|
||||
aynı belge meta verisini devralır.
|
||||
- `anyOf` / `oneOf` / `allOf` bileşim dalları da aynı belge
|
||||
meta verisini devralır; böylece union/intersection varyantları aynı alan yardımını korur.
|
||||
- `config.schema.lookup`, bir normalize edilmiş yapılandırma yolunu; sığ bir
|
||||
şema düğümüyle (`title`, `description`, `type`, `enum`, `const`, yaygın sınırlar
|
||||
ve benzer doğrulama alanları), eşleşen UI ipucu meta verisiyle ve ayrıntılı araçlar için hemen alt çocuk
|
||||
özetleriyle döndürür.
|
||||
- Gateway mevcut manifest kaydını yükleyebildiğinde çalışma zamanı eklenti/kanal şemaları buna birleştirilir.
|
||||
- `config.schema.lookup`, tek bir normalize edilmiş yapılandırma yolunu; sığ bir
|
||||
şema düğümü (`title`, `description`, `type`, `enum`, `const`, yaygın sınırlar
|
||||
ve benzer doğrulama alanları), eşleşen UI ipucu meta verisi ve ayrıntılı inceleme araçları için doğrudan alt
|
||||
özetlerle birlikte döndürür.
|
||||
- Çalışma zamanı plugin/kanal şemaları, gateway mevcut manifest kayıt defterini yükleyebildiğinde
|
||||
birleştirilir.
|
||||
- `pnpm config:docs:check`, dokümantasyona yönelik yapılandırma temel
|
||||
yapıları ile mevcut şema yüzeyi arasındaki sapmayı tespit eder.
|
||||
|
||||
Doğrulama başarısız olduğunda:
|
||||
|
||||
- Gateway açılmaz
|
||||
- Yalnızca tanılama komutları çalışır (`openclaw doctor`, `openclaw logs`, `openclaw health`, `openclaw status`)
|
||||
- Tam sorunları görmek için `openclaw doctor` çalıştırın
|
||||
- Kesin sorunları görmek için `openclaw doctor` çalıştırın
|
||||
- Onarımları uygulamak için `openclaw doctor --fix` (veya `--yes`) çalıştırın
|
||||
|
||||
## Yaygın görevler
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Bir kanal kurma (WhatsApp, Telegram, Discord vb.)">
|
||||
<Accordion title="Bir kanal ayarlama (WhatsApp, Telegram, Discord vb.)">
|
||||
Her kanalın `channels.<provider>` altında kendi yapılandırma bölümü vardır. Kurulum adımları için ilgili kanal sayfasına bakın:
|
||||
|
||||
- [WhatsApp](/tr/channels/whatsapp) — `channels.whatsapp`
|
||||
@ -114,7 +121,7 @@ Doğrulama başarısız olduğunda:
|
||||
- [iMessage](/tr/channels/imessage) — `channels.imessage`
|
||||
- [Mattermost](/tr/channels/mattermost) — `channels.mattermost`
|
||||
|
||||
Tüm kanallar aynı DM ilkesi kalıbını paylaşır:
|
||||
Tüm kanallar aynı DM ilke düzenini paylaşır:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -123,7 +130,7 @@ Doğrulama başarısız olduğunda:
|
||||
enabled: true,
|
||||
botToken: "123:abc",
|
||||
dmPolicy: "pairing", // pairing | allowlist | open | disabled
|
||||
allowFrom: ["tg:123"], // yalnızca allowlist/open için
|
||||
allowFrom: ["tg:123"], // only for allowlist/open
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -132,7 +139,7 @@ Doğrulama başarısız olduğunda:
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Modelleri seçme ve yapılandırma">
|
||||
Birincil modeli ve isteğe bağlı geri dönüşleri ayarlayın:
|
||||
Birincil modeli ve isteğe bağlı yedekleri ayarlayın:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -151,30 +158,30 @@ Doğrulama başarısız olduğunda:
|
||||
}
|
||||
```
|
||||
|
||||
- `agents.defaults.models`, model kataloğunu tanımlar ve `/model` için izin listesi görevi görür.
|
||||
- `agents.defaults.models`, model kataloğunu tanımlar ve `/model` için allowlist görevi görür.
|
||||
- Model başvuruları `provider/model` biçimini kullanır (ör. `anthropic/claude-opus-4-6`).
|
||||
- `agents.defaults.imageMaxDimensionPx`, transkript/araç görüntüsü küçültmeyi denetler (varsayılan `1200`); daha düşük değerler genellikle ekran görüntüsü ağırlıklı çalıştırmalarda vision token kullanımını azaltır.
|
||||
- Sohbet içinde model değiştirme için [Models CLI](/concepts/models), kimlik doğrulama rotasyonu ve geri dönüş davranışı için [Model Failover](/concepts/model-failover) bölümüne bakın.
|
||||
- Özel/self-hosted sağlayıcılar için başvurudaki [Custom providers](/gateway/configuration-reference#custom-providers-and-base-urls) bölümüne bakın.
|
||||
- `agents.defaults.imageMaxDimensionPx`, transkript/araç görüntüsü küçültmeyi denetler (varsayılan `1200`); daha düşük değerler genellikle ekran görüntüsü yoğun çalıştırmalarda vision token kullanımını azaltır.
|
||||
- Sohbette model değiştirme için [Models CLI](/tr/concepts/models), kimlik doğrulama rotasyonu ve yedek davranışı için [Model Failover](/tr/concepts/model-failover) bölümüne bakın.
|
||||
- Özel/kendi barındırdığınız sağlayıcılar için başvurudaki [Custom providers](/tr/gateway/configuration-reference#custom-providers-and-base-urls) bölümüne bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Bot'a kimlerin mesaj gönderebileceğini kontrol etme">
|
||||
DM erişimi kanal başına `dmPolicy` ile denetlenir:
|
||||
<Accordion title="Botla kimlerin mesajlaşabileceğini denetleme">
|
||||
DM erişimi, kanal başına `dmPolicy` ile denetlenir:
|
||||
|
||||
- `"pairing"` (varsayılan): bilinmeyen göndericiler onay için tek kullanımlık bir eşleme kodu alır
|
||||
- `"allowlist"`: yalnızca `allowFrom` içindeki göndericiler (veya eşlenmiş izin deposu)
|
||||
- `"open"`: tüm gelen DM'lere izin verilir (`allowFrom: ["*"]` gerektirir)
|
||||
- `"pairing"` (varsayılan): bilinmeyen göndericiler, onay için tek kullanımlık eşleştirme kodu alır
|
||||
- `"allowlist"`: yalnızca `allowFrom` içindeki göndericiler (veya eşleştirilmiş izin deposu)
|
||||
- `"open"`: tüm gelen DM'lere izin verir (`allowFrom: ["*"]` gerektirir)
|
||||
- `"disabled"`: tüm DM'leri yok sayar
|
||||
|
||||
Gruplar için `groupPolicy` + `groupAllowFrom` veya kanala özgü izin listelerini kullanın.
|
||||
Gruplar için `groupPolicy` + `groupAllowFrom` veya kanala özgü allowlist'leri kullanın.
|
||||
|
||||
Kanal başına ayrıntılar için [tam başvuruya](/gateway/configuration-reference#dm-and-group-access) bakın.
|
||||
Kanal başına ayrıntılar için [tam başvuruya](/tr/gateway/configuration-reference#dm-and-group-access) bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Grup sohbeti mention geçitlemesini kurma">
|
||||
Grup mesajları varsayılan olarak **mention gerektirir**. Ajan başına kalıpları yapılandırın:
|
||||
<Accordion title="Grup sohbeti mention geçidini ayarlama">
|
||||
Grup mesajları varsayılan olarak **mention gerektirir**. Desenleri agent başına yapılandırın:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -197,14 +204,14 @@ Doğrulama başarısız olduğunda:
|
||||
```
|
||||
|
||||
- **Meta veri mention'ları**: yerel @-mention'lar (WhatsApp dokunarak mention, Telegram @bot vb.)
|
||||
- **Metin kalıpları**: `mentionPatterns` içindeki güvenli regex kalıpları
|
||||
- Kanal başına geçersiz kılmalar ve self-chat modu için [tam başvuruya](/gateway/configuration-reference#group-chat-mention-gating) bakın.
|
||||
- **Metin desenleri**: `mentionPatterns` içindeki güvenli regex desenleri
|
||||
- Kanal başına geçersiz kılmalar ve self-chat modu için [tam başvuruya](/tr/gateway/configuration-reference#group-chat-mention-gating) bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ajan başına Skills kısıtlama">
|
||||
Paylaşılan bir temel için `agents.defaults.skills` kullanın, ardından belirli
|
||||
ajanları `agents.list[].skills` ile geçersiz kılın:
|
||||
<Accordion title="Agent başına Skills kısıtlama">
|
||||
Paylaşılan bir temel için `agents.defaults.skills` kullanın, sonra belirli
|
||||
agent'ları `agents.list[].skills` ile geçersiz kılın:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -214,23 +221,23 @@ Doğrulama başarısız olduğunda:
|
||||
},
|
||||
list: [
|
||||
{ id: "writer" }, // github, weather devralır
|
||||
{ id: "docs", skills: ["docs-search"] }, // varsayılanların yerini alır
|
||||
{ id: "locked-down", skills: [] }, // skill yok
|
||||
{ id: "docs", skills: ["docs-search"] }, // varsayılanların yerine geçer
|
||||
{ id: "locked-down", skills: [] }, // Skills yok
|
||||
],
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
- Varsayılan olarak kısıtlanmamış Skills için `agents.defaults.skills` değerini atlayın.
|
||||
- Varsayılanları devralmak için `agents.list[].skills` değerini atlayın.
|
||||
- Skill olmaması için `agents.list[].skills: []` ayarlayın.
|
||||
- [Skills](/tools/skills), [Skills config](/tools/skills-config) ve
|
||||
[Configuration Reference](/gateway/configuration-reference#agentsdefaultsskills) bölümüne bakın.
|
||||
- Varsayılan olarak kısıtlanmamış Skills için `agents.defaults.skills` alanını atlayın.
|
||||
- Varsayılanları devralmak için `agents.list[].skills` alanını atlayın.
|
||||
- Hiç Skills olmaması için `agents.list[].skills: []` ayarlayın.
|
||||
- [Skills](/tr/tools/skills), [Skills config](/tr/tools/skills-config) ve
|
||||
[Configuration Reference](/tr/gateway/configuration-reference#agentsdefaultsskills) bölümlerine bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Gateway kanal sağlık izlemeyi ayarlama">
|
||||
Gateway'in eski görünümlü kanalları ne kadar agresif biçimde yeniden başlatacağını denetleyin:
|
||||
<Accordion title="Gateway kanal sağlık izlemesini ince ayarlama">
|
||||
Gateway'nin bayat görünen kanalları ne kadar agresif biçimde yeniden başlatacağını denetleyin:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -254,13 +261,13 @@ Doğrulama başarısız olduğunda:
|
||||
|
||||
- Sağlık izleme yeniden başlatmalarını küresel olarak devre dışı bırakmak için `gateway.channelHealthCheckMinutes: 0` ayarlayın.
|
||||
- `channelStaleEventThresholdMinutes`, denetim aralığından büyük veya ona eşit olmalıdır.
|
||||
- Küresel izleyiciyi kapatmadan tek bir kanal veya hesap için otomatik yeniden başlatmaları kapatmak amacıyla `channels.<provider>.healthMonitor.enabled` veya `channels.<provider>.accounts.<id>.healthMonitor.enabled` kullanın.
|
||||
- Operasyonel hata ayıklama için [Health Checks](/gateway/health) ve tüm alanlar için [tam başvuruya](/gateway/configuration-reference#gateway) bakın.
|
||||
- Küresel izleyiciyi devre dışı bırakmadan tek bir kanal veya hesap için otomatik yeniden başlatmaları kapatmak üzere `channels.<provider>.healthMonitor.enabled` veya `channels.<provider>.accounts.<id>.healthMonitor.enabled` kullanın.
|
||||
- İşlemsel hata ayıklama için [Health Checks](/tr/gateway/health), tüm alanlar için ise [tam başvuruya](/tr/gateway/configuration-reference#gateway) bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Oturumları ve sıfırlamaları yapılandırma">
|
||||
Oturumlar, konuşmanın sürekliliğini ve yalıtımını denetler:
|
||||
Oturumlar, konuşma sürekliliğini ve yalıtımı denetler:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -281,14 +288,14 @@ Doğrulama başarısız olduğunda:
|
||||
```
|
||||
|
||||
- `dmScope`: `main` (paylaşılan) | `per-peer` | `per-channel-peer` | `per-account-channel-peer`
|
||||
- `threadBindings`: iş parçacığına bağlı oturum yönlendirmesi için küresel varsayılanlar (Discord `/focus`, `/unfocus`, `/agents`, `/session idle` ve `/session max-age` destekler).
|
||||
- Kapsamlama, kimlik bağlantıları ve gönderme ilkesi için [Session Management](/concepts/session) bölümüne bakın.
|
||||
- Tüm alanlar için [tam başvuruya](/gateway/configuration-reference#session) bakın.
|
||||
- `threadBindings`: thread'e bağlı oturum yönlendirmesi için küresel varsayılanlar (Discord `/focus`, `/unfocus`, `/agents`, `/session idle` ve `/session max-age` destekler).
|
||||
- Kapsam, kimlik bağlantıları ve gönderim ilkesi için [Session Management](/tr/concepts/session) bölümüne bakın.
|
||||
- Tüm alanlar için [tam başvuruya](/tr/gateway/configuration-reference#session) bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Sandbox kullanımını etkinleştirme">
|
||||
Ajan oturumlarını yalıtılmış Docker kapsayıcılarında çalıştırın:
|
||||
Agent oturumlarını yalıtılmış Docker konteynerlerinde çalıştırın:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -305,11 +312,11 @@ Doğrulama başarısız olduğunda:
|
||||
|
||||
Önce imajı oluşturun: `scripts/sandbox-setup.sh`
|
||||
|
||||
Tam kılavuz için [Sandboxing](/gateway/sandboxing), tüm seçenekler için [tam başvuruya](/gateway/configuration-reference#agentsdefaultssandbox) bakın.
|
||||
Tam kılavuz için [Sandboxing](/tr/gateway/sandboxing), tüm seçenekler için ise [tam başvuruya](/tr/gateway/configuration-reference#agentsdefaultssandbox) bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Resmi iOS sürümleri için relay destekli push'u etkinleştirme">
|
||||
<Accordion title="Resmi iOS derlemeleri için relay destekli push özelliğini etkinleştirme">
|
||||
Relay destekli push, `openclaw.json` içinde yapılandırılır.
|
||||
|
||||
Bunu gateway yapılandırmasında ayarlayın:
|
||||
@ -330,7 +337,7 @@ Doğrulama başarısız olduğunda:
|
||||
}
|
||||
```
|
||||
|
||||
CLI eşdeğeri:
|
||||
Eşdeğer CLI komutu:
|
||||
|
||||
```bash
|
||||
openclaw config set gateway.push.apns.relay.baseUrl https://relay.example.com
|
||||
@ -338,35 +345,35 @@ Doğrulama başarısız olduğunda:
|
||||
|
||||
Bunun yaptığı şey:
|
||||
|
||||
- Gateway'in `push.test`, uyandırma dürtmeleri ve yeniden bağlanma uyandırmalarını harici relay üzerinden göndermesine izin verir.
|
||||
- Eşlenmiş iOS uygulaması tarafından iletilen, kayıt kapsamlı bir gönderme izni kullanır. Gateway'in dağıtım genelinde bir relay belirtecine ihtiyacı yoktur.
|
||||
- Her relay destekli kaydı, iOS uygulamasının eşlendiği gateway kimliğine bağlar; böylece başka bir gateway saklanan kaydı yeniden kullanamaz.
|
||||
- Yerel/elle oluşturulmuş iOS sürümlerini doğrudan APNs üzerinde tutar. Relay destekli gönderimler yalnızca relay üzerinden kaydolmuş resmi dağıtılmış sürümlere uygulanır.
|
||||
- Resmi/TestFlight iOS sürümüne gömülü relay temel URL'siyle eşleşmelidir; böylece kayıt ve gönderim trafiği aynı relay dağıtımına ulaşır.
|
||||
- Gateway'nin `push.test`, uyandırma dürtmeleri ve yeniden bağlanma uyandırmalarını harici relay üzerinden göndermesine izin verir.
|
||||
- Eşleştirilmiş iOS uygulaması tarafından iletilen kayıt kapsamlı bir gönderim yetkisi kullanır. Gateway'nin dağıtım geneli bir relay token'ına ihtiyacı yoktur.
|
||||
- Her relay destekli kaydı, iOS uygulamasının eşleştirildiği gateway kimliğine bağlar; böylece başka bir gateway saklanan kaydı yeniden kullanamaz.
|
||||
- Yerel/el ile oluşturulmuş iOS derlemelerini doğrudan APNs üzerinde tutar. Relay destekli gönderimler yalnızca relay üzerinden kayıt olan resmi dağıtılmış derlemelere uygulanır.
|
||||
- Kayıt ve gönderim trafiğinin aynı relay dağıtımına ulaşması için resmi/TestFlight iOS derlemesine gömülü relay temel URL'si ile eşleşmelidir.
|
||||
|
||||
Uçtan uca akış:
|
||||
|
||||
1. Aynı relay temel URL'siyle derlenmiş resmi/TestFlight iOS sürümünü yükleyin.
|
||||
1. Aynı relay temel URL'si ile derlenmiş resmi/TestFlight bir iOS derlemesi yükleyin.
|
||||
2. Gateway üzerinde `gateway.push.apns.relay.baseUrl` ayarlayın.
|
||||
3. iOS uygulamasını gateway ile eşleyin ve hem düğüm hem operatör oturumlarının bağlanmasına izin verin.
|
||||
4. iOS uygulaması gateway kimliğini alır, App Attest ile uygulama makbuzunu kullanarak relay'e kaydolur ve ardından relay destekli `push.apns.register` yükünü eşlenmiş gateway'e yayımlar.
|
||||
5. Gateway relay tanıtıcısını ve gönderme iznini saklar, ardından bunları `push.test`, uyandırma dürtmeleri ve yeniden bağlanma uyandırmaları için kullanır.
|
||||
3. iOS uygulamasını gateway ile eşleştirin ve hem node hem operatör oturumlarının bağlanmasına izin verin.
|
||||
4. iOS uygulaması gateway kimliğini alır, App Attest ve uygulama makbuzunu kullanarak relay'e kayıt olur, ardından relay destekli `push.apns.register` yükünü eşleştirilmiş gateway'e yayınlar.
|
||||
5. Gateway relay tanıtıcısını ve gönderim yetkisini saklar, ardından bunları `push.test`, uyandırma dürtmeleri ve yeniden bağlanma uyandırmaları için kullanır.
|
||||
|
||||
Operasyonel notlar:
|
||||
İşletim notları:
|
||||
|
||||
- iOS uygulamasını farklı bir gateway'e geçirirseniz, uygulamayı yeniden bağlayın ki bu gateway'e bağlı yeni bir relay kaydı yayımlayabilsin.
|
||||
- Farklı bir relay dağıtımını işaret eden yeni bir iOS sürümü yayımlarsanız, uygulama eski relay kaynağını yeniden kullanmak yerine önbelleğe alınmış relay kaydını yeniler.
|
||||
- iOS uygulamasını farklı bir gateway'e geçirirseniz, uygulamanın o gateway'e bağlanmış yeni bir relay kaydı yayımlayabilmesi için yeniden bağlayın.
|
||||
- Farklı bir relay dağıtımını işaret eden yeni bir iOS derlemesi yayımlarsanız, uygulama eski relay kaynağını yeniden kullanmak yerine önbelleğe alınmış relay kaydını yeniler.
|
||||
|
||||
Uyumluluk notu:
|
||||
|
||||
- `OPENCLAW_APNS_RELAY_BASE_URL` ve `OPENCLAW_APNS_RELAY_TIMEOUT_MS` hâlâ geçici ortam değişkeni geçersiz kılmaları olarak çalışır.
|
||||
- `OPENCLAW_APNS_RELAY_ALLOW_HTTP=true` yalnızca loopback geliştirmesi için bir kaçış noktası olmaya devam eder; HTTP relay URL'lerini yapılandırmada kalıcı hale getirmeyin.
|
||||
- `OPENCLAW_APNS_RELAY_BASE_URL` ve `OPENCLAW_APNS_RELAY_TIMEOUT_MS` geçici env geçersiz kılmaları olarak hâlâ çalışır.
|
||||
- `OPENCLAW_APNS_RELAY_ALLOW_HTTP=true` yalnızca loopback için bir geliştirme kaçış kapağı olarak kalır; HTTP relay URL'lerini yapılandırmada kalıcı olarak tutmayın.
|
||||
|
||||
Uçtan uca akış için [iOS App](/platforms/ios#relay-backed-push-for-official-builds), relay güvenlik modeli için [Authentication and trust flow](/platforms/ios#authentication-and-trust-flow) bölümüne bakın.
|
||||
Uçtan uca akış için [iOS App](/tr/platforms/ios#relay-backed-push-for-official-builds), relay güvenlik modeli için ise [Authentication and trust flow](/tr/platforms/ios#authentication-and-trust-flow) bölümlerine bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Heartbeat kurma (dönemsel yoklamalar)">
|
||||
<Accordion title="Heartbeat ayarlama (düzenli yoklamalar)">
|
||||
```json5
|
||||
{
|
||||
agents: {
|
||||
@ -380,14 +387,14 @@ Doğrulama başarısız olduğunda:
|
||||
}
|
||||
```
|
||||
|
||||
- `every`: süre dizgesi (`30m`, `2h`). Devre dışı bırakmak için `0m` ayarlayın.
|
||||
- `every`: süre string'i (`30m`, `2h`). Devre dışı bırakmak için `0m` ayarlayın.
|
||||
- `target`: `last` | `none` | `<channel-id>` (örneğin `discord`, `matrix`, `telegram` veya `whatsapp`)
|
||||
- `directPolicy`: DM tarzı heartbeat hedefleri için `allow` (varsayılan) veya `block`
|
||||
- Tam kılavuz için [Heartbeat](/gateway/heartbeat) bölümüne bakın.
|
||||
- Tam kılavuz için [Heartbeat](/tr/gateway/heartbeat) bölümüne bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Cron işlerini yapılandırma">
|
||||
<Accordion title="Cron işleri yapılandırma">
|
||||
```json5
|
||||
{
|
||||
cron: {
|
||||
@ -402,13 +409,13 @@ Doğrulama başarısız olduğunda:
|
||||
}
|
||||
```
|
||||
|
||||
- `sessionRetention`: tamamlanmış yalıtılmış çalıştırma oturumlarını `sessions.json` içinden budar (varsayılan `24h`; devre dışı bırakmak için `false` ayarlayın).
|
||||
- `runLog`: `cron/runs/<jobId>.jsonl` dosyasını boyut ve korunacak satır sayısına göre budar.
|
||||
- Özellik genel görünümü ve CLI örnekleri için [Cron jobs](/tr/automation/cron-jobs) bölümüne bakın.
|
||||
- `sessionRetention`: tamamlanan yalıtılmış çalıştırma oturumlarını `sessions.json` içinden budar (varsayılan `24h`; devre dışı bırakmak için `false` ayarlayın).
|
||||
- `runLog`: `cron/runs/<jobId>.jsonl` dosyasını boyut ve tutulan satır sayısına göre budar.
|
||||
- Özellik genel bakışı ve CLI örnekleri için [Cron jobs](/tr/automation/cron-jobs) bölümüne bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Webhook'ları (hook'ları) kurma">
|
||||
<Accordion title="Webhook'ları yapılandırma (hook'lar)">
|
||||
Gateway üzerinde HTTP webhook uç noktalarını etkinleştirin:
|
||||
|
||||
```json5
|
||||
@ -433,20 +440,20 @@ Doğrulama başarısız olduğunda:
|
||||
```
|
||||
|
||||
Güvenlik notu:
|
||||
- Tüm hook/webhook yük içeriğini güvenilmez girdi olarak değerlendirin.
|
||||
- Özel bir `hooks.token` kullanın; paylaşılan Gateway belirtecini yeniden kullanmayın.
|
||||
- Hook kimlik doğrulaması yalnızca başlık temellidir (`Authorization: Bearer ...` veya `x-openclaw-token`); sorgu dizgesi belirteçleri reddedilir.
|
||||
- `hooks.path`, `/` olamaz; webhook girişini `/hooks` gibi özel bir alt yolda tutun.
|
||||
- Sıkı kapsamlı hata ayıklama yapmıyorsanız güvensiz içerik atlama bayraklarını (`hooks.gmail.allowUnsafeExternalContent`, `hooks.mappings[].allowUnsafeExternalContent`) devre dışı bırakılmış halde tutun.
|
||||
- `hooks.allowRequestSessionKey` etkinse, çağıranın seçtiği oturum anahtarlarını sınırlamak için `hooks.allowedSessionKeyPrefixes` de ayarlayın.
|
||||
- Hook tarafından sürülen ajanlar için güçlü modern model katmanlarını ve sıkı araç ilkesini tercih edin (örneğin mümkün olduğunda yalnızca mesajlaşma + sandbox).
|
||||
- Tüm hook/webhook yük içeriklerini güvenilmeyen girdi olarak değerlendirin.
|
||||
- Ayrı bir `hooks.token` kullanın; paylaşılan Gateway token'ını yeniden kullanmayın.
|
||||
- Hook kimlik doğrulaması yalnızca üstbilgi tabanlıdır (`Authorization: Bearer ...` veya `x-openclaw-token`); sorgu dizesi token'ları reddedilir.
|
||||
- `hooks.path` `/` olamaz; webhook girişini `/hooks` gibi ayrılmış bir alt yolda tutun.
|
||||
- Sıkı kapsamlı hata ayıklama yapmıyorsanız güvenli olmayan içerik atlama bayraklarını (`hooks.gmail.allowUnsafeExternalContent`, `hooks.mappings[].allowUnsafeExternalContent`) devre dışı bırakılmış bırakın.
|
||||
- `hooks.allowRequestSessionKey` etkinleştirirseniz, çağıran tarafından seçilen oturum anahtarlarını sınırlamak için ayrıca `hooks.allowedSessionKeyPrefixes` ayarlayın.
|
||||
- Hook tarafından sürülen agent'lar için mümkün olduğunda güçlü modern model katmanlarını ve sıkı araç ilkesini tercih edin (örneğin yalnızca mesajlaşma artı sandbox kullanımı).
|
||||
|
||||
Tüm eşleme seçenekleri ve Gmail entegrasyonu için [tam başvuruya](/gateway/configuration-reference#hooks) bakın.
|
||||
Tüm eşleme seçenekleri ve Gmail entegrasyonu için [tam başvuruya](/tr/gateway/configuration-reference#hooks) bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Çok ajanlı yönlendirmeyi yapılandırma">
|
||||
Ayrı çalışma alanları ve oturumlarla birden fazla yalıtılmış ajan çalıştırın:
|
||||
<Accordion title="Çoklu agent yönlendirmesini yapılandırma">
|
||||
Ayrı çalışma alanları ve oturumlarla birden çok yalıtılmış agent çalıştırın:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -463,11 +470,11 @@ Doğrulama başarısız olduğunda:
|
||||
}
|
||||
```
|
||||
|
||||
Bağlama kuralları ve ajan başına erişim profilleri için [Multi-Agent](/concepts/multi-agent) ve [tam başvuruya](/gateway/configuration-reference#multi-agent-routing) bakın.
|
||||
Bağlama kuralları ve agent başına erişim profilleri için [Multi-Agent](/tr/concepts/multi-agent) ve [tam başvuruya](/tr/gateway/configuration-reference#multi-agent-routing) bakın.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Yapılandırmayı birden fazla dosyaya bölme ($include)">
|
||||
<Accordion title="Yapılandırmayı birden çok dosyaya bölme ($include)">
|
||||
Büyük yapılandırmaları düzenlemek için `$include` kullanın:
|
||||
|
||||
```json5
|
||||
@ -481,11 +488,11 @@ Doğrulama başarısız olduğunda:
|
||||
}
|
||||
```
|
||||
|
||||
- **Tek dosya**: kapsayan nesnenin yerini alır
|
||||
- **Dosya dizisi**: sırayla derin birleştirilir (sonraki kazanır)
|
||||
- **Kardeş anahtarlar**: include'lardan sonra birleştirilir (dahil edilen değerleri geçersiz kılar)
|
||||
- **İç içe include'lar**: 10 düzeye kadar desteklenir
|
||||
- **Göreli yollar**: include eden dosyaya göre çözülür
|
||||
- **Tek dosya**: içeren nesnenin yerine geçer
|
||||
- **Dosya dizisi**: sırayla derinlemesine birleştirilir (sonraki kazanır)
|
||||
- **Kardeş anahtarlar**: include'ların ardından birleştirilir (dahil edilen değerleri geçersiz kılar)
|
||||
- **İç içe include'lar**: 10 düzey derinliğe kadar desteklenir
|
||||
- **Göreli yollar**: dahil eden dosyaya göre çözülür
|
||||
- **Hata işleme**: eksik dosyalar, ayrıştırma hataları ve döngüsel include'lar için açık hatalar
|
||||
|
||||
</Accordion>
|
||||
@ -497,12 +504,12 @@ Gateway, `~/.openclaw/openclaw.json` dosyasını izler ve değişiklikleri otoma
|
||||
|
||||
### Yeniden yükleme modları
|
||||
|
||||
| Mod | Davranış |
|
||||
| Mod | Davranış |
|
||||
| ---------------------- | --------------------------------------------------------------------------------------- |
|
||||
| **`hybrid`** (varsayılan) | Güvenli değişiklikleri anında uygular. Kritik olanlar için otomatik olarak yeniden başlatır. |
|
||||
| **`hot`** | Yalnızca güvenli değişiklikleri anında uygular. Yeniden başlatma gerektiğinde bir uyarı kaydeder — bunu siz yaparsınız. |
|
||||
| **`restart`** | Güvenli olsun olmasın her yapılandırma değişikliğinde Gateway'i yeniden başlatır. |
|
||||
| **`off`** | Dosya izlemeyi devre dışı bırakır. Değişiklikler bir sonraki elle yeniden başlatmada etkili olur. |
|
||||
| **`hybrid`** (varsayılan) | Güvenli değişiklikleri anında uygular. Kritik olanlar için otomatik olarak yeniden başlatır. |
|
||||
| **`hot`** | Yalnızca güvenli değişiklikleri anında uygular. Yeniden başlatma gerektiğinde bir uyarı kaydeder — bunu siz yönetirsiniz. |
|
||||
| **`restart`** | Güvenli olsun olmasın her yapılandırma değişikliğinde Gateway'yi yeniden başlatır. |
|
||||
| **`off`** | Dosya izlemeyi devre dışı bırakır. Değişiklikler bir sonraki el ile yeniden başlatmada etkili olur. |
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -512,63 +519,63 @@ Gateway, `~/.openclaw/openclaw.json` dosyasını izler ve değişiklikleri otoma
|
||||
}
|
||||
```
|
||||
|
||||
### Neler anında uygulanır, neler yeniden başlatma ister
|
||||
### Neler anında uygulanır, neler yeniden başlatma gerektirir
|
||||
|
||||
Çoğu alan kesinti olmadan anında uygulanır. `hybrid` modunda, yeniden başlatma gerektiren değişiklikler otomatik olarak ele alınır.
|
||||
Çoğu alan, kesinti olmadan anında uygulanır. `hybrid` modunda, yeniden başlatma gerektiren değişiklikler otomatik olarak ele alınır.
|
||||
|
||||
| Kategori | Alanlar | Yeniden başlatma gerekir mi? |
|
||||
| ------------------- | -------------------------------------------------------------------- | ---------------------------- |
|
||||
| Kanallar | `channels.*`, `web` (WhatsApp) — tüm yerleşik ve uzantı kanalları | Hayır |
|
||||
| Ajan ve modeller | `agent`, `agents`, `models`, `routing` | Hayır |
|
||||
| Otomasyon | `hooks`, `cron`, `agent.heartbeat` | Hayır |
|
||||
| Oturumlar ve mesajlar | `session`, `messages` | Hayır |
|
||||
| Araçlar ve medya | `tools`, `browser`, `skills`, `audio`, `talk` | Hayır |
|
||||
| UI ve diğerleri | `ui`, `logging`, `identity`, `bindings` | Hayır |
|
||||
| Gateway sunucusu | `gateway.*` (port, bind, auth, tailscale, TLS, HTTP) | **Evet** |
|
||||
| Altyapı | `discovery`, `canvasHost`, `plugins` | **Evet** |
|
||||
| Kategori | Alanlar | Yeniden başlatma gerekiyor mu? |
|
||||
| ------------------- | -------------------------------------------------------------------- | --------------- |
|
||||
| Kanallar | `channels.*`, `web` (WhatsApp) — tüm yerleşik ve uzantı kanalları | Hayır |
|
||||
| Agent ve modeller | `agent`, `agents`, `models`, `routing` | Hayır |
|
||||
| Otomasyon | `hooks`, `cron`, `agent.heartbeat` | Hayır |
|
||||
| Oturumlar ve mesajlar | `session`, `messages` | Hayır |
|
||||
| Araçlar ve medya | `tools`, `browser`, `skills`, `audio`, `talk` | Hayır |
|
||||
| UI ve çeşitli | `ui`, `logging`, `identity`, `bindings` | Hayır |
|
||||
| Gateway sunucusu | `gateway.*` (port, bind, auth, tailscale, TLS, HTTP) | **Evet** |
|
||||
| Altyapı | `discovery`, `canvasHost`, `plugins` | **Evet** |
|
||||
|
||||
<Note>
|
||||
`gateway.reload` ve `gateway.remote` istisnadır — bunları değiştirmek **yeniden başlatmayı** tetiklemez.
|
||||
`gateway.reload` ve `gateway.remote` istisnadır — bunları değiştirmek yeniden başlatmayı **tetiklemez**.
|
||||
</Note>
|
||||
|
||||
## Config RPC (programlı güncellemeler)
|
||||
|
||||
<Note>
|
||||
Kontrol düzlemi yazma RPC'leri (`config.apply`, `config.patch`, `update.run`) `deviceId+clientIp` başına **60 saniyede 3 istek** ile hız sınırlıdır. Sınır uygulandığında, RPC `retryAfterMs` ile birlikte `UNAVAILABLE` döndürür.
|
||||
Kontrol düzlemi yazma RPC'leri (`config.apply`, `config.patch`, `update.run`) her `deviceId+clientIp` için **60 saniyede 3 istek** ile oran sınırlıdır. Sınır uygulandığında RPC, `retryAfterMs` ile birlikte `UNAVAILABLE` döndürür.
|
||||
</Note>
|
||||
|
||||
Güvenli/varsayılan akış:
|
||||
|
||||
- `config.schema.lookup`: sığ bir
|
||||
şema düğümü, eşleşen ipucu meta verisi ve hemen alt çocuk özetleriyle tek bir yol kapsamlı yapılandırma alt ağacını inceleyin
|
||||
- `config.get`: mevcut anlık görüntüyü + hash'i alın
|
||||
şema düğümü, eşleşen ipucu meta verisi ve doğrudan alt özetlerle tek bir yol kapsamlı yapılandırma alt ağacını inceleyin
|
||||
- `config.get`: geçerli anlık görüntüyü + hash'i alın
|
||||
- `config.patch`: tercih edilen kısmi güncelleme yolu
|
||||
- `config.apply`: yalnızca tam yapılandırma değiştirme için
|
||||
- `update.run`: açık self-update + yeniden başlatma
|
||||
- `config.apply`: yalnızca tam yapılandırma değiştirme
|
||||
- `update.run`: açık kendi kendini güncelleme + yeniden başlatma
|
||||
|
||||
Tüm yapılandırmanın yerini değiştirmiyorsanız `config.schema.lookup`
|
||||
Tüm yapılandırmayı değiştirmiyorsanız, `config.schema.lookup`
|
||||
ardından `config.patch` tercih edin.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="config.apply (tam değiştirme)">
|
||||
Tam yapılandırmayı tek adımda doğrular + yazar ve Gateway'i yeniden başlatır.
|
||||
Tam yapılandırmayı doğrular + yazar ve Gateway'yi tek adımda yeniden başlatır.
|
||||
|
||||
<Warning>
|
||||
`config.apply`, **tüm yapılandırmanın** yerini değiştirir. Kısmi güncellemeler için `config.patch`, tek anahtarlar için `openclaw config set` kullanın.
|
||||
`config.apply`, **tüm yapılandırmanın** yerine geçer. Kısmi güncellemeler için `config.patch`, tek anahtarlar için ise `openclaw config set` kullanın.
|
||||
</Warning>
|
||||
|
||||
Parametreler:
|
||||
|
||||
- `raw` (string) — tüm yapılandırma için JSON5 yükü
|
||||
- `baseHash` (isteğe bağlı) — `config.get` içinden gelen yapılandırma hash'i (yapılandırma varsa gereklidir)
|
||||
- `baseHash` (isteğe bağlı) — `config.get` içinden yapılandırma hash'i (yapılandırma varsa zorunlu)
|
||||
- `sessionKey` (isteğe bağlı) — yeniden başlatma sonrası uyandırma ping'i için oturum anahtarı
|
||||
- `note` (isteğe bağlı) — yeniden başlatma sentinel'i için not
|
||||
- `restartDelayMs` (isteğe bağlı) — yeniden başlatma öncesi gecikme (varsayılan 2000)
|
||||
- `note` (isteğe bağlı) — yeniden başlatma sentinel notu
|
||||
- `restartDelayMs` (isteğe bağlı) — yeniden başlatmadan önce gecikme (varsayılan 2000)
|
||||
|
||||
Yeniden başlatma istekleri, zaten bekleyen/devam eden bir istek varken birleştirilir ve yeniden başlatma döngüleri arasında 30 saniyelik bir soğuma süresi uygulanır.
|
||||
Yeniden başlatma istekleri, biri zaten beklemede/işlemdeyken birleştirilir ve yeniden başlatma döngüleri arasında 30 saniyelik bekleme süresi uygulanır.
|
||||
|
||||
```bash
|
||||
openclaw gateway call config.get --params '{}' # payload.hash değerini alın
|
||||
openclaw gateway call config.get --params '{}' # payload.hash değerini yakalayın
|
||||
openclaw gateway call config.apply --params '{
|
||||
"raw": "{ agents: { defaults: { workspace: \"~/.openclaw/workspace\" } } }",
|
||||
"baseHash": "<hash>",
|
||||
@ -579,19 +586,19 @@ ardından `config.patch` tercih edin.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="config.patch (kısmi güncelleme)">
|
||||
Kısmi bir güncellemeyi mevcut yapılandırmayla birleştirir (JSON merge patch semantiği):
|
||||
Kısmi bir güncellemeyi mevcut yapılandırma ile birleştirir (JSON merge patch semantiği):
|
||||
|
||||
- Nesneler özyineli olarak birleştirilir
|
||||
- Nesneler özyineli olarak birleşir
|
||||
- `null` bir anahtarı siler
|
||||
- Diziler yer değiştirir
|
||||
|
||||
Parametreler:
|
||||
|
||||
- `raw` (string) — yalnızca değişecek anahtarları içeren JSON5
|
||||
- `baseHash` (zorunlu) — `config.get` içinden gelen yapılandırma hash'i
|
||||
- `baseHash` (zorunlu) — `config.get` içinden yapılandırma hash'i
|
||||
- `sessionKey`, `note`, `restartDelayMs` — `config.apply` ile aynı
|
||||
|
||||
Yeniden başlatma davranışı `config.apply` ile aynıdır: bekleyen yeniden başlatmalar birleştirilir ve yeniden başlatma döngüleri arasında 30 saniyelik bir soğuma süresi vardır.
|
||||
Yeniden başlatma davranışı `config.apply` ile eşleşir: bekleyen yeniden başlatmalar birleştirilir ve yeniden başlatma döngüleri arasında 30 saniyelik bekleme süresi vardır.
|
||||
|
||||
```bash
|
||||
openclaw gateway call config.patch --params '{
|
||||
@ -605,12 +612,12 @@ ardından `config.patch` tercih edin.
|
||||
|
||||
## Ortam değişkenleri
|
||||
|
||||
OpenClaw, üst süreçten gelen ortam değişkenlerini ve ayrıca şunları okur:
|
||||
OpenClaw, üst süreçten gelen env değişkenlerini ve ayrıca şunları okur:
|
||||
|
||||
- geçerli çalışma dizinindeki `.env` dosyası (varsa)
|
||||
- `~/.openclaw/.env` (küresel geri dönüş)
|
||||
- geçerli çalışma dizinindeki `.env` (varsa)
|
||||
- `~/.openclaw/.env` (küresel yedek)
|
||||
|
||||
Hiçbir dosya mevcut ortam değişkenlerini geçersiz kılmaz. Yapılandırmada satır içi ortam değişkenleri de ayarlayabilirsiniz:
|
||||
Bu dosyaların hiçbiri mevcut env değişkenlerinin yerine geçmez. Yapılandırmada satır içi env değişkenleri de ayarlayabilirsiniz:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -621,8 +628,8 @@ Hiçbir dosya mevcut ortam değişkenlerini geçersiz kılmaz. Yapılandırmada
|
||||
}
|
||||
```
|
||||
|
||||
<Accordion title="Kabuk env içe aktarma (isteğe bağlı)">
|
||||
Etkinleştirilirse ve beklenen anahtarlar ayarlı değilse, OpenClaw oturum açma kabuğunuzu çalıştırır ve yalnızca eksik anahtarları içe aktarır:
|
||||
<Accordion title="Shell env içe aktarma (isteğe bağlı)">
|
||||
Etkinleştirilirse ve beklenen anahtarlar ayarlı değilse, OpenClaw giriş shell'inizi çalıştırır ve yalnızca eksik anahtarları içe aktarır:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -632,11 +639,11 @@ Hiçbir dosya mevcut ortam değişkenlerini geçersiz kılmaz. Yapılandırmada
|
||||
}
|
||||
```
|
||||
|
||||
Ortam değişkeni eşdeğeri: `OPENCLAW_LOAD_SHELL_ENV=1`
|
||||
Env değişkeni eşdeğeri: `OPENCLAW_LOAD_SHELL_ENV=1`
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Yapılandırma değerlerinde ortam değişkeni yerine koyma">
|
||||
Herhangi bir yapılandırma string değerinde `${VAR_NAME}` ile ortam değişkenlerine başvurun:
|
||||
<Accordion title="Yapılandırma değerlerinde env değişkeni ikamesi">
|
||||
Herhangi bir yapılandırma string değerinde `${VAR_NAME}` ile env değişkenlerine başvurun:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -647,15 +654,15 @@ Ortam değişkeni eşdeğeri: `OPENCLAW_LOAD_SHELL_ENV=1`
|
||||
|
||||
Kurallar:
|
||||
|
||||
- Yalnızca şu biçimle eşleşen büyük harf adları eşleştirilir: `[A-Z_][A-Z0-9_]*`
|
||||
- Eksik/boş değişkenler yükleme sırasında hata verir
|
||||
- Yalnızca şu kalıpla eşleşen büyük harfli adlar eşleştirilir: `[A-Z_][A-Z0-9_]*`
|
||||
- Eksik/boş değişkenler yükleme sırasında hata fırlatır
|
||||
- Değişmez çıktı için `$${VAR}` ile kaçırın
|
||||
- `$include` dosyaları içinde de çalışır
|
||||
- Satır içi yerine koyma: `"${BASE}/v1"` → `"https://api.example.com/v1"`
|
||||
- `$include` dosyaları içinde çalışır
|
||||
- Satır içi ikame: `"${BASE}/v1"` → `"https://api.example.com/v1"`
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Secret refs (env, file, exec)">
|
||||
<Accordion title="Secret ref'ler (env, file, exec)">
|
||||
SecretRef nesnelerini destekleyen alanlar için şunları kullanabilirsiniz:
|
||||
|
||||
```json5
|
||||
@ -688,16 +695,16 @@ Kurallar:
|
||||
}
|
||||
```
|
||||
|
||||
`env`/`file`/`exec` için `secrets.providers` dahil SecretRef ayrıntıları [Secrets Management](/gateway/secrets) bölümündedir.
|
||||
Desteklenen kimlik bilgisi yolları [SecretRef Credential Surface](/reference/secretref-credential-surface) bölümünde listelenmiştir.
|
||||
SecretRef ayrıntıları (`env`/`file`/`exec` için `secrets.providers` dahil) [Secrets Management](/tr/gateway/secrets) bölümündedir.
|
||||
Desteklenen kimlik bilgisi yolları [SecretRef Credential Surface](/tr/reference/secretref-credential-surface) bölümünde listelenmiştir.
|
||||
</Accordion>
|
||||
|
||||
Tam öncelik sırası ve kaynaklar için [Environment](/help/environment) bölümüne bakın.
|
||||
Tam öncelik sırası ve kaynaklar için [Environment](/tr/help/environment) bölümüne bakın.
|
||||
|
||||
## Tam başvuru
|
||||
|
||||
Alan alan tam başvuru için **[Configuration Reference](/gateway/configuration-reference)** bölümüne bakın.
|
||||
Eksiksiz alan alan başvuru için **[Configuration Reference](/tr/gateway/configuration-reference)** bölümüne bakın.
|
||||
|
||||
---
|
||||
|
||||
_İlgili: [Configuration Examples](/gateway/configuration-examples) · [Configuration Reference](/gateway/configuration-reference) · [Doctor](/gateway/doctor)_
|
||||
_İlgili: [Configuration Examples](/tr/gateway/configuration-examples) · [Configuration Reference](/tr/gateway/configuration-reference) · [Doctor](/tr/gateway/doctor)_
|
||||
|
||||
343
docs/tr/plugins/memory-wiki.md
Normal file
343
docs/tr/plugins/memory-wiki.md
Normal file
@ -0,0 +1,343 @@
|
||||
---
|
||||
read_when:
|
||||
- Düz MEMORY.md notlarının ötesinde kalıcı bilgi istiyorsanız
|
||||
- Paketlenmiş memory-wiki plugin'ini yapılandırıyorsanız
|
||||
- wiki_search, wiki_get veya bridge modunu anlamak istiyorsanız
|
||||
summary: 'memory-wiki: kaynak, iddialar, panolar ve bridge modu içeren derlenmiş bilgi kasası'
|
||||
title: Memory Wiki
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T06:01:17Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: b78dd6a4ef4451dae6b53197bf0c7c2a2ba846b08e4a3a93c1026366b1598d82
|
||||
source_path: plugins/memory-wiki.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Memory Wiki
|
||||
|
||||
`memory-wiki`, dayanıklı belleği derlenmiş bir bilgi kasasına dönüştüren paketlenmiş bir plugin'dir.
|
||||
|
||||
Etkin bellek plugin'inin yerini **almaz**. Etkin bellek plugin'i geri çağırma, yükseltme, indeksleme ve düşleme işlerinin sahibi olmaya devam eder. `memory-wiki` onun yanında yer alır ve dayanıklı bilgiyi gezilebilir bir wikiye; deterministik sayfalar, yapılandırılmış iddialar, kaynak bilgisi, panolar ve makine tarafından okunabilir özetlerle derler.
|
||||
|
||||
Belleğin, bir Markdown dosyaları yığını gibi değil de daha çok bakımı yapılan bir bilgi katmanı gibi davranmasını istediğinizde bunu kullanın.
|
||||
|
||||
## Ne ekler
|
||||
|
||||
- Deterministik sayfa düzenine sahip özel bir wiki kasası
|
||||
- Yalnızca düzyazı değil, yapılandırılmış iddia ve kanıt meta verileri
|
||||
- Sayfa düzeyinde kaynak bilgisi, güven, çelişkiler ve açık sorular
|
||||
- Aracı/çalışma zamanı tüketicileri için derlenmiş özetler
|
||||
- Wiki'ye özgü search/get/apply/lint araçları
|
||||
- Etkin bellek plugin'inden herkese açık yapıtları içe aktaran isteğe bağlı bridge modu
|
||||
- İsteğe bağlı Obsidian uyumlu render modu ve CLI entegrasyonu
|
||||
|
||||
## Bellekle nasıl uyum sağlar
|
||||
|
||||
Ayrımı şöyle düşünün:
|
||||
|
||||
| Katman | Sahibi olduğu şeyler |
|
||||
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
|
||||
| Etkin bellek plugin'i (`memory-core`, QMD, Honcho vb.) | Geri çağırma, anlamsal arama, yükseltme, düşleme, bellek çalışma zamanı |
|
||||
| `memory-wiki` | Derlenmiş wiki sayfaları, kaynak açısından zengin sentezler, panolar, wiki'ye özgü search/get/apply |
|
||||
|
||||
Etkin bellek plugin'i paylaşılan geri çağırma yapıtlarını sunuyorsa, OpenClaw `memory_search corpus=all` ile her iki katmanı da tek geçişte arayabilir.
|
||||
|
||||
Wiki'ye özgü sıralama, kaynak bilgisi veya doğrudan sayfa erişimi gerektiğinde bunun yerine wiki'ye özgü araçları kullanın.
|
||||
|
||||
## Kasa modları
|
||||
|
||||
`memory-wiki` üç kasa modunu destekler:
|
||||
|
||||
### `isolated`
|
||||
|
||||
Kendi kasası, kendi kaynakları, `memory-core` bağımlılığı yok.
|
||||
|
||||
Wiki'nin kendi küratörlüğü yapılmış bilgi deposu olmasını istiyorsanız bunu kullanın.
|
||||
|
||||
### `bridge`
|
||||
|
||||
Etkin bellek plugin'inden, herkese açık plugin SDK sınırları üzerinden herkese açık bellek yapıtlarını ve bellek olaylarını okur.
|
||||
|
||||
Wiki'nin, özel plugin iç yapılarına erişmeden bellek plugin'inin dışa aktardığı yapıtları derleyip düzenlemesini istiyorsanız bunu kullanın.
|
||||
|
||||
Bridge modu şunları indeksleyebilir:
|
||||
|
||||
- dışa aktarılan bellek yapıtları
|
||||
- düş raporları
|
||||
- günlük notlar
|
||||
- bellek kök dosyaları
|
||||
- bellek olay günlükleri
|
||||
|
||||
### `unsafe-local`
|
||||
|
||||
Yerel özel yollar için açık aynı-makine kaçış kapağı.
|
||||
|
||||
Bu mod kasıtlı olarak deneyseldir ve taşınabilir değildir. Bunu yalnızca güven sınırını anladığınızda ve özellikle bridge modunun sağlayamadığı yerel dosya sistemi erişimine ihtiyaç duyduğunuzda kullanın.
|
||||
|
||||
## Kasa düzeni
|
||||
|
||||
Plugin, şöyle bir kasa başlatır:
|
||||
|
||||
```text
|
||||
<vault>/
|
||||
AGENTS.md
|
||||
WIKI.md
|
||||
index.md
|
||||
inbox.md
|
||||
entities/
|
||||
concepts/
|
||||
syntheses/
|
||||
sources/
|
||||
reports/
|
||||
_attachments/
|
||||
_views/
|
||||
.openclaw-wiki/
|
||||
```
|
||||
|
||||
Yönetilen içerik, oluşturulan blokların içinde kalır. İnsan not blokları korunur.
|
||||
|
||||
Ana sayfa grupları şunlardır:
|
||||
|
||||
- içe aktarılan ham materyal ve bridge destekli sayfalar için `sources/`
|
||||
- kalıcı şeyler, kişiler, sistemler, projeler ve nesneler için `entities/`
|
||||
- fikirler, soyutlamalar, örüntüler ve ilkeler için `concepts/`
|
||||
- derlenmiş özetler ve bakımı yapılan toplulaştırmalar için `syntheses/`
|
||||
- oluşturulan panolar için `reports/`
|
||||
|
||||
## Yapılandırılmış iddialar ve kanıtlar
|
||||
|
||||
Sayfalar yalnızca serbest biçimli metin değil, yapılandırılmış `claims` frontmatter da taşıyabilir.
|
||||
|
||||
Her iddia şunları içerebilir:
|
||||
|
||||
- `id`
|
||||
- `text`
|
||||
- `status`
|
||||
- `confidence`
|
||||
- `evidence[]`
|
||||
- `updatedAt`
|
||||
|
||||
Kanıt girdileri şunları içerebilir:
|
||||
|
||||
- `sourceId`
|
||||
- `path`
|
||||
- `lines`
|
||||
- `weight`
|
||||
- `note`
|
||||
- `updatedAt`
|
||||
|
||||
Wiki'nin pasif bir not dökümü yerine daha çok bir inanç katmanı gibi davranmasını sağlayan şey budur. İddialar izlenebilir, puanlanabilir, itiraz edilebilir ve tekrar kaynaklara bağlanarak çözülebilir.
|
||||
|
||||
## Derleme işlem hattı
|
||||
|
||||
Derleme adımı wiki sayfalarını okur, özetleri normalize eder ve şu konumların altında kararlı, makineye dönük yapıtlar üretir:
|
||||
|
||||
- `.openclaw-wiki/cache/agent-digest.json`
|
||||
- `.openclaw-wiki/cache/claims.jsonl`
|
||||
|
||||
Bu özetler, aracıların ve çalışma zamanı kodunun Markdown sayfalarını kazımasına gerek kalmaması için vardır.
|
||||
|
||||
Derlenmiş çıktı ayrıca şunlara güç sağlar:
|
||||
|
||||
- search/get akışları için ilk geçiş wiki indeksleme
|
||||
- sahip sayfalara geri iddia kimliği araması
|
||||
- kompakt prompt ekleri
|
||||
- rapor/pano üretimi
|
||||
|
||||
## Panolar ve sağlık raporları
|
||||
|
||||
`render.createDashboards` etkinleştirildiğinde derleme, `reports/` altında panoları korur.
|
||||
|
||||
Yerleşik raporlar şunları içerir:
|
||||
|
||||
- `reports/open-questions.md`
|
||||
- `reports/contradictions.md`
|
||||
- `reports/low-confidence.md`
|
||||
- `reports/claim-health.md`
|
||||
- `reports/stale-pages.md`
|
||||
|
||||
Bu raporlar şunları izler:
|
||||
|
||||
- çelişki not kümleri
|
||||
- yarışan iddia kümeleri
|
||||
- yapılandırılmış kanıtı olmayan iddialar
|
||||
- düşük güvene sahip sayfalar ve iddialar
|
||||
- bayat veya bilinmeyen tazelik
|
||||
- çözülmemiş sorular içeren sayfalar
|
||||
|
||||
## Arama ve getirme
|
||||
|
||||
`memory-wiki` iki arama arka ucunu destekler:
|
||||
|
||||
- `shared`: varsa paylaşılan bellek arama akışını kullan
|
||||
- `local`: wiki'yi yerelde ara
|
||||
|
||||
Ayrıca üç corpus'u destekler:
|
||||
|
||||
- `wiki`
|
||||
- `memory`
|
||||
- `all`
|
||||
|
||||
Önemli davranış:
|
||||
|
||||
- `wiki_search` ve `wiki_get`, mümkün olduğunda ilk geçiş olarak derlenmiş özetleri kullanır
|
||||
- iddia kimlikleri sahip sayfaya geri çözümlenebilir
|
||||
- itiraz edilmiş/bayat/taze iddialar sıralamayı etkiler
|
||||
- kaynak etiketleri sonuçlara taşınabilir
|
||||
|
||||
Pratik kural:
|
||||
|
||||
- tek geniş geri çağırma geçişi için `memory_search corpus=all` kullanın
|
||||
- wiki'ye özgü sıralama, kaynak bilgisi veya sayfa düzeyinde inanç yapısı sizin için önemliyse `wiki_search` + `wiki_get` kullanın
|
||||
|
||||
## Aracı araçları
|
||||
|
||||
Plugin şu araçları kaydeder:
|
||||
|
||||
- `wiki_status`
|
||||
- `wiki_search`
|
||||
- `wiki_get`
|
||||
- `wiki_apply`
|
||||
- `wiki_lint`
|
||||
|
||||
Yaptıkları işler:
|
||||
|
||||
- `wiki_status`: geçerli kasa modu, sağlık durumu, Obsidian CLI kullanılabilirliği
|
||||
- `wiki_search`: wiki sayfalarını ve yapılandırılmışsa paylaşılan bellek corpus'larını arar
|
||||
- `wiki_get`: bir wiki sayfasını id/path ile okur veya paylaşılan bellek corpus'una geri döner
|
||||
- `wiki_apply`: serbest biçimli sayfa cerrahisi olmadan dar sentez/meta veri mutasyonları
|
||||
- `wiki_lint`: yapısal denetimler, kaynak boşlukları, çelişkiler, açık sorular
|
||||
|
||||
Plugin ayrıca özel olmayan bir bellek corpus eki de kaydeder; böylece etkin bellek plugin'i corpus seçimini desteklediğinde paylaşılan `memory_search` ve `memory_get` wiki'ye erişebilir.
|
||||
|
||||
## Prompt ve bağlam davranışı
|
||||
|
||||
`context.includeCompiledDigestPrompt` etkinleştirildiğinde, bellek prompt bölümleri `agent-digest.json` içinden kompakt bir derlenmiş anlık görüntü ekler.
|
||||
|
||||
Bu anlık görüntü kasıtlı olarak küçük ve yüksek sinyallidir:
|
||||
|
||||
- yalnızca en üst sayfalar
|
||||
- yalnızca en üst iddialar
|
||||
- çelişki sayısı
|
||||
- soru sayısı
|
||||
- güven/tazelik niteleyicileri
|
||||
|
||||
Bu isteğe bağlıdır çünkü prompt şeklini değiştirir ve çoğunlukla bağlam motorları veya bellek eklerini açıkça tüketen eski prompt derleme yapıları için faydalıdır.
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
Yapılandırmayı `plugins.entries.memory-wiki.config` altında koyun:
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
"memory-wiki": {
|
||||
enabled: true,
|
||||
config: {
|
||||
vaultMode: "isolated",
|
||||
vault: {
|
||||
path: "~/.openclaw/wiki/main",
|
||||
renderMode: "obsidian",
|
||||
},
|
||||
obsidian: {
|
||||
enabled: true,
|
||||
useOfficialCli: true,
|
||||
vaultName: "OpenClaw Wiki",
|
||||
openAfterWrites: false,
|
||||
},
|
||||
bridge: {
|
||||
enabled: false,
|
||||
readMemoryArtifacts: true,
|
||||
indexDreamReports: true,
|
||||
indexDailyNotes: true,
|
||||
indexMemoryRoot: true,
|
||||
followMemoryEvents: true,
|
||||
},
|
||||
ingest: {
|
||||
autoCompile: true,
|
||||
maxConcurrentJobs: 1,
|
||||
allowUrlIngest: true,
|
||||
},
|
||||
search: {
|
||||
backend: "shared",
|
||||
corpus: "wiki",
|
||||
},
|
||||
context: {
|
||||
includeCompiledDigestPrompt: false,
|
||||
},
|
||||
render: {
|
||||
preserveHumanBlocks: true,
|
||||
createBacklinks: true,
|
||||
createDashboards: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Temel anahtarlar:
|
||||
|
||||
- `vaultMode`: `isolated`, `bridge`, `unsafe-local`
|
||||
- `vault.renderMode`: `native` veya `obsidian`
|
||||
- `bridge.readMemoryArtifacts`: etkin bellek plugin'inin herkese açık yapıtlarını içe aktar
|
||||
- `bridge.followMemoryEvents`: bridge modunda olay günlüklerini dahil et
|
||||
- `search.backend`: `shared` veya `local`
|
||||
- `search.corpus`: `wiki`, `memory` veya `all`
|
||||
- `context.includeCompiledDigestPrompt`: bellek prompt bölümlerine kompakt özet anlık görüntüsünü ekle
|
||||
- `render.createBacklinks`: deterministik ilgili bloklar oluştur
|
||||
- `render.createDashboards`: pano sayfaları oluştur
|
||||
|
||||
## CLI
|
||||
|
||||
`memory-wiki` ayrıca üst düzey bir CLI yüzeyi sunar:
|
||||
|
||||
```bash
|
||||
openclaw wiki status
|
||||
openclaw wiki doctor
|
||||
openclaw wiki init
|
||||
openclaw wiki ingest ./notes/alpha.md
|
||||
openclaw wiki compile
|
||||
openclaw wiki lint
|
||||
openclaw wiki search "alpha"
|
||||
openclaw wiki get entity.alpha
|
||||
openclaw wiki apply synthesis "Alpha Summary" --body "..." --source-id source.alpha
|
||||
openclaw wiki bridge import
|
||||
openclaw wiki obsidian status
|
||||
```
|
||||
|
||||
Tam komut başvurusu için [CLI: wiki](/cli/wiki) bölümüne bakın.
|
||||
|
||||
## Obsidian desteği
|
||||
|
||||
`vault.renderMode` `obsidian` olduğunda plugin, Obsidian dostu Markdown yazar ve isteğe bağlı olarak resmî `obsidian` CLI'ını kullanabilir.
|
||||
|
||||
Desteklenen iş akışları şunları içerir:
|
||||
|
||||
- durum yoklaması
|
||||
- kasa araması
|
||||
- bir sayfayı açma
|
||||
- bir Obsidian komutunu çağırma
|
||||
- günlük nota atlama
|
||||
|
||||
Bu isteğe bağlıdır. Wiki, Obsidian olmadan yerel modda da çalışır.
|
||||
|
||||
## Önerilen iş akışı
|
||||
|
||||
1. Geri çağırma/yükseltme/düşleme için etkin bellek plugin'inizi koruyun.
|
||||
2. `memory-wiki` etkinleştirin.
|
||||
3. Özellikle bridge modu istemiyorsanız `isolated` moduyla başlayın.
|
||||
4. Kaynak bilgisi önemliyse `wiki_search` / `wiki_get` kullanın.
|
||||
5. Dar sentezler veya meta veri güncellemeleri için `wiki_apply` kullanın.
|
||||
6. Anlamlı değişikliklerden sonra `wiki_lint` çalıştırın.
|
||||
7. Bayatlık/çelişki görünürlüğü istiyorsanız panoları açın.
|
||||
|
||||
## İlgili belgeler
|
||||
|
||||
- [Belleğe Genel Bakış](/tr/concepts/memory)
|
||||
- [CLI: memory](/cli/memory)
|
||||
- [CLI: wiki](/cli/wiki)
|
||||
- [Plugin SDK genel bakış](/tr/plugins/sdk-overview)
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- OpenClaw içinde GLM modelleri istiyorsunuz
|
||||
- Model adlandırma kuralına ve kuruluma ihtiyacınız var
|
||||
- OpenClaw içinde GLM modelleri istiyorsanız
|
||||
- Model adlandırma kuralına ve kuruluma ihtiyacınız varsa
|
||||
summary: GLM model ailesine genel bakış + OpenClaw içinde nasıl kullanılacağı
|
||||
title: GLM Modelleri
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:03:50Z"
|
||||
generated_at: "2026-04-08T06:00:51Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 59622edab5094d991987f9788fbf08b33325e737e7ff88632b0c3ac89412d4c7
|
||||
source_hash: 79a55acfa139847b4b85dbc09f1068cbd2febb1e49f984a23ea9e3b43bc910eb
|
||||
source_path: providers/glm.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -21,7 +21,7 @@ modellerine `zai` sağlayıcısı ve `zai/glm-5` gibi model kimlikleri üzerinde
|
||||
## CLI kurulumu
|
||||
|
||||
```bash
|
||||
# Endpoint otomatik algılamalı genel API anahtarı kurulumu
|
||||
# Uç nokta otomatik algılamalı genel API anahtarı kurulumu
|
||||
openclaw onboard --auth-choice zai-api-key
|
||||
|
||||
# Coding Plan Global, Coding Plan kullanıcıları için önerilir
|
||||
@ -33,26 +33,26 @@ openclaw onboard --auth-choice zai-coding-cn
|
||||
# Genel API
|
||||
openclaw onboard --auth-choice zai-global
|
||||
|
||||
# Genel API CN (Çin bölgesi)
|
||||
# General API CN (Çin bölgesi)
|
||||
openclaw onboard --auth-choice zai-cn
|
||||
```
|
||||
|
||||
## Config parçacığı
|
||||
## Yapılandırma parçacığı
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { ZAI_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "zai/glm-5" } } },
|
||||
agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
|
||||
}
|
||||
```
|
||||
|
||||
`zai-api-key`, OpenClaw'ın anahtardan eşleşen Z.AI endpoint'ini algılamasına ve
|
||||
doğru base URL'yi otomatik olarak uygulamasına izin verir. Belirli bir Coding Plan veya genel API yüzeyini zorlamak istediğinizde
|
||||
`zai-api-key`, OpenClaw'ın anahtardan eşleşen Z.AI uç noktasını algılamasına ve
|
||||
doğru temel URL'yi otomatik olarak uygulamasına olanak tanır. Belirli bir Coding Plan veya genel API yüzeyini zorlamak istediğinizde
|
||||
açık bölgesel seçenekleri kullanın.
|
||||
|
||||
## Mevcut paketli GLM modelleri
|
||||
## Mevcut paketlenmiş GLM modelleri
|
||||
|
||||
OpenClaw şu anda paketli `zai` sağlayıcısını şu GLM referanslarıyla başlatır:
|
||||
OpenClaw şu anda paketlenmiş `zai` sağlayıcısını şu GLM başvurularıyla tohumlar:
|
||||
|
||||
- `glm-5.1`
|
||||
- `glm-5`
|
||||
@ -70,6 +70,6 @@ OpenClaw şu anda paketli `zai` sağlayıcısını şu GLM referanslarıyla baş
|
||||
|
||||
## Notlar
|
||||
|
||||
- GLM sürümleri ve kullanılabilirliği değişebilir; en güncel bilgiler için Z.AI belgelerini kontrol edin.
|
||||
- Varsayılan paketli model ref'i `zai/glm-5` değeridir.
|
||||
- Sağlayıcı ayrıntıları için bkz. [/providers/zai](/providers/zai).
|
||||
- GLM sürümleri ve kullanılabilirliği değişebilir; en güncel bilgiler için Z.AI belgelerine bakın.
|
||||
- Varsayılan paketlenmiş model başvurusu `zai/glm-5.1` şeklindedir.
|
||||
- Sağlayıcı ayrıntıları için bkz. [/providers/zai](/tr/providers/zai).
|
||||
|
||||
@ -1,21 +1,23 @@
|
||||
---
|
||||
read_when:
|
||||
- OpenClaw içinde Z.AI / GLM modellerini istiyorsunuz
|
||||
- Basit bir ZAI_API_KEY kurulumuna ihtiyacınız var
|
||||
- OpenClaw içinde Z.AI / GLM modelleri istiyorsanız
|
||||
- Basit bir ZAI_API_KEY kurulumuna ihtiyacınız varsa
|
||||
summary: OpenClaw ile Z.AI (GLM modelleri) kullanın
|
||||
title: Z.AI
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:05:34Z"
|
||||
generated_at: "2026-04-08T06:01:00Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 48006cdd580484f0c62e2877b27a6a68d7bc44795b3e97a28213d95182d9acf9
|
||||
source_hash: 66cbd9813ee28d202dcae34debab1b0cf9927793acb00743c1c62b48d9e381f9
|
||||
source_path: providers/zai.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Z.AI
|
||||
|
||||
Z.AI, **GLM** modelleri için API platformudur. GLM için REST API'leri sağlar ve kimlik doğrulama için API anahtarları kullanır. API anahtarınızı Z.AI konsolunda oluşturun. OpenClaw, bir Z.AI API anahtarıyla `zai` sağlayıcısını kullanır.
|
||||
Z.AI, **GLM** modelleri için API platformudur. GLM için REST API'leri sağlar ve
|
||||
kimlik doğrulama için API anahtarları kullanır. API anahtarınızı Z.AI konsolunda oluşturun. OpenClaw, `zai` sağlayıcısını
|
||||
bir Z.AI API anahtarıyla kullanır.
|
||||
|
||||
## CLI kurulumu
|
||||
|
||||
@ -32,24 +34,26 @@ openclaw onboard --auth-choice zai-coding-cn
|
||||
# Genel API
|
||||
openclaw onboard --auth-choice zai-global
|
||||
|
||||
# General API CN (China region)
|
||||
# General API CN (Çin bölgesi)
|
||||
openclaw onboard --auth-choice zai-cn
|
||||
```
|
||||
|
||||
## Yapılandırma kod parçacığı
|
||||
## Yapılandırma parçacığı
|
||||
|
||||
```json5
|
||||
{
|
||||
env: { ZAI_API_KEY: "sk-..." },
|
||||
agents: { defaults: { model: { primary: "zai/glm-5" } } },
|
||||
agents: { defaults: { model: { primary: "zai/glm-5.1" } } },
|
||||
}
|
||||
```
|
||||
|
||||
`zai-api-key`, OpenClaw'ın anahtardan eşleşen Z.AI uç noktasını algılamasına ve doğru temel URL'yi otomatik olarak uygulamasına olanak tanır. Belirli bir Coding Plan veya genel API yüzeyini zorlamak istediğinizde açık bölgesel seçenekleri kullanın.
|
||||
`zai-api-key`, OpenClaw'ın anahtardan eşleşen Z.AI uç noktasını algılamasına ve
|
||||
doğru temel URL'yi otomatik olarak uygulamasına olanak tanır. Belirli bir Coding Plan veya genel API yüzeyini zorlamak istediğinizde
|
||||
açık bölgesel seçenekleri kullanın.
|
||||
|
||||
## Birlikte gelen GLM kataloğu
|
||||
## Paketlenmiş GLM kataloğu
|
||||
|
||||
OpenClaw şu anda birlikte gelen `zai` sağlayıcısını şunlarla başlatır:
|
||||
OpenClaw şu anda paketlenmiş `zai` sağlayıcısını şunlarla tohumlar:
|
||||
|
||||
- `glm-5.1`
|
||||
- `glm-5`
|
||||
@ -67,9 +71,11 @@ OpenClaw şu anda birlikte gelen `zai` sağlayıcısını şunlarla başlatır:
|
||||
|
||||
## Notlar
|
||||
|
||||
- GLM modelleri `zai/<model>` olarak kullanılabilir (örnek: `zai/glm-5`).
|
||||
- Varsayılan birlikte gelen model ref'i: `zai/glm-5`
|
||||
- Bilinmeyen `glm-5*` kimlikleri, kimlik mevcut GLM-5 ailesi biçimiyle eşleştiğinde `glm-4.7` şablonundan sağlayıcıya ait meta verileri sentezleyerek birlikte gelen sağlayıcı yolunda yine de ileri çözümlenir.
|
||||
- Z.AI araç çağrısı akışı için `tool_stream` varsayılan olarak etkindir. Devre dışı bırakmak için `agents.defaults.models["zai/<model>"].params.tool_stream` değerini `false` olarak ayarlayın.
|
||||
- Model ailesi genel görünümü için [/providers/glm](/tr/providers/glm) bölümüne bakın.
|
||||
- Z.AI, API anahtarınızla birlikte Bearer kimlik doğrulaması kullanır.
|
||||
- GLM modelleri `zai/<model>` olarak kullanılabilir (`zai/glm-5` örneği).
|
||||
- Varsayılan paketlenmiş model başvurusu: `zai/glm-5.1`
|
||||
- Bilinmeyen `glm-5*` kimlikleri, kimlik
|
||||
geçerli GLM-5 ailesi şekliyle eşleştiğinde `glm-4.7` şablonundan sağlayıcıya ait meta veriler sentezlenerek paketlenmiş sağlayıcı yolunda yine de ileri çözülür.
|
||||
- Z.AI araç çağrısı akışı için `tool_stream` varsayılan olarak etkindir. Devre dışı bırakmak için
|
||||
`agents.defaults.models["zai/<model>"].params.tool_stream` değerini `false` olarak ayarlayın.
|
||||
- Model ailesi genel görünümü için bkz. [/providers/glm](/tr/providers/glm).
|
||||
- Z.AI, API anahtarınızla Bearer kimlik doğrulaması kullanır.
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
---
|
||||
x-i18n:
|
||||
generated_at: "2026-04-08T02:18:25Z"
|
||||
generated_at: "2026-04-08T06:01:31Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 0e156cc8e2fe946a0423862f937754a7caa1fe7e6863b50a80bff49a1c86e1e8
|
||||
source_hash: 4a9066b2a939c5a9ba69141d75405f0e8097997b523164340e2f0e9a0d5060dd
|
||||
source_path: refactor/qa.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# QA Yeniden Düzenleme
|
||||
# QA Yeniden Düzenlemesi
|
||||
|
||||
Durum: temel geçiş tamamlandı.
|
||||
|
||||
## Amaç
|
||||
## Hedef
|
||||
|
||||
OpenClaw QA'yı bölünmüş tanım modelinden tek bir doğruluk kaynağına taşımak:
|
||||
|
||||
@ -21,41 +21,45 @@ OpenClaw QA'yı bölünmüş tanım modelinden tek bir doğruluk kaynağına ta
|
||||
- kurulum ve temizleme
|
||||
- harness mantığı
|
||||
- doğrulamalar ve başarı ölçütleri
|
||||
- artifact'ler ve rapor ipuçları
|
||||
- artefaktlar ve rapor ipuçları
|
||||
|
||||
İstenen son durum, davranışın çoğunu TypeScript içinde sabit kodlamak yerine güçlü senaryo tanım dosyaları yükleyen genel bir QA harness'idir.
|
||||
İstenen son durum, davranışın büyük bölümünü TypeScript içinde sabit kodlamak yerine güçlü senaryo tanım dosyalarını yükleyen genel bir QA harness'idir.
|
||||
|
||||
## Mevcut Durum
|
||||
|
||||
Birincil doğruluk kaynağı artık `qa/scenarios.md` içinde bulunuyor.
|
||||
Birincil doğruluk kaynağı artık `qa/scenarios/index.md` ile `qa/scenarios/*.md`
|
||||
altındaki her senaryo için bir dosyada bulunuyor.
|
||||
|
||||
Uygulananlar:
|
||||
|
||||
- `qa/scenarios.md`
|
||||
- kanonik QA paketi
|
||||
- `qa/scenarios/index.md`
|
||||
- kanonik QA paketi meta verileri
|
||||
- operatör kimliği
|
||||
- başlangıç görevi
|
||||
- `qa/scenarios/*.md`
|
||||
- senaryo başına bir markdown dosyası
|
||||
- senaryo meta verileri
|
||||
- işleyici bağlamaları
|
||||
- handler bağlamaları
|
||||
- senaryoya özgü yürütme yapılandırması
|
||||
- `extensions/qa-lab/src/scenario-catalog.ts`
|
||||
- markdown paket ayrıştırıcısı + zod doğrulaması
|
||||
- markdown paketi ayrıştırıcısı + zod doğrulaması
|
||||
- `extensions/qa-lab/src/qa-agent-bootstrap.ts`
|
||||
- markdown paketinden plan oluşturma
|
||||
- `extensions/qa-lab/src/qa-agent-workspace.ts`
|
||||
- oluşturulmuş uyumluluk dosyalarını ve `QA_SCENARIOS.md` dosyasını tohumlar
|
||||
- oluşturulan uyumluluk dosyaları ile `QA_SCENARIOS.md` üretimi
|
||||
- `extensions/qa-lab/src/suite.ts`
|
||||
- çalıştırılabilir senaryoları markdown tanımlı işleyici bağlamaları üzerinden seçer
|
||||
- QA veri yolu protokolü + UI
|
||||
- resim/video/ses/dosya işleme için genel satır içi ekler
|
||||
- çalıştırılabilir senaryoları markdown ile tanımlanmış handler bağlamaları üzerinden seçer
|
||||
- QA bus protokolü + UI
|
||||
- görüntü/video/ses/dosya işleme için genel satır içi ekler
|
||||
|
||||
Kalan bölünmüş yüzeyler:
|
||||
|
||||
- `extensions/qa-lab/src/suite.ts`
|
||||
- yürütülebilir özel işleyici mantığının çoğuna hâlâ sahip
|
||||
- hâlâ çalıştırılabilir özel handler mantığının çoğunu barındırıyor
|
||||
- `extensions/qa-lab/src/report.ts`
|
||||
- rapor yapısını hâlâ çalışma zamanı çıktılarından türetiyor
|
||||
- hâlâ rapor yapısını çalışma zamanı çıktılarından türetiyor
|
||||
|
||||
Dolayısıyla doğruluk kaynağı bölünmesi düzeltildi, ancak yürütme hâlâ tam bildirime dayalı olmaktan çok çoğunlukla işleyici destekli.
|
||||
Yani doğruluk kaynağı bölünmesi düzeltildi, ancak yürütme hâlâ çoğunlukla tam bildirimsel olmaktan ziyade handler destekli.
|
||||
|
||||
## Gerçek Senaryo Yüzeyi Nasıl Görünüyor
|
||||
|
||||
@ -65,9 +69,9 @@ Mevcut suite okunduğunda birkaç farklı senaryo sınıfı görülüyor.
|
||||
|
||||
- kanal taban çizgisi
|
||||
- DM taban çizgisi
|
||||
- iş parçacıklı takip
|
||||
- ileti dizili takip
|
||||
- model değiştirme
|
||||
- onay tamamlama
|
||||
- onay takibi
|
||||
- tepki/düzenleme/silme
|
||||
|
||||
### Yapılandırma ve çalışma zamanı mutasyonu
|
||||
@ -75,62 +79,63 @@ Mevcut suite okunduğunda birkaç farklı senaryo sınıfı görülüyor.
|
||||
- config patch skill devre dışı bırakma
|
||||
- config apply yeniden başlatma uyandırması
|
||||
- config yeniden başlatma yetenek çevirme
|
||||
- çalışma zamanı envanter kayması denetimi
|
||||
- çalışma zamanı envanter sapması denetimi
|
||||
|
||||
### Dosya sistemi ve repo doğrulamaları
|
||||
|
||||
- kaynak/docs keşif raporu
|
||||
- Lobster Invaders oluşturma
|
||||
- oluşturulmuş görsel artifact arama
|
||||
- source/docs keşif raporu
|
||||
- Lobster Invaders derleme
|
||||
- oluşturulmuş görüntü artefaktı araması
|
||||
|
||||
### Bellek orkestrasyonu
|
||||
|
||||
- bellek geri çağırma
|
||||
- kanal bağlamında bellek araçları
|
||||
- bellek başarısızlığı fallback'i
|
||||
- bellek hata geri dönüşü
|
||||
- oturum belleği sıralaması
|
||||
- iş parçacığı bellek yalıtımı
|
||||
- bellek rüya görme taraması
|
||||
- ileti dizisi belleği yalıtımı
|
||||
- bellek dreaming sweep
|
||||
|
||||
### Araç ve eklenti entegrasyonu
|
||||
### Araç ve plugin entegrasyonu
|
||||
|
||||
- MCP plugin-tools çağrısı
|
||||
- skill görünürlüğü
|
||||
- skill anında yükleme
|
||||
- yerel görsel oluşturma
|
||||
- görsel gidiş-dönüş
|
||||
- ekten görsel anlama
|
||||
- skill canlı kurulum
|
||||
- yerel görüntü üretimi
|
||||
- görüntü gidiş-dönüşü
|
||||
- ekten görüntü anlama
|
||||
|
||||
### Çok turlu ve çok aktörlü
|
||||
|
||||
- alt ajan devri
|
||||
- alt ajan fanout sentezi
|
||||
- subagent devri
|
||||
- subagent fanout sentezi
|
||||
- yeniden başlatma kurtarma tarzı akışlar
|
||||
|
||||
Bu kategoriler önemlidir çünkü DSL gereksinimlerini yönlendirir. Düz bir istem + beklenen metin listesi yeterli değildir.
|
||||
Bu kategoriler önemlidir çünkü DSL gereksinimlerini yönlendirirler. Düz bir istem + beklenen metin listesi yeterli değildir.
|
||||
|
||||
## Yön
|
||||
|
||||
### Tek doğruluk kaynağı
|
||||
|
||||
Yazılan doğruluk kaynağı olarak `qa/scenarios.md` kullanın.
|
||||
Yazılmış doğruluk kaynağı olarak `qa/scenarios/index.md` ile `qa/scenarios/*.md`
|
||||
kullanılsın.
|
||||
|
||||
Paket şu özellikleri korumalıdır:
|
||||
Paket şu özellikleri korumalı:
|
||||
|
||||
- incelemede insan tarafından okunabilir
|
||||
- makine tarafından ayrıştırılabilir
|
||||
- şunları yönetecek kadar zengin:
|
||||
- şunları yönlendirecek kadar zengin:
|
||||
- suite yürütmesi
|
||||
- QA çalışma alanı bootstrap'i
|
||||
- QA workspace bootstrap
|
||||
- QA Lab UI meta verileri
|
||||
- docs/keşif istemleri
|
||||
- rapor oluşturma
|
||||
- docs/discovery istemleri
|
||||
- rapor üretimi
|
||||
|
||||
### Tercih edilen yazım biçimi
|
||||
|
||||
Üst düzey biçim olarak markdown kullanın; içinde yapılandırılmış YAML olsun.
|
||||
Üst düzey biçim olarak markdown kullanın, içinde yapılandırılmış YAML olsun.
|
||||
|
||||
Önerilen biçim:
|
||||
Önerilen şekil:
|
||||
|
||||
- YAML frontmatter
|
||||
- id
|
||||
@ -139,27 +144,27 @@ Paket şu özellikleri korumalıdır:
|
||||
- tags
|
||||
- docs refs
|
||||
- code refs
|
||||
- model/provider override'ları
|
||||
- ön koşullar
|
||||
- model/provider overrides
|
||||
- prerequisites
|
||||
- düz yazı bölümleri
|
||||
- amaç
|
||||
- notlar
|
||||
- hata ayıklama ipuçları
|
||||
- fenced YAML blokları
|
||||
- objective
|
||||
- notes
|
||||
- debugging hints
|
||||
- çitlenmiş YAML blokları
|
||||
- setup
|
||||
- steps
|
||||
- assertions
|
||||
- cleanup
|
||||
|
||||
Bu şu avantajları sağlar:
|
||||
Bu şunları sağlar:
|
||||
|
||||
- dev JSON'a göre daha iyi PR okunabilirliği
|
||||
- saf YAML'a göre daha zengin bağlam
|
||||
- katı ayrıştırma ve zod doğrulaması
|
||||
- yalnızca YAML'dan daha zengin bağlam
|
||||
- sıkı ayrıştırma ve zod doğrulaması
|
||||
|
||||
Ham JSON yalnızca ara oluşturulmuş biçim olarak kabul edilebilir.
|
||||
|
||||
## Önerilen Senaryo Dosyası Biçimi
|
||||
## Önerilen Senaryo Dosyası Şekli
|
||||
|
||||
Örnek:
|
||||
|
||||
@ -182,11 +187,11 @@ codeRefs:
|
||||
- src/gateway/chat-attachments.ts
|
||||
---
|
||||
|
||||
# Objective
|
||||
# Amaç
|
||||
|
||||
Verify generated media is reattached on the follow-up turn.
|
||||
Üretilen medyanın takip turunda yeniden eklenerek gönderildiğini doğrulayın.
|
||||
|
||||
# Setup
|
||||
# Kurulum
|
||||
|
||||
```yaml scenario.setup
|
||||
- action: config.patch
|
||||
@ -199,13 +204,13 @@ Verify generated media is reattached on the follow-up turn.
|
||||
key: agent:qa:image-roundtrip
|
||||
```
|
||||
|
||||
# Steps
|
||||
# Adımlar
|
||||
|
||||
```yaml scenario.steps
|
||||
- action: agent.send
|
||||
session: agent:qa:image-roundtrip
|
||||
message: |
|
||||
Image generation check: generate a QA lighthouse image and summarize it in one short sentence.
|
||||
Görüntü üretimi denetimi: bir QA deniz feneri görüntüsü üret ve bunu tek kısa cümlede özetle.
|
||||
- action: artifact.capture
|
||||
kind: generated-image
|
||||
promptSnippet: Image generation check
|
||||
@ -213,12 +218,12 @@ Verify generated media is reattached on the follow-up turn.
|
||||
- action: agent.send
|
||||
session: agent:qa:image-roundtrip
|
||||
message: |
|
||||
Roundtrip image inspection check: describe the generated lighthouse attachment in one short sentence.
|
||||
Gidiş-dönüş görüntü inceleme denetimi: üretilen deniz feneri ekini tek kısa cümlede açıkla.
|
||||
attachments:
|
||||
- fromArtifact: lighthouseImage
|
||||
```
|
||||
|
||||
# Expect
|
||||
# Beklenen
|
||||
|
||||
```yaml scenario.expect
|
||||
- assert: outbound.textIncludes
|
||||
@ -232,9 +237,9 @@ Verify generated media is reattached on the follow-up turn.
|
||||
```
|
||||
````
|
||||
|
||||
## DSL'nin Kapsaması Gereken Çalıştırıcı Yetenekleri
|
||||
## DSL'nin Kapsaması Gereken Runner Yetenekleri
|
||||
|
||||
Mevcut suite'e göre, genel çalıştırıcı istem yürütmeden daha fazlasına ihtiyaç duyar.
|
||||
Mevcut suite'e göre, genel runner yalnızca istem yürütmeden fazlasına ihtiyaç duyuyor.
|
||||
|
||||
### Ortam ve kurulum eylemleri
|
||||
|
||||
@ -245,7 +250,7 @@ Mevcut suite'e göre, genel çalıştırıcı istem yürütmeden daha fazlasına
|
||||
- `thread.create`
|
||||
- `workspace.writeSkill`
|
||||
|
||||
### Ajan turu eylemleri
|
||||
### Agent turu eylemleri
|
||||
|
||||
- `agent.send`
|
||||
- `agent.wait`
|
||||
@ -261,7 +266,7 @@ Mevcut suite'e göre, genel çalıştırıcı istem yürütmeden daha fazlasına
|
||||
- `tools.effective`
|
||||
- `skills.status`
|
||||
|
||||
### Dosya ve artifact eylemleri
|
||||
### Dosya ve artefakt eylemleri
|
||||
|
||||
- `file.write`
|
||||
- `file.read`
|
||||
@ -300,66 +305,66 @@ Mevcut suite'e göre, genel çalıştırıcı istem yürütmeden daha fazlasına
|
||||
- `cron.managedPresent`
|
||||
- `artifact.exists`
|
||||
|
||||
## Değişkenler ve Artifact Referansları
|
||||
## Değişkenler ve Artefakt Başvuruları
|
||||
|
||||
DSL kaydedilmiş çıktıları ve daha sonra yapılan referansları desteklemelidir.
|
||||
DSL, kaydedilmiş çıktıları ve daha sonra yapılacak başvuruları desteklemelidir.
|
||||
|
||||
Mevcut suite'ten örnekler:
|
||||
|
||||
- bir iş parçacığı oluştur, sonra `threadId` değerini yeniden kullan
|
||||
- bir oturum oluştur, sonra `sessionKey` değerini yeniden kullan
|
||||
- bir görsel oluştur, sonra dosyayı sonraki turda ek olarak iliştir
|
||||
- bir uyandırma işaretçisi dizesi oluştur, sonra bunun daha sonra göründüğünü doğrula
|
||||
- bir ileti dizisi oluşturup sonra `threadId` yeniden kullanmak
|
||||
- bir oturum oluşturup sonra `sessionKey` yeniden kullanmak
|
||||
- bir görüntü üretip sonraki turda dosyayı eklemek
|
||||
- bir uyandırma işaretçisi dizesi üretip bunun daha sonra göründüğünü doğrulamak
|
||||
|
||||
Gerekli yetenekler:
|
||||
|
||||
- `saveAs`
|
||||
- `${vars.name}`
|
||||
- `${artifacts.name}`
|
||||
- yollar, oturum anahtarları, iş parçacığı kimlikleri, işaretçiler, araç çıktıları için türlendirilmiş referanslar
|
||||
- yollar, oturum anahtarları, ileti dizisi kimlikleri, işaretçiler, araç çıktıları için türlenmiş başvurular
|
||||
|
||||
Değişken desteği olmadan harness, senaryo mantığını TypeScript'e geri sızdırmaya devam eder.
|
||||
Değişken desteği olmadan harness, senaryo mantığını tekrar TypeScript'e sızdırmaya devam edecektir.
|
||||
|
||||
## Kaçış Kapısı Olarak Nelerin Kalması Gerekir
|
||||
## Kaçış Kapıları Olarak Neler Kalmalı
|
||||
|
||||
Tamamen saf bildirimsel bir çalıştırıcı 1. aşamada gerçekçi değildir.
|
||||
Tamamen saf bildirimsel bir runner 1. aşamada gerçekçi değil.
|
||||
|
||||
Bazı senaryolar doğası gereği yoğun orkestrasyon gerektirir:
|
||||
Bazı senaryolar doğası gereği ağır orkestrasyon gerektirir:
|
||||
|
||||
- bellek rüya görme taraması
|
||||
- bellek dreaming sweep
|
||||
- config apply yeniden başlatma uyandırması
|
||||
- config yeniden başlatma yetenek çevirme
|
||||
- zaman damgası/yola göre oluşturulmuş görsel artifact çözümleme
|
||||
- zaman damgası/yol ile oluşturulmuş görüntü artefaktı çözümlemesi
|
||||
- discovery-report değerlendirmesi
|
||||
|
||||
Bunlar şimdilik açık özel işleyiciler kullanmalıdır.
|
||||
Bunlar şimdilik açık özel handler'lar kullanmalıdır.
|
||||
|
||||
Önerilen kural:
|
||||
|
||||
- %85-%90 bildirime dayalı
|
||||
- geri kalan zor kısım için açık `customHandler` adımları
|
||||
- yalnızca adlandırılmış ve belgelenmiş özel işleyiciler
|
||||
- %85-90 bildirimsel
|
||||
- zor kalan bölüm için açık `customHandler` adımları
|
||||
- yalnızca adlandırılmış ve belgelenmiş özel handler'lar
|
||||
- senaryo dosyasında anonim satır içi kod yok
|
||||
|
||||
Bu, ilerlemeye izin verirken genel motoru temiz tutar.
|
||||
Bu, yine de ilerlemeye izin verirken genel motoru temiz tutar.
|
||||
|
||||
## Mimari Değişiklik
|
||||
|
||||
### Mevcut
|
||||
### Mevcut Durum
|
||||
|
||||
Senaryo markdown'u zaten şu alanlar için doğruluk kaynağıdır:
|
||||
|
||||
- suite yürütmesi
|
||||
- çalışma alanı bootstrap dosyaları
|
||||
- workspace bootstrap dosyaları
|
||||
- QA Lab UI senaryo kataloğu
|
||||
- rapor meta verileri
|
||||
- keşif istemleri
|
||||
- discovery istemleri
|
||||
|
||||
Oluşturulan uyumluluk:
|
||||
Üretilmiş uyumluluk:
|
||||
|
||||
- tohumlanmış çalışma alanı hâlâ `QA_KICKOFF_TASK.md` içeriyor
|
||||
- tohumlanmış çalışma alanı hâlâ `QA_SCENARIO_PLAN.md` içeriyor
|
||||
- tohumlanmış çalışma alanı artık ayrıca `QA_SCENARIOS.md` içeriyor
|
||||
- seed edilmiş workspace hâlâ `QA_KICKOFF_TASK.md` içeriyor
|
||||
- seed edilmiş workspace hâlâ `QA_SCENARIO_PLAN.md` içeriyor
|
||||
- seed edilmiş workspace artık ayrıca `QA_SCENARIOS.md` de içeriyor
|
||||
|
||||
## Yeniden Düzenleme Planı
|
||||
|
||||
@ -367,69 +372,70 @@ Oluşturulan uyumluluk:
|
||||
|
||||
Tamamlandı.
|
||||
|
||||
- `qa/scenarios.md` eklendi
|
||||
- `qa/scenarios/index.md` eklendi
|
||||
- senaryolar `qa/scenarios/*.md` içine bölündü
|
||||
- adlandırılmış markdown YAML paket içeriği için ayrıştırıcı eklendi
|
||||
- zod ile doğrulandı
|
||||
- tüketiciler ayrıştırılmış pakete geçirildi
|
||||
- repo düzeyi `qa/seed-scenarios.json` ve `qa/QA_KICKOFF_TASK.md` kaldırıldı
|
||||
- repo düzeyindeki `qa/seed-scenarios.json` ve `qa/QA_KICKOFF_TASK.md` kaldırıldı
|
||||
|
||||
### Aşama 2: genel motor
|
||||
|
||||
- `extensions/qa-lab/src/suite.ts` dosyasını şunlara ayır:
|
||||
- yükleyici
|
||||
- motor
|
||||
- eylem kayıt defteri
|
||||
- doğrulama kayıt defteri
|
||||
- özel işleyiciler
|
||||
- mevcut yardımcı işlevleri motor işlemleri olarak tut
|
||||
- `extensions/qa-lab/src/suite.ts` şu parçalara bölünecek:
|
||||
- loader
|
||||
- engine
|
||||
- action registry
|
||||
- assertion registry
|
||||
- custom handlers
|
||||
- mevcut yardımcı işlevler motor işlemleri olarak korunacak
|
||||
|
||||
Teslim edilecek çıktı:
|
||||
Teslimat:
|
||||
|
||||
- motor, basit bildirimsel senaryoları yürütür
|
||||
- motor basit bildirimsel senaryoları yürütür
|
||||
|
||||
Çoğunlukla istem + bekleme + doğrulamadan oluşan senaryolarla başlayın:
|
||||
|
||||
- iş parçacıklı takip
|
||||
- ekten görsel anlama
|
||||
- skill görünürlüğü ve çağrılması
|
||||
- ileti dizili takip
|
||||
- ekten görüntü anlama
|
||||
- skill görünürlüğü ve çağrımı
|
||||
- kanal taban çizgisi
|
||||
|
||||
Teslim edilecek çıktı:
|
||||
Teslimat:
|
||||
|
||||
- ilk gerçek markdown tanımlı senaryolar genel motor üzerinden yayımlanıyor
|
||||
- ilk gerçek markdown tanımlı senaryoların genel motor üzerinden gönderimi
|
||||
|
||||
### Aşama 4: orta düzey senaryoları taşı
|
||||
### Aşama 4: orta zorluktaki senaryoları taşıma
|
||||
|
||||
- görsel oluşturma gidiş-dönüş
|
||||
- görüntü üretimi gidiş-dönüşü
|
||||
- kanal bağlamında bellek araçları
|
||||
- oturum belleği sıralaması
|
||||
- alt ajan devri
|
||||
- alt ajan fanout sentezi
|
||||
- subagent devri
|
||||
- subagent fanout sentezi
|
||||
|
||||
Teslim edilecek çıktı:
|
||||
Teslimat:
|
||||
|
||||
- değişkenler, artifact'ler, araç doğrulamaları, request-log doğrulamaları kanıtlanmış olur
|
||||
- değişkenler, artefaktlar, araç doğrulamaları, request-log doğrulamalarının kanıtlanması
|
||||
|
||||
### Aşama 5: zor senaryoları özel işleyicilerde tut
|
||||
### Aşama 5: zor senaryoları özel handler'larda tutma
|
||||
|
||||
- bellek rüya görme taraması
|
||||
- bellek dreaming sweep
|
||||
- config apply yeniden başlatma uyandırması
|
||||
- config yeniden başlatma yetenek çevirme
|
||||
- çalışma zamanı envanter kayması
|
||||
- çalışma zamanı envanter sapması
|
||||
|
||||
Teslim edilecek çıktı:
|
||||
Teslimat:
|
||||
|
||||
- aynı yazım biçimi, ancak gerektiğinde açık özel adım bloklarıyla
|
||||
- aynı yazım biçimi, ancak gerektiğinde açık custom-step bloklarıyla
|
||||
|
||||
### Aşama 6: sabit kodlanmış senaryo haritasını sil
|
||||
### Aşama 6: sabit kodlu senaryo eşlemesini silme
|
||||
|
||||
Paket kapsamı yeterince iyi olduğunda:
|
||||
|
||||
- `extensions/qa-lab/src/suite.ts` içindeki senaryoya özgü TypeScript dallanmasının çoğunu kaldır
|
||||
- `extensions/qa-lab/src/suite.ts` içindeki senaryoya özgü TypeScript dallanmasının büyük bölümünü kaldırın
|
||||
|
||||
## Sahte Slack / Zengin Medya Desteği
|
||||
|
||||
Mevcut QA veri yolu önce metne odaklıdır.
|
||||
Mevcut QA bus öncelikle metin odaklıdır.
|
||||
|
||||
İlgili dosyalar:
|
||||
|
||||
@ -439,17 +445,17 @@ Mevcut QA veri yolu önce metne odaklıdır.
|
||||
- `extensions/qa-lab/src/bus-server.ts`
|
||||
- `extensions/qa-lab/web/src/ui-render.ts`
|
||||
|
||||
Bugün QA veri yolu şunları destekler:
|
||||
Bugün QA bus şunları destekler:
|
||||
|
||||
- metin
|
||||
- tepkiler
|
||||
- iş parçacıkları
|
||||
- ileti dizileri
|
||||
|
||||
Henüz satır içi medya eklerini modellemiyor.
|
||||
|
||||
### Gerekli taşıma sözleşmesi
|
||||
|
||||
Genel bir QA veri yolu ek modeli ekleyin:
|
||||
Genel bir QA bus eki modeli ekleyin:
|
||||
|
||||
```ts
|
||||
type QaBusAttachment = {
|
||||
@ -468,67 +474,67 @@ type QaBusAttachment = {
|
||||
};
|
||||
```
|
||||
|
||||
Sonra `attachments?: QaBusAttachment[]` alanını şunlara ekleyin:
|
||||
Ardından `attachments?: QaBusAttachment[]` ekleyin:
|
||||
|
||||
- `QaBusMessage`
|
||||
- `QaBusInboundMessageInput`
|
||||
- `QaBusOutboundMessageInput`
|
||||
|
||||
### Neden önce genel
|
||||
### Neden önce genel model
|
||||
|
||||
Yalnızca Slack'e özgü bir medya modeli oluşturmayın.
|
||||
Yalnızca Slack'e özel bir medya modeli oluşturmayın.
|
||||
|
||||
Bunun yerine:
|
||||
|
||||
- tek bir genel QA taşıma modeli
|
||||
- bunun üzerinde birden çok işleyici
|
||||
- bunun üzerinde birden çok renderer
|
||||
- mevcut QA Lab sohbeti
|
||||
- gelecekteki sahte Slack web
|
||||
- diğer olası sahte taşıma görünümleri
|
||||
- gelecekteki sahte Slack web arayüzü
|
||||
- diğer sahte taşıma görünümleri
|
||||
|
||||
Bu yaklaşım yinelenen mantığı önler ve medya senaryolarının taşıma bağımsız kalmasını sağlar.
|
||||
Bu, yinelenen mantığı önler ve medya senaryolarının taşımadan bağımsız kalmasını sağlar.
|
||||
|
||||
### Gereken UI çalışması
|
||||
### Gerekli UI çalışması
|
||||
|
||||
QA UI'ı şunları işleyebilecek şekilde güncelleyin:
|
||||
QA UI'yi şu öğeleri işleyecek şekilde güncelleyin:
|
||||
|
||||
- satır içi görsel önizlemesi
|
||||
- satır içi görüntü önizlemesi
|
||||
- satır içi ses oynatıcı
|
||||
- satır içi video oynatıcı
|
||||
- dosya eki çipi
|
||||
- dosya eki chip'i
|
||||
|
||||
Mevcut UI zaten iş parçacıklarını ve tepkileri işleyebiliyor, bu nedenle ek işleme aynı mesaj kartı modeli üzerine katman olarak eklenmelidir.
|
||||
Mevcut UI zaten ileti dizilerini ve tepkileri işleyebiliyor, bu yüzden ek işleme aynı mesaj kartı modeli üzerine katmanlanabilmelidir.
|
||||
|
||||
### Medya taşımasıyla etkinleşen senaryo çalışması
|
||||
|
||||
Ekler QA veri yolundan akmaya başladığında daha zengin sahte sohbet senaryoları ekleyebiliriz:
|
||||
Ekler QA bus üzerinden akmaya başladığında, daha zengin sahte sohbet senaryoları ekleyebiliriz:
|
||||
|
||||
- sahte Slack'te satır içi görsel yanıtı
|
||||
- sahte Slack'te satır içi görüntü yanıtı
|
||||
- ses eki anlama
|
||||
- video eki anlama
|
||||
- karışık ek sıralaması
|
||||
- medyayı koruyan iş parçacığı yanıtı
|
||||
- medyası korunmuş ileti dizisi yanıtı
|
||||
|
||||
## Öneri
|
||||
|
||||
Sonraki uygulama parçası şu olmalıdır:
|
||||
Bir sonraki uygulama parçası şu olmalı:
|
||||
|
||||
1. markdown senaryo yükleyicisi + zod şeması ekle
|
||||
2. mevcut kataloğu markdown'dan oluştur
|
||||
2. mevcut kataloğu markdown'dan üret
|
||||
3. önce birkaç basit senaryoyu taşı
|
||||
4. genel QA veri yolu ek desteği ekle
|
||||
5. QA UI'da satır içi görseli işle
|
||||
6. sonra ses ve videoya genişlet
|
||||
4. genel QA bus ek desteği ekle
|
||||
5. QA UI içinde satır içi görüntüyü işle
|
||||
6. ardından ses ve videoya genişlet
|
||||
|
||||
Bu, her iki hedefi de kanıtlayan en küçük yoldur:
|
||||
|
||||
- genel markdown tanımlı QA
|
||||
- genel markdown ile tanımlanmış QA
|
||||
- daha zengin sahte mesajlaşma yüzeyleri
|
||||
|
||||
## Açık Sorular
|
||||
|
||||
- senaryo dosyalarının değişken enterpolasyonu ile gömülü markdown istem şablonlarına izin verip vermemesi gerektiği
|
||||
- setup/cleanup bölümlerinin adlandırılmış bölümler mi yoksa yalnızca sıralı eylem listeleri mi olması gerektiği
|
||||
- artifact referanslarının şemada güçlü biçimde türlendirilmiş mi yoksa dize tabanlı mı olması gerektiği
|
||||
- özel işleyicilerin tek bir kayıt defterinde mi yoksa yüzey başına kayıt defterlerinde mi yaşaması gerektiği
|
||||
- oluşturulan JSON uyumluluk dosyasının geçiş sırasında sürüm kontrolünde tutulmaya devam edip etmemesi gerektiği
|
||||
- senaryo dosyalarının değişken interpolasyonlu gömülü markdown istem şablonlarına izin verip vermemesi
|
||||
- setup/cleanup'ın adlandırılmış bölümler mi yoksa yalnızca sıralı eylem listeleri mi olması gerektiği
|
||||
- artefakt başvurularının şemada güçlü türlenmiş mi yoksa dize tabanlı mı olması gerektiği
|
||||
- özel handler'ların tek bir registry içinde mi yoksa surface başına registry'lerde mi yaşaması gerektiği
|
||||
- oluşturulmuş JSON uyumluluk dosyasının geçiş sırasında checked in kalıp kalmaması gerektiği
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Sohbet komutlarını kullanıyor veya yapılandırıyorsunuz
|
||||
- Komut yönlendirmesini veya izinleri hata ayıklıyorsunuz
|
||||
summary: 'Slash komutları: metin ve yerel, yapılandırma ve desteklenen komutlar'
|
||||
- Sohbet komutlarını kullanırken veya yapılandırırken
|
||||
- Komut yönlendirmesi veya izinlerinde hata ayıklarken
|
||||
summary: 'Slash komutları: metin ile yerel arasındaki fark, yapılandırma ve desteklenen komutlar'
|
||||
title: Slash Komutları
|
||||
x-i18n:
|
||||
generated_at: "2026-04-06T03:14:45Z"
|
||||
generated_at: "2026-04-08T06:02:12Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 417e35b9ddd87f25f6c019111b55b741046ea11039dde89210948185ced5696d
|
||||
source_hash: 4a7ee7f1a8012058279b9e632889b291d4e659e4ec81209ca8978afbb9ad4b96
|
||||
source_path: tools/slash-commands.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -16,21 +16,21 @@ x-i18n:
|
||||
# Slash komutları
|
||||
|
||||
Komutlar Gateway tarafından işlenir. Çoğu komut, `/` ile başlayan **bağımsız** bir mesaj olarak gönderilmelidir.
|
||||
Yalnızca host üzerinde çalışan bash sohbet komutu `! <cmd>` kullanır (`/bash <cmd>` bir takma addır).
|
||||
Yalnızca ana makineye özel bash sohbet komutu `! <cmd>` kullanır (`/bash <cmd>` ise bunun diğer adıdır).
|
||||
|
||||
Birbiriyle ilişkili iki sistem vardır:
|
||||
|
||||
- **Komutlar**: bağımsız `/...` mesajları.
|
||||
- **Yönergeler**: `/think`, `/fast`, `/verbose`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`.
|
||||
- Yönergeler, model mesajı görmeden önce ondan ayıklanır.
|
||||
- Normal sohbet mesajlarında (yalnızca yönergelerden oluşmayan), “satır içi ipuçları” olarak değerlendirilir ve oturum ayarlarını **kalıcı hale getirmez**.
|
||||
- Yalnızca yönerge içeren mesajlarda (mesaj yalnızca yönergeler içeriyorsa), oturuma kalıcı olarak kaydedilir ve bir onay yanıtı döndürür.
|
||||
- Yönergeler yalnızca **yetkili göndericilere** uygulanır. `commands.allowFrom` ayarlanmışsa, kullanılan tek
|
||||
izin listesi odur; aksi halde yetkilendirme channel izin listeleri/eşleştirme ile `commands.useAccessGroups` üzerinden gelir.
|
||||
Yetkisiz göndericiler, yönergelerin düz metin olarak ele alındığını görür.
|
||||
- Yönergeler, model mesajı görmeden önce mesajdan çıkarılır.
|
||||
- Normal sohbet mesajlarında (yalnızca yönerge olmayanlarda), “satır içi ipuçları” olarak değerlendirilir ve oturum ayarlarını **kalıcı olarak** değiştirmez.
|
||||
- Yalnızca yönerge içeren mesajlarda (mesaj yalnızca yönergeler içeriyorsa), oturumda kalıcı olur ve bir onay yanıtı verir.
|
||||
- Yönergeler yalnızca **yetkili göndericiler** için uygulanır. `commands.allowFrom` ayarlanmışsa, kullanılan tek
|
||||
izin listesi odur; aksi halde yetkilendirme kanal izin listeleri/eşleştirme ile `commands.useAccessGroups` üzerinden gelir.
|
||||
Yetkisiz göndericilerde yönergeler düz metin olarak değerlendirilir.
|
||||
|
||||
Ayrıca birkaç **satır içi kısayol** da vardır (yalnızca izin listesinde/yetkili göndericiler için): `/help`, `/commands`, `/status`, `/whoami` (`/id`).
|
||||
Bunlar hemen çalışır, model kalan metni görmeden önce ayıklanır ve kalan metin normal akıştan devam eder.
|
||||
Buna ek olarak birkaç **satır içi kısayol** da vardır (yalnızca izinli/yetkili göndericiler): `/help`, `/commands`, `/status`, `/whoami` (`/id`).
|
||||
Bunlar hemen çalışır, model mesajı görmeden önce çıkarılır ve kalan metin normal akıştan devam eder.
|
||||
|
||||
## Yapılandırma
|
||||
|
||||
@ -46,7 +46,10 @@ Bunlar hemen çalışır, model kalan metni görmeden önce ayıklanır ve kalan
|
||||
mcp: false,
|
||||
plugins: false,
|
||||
debug: false,
|
||||
restart: false,
|
||||
restart: true,
|
||||
ownerAllowFrom: ["discord:123456789012345678"],
|
||||
ownerDisplay: "raw",
|
||||
ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
|
||||
allowFrom: {
|
||||
"*": ["user1"],
|
||||
discord: ["user:123"],
|
||||
@ -56,141 +59,179 @@ Bunlar hemen çalışır, model kalan metni görmeden önce ayıklanır ve kalan
|
||||
}
|
||||
```
|
||||
|
||||
- `commands.text` (varsayılan `true`), sohbet mesajlarında `/...` ayrıştırmasını etkinleştirir.
|
||||
- Yerel komutları olmayan yüzeylerde (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams), bunu `false` yapsanız bile metin komutları çalışmaya devam eder.
|
||||
- `commands.native` (varsayılan `"auto"`), yerel komutları kaydeder.
|
||||
- Otomatik: Discord/Telegram için açık; Slack için kapalıdır (slash komutlarını ekleyene kadar); yerel desteği olmayan sağlayıcılarda yok sayılır.
|
||||
- Sağlayıcı bazında geçersiz kılmak için `channels.discord.commands.native`, `channels.telegram.commands.native` veya `channels.slack.commands.native` ayarlayın (bool veya `"auto"`).
|
||||
- `commands.text` (varsayılan `true`) sohbet mesajlarında `/...` ayrıştırmayı etkinleştirir.
|
||||
- Yerel komutları olmayan yüzeylerde (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams), bunu `false` olarak ayarlasanız bile metin komutları çalışmaya devam eder.
|
||||
- `commands.native` (varsayılan `"auto"`) yerel komutları kaydeder.
|
||||
- Otomatik: Discord/Telegram için açık; Slack için kapalıdır (slash komutlarını siz ekleyene kadar); yerel destek olmayan sağlayıcılarda yok sayılır.
|
||||
- Sağlayıcı bazında geçersiz kılmak için `channels.discord.commands.native`, `channels.telegram.commands.native` veya `channels.slack.commands.native` ayarını kullanın (bool veya `"auto"`).
|
||||
- `false`, başlangıçta Discord/Telegram üzerinde daha önce kaydedilmiş komutları temizler. Slack komutları Slack uygulamasında yönetilir ve otomatik olarak kaldırılmaz.
|
||||
- `commands.nativeSkills` (varsayılan `"auto"`), desteklendiğinde **skill** komutlarını yerel olarak kaydeder.
|
||||
- Otomatik: Discord/Telegram için açık; Slack için kapalıdır (Slack, skill başına bir slash komutu oluşturmayı gerektirir).
|
||||
- Sağlayıcı bazında geçersiz kılmak için `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` veya `channels.slack.commands.nativeSkills` ayarlayın (bool veya `"auto"`).
|
||||
- `commands.bash` (varsayılan `false`), `! <cmd>` ile host shell komutlarının çalıştırılmasını etkinleştirir (`/bash <cmd>` bir takma addır; `tools.elevated` izin listeleri gerekir).
|
||||
- `commands.bashForegroundMs` (varsayılan `2000`), bash’in arka plan kipine geçmeden önce ne kadar bekleyeceğini denetler (`0`, hemen arka plana atar).
|
||||
- `commands.config` (varsayılan `false`), `/config` komutunu etkinleştirir (`openclaw.json` okur/yazar).
|
||||
- `commands.mcp` (varsayılan `false`), `/mcp` komutunu etkinleştirir (`mcp.servers` altındaki OpenClaw tarafından yönetilen MCP config’ini okur/yazar).
|
||||
- `commands.plugins` (varsayılan `false`), `/plugins` komutunu etkinleştirir (plugin keşfi/durumu artı kurulum + etkinleştirme/devre dışı bırakma denetimleri).
|
||||
- `commands.debug` (varsayılan `false`), `/debug` komutunu etkinleştirir (yalnızca çalışma zamanı geçersiz kılmaları).
|
||||
- `commands.allowFrom` (isteğe bağlı), komut yetkilendirmesi için sağlayıcı başına bir izin listesi ayarlar. Yapılandırıldığında, komutlar ve yönergeler için
|
||||
tek yetkilendirme kaynağı bu olur (channel izin listeleri/eşleştirme ve `commands.useAccessGroups`
|
||||
yok sayılır). Global varsayılan için `"*"` kullanın; sağlayıcıya özgü anahtarlar bunu geçersiz kılar.
|
||||
- `commands.useAccessGroups` (varsayılan `true`), `commands.allowFrom` ayarlanmamışsa komutlar için izin listelerini/ilkeleri uygular.
|
||||
- `commands.nativeSkills` (varsayılan `"auto"`) desteklendiğinde **skill** komutlarını yerel olarak kaydeder.
|
||||
- Otomatik: Discord/Telegram için açık; Slack için kapalıdır (Slack her skill için bir slash komutu oluşturmayı gerektirir).
|
||||
- Sağlayıcı bazında geçersiz kılmak için `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` veya `channels.slack.commands.nativeSkills` ayarını kullanın (bool veya `"auto"`).
|
||||
- `commands.bash` (varsayılan `false`) `! <cmd>` ile ana makine kabuk komutlarını çalıştırmayı etkinleştirir (`/bash <cmd>` bunun diğer adıdır; `tools.elevated` izin listelerini gerektirir).
|
||||
- `commands.bashForegroundMs` (varsayılan `2000`) bash'in arka plan moduna geçmeden önce ne kadar bekleyeceğini kontrol eder (`0`, hemen arka plana alır).
|
||||
- `commands.config` (varsayılan `false`) `/config` komutunu etkinleştirir (`openclaw.json` okur/yazar).
|
||||
- `commands.mcp` (varsayılan `false`) `/mcp` komutunu etkinleştirir (OpenClaw tarafından yönetilen `mcp.servers` altındaki MCP yapılandırmasını okur/yazar).
|
||||
- `commands.plugins` (varsayılan `false`) `/plugins` komutunu etkinleştirir (plugin keşfi/durumu ile kurulum + etkinleştirme/devre dışı bırakma denetimleri).
|
||||
- `commands.debug` (varsayılan `false`) `/debug` komutunu etkinleştirir (yalnızca çalışma zamanı geçersiz kılmaları).
|
||||
- `commands.restart` (varsayılan `true`) `/restart` ile gateway yeniden başlatma araç eylemlerini etkinleştirir.
|
||||
- `commands.ownerAllowFrom` (isteğe bağlı), yalnızca sahip için olan komut/araç yüzeyleri adına açık sahip izin listesini ayarlar. Bu, `commands.allowFrom` listesinden ayrıdır.
|
||||
- `commands.ownerDisplay`, sahip kimliklerinin sistem isteminde nasıl görüneceğini kontrol eder: `raw` veya `hash`.
|
||||
- `commands.ownerDisplaySecret`, `commands.ownerDisplay="hash"` olduğunda kullanılan HMAC gizli anahtarını isteğe bağlı olarak ayarlar.
|
||||
- `commands.allowFrom` (isteğe bağlı), komut yetkilendirmesi için sağlayıcı bazlı bir izin listesi ayarlar. Yapılandırıldığında, komutlar ve yönergeler için
|
||||
tek yetkilendirme kaynağı budur (kanal izin listeleri/eşleştirme ve `commands.useAccessGroups`
|
||||
yok sayılır). Genel varsayılan için `"*"` kullanın; sağlayıcıya özel anahtarlar bunu geçersiz kılar.
|
||||
- `commands.useAccessGroups` (varsayılan `true`), `commands.allowFrom` ayarlı değilken komutlar için izin listelerini/ilkeleri uygular.
|
||||
|
||||
## Komut listesi
|
||||
|
||||
Metin + yerel (etkinleştirildiğinde):
|
||||
Geçerli gerçek kaynaklar:
|
||||
|
||||
- `/help`
|
||||
- `/commands`
|
||||
- `/tools [compact|verbose]` (geçerli agent’ın şu anda ne kullanabildiğini gösterir; `verbose` açıklamaları ekler)
|
||||
- `/skill <name> [input]` (bir skill’i adına göre çalıştır)
|
||||
- `/status` (geçerli durumu gösterir; mevcut model provider için kullanılabiliyorsa provider kullanım/kota bilgilerini içerir)
|
||||
- `/tasks` (geçerli oturum için arka plan görevlerini listeler; agent-local geri dönüş sayılarıyla etkin ve son görev ayrıntılarını gösterir)
|
||||
- `/allowlist` (izin listesi girdilerini listele/ekle/kaldır)
|
||||
- `/approve <id> <decision>` (exec onay istemlerini çözümler; kullanılabilir kararlar için bekleyen onay mesajını kullanın)
|
||||
- `/context [list|detail|json]` (“bağlam”ı açıklar; `detail`, dosya başına + araç başına + skill başına + sistem komutu boyutunu gösterir)
|
||||
- `/btw <question>` (gelecekteki oturum bağlamını değiştirmeden geçerli oturum hakkında geçici bir yan soru sorar; bkz. [/tools/btw](/tr/tools/btw))
|
||||
- `/export-session [path]` (takma ad: `/export`) (geçerli oturumu tam sistem komutuyla birlikte HTML olarak dışa aktarır)
|
||||
- `/whoami` (gönderici kimliğinizi gösterir; takma adı: `/id`)
|
||||
- `/session idle <duration|off>` (odaklanmış thread bağları için etkinliksizlik kaynaklı otomatik odak kaldırmayı yönetir)
|
||||
- `/session max-age <duration|off>` (odaklanmış thread bağları için kesin max-age kaynaklı otomatik odak kaldırmayı yönetir)
|
||||
- `/subagents list|kill|log|info|send|steer|spawn` (geçerli oturum için alt agent çalıştırmalarını incele, denetle veya başlat)
|
||||
- `/acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions` (ACP çalışma zamanı oturumlarını incele ve denetle)
|
||||
- `/agents` (bu oturum için thread’e bağlı agent’ları listeler)
|
||||
- `/focus <target>` (Discord: bu thread’i veya yeni bir thread’i bir oturum/alt agent hedefine bağla)
|
||||
- `/unfocus` (Discord: geçerli thread bağını kaldır)
|
||||
- `/kill <id|#|all>` (bu oturum için çalışan bir veya tüm alt agent’ları hemen durdurur; onay mesajı yoktur)
|
||||
- `/steer <id|#> <message>` (çalışan bir alt agent’ı hemen yönlendirir: mümkünse çalışma içinde, aksi halde mevcut işi durdurup yönlendirme mesajıyla yeniden başlatır)
|
||||
- `/tell <id|#> <message>` (`/steer` için takma ad)
|
||||
- `/config show|get|set|unset` (config’i diske kalıcı yazar, yalnızca sahip; `commands.config: true` gerektirir)
|
||||
- `/mcp show|get|set|unset` (OpenClaw MCP sunucu config’ini yönetir, yalnızca sahip; `commands.mcp: true` gerektirir)
|
||||
- `/plugins list|show|get|install|enable|disable` (keşfedilen plugin’leri incele, yenilerini kur ve etkinliği değiştir; yazma işlemleri yalnızca sahip içindir; `commands.plugins: true` gerektirir)
|
||||
- `/plugin`, `/plugins` için bir takma addır.
|
||||
- `/plugin install <spec>`, `openclaw plugins install` ile aynı plugin spec’lerini kabul eder: yerel yol/arşiv, npm paketi veya `clawhub:<pkg>`.
|
||||
- Etkinleştirme/devre dışı bırakma yazmaları yine de bir yeniden başlatma ipucuyla yanıt verir. Ön planda izlenen bir gateway’de OpenClaw bu yeniden başlatmayı yazımdan hemen sonra otomatik gerçekleştirebilir.
|
||||
- `/debug show|set|unset|reset` (yalnızca çalışma zamanı geçersiz kılmaları, yalnızca sahip; `commands.debug: true` gerektirir)
|
||||
- `/usage off|tokens|full|cost` (yanıt başına kullanım altbilgisi veya yerel maliyet özeti)
|
||||
- `/tts off|always|inbound|tagged|status|provider|limit|summary|audio` (TTS denetimi; bkz. [/tts](/tr/tools/tts))
|
||||
- Discord: yerel komut `/voice`’dur (Discord `/tts` komutunu ayırır); metin `/tts` yine de çalışır.
|
||||
- `/stop`
|
||||
- `/restart`
|
||||
- `/dock-telegram` (takma ad: `/dock_telegram`) (yanıtları Telegram’a geçir)
|
||||
- `/dock-discord` (takma ad: `/dock_discord`) (yanıtları Discord’a geçir)
|
||||
- `/dock-slack` (takma ad: `/dock_slack`) (yanıtları Slack’e geçir)
|
||||
- `/activation mention|always` (yalnızca gruplar)
|
||||
- `/send on|off|inherit` (yalnızca sahip)
|
||||
- `/reset` veya `/new [model]` (isteğe bağlı model ipucu; kalan metin aynen iletilir)
|
||||
- `/think <off|minimal|low|medium|high|xhigh>` (modele/sağlayıcıya göre dinamik seçenekler; takma adlar: `/thinking`, `/t`)
|
||||
- `/fast status|on|off` (argümanı atlamak, geçerli etkin fast-mode durumunu gösterir)
|
||||
- `/verbose on|full|off` (takma adı: `/v`)
|
||||
- `/reasoning on|off|stream` (takma adı: `/reason`; açıkken `Reasoning:` önekli ayrı bir mesaj gönderir; `stream` = yalnızca Telegram taslağı)
|
||||
- `/elevated on|off|ask|full` (takma adı: `/elev`; `full`, exec onaylarını atlar)
|
||||
- `/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>` (geçerli durumu görmek için `/exec` gönderin)
|
||||
- `/model <name>` (takma adı: `/models`; veya `agents.defaults.models.*.alias` içindeki `/<alias>`)
|
||||
- `/queue <mode>` (artı `debounce:2s cap:25 drop:summarize` gibi seçenekler; mevcut ayarları görmek için `/queue` gönderin)
|
||||
- `/bash <command>` (yalnızca host; `! <command>` için takma ad; `commands.bash: true` + `tools.elevated` izin listeleri gerekir)
|
||||
- `/dreaming [on|off|status|help]` (global dreaming’i aç/kapat veya durumu göster; bkz. [Dreaming](/concepts/dreaming))
|
||||
- çekirdek yerleşik komutlar `src/auto-reply/commands-registry.shared.ts` içinden gelir
|
||||
- üretilmiş dock komutları `src/auto-reply/commands-registry.data.ts` içinden gelir
|
||||
- plugin komutları plugin `registerCommand()` çağrılarından gelir
|
||||
- gateway'inizde fiili kullanılabilirlik yine de yapılandırma bayraklarına, kanal yüzeyine ve kurulu/etkin plugin'lere bağlıdır
|
||||
|
||||
Yalnızca metin:
|
||||
### Çekirdek yerleşik komutlar
|
||||
|
||||
- `/compact [instructions]` (bkz. [/concepts/compaction](/tr/concepts/compaction))
|
||||
- `! <command>` (yalnızca host; aynı anda bir tane; uzun işler için `!poll` + `!stop` kullanın)
|
||||
- `!poll` (çıktıyı / durumu kontrol eder; isteğe bağlı `sessionId` kabul eder; `/bash poll` da çalışır)
|
||||
- `!stop` (çalışan bash işini durdurur; isteğe bağlı `sessionId` kabul eder; `/bash stop` da çalışır)
|
||||
Bugün kullanılabilen yerleşik komutlar:
|
||||
|
||||
- `/new [model]` yeni bir oturum başlatır; `/reset` sıfırlama diğer adıdır.
|
||||
- `/compact [instructions]` oturum bağlamını sıkıştırır. Bkz. [/concepts/compaction](/tr/concepts/compaction).
|
||||
- `/stop` geçerli çalıştırmayı iptal eder.
|
||||
- `/session idle <duration|off>` ve `/session max-age <duration|off>` iş parçacığına bağlanma süresinin dolmasını yönetir.
|
||||
- `/think <off|minimal|low|medium|high|xhigh>` düşünme düzeyini ayarlar. Diğer adlar: `/thinking`, `/t`.
|
||||
- `/verbose on|off|full` ayrıntılı çıktıyı açar/kapatır. Diğer adı: `/v`.
|
||||
- `/fast [status|on|off]` hızlı modu gösterir veya ayarlar.
|
||||
- `/reasoning [on|off|stream]` muhakeme görünürlüğünü açar/kapatır. Diğer adı: `/reason`.
|
||||
- `/elevated [on|off|ask|full]` yükseltilmiş modu açar/kapatır. Diğer adı: `/elev`.
|
||||
- `/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>` exec varsayılanlarını gösterir veya ayarlar.
|
||||
- `/model [name|#|status]` modeli gösterir veya ayarlar.
|
||||
- `/models [provider] [page] [limit=<n>|size=<n>|all]` sağlayıcıları veya bir sağlayıcıya ait modelleri listeler.
|
||||
- `/queue <mode>` kuyruk davranışını yönetir (`steer`, `interrupt`, `followup`, `collect`, `steer-backlog`) ve `debounce:2s cap:25 drop:summarize` gibi seçenekleri destekler.
|
||||
- `/help` kısa yardım özetini gösterir.
|
||||
- `/commands` üretilmiş komut kataloğunu gösterir.
|
||||
- `/tools [compact|verbose]` geçerli ajanın şu anda neleri kullanabildiğini gösterir.
|
||||
- `/status` çalışma zamanı durumunu gösterir; varsa sağlayıcı kullanımı/kotası da dahil edilir.
|
||||
- `/tasks` geçerli oturum için etkin/son arka plan görevlerini listeler.
|
||||
- `/context [list|detail|json]` bağlamın nasıl oluşturulduğunu açıklar.
|
||||
- `/export-session [path]` geçerli oturumu HTML olarak dışa aktarır. Diğer adı: `/export`.
|
||||
- `/whoami` gönderici kimliğinizi gösterir. Diğer adı: `/id`.
|
||||
- `/skill <name> [input]` adıyla bir skill çalıştırır.
|
||||
- `/allowlist [list|add|remove] ...` izin listesi girdilerini yönetir. Yalnızca metin.
|
||||
- `/approve <id> <decision>` exec onay istemlerini çözümler.
|
||||
- `/btw <question>` gelecekteki oturum bağlamını değiştirmeden yan bir soru sorar. Bkz. [/tools/btw](/tr/tools/btw).
|
||||
- `/subagents list|kill|log|info|send|steer|spawn` geçerli oturum için alt ajan çalıştırmalarını yönetir.
|
||||
- `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` ACP oturumlarını ve çalışma zamanı seçeneklerini yönetir.
|
||||
- `/focus <target>` geçerli Discord iş parçacığını veya Telegram konusunu/sohbetini bir oturum hedefine bağlar.
|
||||
- `/unfocus` geçerli bağlamayı kaldırır.
|
||||
- `/agents` geçerli oturum için iş parçacığına bağlı ajanları listeler.
|
||||
- `/kill <id|#|all>` çalışan bir veya tüm alt ajanları iptal eder.
|
||||
- `/steer <id|#> <message>` çalışan bir alt ajana yönlendirme gönderir. Diğer adı: `/tell`.
|
||||
- `/config show|get|set|unset` `openclaw.json` okur veya yazar. Yalnızca sahip. `commands.config: true` gerektirir.
|
||||
- `/mcp show|get|set|unset` `mcp.servers` altındaki OpenClaw tarafından yönetilen MCP sunucu yapılandırmasını okur veya yazar. Yalnızca sahip. `commands.mcp: true` gerektirir.
|
||||
- `/plugins list|inspect|show|get|install|enable|disable` plugin durumunu inceler veya değiştirir. `/plugin` bunun diğer adıdır. Yazma işlemleri yalnızca sahip içindir. `commands.plugins: true` gerektirir.
|
||||
- `/debug show|set|unset|reset` yalnızca çalışma zamanı yapılandırma geçersiz kılmalarını yönetir. Yalnızca sahip. `commands.debug: true` gerektirir.
|
||||
- `/usage off|tokens|full|cost` yanıt başına kullanım alt bilgisini denetler veya yerel bir maliyet özeti yazdırır.
|
||||
- `/tts on|off|status|provider|limit|summary|audio|help` TTS'yi denetler. Bkz. [/tools/tts](/tr/tools/tts).
|
||||
- `/restart` etkinse OpenClaw'ı yeniden başlatır. Varsayılan: etkin; devre dışı bırakmak için `commands.restart: false` ayarlayın.
|
||||
- `/activation mention|always` grup etkinleştirme modunu ayarlar.
|
||||
- `/send on|off|inherit` gönderme ilkesini ayarlar. Yalnızca sahip.
|
||||
- `/bash <command>` bir ana makine kabuk komutunu çalıştırır. Yalnızca metin. Diğer adı: `! <command>`. `commands.bash: true` ve ayrıca `tools.elevated` izin listelerini gerektirir.
|
||||
- `!poll [sessionId]` bir arka plan bash işini denetler.
|
||||
- `!stop [sessionId]` bir arka plan bash işini durdurur.
|
||||
|
||||
### Üretilmiş dock komutları
|
||||
|
||||
Dock komutları, yerel komut desteğine sahip kanal plugin'lerinden üretilir. Geçerli paketlenmiş küme:
|
||||
|
||||
- `/dock-discord` (diğer adı: `/dock_discord`)
|
||||
- `/dock-mattermost` (diğer adı: `/dock_mattermost`)
|
||||
- `/dock-slack` (diğer adı: `/dock_slack`)
|
||||
- `/dock-telegram` (diğer adı: `/dock_telegram`)
|
||||
|
||||
### Paketlenmiş plugin komutları
|
||||
|
||||
Paketlenmiş plugin'ler daha fazla slash komutu ekleyebilir. Bu repodaki geçerli paketlenmiş komutlar:
|
||||
|
||||
- `/dreaming [on|off|status|help]` bellek rüyalaştırmayı açar/kapatır. Bkz. [Dreaming](/tr/concepts/dreaming).
|
||||
- `/pair [qr|status|pending|approve|cleanup|notify]` cihaz eşleştirme/kurulum akışını yönetir. Bkz. [Pairing](/tr/channels/pairing).
|
||||
- `/phone status|arm <camera|screen|writes|all> [duration]|disarm` yüksek riskli telefon düğümü komutlarını geçici olarak devreye alır.
|
||||
- `/voice status|list [limit]|set <voiceId|name>` Talk ses yapılandırmasını yönetir. Discord'da yerel komut adı `/talkvoice` olur.
|
||||
- `/card ...` LINE zengin kart önayarlarını gönderir. Bkz. [LINE](/tr/channels/line).
|
||||
- Yalnızca QQBot komutları:
|
||||
- `/bot-ping`
|
||||
- `/bot-version`
|
||||
- `/bot-help`
|
||||
- `/bot-upgrade`
|
||||
- `/bot-logs`
|
||||
|
||||
### Dinamik skill komutları
|
||||
|
||||
Kullanıcının çağırabildiği skill'ler de slash komutları olarak sunulur:
|
||||
|
||||
- `/skill <name> [input]` her zaman genel giriş noktası olarak çalışır.
|
||||
- skill'ler, skill/plugin bunları kaydederse `/prose` gibi doğrudan komutlar olarak da görünebilir.
|
||||
- yerel skill komutu kaydı `commands.nativeSkills` ve `channels.<provider>.commands.nativeSkills` tarafından denetlenir.
|
||||
|
||||
Notlar:
|
||||
|
||||
- Komutlar, komut ile argümanlar arasında isteğe bağlı `:` kabul eder (ör. `/think: high`, `/send: on`, `/help:`).
|
||||
- `/new <model>`, bir model takma adı, `provider/model` veya sağlayıcı adı (bulanık eşleşme) kabul eder; eşleşme yoksa metin mesaj gövdesi olarak ele alınır.
|
||||
- Tam provider kullanım dökümü için `openclaw status --usage` kullanın.
|
||||
- `/allowlist add|remove`, `commands.config=true` gerektirir ve channel `configWrites` ayarını dikkate alır.
|
||||
- Çok hesaplı channels içinde, hedef hesap için kullanılan `/allowlist --account <id>` ve `/config set channels.<provider>.accounts.<id>...` da hedef hesabın `configWrites` ayarını dikkate alır.
|
||||
- `/usage`, yanıt başına kullanım altbilgisini denetler; `/usage cost`, OpenClaw oturum günlüklerinden yerel bir maliyet özeti yazdırır.
|
||||
- Komutlar, komut ile argümanlar arasında isteğe bağlı bir `:` kabul eder (ör. `/think: high`, `/send: on`, `/help:`).
|
||||
- `/new <model>` bir model diğer adını, `provider/model` biçimini veya bir sağlayıcı adını kabul eder (bulanık eşleşme); eşleşme yoksa metin mesaj gövdesi olarak değerlendirilir.
|
||||
- Sağlayıcı kullanımının tam dökümü için `openclaw status --usage` kullanın.
|
||||
- `/allowlist add|remove` için `commands.config=true` gerekir ve kanal `configWrites` ayarlarına uyar.
|
||||
- Çok hesaplı kanallarda, yapılandırma hedefli `/allowlist --account <id>` ve `/config set channels.<provider>.accounts.<id>...` işlemleri de hedef hesabın `configWrites` ayarlarına uyar.
|
||||
- `/usage`, yanıt başına kullanım alt bilgisini denetler; `/usage cost`, OpenClaw oturum günlüklerinden yerel bir maliyet özeti yazdırır.
|
||||
- `/restart` varsayılan olarak etkindir; devre dışı bırakmak için `commands.restart: false` ayarlayın.
|
||||
- Yalnızca Discord yerel komutu: `/vc join|leave|status`, ses kanallarını denetler (`channels.discord.voice` ve yerel komutlar gerekir; metin olarak yoktur).
|
||||
- Discord thread-binding komutları (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`), etkin thread bağlarının etkin olmasını gerektirir (`session.threadBindings.enabled` ve/veya `channels.discord.threadBindings.enabled`).
|
||||
- `/plugins install <spec>`, `openclaw plugins install` ile aynı plugin belirtimlerini kabul eder: yerel yol/arşiv, npm paketi veya `clawhub:<pkg>`.
|
||||
- `/plugins enable|disable` plugin yapılandırmasını günceller ve yeniden başlatma isteyebilir.
|
||||
- Yalnızca Discord yerel komutu: `/vc join|leave|status` ses kanallarını denetler (`channels.discord.voice` ve yerel komutlar gerekir; metin olarak kullanılamaz).
|
||||
- Discord iş parçacığı bağlama komutları (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) etkili iş parçacığı bağlamalarının etkin olmasını gerektirir (`session.threadBindings.enabled` ve/veya `channels.discord.threadBindings.enabled`).
|
||||
- ACP komut başvurusu ve çalışma zamanı davranışı: [ACP Agents](/tr/tools/acp-agents).
|
||||
- `/verbose`, hata ayıklama ve ek görünürlük içindir; normal kullanımda **kapalı** tutun.
|
||||
- `/fast on|off`, oturum geçersiz kılmasını kalıcı hale getirir. Bunu temizleyip config varsayılanlarına dönmek için Sessions UI içindeki `inherit` seçeneğini kullanın.
|
||||
- `/fast`, sağlayıcıya özgüdür: OpenAI/OpenAI Codex bunu yerel Responses endpoint’lerinde `service_tier=priority` olarak eşlerken, `api.anthropic.com` adresine gönderilen OAuth ile kimlik doğrulanmış trafik dahil doğrudan herkese açık Anthropic istekleri bunu `service_tier=auto` veya `standard_only` olarak eşler. Bkz. [OpenAI](/tr/providers/openai) ve [Anthropic](/tr/providers/anthropic).
|
||||
- Araç hata özetleri ilgili olduğunda yine gösterilir, ancak ayrıntılı hata metni yalnızca `/verbose` `on` veya `full` iken eklenir.
|
||||
- `/reasoning` (ve `/verbose`) grup ortamlarında risklidir: açığa çıkarmayı düşünmediğiniz iç reasoning’i veya araç çıktısını ifşa edebilir. Özellikle grup sohbetlerinde bunları kapalı bırakmayı tercih edin.
|
||||
- `/verbose`, hata ayıklama ve ek görünürlük için tasarlanmıştır; normal kullanımda **kapalı** tutun.
|
||||
- `/fast on|off`, oturum geçersiz kılmasını kalıcı hale getirir. Bunu temizleyip yapılandırma varsayılanlarına dönmek için Sessions UI içindeki `inherit` seçeneğini kullanın.
|
||||
- `/fast` sağlayıcıya özeldir: OpenAI/OpenAI Codex bunu yerel Responses uç noktalarında `service_tier=priority` olarak eşler; `api.anthropic.com` adresine gönderilen OAuth kimlik doğrulamalı trafik dahil doğrudan genel Anthropic isteklerinde ise `service_tier=auto` veya `standard_only` olarak eşlenir. Bkz. [OpenAI](/tr/providers/openai) ve [Anthropic](/tr/providers/anthropic).
|
||||
- Araç hata özetleri ilgili olduğunda yine gösterilir, ancak ayrıntılı hata metni yalnızca `/verbose` `on` veya `full` olduğunda eklenir.
|
||||
- `/reasoning` (ve `/verbose`) grup ortamlarında risklidir: ortaya çıkarmanız amaçlanmayan iç muhakemeyi veya araç çıktısını açığa çıkarabilirler. Özellikle grup sohbetlerinde bunları kapalı bırakmanız önerilir.
|
||||
- `/model`, yeni oturum modelini hemen kalıcı hale getirir.
|
||||
- Agent boşta ise bir sonraki çalıştırma bunu hemen kullanır.
|
||||
- Bir çalıştırma zaten etkinse OpenClaw canlı geçişi beklemede olarak işaretler ve yalnızca temiz bir yeniden deneme noktasında yeni modele yeniden başlar.
|
||||
- Araç etkinliği veya yanıt çıktısı zaten başladıysa, bekleyen geçiş daha sonraki bir yeniden deneme fırsatına ya da sonraki kullanıcı turuna kadar kuyrukta kalabilir.
|
||||
- **Hızlı yol:** izin listesindeki göndericilerden gelen yalnızca komut içeren mesajlar hemen işlenir (kuyruk + model atlanır).
|
||||
- **Grup mention kapılaması:** izin listesindeki göndericilerden gelen yalnızca komut içeren mesajlar mention gereksinimlerini atlar.
|
||||
- **Satır içi kısayollar (yalnızca izin listesindeki göndericiler):** bazı komutlar normal bir mesajın içine gömülü olduğunda da çalışır ve model kalan metni görmeden önce ayıklanır.
|
||||
- Örnek: `hey /status`, bir durum yanıtı tetikler ve kalan metin normal akıştan devam eder.
|
||||
- Ajan boşta ise, bir sonraki çalıştırma bunu hemen kullanır.
|
||||
- Bir çalıştırma zaten etkinken, OpenClaw canlı geçişi beklemede olarak işaretler ve yalnızca temiz bir yeniden deneme noktasında yeni modele yeniden başlatır.
|
||||
- Araç etkinliği veya yanıt çıktısı zaten başlamışsa, bekleyen geçiş daha sonraki bir yeniden deneme fırsatına veya bir sonraki kullanıcı turuna kadar kuyrukta kalabilir.
|
||||
- **Hızlı yol:** izinli göndericilerden gelen yalnızca komut içeren mesajlar hemen işlenir (kuyruk + model atlanır).
|
||||
- **Grup bahsetme geçidi:** izinli göndericilerden gelen yalnızca komut içeren mesajlar bahsetme gereksinimlerini atlar.
|
||||
- **Satır içi kısayollar (yalnızca izinli göndericiler):** bazı komutlar normal bir mesaja gömülü olduğunda da çalışır ve model kalan metni görmeden önce çıkarılır.
|
||||
- Örnek: `hey /status` bir durum yanıtını tetikler ve kalan metin normal akıştan devam eder.
|
||||
- Şu anda: `/help`, `/commands`, `/status`, `/whoami` (`/id`).
|
||||
- Yetkisiz yalnızca komut mesajları sessizce yok sayılır ve satır içi `/...` belirteçleri düz metin olarak değerlendirilir.
|
||||
- **Skill komutları:** `user-invocable` skill’ler slash komutları olarak sunulur. Adlar `a-z0-9_` olacak şekilde temizlenir (en fazla 32 karakter); çakışmalar sayısal son ekler alır (ör. `_2`).
|
||||
- `/skill <name> [input]`, bir skill’i adına göre çalıştırır (yerel komut sınırları skill başına komutları engellediğinde yararlıdır).
|
||||
- Varsayılan olarak skill komutları modele normal istek olarak iletilir.
|
||||
- Skill’ler isteğe bağlı olarak komutu doğrudan bir araca yönlendirmek için `command-dispatch: tool` bildirebilir (deterministik, modelsiz).
|
||||
- Örnek: `/prose` (OpenProse plugin’i) — bkz. [OpenProse](/tr/prose).
|
||||
- **Yerel komut argümanları:** Discord, dinamik seçenekler için autocomplete kullanır (ve gerekli argümanları atlarsanız düğme menüleri gösterir). Telegram ve Slack, komut seçenekleri destekliyorsa ve argümanı atlarsanız bir düğme menüsü gösterir.
|
||||
- Yetkisiz yalnızca komut içeren mesajlar sessizce yok sayılır ve satır içi `/...` belirteçleri düz metin olarak değerlendirilir.
|
||||
- **Skill komutları:** `user-invocable` skill'ler slash komutları olarak sunulur. Adlar `a-z0-9_` biçimine dönüştürülür (en fazla 32 karakter); çakışmalar sayısal son ekler alır (ör. `_2`).
|
||||
- `/skill <name> [input]` bir skill'i adıyla çalıştırır (yerel komut sınırları her-skill-komutlara izin vermediğinde kullanışlıdır).
|
||||
- Varsayılan olarak skill komutları modele normal bir istek olarak iletilir.
|
||||
- Skill'ler isteğe bağlı olarak komutu doğrudan bir araca yönlendirmek için `command-dispatch: tool` bildirebilir (deterministik, modelsiz).
|
||||
- Örnek: `/prose` (OpenProse plugin'i) — bkz. [OpenProse](/tr/prose).
|
||||
- **Yerel komut argümanları:** Discord dinamik seçenekler için otomatik tamamlama kullanır (ve gerekli argümanları atladığınızda düğme menüleri gösterir). Telegram ve Slack, bir komut seçenekleri desteklediğinde ve siz argümanı atladığınızda düğme menüsü gösterir.
|
||||
|
||||
## `/tools`
|
||||
|
||||
`/tools`, bir config sorusunu değil, çalışma zamanı sorusunu yanıtlar: **bu agent’ın şu anda
|
||||
bu konuşmada ne kullanabildiğini**.
|
||||
`/tools`, bir yapılandırma sorusunu değil, bir çalışma zamanı sorusunu yanıtlar: **bu ajan şu anda
|
||||
bu konuşmada neleri kullanabilir**.
|
||||
|
||||
- Varsayılan `/tools` kompakttır ve hızlı tarama için optimize edilmiştir.
|
||||
- `/tools verbose`, kısa açıklamalar ekler.
|
||||
- Argümanları destekleyen yerel komut yüzeyleri, aynı `compact|verbose` kip değiştiricisini sunar.
|
||||
- Sonuçlar oturum kapsamındadır; bu nedenle agent, channel, thread, gönderici yetkilendirmesi veya model değişirse çıktı da değişebilir.
|
||||
- `/tools`, çalışma zamanında gerçekten erişilebilir araçları içerir; buna core araçları, bağlı plugin araçları ve channel’a ait araçlar dahildir.
|
||||
- Varsayılan `/tools` kompakt yapıdadır ve hızlı tarama için optimize edilmiştir.
|
||||
- `/tools verbose` kısa açıklamalar ekler.
|
||||
- Argümanları destekleyen yerel komut yüzeyleri, aynı mod geçişini `compact|verbose` olarak sunar.
|
||||
- Sonuçlar oturum kapsamlıdır; bu nedenle ajanı, kanalı, iş parçacığını, gönderici yetkilendirmesini veya modeli değiştirmek
|
||||
çıktıyı değiştirebilir.
|
||||
- `/tools`; çalışma zamanında gerçekten erişilebilir olan araçları içerir; buna çekirdek araçlar, bağlı
|
||||
plugin araçları ve kanala ait araçlar dahildir.
|
||||
|
||||
Profil ve geçersiz kılma düzenlemeleri için, `/tools`’u statik katalog gibi görmek yerine Control UI Tools panelini veya config/katalog yüzeylerini kullanın.
|
||||
Profil ve geçersiz kılma düzenlemeleri için `/tools`'u statik bir katalog gibi ele almak yerine
|
||||
Control UI Tools panelini veya yapılandırma/katalog yüzeylerini kullanın.
|
||||
|
||||
## Kullanım yüzeyleri (nerede ne gösterilir)
|
||||
|
||||
- **Provider kullanım/kota** (örnek: “Claude %80 kaldı”), kullanım izleme etkin olduğunda `/status` içinde mevcut model provider için görünür. OpenClaw provider pencerelerini `% kaldı` olarak normalize eder; MiniMax için yalnızca kalan yüzde alanları gösterimden önce tersine çevrilir ve `model_remains` yanıtları model etiketi taşıyan plan etiketine ek olarak chat-model girdisini tercih eder.
|
||||
- `/status` içindeki **Token/cache satırları**, canlı oturum snapshot’ı seyrek olduğunda en son transcript kullanım girdisine geri dönebilir. Mevcut sıfır olmayan canlı değerler yine de kazanır ve transcript geri dönüşü ayrıca etkin çalışma zamanı model etiketini ve depolanmış toplamlar eksik veya daha küçük olduğunda prompt odaklı daha büyük bir toplamı da geri getirebilir.
|
||||
- **Sağlayıcı kullanımı/kota** (örnek: “Claude %80 kaldı”), kullanım izleme etkin olduğunda geçerli model sağlayıcısı için `/status` içinde görünür. OpenClaw, sağlayıcı pencerelerini `% kaldı` biçimine normalleştirir; MiniMax için yalnızca kalan yüzde alanları gösterimden önce ters çevrilir ve `model_remains` yanıtlarında sohbet modeli girdisi ile modele etiketlenmiş plan etiketi tercih edilir.
|
||||
- `/status` içindeki **token/cache satırları**, canlı oturum anlık görüntüsü seyrek olduğunda en son transkript kullanım girdisine geri dönebilir. Sıfır olmayan mevcut canlı değerler yine önceliklidir ve transkript geri dönüşü, depolanan toplamlar eksik veya daha küçük olduğunda etkin çalışma zamanı model etiketini ve istem odaklı daha büyük bir toplamı da kurtarabilir.
|
||||
- **Yanıt başına token/maliyet**, `/usage off|tokens|full` ile denetlenir (normal yanıtlara eklenir).
|
||||
- `/model status`, kullanımla değil, **modeller/auth/endpoint’lerle** ilgilidir.
|
||||
- `/model status`, kullanımla değil **modeller/auth/uç noktalar** ile ilgilidir.
|
||||
|
||||
## Model seçimi (`/model`)
|
||||
|
||||
@ -209,14 +250,14 @@ Profil ve geçersiz kılma düzenlemeleri için, `/tools`’u statik katalog gib
|
||||
|
||||
Notlar:
|
||||
|
||||
- `/model` ve `/model list`, kompakt, numaralandırılmış bir seçici gösterir (model ailesi + kullanılabilir sağlayıcılar).
|
||||
- Discord üzerinde `/model` ve `/models`, sağlayıcı ve model açılır listeleri artı bir Submit adımı içeren etkileşimli bir seçici açar.
|
||||
- `/model` ve `/model list`, kompakt ve numaralı bir seçici gösterir (model ailesi + kullanılabilir sağlayıcılar).
|
||||
- Discord'da `/model` ve `/models`, sağlayıcı ve model açılır menülerinin yanı sıra bir Submit adımı içeren etkileşimli bir seçici açar.
|
||||
- `/model <#>`, bu seçiciden seçim yapar (ve mümkün olduğunda geçerli sağlayıcıyı tercih eder).
|
||||
- `/model status`, kullanılabildiğinde yapılandırılmış sağlayıcı endpoint’i (`baseUrl`) ve API kipini (`api`) de içeren ayrıntılı görünümü gösterir.
|
||||
- `/model status`, yapılandırılmış sağlayıcı uç noktası (`baseUrl`) ve varsa API modu (`api`) dahil ayrıntılı görünümü gösterir.
|
||||
|
||||
## Debug geçersiz kılmaları
|
||||
## Hata ayıklama geçersiz kılmaları
|
||||
|
||||
`/debug`, **yalnızca çalışma zamanı** config geçersiz kılmaları ayarlamanıza olanak tanır (disk değil, bellek). Yalnızca sahip içindir. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.debug: true` kullanın.
|
||||
`/debug`, **yalnızca çalışma zamanı** yapılandırma geçersiz kılmalarını ayarlamanıza izin verir (diskte değil, bellekte). Yalnızca sahip. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.debug: true` kullanın.
|
||||
|
||||
Örnekler:
|
||||
|
||||
@ -230,12 +271,12 @@ Notlar:
|
||||
|
||||
Notlar:
|
||||
|
||||
- Geçersiz kılmalar yeni config okumalarına hemen uygulanır, ancak `openclaw.json` dosyasına yazılmaz.
|
||||
- Tüm geçersiz kılmaları temizlemek ve disk üzerindeki config’e dönmek için `/debug reset` kullanın.
|
||||
- Geçersiz kılmalar, yeni yapılandırma okumalarına hemen uygulanır, ancak `openclaw.json` içine yazılmaz.
|
||||
- Tüm geçersiz kılmaları temizleyip disk üzerindeki yapılandırmaya dönmek için `/debug reset` kullanın.
|
||||
|
||||
## Config güncellemeleri
|
||||
## Yapılandırma güncellemeleri
|
||||
|
||||
`/config`, disk üzerindeki config’inize (`openclaw.json`) yazar. Yalnızca sahip içindir. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.config: true` kullanın.
|
||||
`/config`, disk üzerindeki yapılandırmanıza (`openclaw.json`) yazar. Yalnızca sahip. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.config: true` kullanın.
|
||||
|
||||
Örnekler:
|
||||
|
||||
@ -249,12 +290,12 @@ Notlar:
|
||||
|
||||
Notlar:
|
||||
|
||||
- Yazmadan önce config doğrulanır; geçersiz değişiklikler reddedilir.
|
||||
- `/config` güncellemeleri yeniden başlatmalar arasında kalıcıdır.
|
||||
- Yazmadan önce yapılandırma doğrulanır; geçersiz değişiklikler reddedilir.
|
||||
- `/config` güncellemeleri yeniden başlatmalar arasında kalıcı olur.
|
||||
|
||||
## MCP güncellemeleri
|
||||
|
||||
`/mcp`, `mcp.servers` altındaki OpenClaw tarafından yönetilen MCP sunucu tanımlarını yazar. Yalnızca sahip içindir. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.mcp: true` kullanın.
|
||||
`/mcp`, `mcp.servers` altında OpenClaw tarafından yönetilen MCP sunucu tanımlarını yazar. Yalnızca sahip. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.mcp: true` kullanın.
|
||||
|
||||
Örnekler:
|
||||
|
||||
@ -267,12 +308,12 @@ Notlar:
|
||||
|
||||
Notlar:
|
||||
|
||||
- `/mcp`, config’i Pi’ye ait proje ayarlarında değil OpenClaw config’inde saklar.
|
||||
- Hangi transport’ların gerçekten yürütülebilir olduğuna çalışma zamanı bağdaştırıcıları karar verir.
|
||||
- `/mcp`, yapılandırmayı Pi'ye ait proje ayarlarında değil, OpenClaw yapılandırmasında saklar.
|
||||
- Hangi taşımaların gerçekten çalıştırılabilir olduğuna çalışma zamanı bağdaştırıcıları karar verir.
|
||||
|
||||
## Plugin güncellemeleri
|
||||
|
||||
`/plugins`, operatörlerin keşfedilen plugin’leri incelemesine ve config içindeki etkinliği değiştirmesine olanak tanır. Salt okunur akışlar takma ad olarak `/plugin` kullanabilir. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.plugins: true` kullanın.
|
||||
`/plugins`, operatörlerin keşfedilen plugin'leri incelemesine ve yapılandırmada etkinleştirmeyi açıp kapatmasına olanak tanır. Salt okunur akışlar diğer ad olarak `/plugin` kullanabilir. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.plugins: true` kullanın.
|
||||
|
||||
Örnekler:
|
||||
|
||||
@ -286,34 +327,35 @@ Notlar:
|
||||
|
||||
Notlar:
|
||||
|
||||
- `/plugins list` ve `/plugins show`, mevcut çalışma alanı ve disk üzerindeki config’e karşı gerçek plugin keşfini kullanır.
|
||||
- `/plugins enable|disable`, yalnızca plugin config’ini günceller; plugin kurmaz veya kaldırmaz.
|
||||
- Etkinleştirme/devre dışı bırakma değişikliklerinden sonra bunları uygulamak için gateway’i yeniden başlatın.
|
||||
- `/plugins list` ve `/plugins show`, geçerli çalışma alanına ve disk üzerindeki yapılandırmaya karşı gerçek plugin keşfini kullanır.
|
||||
- `/plugins enable|disable` yalnızca plugin yapılandırmasını günceller; plugin kurmaz veya kaldırmaz.
|
||||
- Etkinleştirme/devre dışı bırakma değişikliklerinden sonra bunları uygulamak için gateway'i yeniden başlatın.
|
||||
|
||||
## Yüzey notları
|
||||
|
||||
- **Metin komutları**, normal sohbet oturumunda çalışır (DM’ler `main`’i paylaşır, grupların kendi oturumu vardır).
|
||||
- **Yerel komutlar**, izole oturumlar kullanır:
|
||||
- **Metin komutları** normal sohbet oturumunda çalışır (DM'ler `main` oturumunu paylaşır, grupların kendi oturumu vardır).
|
||||
- **Yerel komutlar** yalıtılmış oturumlar kullanır:
|
||||
- Discord: `agent:<agentId>:discord:slash:<userId>`
|
||||
- Slack: `agent:<agentId>:slack:slash:<userId>` (önek `channels.slack.slashCommand.sessionPrefix` ile yapılandırılabilir)
|
||||
- Telegram: `telegram:slash:<userId>` (oturum hedefi `CommandTargetSessionKey` üzerinden sohbet oturumunu hedefler)
|
||||
- **`/stop`**, geçerli çalıştırmayı durdurabilmesi için etkin sohbet oturumunu hedefler.
|
||||
- **Slack:** `channels.slack.slashCommand`, tek bir `/openclaw` tarzı komut için hâlâ desteklenir. `commands.native` etkinleştirirseniz, her yerleşik komut için bir Slack slash komutu oluşturmanız gerekir (`/help` ile aynı adlar). Slack için komut argüman menüleri geçici Block Kit düğmeleri olarak iletilir.
|
||||
- Slack yerel istisnası: Slack `/status` komutunu ayırdığı için `/status` değil `/agentstatus` kaydedin. Metin `/status`, Slack mesajlarında yine de çalışır.
|
||||
- Telegram: `telegram:slash:<userId>` (sohbet oturumunu `CommandTargetSessionKey` üzerinden hedefler)
|
||||
- **`/stop`**, geçerli çalıştırmayı iptal edebilmek için etkin sohbet oturumunu hedef alır.
|
||||
- **Slack:** `channels.slack.slashCommand`, tek bir `/openclaw` tarzı komut için hâlâ desteklenir. `commands.native` etkinleştirirseniz, her yerleşik komut için bir Slack slash komutu oluşturmanız gerekir (`/help` ile aynı adlar). Slack için komut argüman menüleri geçici Block Kit düğmeleri olarak teslim edilir.
|
||||
- Slack yerel istisnası: Slack `/status` komutunu ayırdığı için `/status` değil `/agentstatus` kaydedin. Metin `/status`, Slack mesajlarında yine çalışır.
|
||||
|
||||
## BTW yan soruları
|
||||
|
||||
`/btw`, mevcut oturum hakkında hızlı bir **yan soru**dur.
|
||||
`/btw`, geçerli oturum hakkında hızlı bir **yan soru** sormanın yoludur.
|
||||
|
||||
Normal sohbetten farklı olarak:
|
||||
|
||||
- mevcut oturumu arka plan bağlamı olarak kullanır,
|
||||
- ayrı, **araçsız** tek seferlik bir çağrı olarak çalışır,
|
||||
- geçerli oturumu arka plan bağlamı olarak kullanır,
|
||||
- ayrı bir **araçsız** tek seferlik çağrı olarak çalışır,
|
||||
- gelecekteki oturum bağlamını değiştirmez,
|
||||
- transcript geçmişine yazılmaz,
|
||||
- transkript geçmişine yazılmaz,
|
||||
- normal bir asistan mesajı yerine canlı bir yan sonuç olarak iletilir.
|
||||
|
||||
Bu, ana görev devam ederken geçici bir netleştirme istediğinizde `/btw` komutunu yararlı kılar.
|
||||
Bu da `/btw` komutunu, ana
|
||||
görev sürerken geçici bir açıklama istediğiniz durumlar için kullanışlı kılar.
|
||||
|
||||
Örnek:
|
||||
|
||||
@ -321,4 +363,5 @@ Bu, ana görev devam ederken geçici bir netleştirme istediğinizde `/btw` komu
|
||||
/btw şu anda ne yapıyoruz?
|
||||
```
|
||||
|
||||
Tam davranış ve istemci UX ayrıntıları için bkz. [BTW Side Questions](/tr/tools/btw).
|
||||
Tam davranış ve istemci UX
|
||||
ayrıntıları için bkz. [BTW Yan Soruları](/tr/tools/btw).
|
||||
|
||||
@ -6,17 +6,17 @@ read_when:
|
||||
summary: Giden yanıtlar için metinden konuşmaya (TTS)
|
||||
title: Metinden Konuşmaya
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T14:14:34Z"
|
||||
generated_at: "2026-04-08T06:01:50Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 8487c8acef7585bd4eb5e3b39e2a063ebc6b5f0103524abdcbadd3a7781ffc46
|
||||
source_hash: 6e0fbcaf61282733c134f682e05a71f94d2169c03a85131ce9ad233c71a1e533
|
||||
source_path: tools/tts.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Metinden konuşmaya (TTS)
|
||||
|
||||
OpenClaw, ElevenLabs, Microsoft, MiniMax veya OpenAI kullanarak giden yanıtları sese dönüştürebilir.
|
||||
OpenClaw, giden yanıtları ElevenLabs, Microsoft, MiniMax veya OpenAI kullanarak sese dönüştürebilir.
|
||||
OpenClaw'ın ses gönderebildiği her yerde çalışır.
|
||||
|
||||
## Desteklenen hizmetler
|
||||
@ -24,20 +24,21 @@ OpenClaw'ın ses gönderebildiği her yerde çalışır.
|
||||
- **ElevenLabs** (birincil veya yedek sağlayıcı)
|
||||
- **Microsoft** (birincil veya yedek sağlayıcı; mevcut paketlenmiş uygulama `node-edge-tts` kullanır)
|
||||
- **MiniMax** (birincil veya yedek sağlayıcı; T2A v2 API'sini kullanır)
|
||||
- **OpenAI** (birincil veya yedek sağlayıcı; ayrıca özetler için kullanılır)
|
||||
- **OpenAI** (birincil veya yedek sağlayıcı; özetler için de kullanılır)
|
||||
|
||||
### Microsoft konuşma notları
|
||||
|
||||
Paketlenmiş Microsoft konuşma sağlayıcısı şu anda Microsoft Edge'in çevrimiçi
|
||||
nöral TTS hizmetini `node-edge-tts` kitaplığı üzerinden kullanır. Barındırılan bir hizmettir (yerel
|
||||
değil), Microsoft uç noktalarını kullanır ve API anahtarı gerektirmez.
|
||||
`node-edge-tts`, konuşma yapılandırma seçeneklerini ve çıktı biçimlerini sunar, ancak
|
||||
tüm seçenekler hizmet tarafından desteklenmez. Eski yapılandırma ve yönerge girdisi
|
||||
olarak `edge` hâlâ çalışır ve `microsoft` olarak normalize edilir.
|
||||
nöral TTS hizmetini `node-edge-tts` kitaplığı aracılığıyla kullanır. Barındırılan
|
||||
bir hizmettir (yerel değil), Microsoft uç noktalarını kullanır ve API anahtarı
|
||||
gerektirmez. `node-edge-tts`, konuşma yapılandırma seçeneklerini ve çıktı
|
||||
biçimlerini sunar, ancak tüm seçenekler hizmet tarafından desteklenmez. `edge`
|
||||
kullanan eski yapılandırma ve yönerge girdileri hâlâ çalışır ve `microsoft`
|
||||
olarak normalize edilir.
|
||||
|
||||
Bu yol, yayımlanmış bir SLA veya kota olmadan herkese açık bir web hizmeti olduğu için,
|
||||
onu en iyi çaba düzeyinde değerlendirin. Garantili sınırlar ve destek gerekiyorsa OpenAI
|
||||
veya ElevenLabs kullanın.
|
||||
Bu yol, yayımlanmış bir SLA veya kotası olmayan herkese açık bir web hizmeti
|
||||
olduğundan, bunu en iyi çaba düzeyinde değerlendirin. Garantili sınırlar ve
|
||||
destek gerekiyorsa OpenAI veya ElevenLabs kullanın.
|
||||
|
||||
## İsteğe bağlı anahtarlar
|
||||
|
||||
@ -50,8 +51,8 @@ OpenAI, ElevenLabs veya MiniMax istiyorsanız:
|
||||
Microsoft konuşma için API anahtarı **gerekmez**.
|
||||
|
||||
Birden fazla sağlayıcı yapılandırılmışsa önce seçilen sağlayıcı kullanılır, diğerleri yedek seçenekler olur.
|
||||
Otomatik özetleme, yapılandırılmış `summaryModel` değerini (veya `agents.defaults.model.primary`) kullanır,
|
||||
bu nedenle özetlemeyi etkinleştirirseniz o sağlayıcının da kimliği doğrulanmış olması gerekir.
|
||||
Otomatik özetleme, yapılandırılmış `summaryModel` (veya `agents.defaults.model.primary`) kullanır,
|
||||
bu nedenle özetlemeyi etkinleştirirseniz o sağlayıcı için de kimlik doğrulaması yapılmış olmalıdır.
|
||||
|
||||
## Hizmet bağlantıları
|
||||
|
||||
@ -65,10 +66,10 @@ bu nedenle özetlemeyi etkinleştirirseniz o sağlayıcının da kimliği doğru
|
||||
|
||||
## Varsayılan olarak etkin mi?
|
||||
|
||||
Hayır. Otomatik TTS varsayılan olarak **kapalıdır**. Yapılandırmada
|
||||
`messages.tts.auto` ile veya oturum başına `/tts always` (takma ad: `/tts on`) ile etkinleştirin.
|
||||
Hayır. Otomatik TTS varsayılan olarak **kapalıdır**. Bunu yapılandırmada
|
||||
`messages.tts.auto` ile veya yerel olarak `/tts on` ile etkinleştirin.
|
||||
|
||||
`messages.tts.provider` ayarlanmamışsa OpenClaw, kayıt defteri otomatik seçim sırasındaki
|
||||
`messages.tts.provider` ayarlanmamışsa OpenClaw, kayıt otomatik seçim sırasındaki
|
||||
ilk yapılandırılmış konuşma sağlayıcısını seçer.
|
||||
|
||||
## Yapılandırma
|
||||
@ -89,7 +90,7 @@ Tam şema [Gateway configuration](/tr/gateway/configuration) sayfasındadır.
|
||||
}
|
||||
```
|
||||
|
||||
### Birincil OpenAI, yedek ElevenLabs
|
||||
### ElevenLabs yedekli OpenAI birincil
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -130,7 +131,7 @@ Tam şema [Gateway configuration](/tr/gateway/configuration) sayfasındadır.
|
||||
}
|
||||
```
|
||||
|
||||
### Birincil Microsoft (API anahtarı yok)
|
||||
### Microsoft birincil (API anahtarı yok)
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -153,7 +154,7 @@ Tam şema [Gateway configuration](/tr/gateway/configuration) sayfasındadır.
|
||||
}
|
||||
```
|
||||
|
||||
### Birincil MiniMax
|
||||
### MiniMax birincil
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -177,7 +178,7 @@ Tam şema [Gateway configuration](/tr/gateway/configuration) sayfasındadır.
|
||||
}
|
||||
```
|
||||
|
||||
### Microsoft konuşmayı devre dışı bırakma
|
||||
### Microsoft konuşmayı devre dışı bırak
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -208,7 +209,7 @@ Tam şema [Gateway configuration](/tr/gateway/configuration) sayfasındadır.
|
||||
}
|
||||
```
|
||||
|
||||
### Yalnızca gelen bir sesli mesajdan sonra sesle yanıt ver
|
||||
### Yalnızca gelen bir sesli mesajdan sonra sesli yanıt ver
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -220,7 +221,7 @@ Tam şema [Gateway configuration](/tr/gateway/configuration) sayfasındadır.
|
||||
}
|
||||
```
|
||||
|
||||
### Uzun yanıtlar için otomatik özeti devre dışı bırakma
|
||||
### Uzun yanıtlar için otomatik özeti devre dışı bırak
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -241,78 +242,79 @@ Ardından şunu çalıştırın:
|
||||
### Alanlarla ilgili notlar
|
||||
|
||||
- `auto`: otomatik TTS modu (`off`, `always`, `inbound`, `tagged`).
|
||||
- `inbound`, yalnızca gelen bir sesli mesajdan sonra ses gönderir.
|
||||
- `tagged`, yalnızca yanıt `[[tts]]` etiketleri içerdiğinde ses gönderir.
|
||||
- `enabled`: eski açma/kapama seçeneği (doctor bunu `auto` değerine taşır).
|
||||
- `inbound` yalnızca gelen bir sesli mesajdan sonra ses gönderir.
|
||||
- `tagged` yalnızca yanıtta `[[tts]]` etiketleri bulunduğunda ses gönderir.
|
||||
- `enabled`: eski geçiş anahtarıdır (`doctor` bunu `auto` değerine geçirir).
|
||||
- `mode`: `"final"` (varsayılan) veya `"all"` (araç/blok yanıtlarını da içerir).
|
||||
- `provider`: `"elevenlabs"`, `"microsoft"`, `"minimax"` veya `"openai"` gibi konuşma sağlayıcı kimliği (yedek otomatik olarak yapılır).
|
||||
- `provider` **ayarlanmamışsa**, OpenClaw kayıt defteri otomatik seçim sırasındaki ilk yapılandırılmış konuşma sağlayıcısını kullanır.
|
||||
- `provider`: `"elevenlabs"`, `"microsoft"`, `"minimax"` veya `"openai"` gibi konuşma sağlayıcısı kimliği (yedek kullanım otomatiktir).
|
||||
- `provider` **ayarlanmamışsa**, OpenClaw kayıt otomatik seçim sırasındaki ilk yapılandırılmış konuşma sağlayıcısını kullanır.
|
||||
- Eski `provider: "edge"` hâlâ çalışır ve `microsoft` olarak normalize edilir.
|
||||
- `summaryModel`: otomatik özet için isteğe bağlı düşük maliyetli model; varsayılan olarak `agents.defaults.model.primary` kullanılır.
|
||||
- `provider/model` veya yapılandırılmış model takma adını kabul eder.
|
||||
- `summaryModel`: otomatik özet için isteğe bağlı düşük maliyetli modeldir; varsayılanı `agents.defaults.model.primary` değeridir.
|
||||
- `provider/model` veya yapılandırılmış bir model takma adını kabul eder.
|
||||
- `modelOverrides`: modelin TTS yönergeleri üretmesine izin verir (varsayılan olarak açık).
|
||||
- `allowProvider` varsayılan olarak `false` değerindedir (sağlayıcı değiştirme isteğe bağlıdır).
|
||||
- `providers.<id>`: konuşma sağlayıcı kimliğine göre anahtarlanan, sağlayıcının sahip olduğu ayarlar.
|
||||
- Eski doğrudan sağlayıcı blokları (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) yükleme sırasında otomatik olarak `messages.tts.providers.<id>` yapısına taşınır.
|
||||
- `maxTextLength`: TTS girdisi için katı üst sınır (karakter). Aşılırsa `/tts audio` başarısız olur.
|
||||
- `providers.<id>`: konuşma sağlayıcısı kimliğine göre anahtarlanmış, sağlayıcıya ait ayarlardır.
|
||||
- Eski doğrudan sağlayıcı blokları (`messages.tts.openai`, `messages.tts.elevenlabs`, `messages.tts.microsoft`, `messages.tts.edge`) yükleme sırasında otomatik olarak `messages.tts.providers.<id>` yapısına geçirilir.
|
||||
- `maxTextLength`: TTS girdisi için kesin üst sınırdır (karakter). Aşılırsa `/tts audio` başarısız olur.
|
||||
- `timeoutMs`: istek zaman aşımı (ms).
|
||||
- `prefsPath`: yerel tercihler JSON yolu için geçersiz kılma (sağlayıcı/sınır/özet).
|
||||
- `apiKey` değerleri ortam değişkenlerine geri döner (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`).
|
||||
- `prefsPath`: yerel prefs JSON yolunu geçersiz kılar (sağlayıcı/sınır/özet).
|
||||
- `apiKey` değerleri env vars değerlerine geri düşer (`ELEVENLABS_API_KEY`/`XI_API_KEY`, `MINIMAX_API_KEY`, `OPENAI_API_KEY`).
|
||||
- `providers.elevenlabs.baseUrl`: ElevenLabs API temel URL'sini geçersiz kılar.
|
||||
- `providers.openai.baseUrl`: OpenAI TTS uç noktasını geçersiz kılar.
|
||||
- Çözümleme sırası: `messages.tts.providers.openai.baseUrl` -> `OPENAI_TTS_BASE_URL` -> `https://api.openai.com/v1`
|
||||
- Varsayılan dışındaki değerler OpenAI uyumlu TTS uç noktaları olarak değerlendirilir, bu nedenle özel model ve ses adları kabul edilir.
|
||||
- Varsayılan olmayan değerler OpenAI uyumlu TTS uç noktaları olarak değerlendirilir, bu nedenle özel model ve ses adları kabul edilir.
|
||||
- `providers.elevenlabs.voiceSettings`:
|
||||
- `stability`, `similarityBoost`, `style`: `0..1`
|
||||
- `useSpeakerBoost`: `true|false`
|
||||
- `speed`: `0.5..2.0` (`1.0 = normal`)
|
||||
- `speed`: `0.5..2.0` (1.0 = normal)
|
||||
- `providers.elevenlabs.applyTextNormalization`: `auto|on|off`
|
||||
- `providers.elevenlabs.languageCode`: 2 harfli ISO 639-1 (ör. `en`, `de`)
|
||||
- `providers.elevenlabs.seed`: `0..4294967295` tamsayısı (en iyi çaba ile belirlenim)
|
||||
- `providers.minimax.baseUrl`: MiniMax API temel URL'sini geçersiz kılar (varsayılan `https://api.minimax.io`, ortam: `MINIMAX_API_HOST`).
|
||||
- `providers.minimax.model`: TTS modeli (varsayılan `speech-2.8-hd`, ortam: `MINIMAX_TTS_MODEL`).
|
||||
- `providers.minimax.voiceId`: ses tanımlayıcısı (varsayılan `English_expressive_narrator`, ortam: `MINIMAX_TTS_VOICE_ID`).
|
||||
- `providers.elevenlabs.seed`: tamsayı `0..4294967295` (en iyi çaba düzeyinde belirlenimlilik)
|
||||
- `providers.minimax.baseUrl`: MiniMax API temel URL'sini geçersiz kılar (varsayılan `https://api.minimax.io`, env: `MINIMAX_API_HOST`).
|
||||
- `providers.minimax.model`: TTS modeli (varsayılan `speech-2.8-hd`, env: `MINIMAX_TTS_MODEL`).
|
||||
- `providers.minimax.voiceId`: ses tanımlayıcısıdır (varsayılan `English_expressive_narrator`, env: `MINIMAX_TTS_VOICE_ID`).
|
||||
- `providers.minimax.speed`: oynatma hızı `0.5..2.0` (varsayılan 1.0).
|
||||
- `providers.minimax.vol`: ses seviyesi `(0, 10]` (varsayılan 1.0; 0'dan büyük olmalıdır).
|
||||
- `providers.minimax.vol`: ses düzeyi `(0, 10]` (varsayılan 1.0; 0'dan büyük olmalıdır).
|
||||
- `providers.minimax.pitch`: perde kaydırma `-12..12` (varsayılan 0).
|
||||
- `providers.microsoft.enabled`: Microsoft konuşma kullanımına izin verir (varsayılan `true`; API anahtarı yok).
|
||||
- `providers.microsoft.voice`: Microsoft nöral ses adı (ör. `en-US-MichelleNeural`).
|
||||
- `providers.microsoft.lang`: dil kodu (ör. `en-US`).
|
||||
- `providers.microsoft.outputFormat`: Microsoft çıktı biçimi (ör. `audio-24khz-48kbitrate-mono-mp3`).
|
||||
- Geçerli değerler için Microsoft Speech çıktı biçimlerine bakın; tüm biçimler paketlenmiş Edge tabanlı taşıma tarafından desteklenmez.
|
||||
- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: yüzde dizeleri (ör. `+10%`, `-5%`).
|
||||
- `providers.microsoft.saveSubtitles`: ses dosyasının yanına JSON altyazıları yazar.
|
||||
- Geçerli değerler için Microsoft Speech output formats bölümüne bakın; tüm biçimler paketlenmiş Edge tabanlı aktarım tarafından desteklenmez.
|
||||
- `providers.microsoft.rate` / `providers.microsoft.pitch` / `providers.microsoft.volume`: yüzde dizgeleri (ör. `+10%`, `-5%`).
|
||||
- `providers.microsoft.saveSubtitles`: ses dosyasının yanında JSON altyazıları yazar.
|
||||
- `providers.microsoft.proxy`: Microsoft konuşma istekleri için proxy URL'si.
|
||||
- `providers.microsoft.timeoutMs`: istek zaman aşımı geçersiz kılması (ms).
|
||||
- `edge.*`: aynı Microsoft ayarları için eski takma ad.
|
||||
- `edge.*`: aynı Microsoft ayarları için eski takma addır.
|
||||
|
||||
## Model odaklı geçersiz kılmalar (varsayılan olarak açık)
|
||||
|
||||
Varsayılan olarak model, tek bir yanıt için TTS yönergeleri üretebilir.
|
||||
`messages.tts.auto`, `tagged` olduğunda sesi tetiklemek için bu yönergeler gereklidir.
|
||||
`messages.tts.auto` değeri `tagged` olduğunda, sesi tetiklemek için bu yönergeler gerekir.
|
||||
|
||||
Etkin olduğunda model, tek bir yanıt için sesi geçersiz kılmak üzere `[[tts:...]]` yönergeleri ve ayrıca
|
||||
yalnızca seste görünmesi gereken ifadesel etiketler (kahkaha, şarkı söyleme işaretleri vb.)
|
||||
sağlamak için isteğe bağlı bir `[[tts:text]]...[[/tts:text]]` bloğu üretebilir.
|
||||
Etkin olduğunda model, tek bir yanıt için sesi geçersiz kılmak üzere `[[tts:...]]`
|
||||
yönergeleri ve ayrıca yalnızca seste görünmesi gereken ifade etiketlerini
|
||||
(kahkaha, şarkı söyleme ipuçları vb.) sağlamak için isteğe bağlı bir
|
||||
`[[tts:text]]...[[/tts:text]]` bloğu üretebilir.
|
||||
|
||||
`provider=...` yönergeleri, `modelOverrides.allowProvider: true` olmadığı sürece yok sayılır.
|
||||
`provider=...` yönergeleri, `modelOverrides.allowProvider: true` olmadıkça yok sayılır.
|
||||
|
||||
Örnek yanıt yükü:
|
||||
|
||||
```
|
||||
İşte burada.
|
||||
Here you go.
|
||||
|
||||
[[tts:voiceId=pMsXgVXv3BLzUgSXRplE model=eleven_v3 speed=1.1]]
|
||||
[[tts:text]](güler) Şarkıyı bir kez daha oku.[[/tts:text]]
|
||||
[[tts:text]](laughs) Read the song once more.[[/tts:text]]
|
||||
```
|
||||
|
||||
Kullanılabilir yönerge anahtarları (etkin olduğunda):
|
||||
|
||||
- `provider` (kayıtlı konuşma sağlayıcısı kimliği, örneğin `openai`, `elevenlabs`, `minimax` veya `microsoft`; `allowProvider: true` gerektirir)
|
||||
- `provider` (kayıtlı konuşma sağlayıcısı kimliği; örneğin `openai`, `elevenlabs`, `minimax` veya `microsoft`; `allowProvider: true` gerektirir)
|
||||
- `voice` (OpenAI sesi) veya `voiceId` (ElevenLabs / MiniMax)
|
||||
- `model` (OpenAI TTS modeli, ElevenLabs model kimliği veya MiniMax modeli)
|
||||
- `stability`, `similarityBoost`, `style`, `speed`, `useSpeakerBoost`
|
||||
- `vol` / `volume` (MiniMax ses seviyesi, 0-10)
|
||||
- `vol` / `volume` (MiniMax ses düzeyi, 0-10)
|
||||
- `pitch` (MiniMax perde, -12 ile 12 arası)
|
||||
- `applyTextNormalization` (`auto|on|off`)
|
||||
- `languageCode` (ISO 639-1)
|
||||
@ -332,7 +334,7 @@ Tüm model geçersiz kılmalarını devre dışı bırakın:
|
||||
}
|
||||
```
|
||||
|
||||
İsteğe bağlı izin listesi (diğer ayarlar yapılandırılabilir kalırken sağlayıcı değiştirmeyi etkinleştirme):
|
||||
İsteğe bağlı izin listesi (sağlayıcı değiştirmeyi etkinleştirirken diğer ayarların yapılandırılabilir kalmasını sağlama):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -350,30 +352,30 @@ Tüm model geçersiz kılmalarını devre dışı bırakın:
|
||||
|
||||
## Kullanıcı başına tercihler
|
||||
|
||||
Slash komutları yerel geçersiz kılmaları `prefsPath` içine yazar (varsayılan:
|
||||
Slash komutları yerel geçersiz kılmaları `prefsPath` alanına yazar (varsayılan:
|
||||
`~/.openclaw/settings/tts.json`, `OPENCLAW_TTS_PREFS` veya
|
||||
`messages.tts.prefsPath` ile geçersiz kılınabilir).
|
||||
|
||||
Saklanan alanlar:
|
||||
Depolanan alanlar:
|
||||
|
||||
- `enabled`
|
||||
- `provider`
|
||||
- `maxLength` (özet eşiği; varsayılan 1500 karakter)
|
||||
- `summarize` (varsayılan `true`)
|
||||
|
||||
Bunlar, bu ana bilgisayar için `messages.tts.*` değerlerini geçersiz kılar.
|
||||
Bunlar o ana makine için `messages.tts.*` değerlerini geçersiz kılar.
|
||||
|
||||
## Çıktı biçimleri (sabit)
|
||||
|
||||
- **Feishu / Matrix / Telegram / WhatsApp**: Opus sesli mesajı (ElevenLabs'ten `opus_48000_64`, OpenAI'dan `opus`).
|
||||
- 48kHz / 64kbps, sesli mesaj için iyi bir dengedir.
|
||||
- **Diğer kanallar**: MP3 (ElevenLabs'ten `mp3_44100_128`, OpenAI'dan `mp3`).
|
||||
- **Feishu / Matrix / Telegram / WhatsApp**: Opus sesli mesajı (`opus_48000_64` ElevenLabs'tan, `opus` OpenAI'dan).
|
||||
- 48kHz / 64kbps, sesli mesajlar için iyi bir dengedir.
|
||||
- **Diğer kanallar**: MP3 (`mp3_44100_128` ElevenLabs'tan, `mp3` OpenAI'dan).
|
||||
- 44.1kHz / 128kbps, konuşma netliği için varsayılan dengedir.
|
||||
- **MiniMax**: MP3 (`speech-2.8-hd` modeli, 32kHz örnekleme hızı). Sesli not biçimi doğal olarak desteklenmez; garantili Opus sesli mesajları için OpenAI veya ElevenLabs kullanın.
|
||||
- **MiniMax**: MP3 (`speech-2.8-hd` modeli, 32kHz örnekleme hızı). Sesli not biçimi yerel olarak desteklenmez; garantili Opus sesli mesajlar için OpenAI veya ElevenLabs kullanın.
|
||||
- **Microsoft**: `microsoft.outputFormat` kullanır (varsayılan `audio-24khz-48kbitrate-mono-mp3`).
|
||||
- Paketlenmiş taşıma bir `outputFormat` kabul eder, ancak tüm biçimler hizmetten alınamaz.
|
||||
- Çıktı biçimi değerleri Microsoft Speech çıktı biçimlerini izler (Ogg/WebM Opus dahil).
|
||||
- Telegram `sendVoice`, OGG/MP3/M4A kabul eder; garantili Opus sesli mesajları gerekiyorsa OpenAI/ElevenLabs kullanın.
|
||||
- Paketlenmiş aktarım bir `outputFormat` kabul eder, ancak tüm biçimler hizmetten alınamayabilir.
|
||||
- Çıktı biçimi değerleri Microsoft Speech output formats biçimlerini izler (Ogg/WebM Opus dahil).
|
||||
- Telegram `sendVoice`, OGG/MP3/M4A kabul eder; garantili Opus sesli mesajlar gerekiyorsa OpenAI/ElevenLabs kullanın.
|
||||
- Yapılandırılmış Microsoft çıktı biçimi başarısız olursa OpenClaw MP3 ile yeniden dener.
|
||||
|
||||
OpenAI/ElevenLabs çıktı biçimleri kanal başına sabittir (yukarıya bakın).
|
||||
@ -382,42 +384,41 @@ OpenAI/ElevenLabs çıktı biçimleri kanal başına sabittir (yukarıya bakın)
|
||||
|
||||
Etkin olduğunda OpenClaw:
|
||||
|
||||
- yanıt zaten medya veya `MEDIA:` yönergesi içeriyorsa TTS'yi atlar.
|
||||
- çok kısa yanıtları (< 10 karakter) atlar.
|
||||
- yanıt zaten medya veya bir `MEDIA:` yönergesi içeriyorsa TTS'yi atlar.
|
||||
- çok kısa yanıtları atlar (< 10 karakter).
|
||||
- etkinse uzun yanıtları `agents.defaults.model.primary` (veya `summaryModel`) kullanarak özetler.
|
||||
- oluşturulan sesi yanıta ekler.
|
||||
|
||||
Yanıt `maxLength` değerini aşarsa ve özet kapalıysa (veya özet modeli için API anahtarı yoksa),
|
||||
ses atlanır ve normal metin yanıtı gönderilir.
|
||||
Yanıt `maxLength` değerini aşıyorsa ve özetleme kapalıysa (veya özet modeli
|
||||
için API anahtarı yoksa), ses
|
||||
atlanır ve normal metin yanıtı gönderilir.
|
||||
|
||||
## Akış diyagramı
|
||||
|
||||
```
|
||||
Yanıt -> TTS etkin mi?
|
||||
hayır -> metni gönder
|
||||
evet -> medya / MEDIA: / kısa var mı?
|
||||
evet -> metni gönder
|
||||
hayır -> uzunluk > sınır?
|
||||
hayır -> TTS -> sesi ekle
|
||||
evet -> özet etkin mi?
|
||||
hayır -> metni gönder
|
||||
evet -> özetle (`summaryModel` veya `agents.defaults.model.primary`)
|
||||
-> TTS -> sesi ekle
|
||||
Reply -> TTS enabled?
|
||||
no -> send text
|
||||
yes -> has media / MEDIA: / short?
|
||||
yes -> send text
|
||||
no -> length > limit?
|
||||
no -> TTS -> attach audio
|
||||
yes -> summary enabled?
|
||||
no -> send text
|
||||
yes -> summarize (summaryModel or agents.defaults.model.primary)
|
||||
-> TTS -> attach audio
|
||||
```
|
||||
|
||||
## Slash komutu kullanımı
|
||||
|
||||
Tek bir komut vardır: `/tts`.
|
||||
Etkinleştirme ayrıntıları için [Slash commands](/tools/slash-commands) sayfasına bakın.
|
||||
Etkinleştirme ayrıntıları için [Slash commands](/tr/tools/slash-commands) sayfasına bakın.
|
||||
|
||||
Discord notu: `/tts`, yerleşik bir Discord komutudur, bu yüzden OpenClaw
|
||||
orada yerel komut olarak `/voice` kaydeder. Metin olarak `/tts ...` yine de çalışır.
|
||||
Discord notu: `/tts`, Discord'un yerleşik bir komutudur, bu yüzden OpenClaw
|
||||
orada yerel komut olarak `/voice` kaydeder. Metin biçimindeki `/tts ...` yine de çalışır.
|
||||
|
||||
```
|
||||
/tts off
|
||||
/tts always
|
||||
/tts inbound
|
||||
/tts tagged
|
||||
/tts on
|
||||
/tts status
|
||||
/tts provider openai
|
||||
/tts limit 2000
|
||||
@ -429,20 +430,22 @@ Notlar:
|
||||
|
||||
- Komutlar yetkili bir gönderici gerektirir (izin listesi/sahip kuralları yine geçerlidir).
|
||||
- `commands.text` veya yerel komut kaydı etkin olmalıdır.
|
||||
- `off|always|inbound|tagged`, oturum başına açma/kapama seçenekleridir (`/tts on`, `/tts always` için bir takma addır).
|
||||
- `limit` ve `summary`, ana yapılandırmada değil, yerel tercihlerde saklanır.
|
||||
- Yapılandırma `messages.tts.auto`, `off|always|inbound|tagged` kabul eder.
|
||||
- `/tts on`, yerel TTS tercihini `always` olarak yazar; `/tts off`, `off` olarak yazar.
|
||||
- `inbound` veya `tagged` varsayılanları istiyorsanız yapılandırmayı kullanın.
|
||||
- `limit` ve `summary`, ana yapılandırmada değil yerel tercihlerde depolanır.
|
||||
- `/tts audio`, tek seferlik bir sesli yanıt üretir (TTS'yi açmaz).
|
||||
- `/tts status`, son deneme için yedek görünürlüğünü içerir:
|
||||
- `/tts status`, son deneme için yedek kullanım görünürlüğü içerir:
|
||||
- başarılı yedek: `Fallback: <primary> -> <used>` artı `Attempts: ...`
|
||||
- başarısızlık: `Error: ...` artı `Attempts: ...`
|
||||
- ayrıntılı tanılama: `Attempt details: provider:outcome(reasonCode) latency`
|
||||
- OpenAI ve ElevenLabs API hataları artık ayrıştırılmış sağlayıcı hata ayrıntısını ve istek kimliğini (sağlayıcı tarafından döndürülürse) içerir; bu da TTS hata/günlüklerine yansıtılır.
|
||||
- OpenAI ve ElevenLabs API hataları artık ayrıştırılmış sağlayıcı hata ayrıntısını ve istek kimliğini (sağlayıcı döndürürse) içerir; bu bilgiler TTS hata kayıtlarında/günlüklerinde gösterilir.
|
||||
|
||||
## Ajan aracı
|
||||
|
||||
`tts` aracı, metni konuşmaya dönüştürür ve
|
||||
yanıt teslimi için bir ses eki döndürür. Kanal Feishu, Matrix, Telegram veya WhatsApp olduğunda,
|
||||
ses bir dosya eki yerine sesli mesaj olarak teslim edilir.
|
||||
ses dosya eki yerine sesli mesaj olarak teslim edilir.
|
||||
|
||||
## Gateway RPC
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user