Skip to main content
Lobster, çok adımlı araç işlem hatlarını açık onay denetim noktaları ve sürdürme belirteçleriyle tek bir deterministik araç çağrısı olarak çalıştırır. Ayrılmış arka plan işlerinin bir katman üzerinde yer alır: birçok ayrılmış görev arasındaki akışları düzenlemek için bkz. Task Flow (openclaw tasks flow); görev etkinliği defteri için bkz. Arka Plan Görevleri.

Neden

Lobster olmadan çok adımlı bir iş, modelin her adımı düzenlediği çok sayıda gidiş-dönüş araç çağrısı anlamına gelir. Lobster bu düzenlemeyi türü belirlenmiş bir çalışma zamanına taşır:
  • Birçok çağrı yerine tek çağrı: tek bir Lobster araç çağrısı, tüm işlem hattı için yapılandırılmış bir sonuç döndürür.
  • Yerleşik onaylar: yan etkiler (gönderme, yayımlama, silme), açıkça onaylanana kadar iş akışını durdurur.
  • Sürdürülebilir: durdurulan bir iş akışı bir belirteç döndürür; önceki adımları yeniden çalıştırmadan onaylayıp sürdürün.
Lobster, genel amaçlı bir betik dili yerine küçük ve kısıtlı bir DSL’dir: onaylama/sürdürme kalıcı, yerleşik bir temel öğedir; işlem hatları veridir (günlüklemek, farklarını almak, yeniden oynatmak ve incelemek kolaydır); küçük dil bilgisi, doğrulamanın gerçekçi kalması için “yaratıcı” kod yollarını sınırlar; zaman aşımları, çıktı sınırları, korumalı alan denetimleri ve izin listeleri her betik tarafından değil, çalışma zamanı tarafından uygulanır. Her adım yine de herhangi bir CLI’ı veya betiği çağırabilir; daha zengin bir yazım dili istiyorsanız diğer araçlardan .lobster dosyaları oluşturun. Lobster olmadan yinelenen bir e-posta önceliklendirmesi şöyle görünür:
Lobster ile aynı iş, onay için duran ve ardından sürdürülen tek bir çağrıdır:

Nasıl çalışır?

OpenClaw, Lobster iş akışlarını gömülü bir çalıştırıcı olarak paketlenmiş @clawdbot/lobster paketini kullanarak işlem içinde çalıştırır. Harici bir lobster alt işlemi başlatılmaz; araç çağrısı doğrudan bir JSON zarfı döndürür. İşlem hattı onay için durursa zarf, daha sonra devam edebilmeniz için bir sürdürme belirteci (veya kısa bir onay kimliği) taşır.

Etkinleştirme

Lobster, varsayılan olarak etkinleştirilmeyen isteğe bağlı bir Plugin aracıdır. Paketlenmiş olarak gönderildiğinden ayrı bir kurulum adımı gerekmez; yalnızca araca izin verin:
Veya aracı bazında:
alsoAllow, diğer çekirdek araçları kısıtlamadan etkin araç profilinin üzerine lobster ekler. Bunun yerine yalnızca kısıtlayıcı bir izin listesi modu istiyorsanız tools.allow kullanın.
Araç, korumalı alan içindeki araç bağlamlarında tamamen devre dışıdır. Geliştirme veya harici işlem hatları için (gömülü gateway çalıştırıcısının dışında) bağımsız Lobster CLI’a ihtiyacınız varsa Lobster deposundan kurun ve lobster öğesini PATH üzerine koyun.

Kalıp: küçük CLI + JSON kanalları + onaylar

JSON ile iletişim kuran küçük komutlar oluşturun, ardından bunları tek bir Lobster çağrısında zincirleyin. (Aşağıdaki örnek komut adlarını kendi komutlarınızla değiştirin.)
İşlem hattı onay isterse belirteçle sürdürün:
Örnek: girdi öğelerini araç çağrılarına eşleyin:

Yalnızca JSON kullanan LLM adımları (llm-task)

Bir iş akışında yapılandırılmış bir LLM adımı için isteğe bağlı llm-task Plugin aracını etkinleştirin ve Lobster’dan çağırın:

Önemli sınırlama: gömülü Lobster ile openclaw.invoke

Paketlenmiş Lobster Plugin’i, iş akışlarını gateway içinde işlem içinde çalıştırır. Bu gömülü modda openclaw.invoke, iç içe OpenClaw CLI araç çağrıları için bir gateway URL’sini/kimlik doğrulama bağlamını otomatik olarak devralmaz. Bu, aşağıdaki kalıbın şu anda gömülü çalıştırıcıda güvenilir olmadığı anlamına gelir:
Aşağıdaki örneği yalnızca openclaw.invoke öğesinin doğru gateway/kimlik doğrulama bağlamıyla zaten yapılandırıldığı bir ortamda bağımsız Lobster CLI çalıştırırken kullanın.
Bugün gömülü Lobster Plugin’ini kullanıyorsanız şunlardan birini tercih edin:
  • Lobster dışında doğrudan bir llm-task araç çağrısı veya
  • desteklenen bir gömülü köprü eklenene kadar Lobster işlem hattında openclaw.invoke olmayan adımlar.
Ayrıntılar ve yapılandırma seçenekleri için bkz. LLM Görevi.

İş akışı dosyaları (.lobster)

Lobster; name, args, steps, env, condition ve approval alanlarına sahip YAML/JSON iş akışı dosyalarını çalıştırabilir. Araç çağrısında pipeline değerini dosya yolu olarak ayarlayın.
Notlar:
  • stdin: $step.stdout ve stdin: $step.json, önceki bir adımın çıktısını aktarır.
  • condition (veya when), adımları $step.approved temelinde koşullandırabilir.

Eklenen ortam değişkenleri

Her adımın kabuğu, üst ortamın yanı sıra Lobster tarafından eklenen şu değişkenleri devralır; böylece komutlar, ham değerleri komut dizesine gömmeden çözümlenmiş iş akışı bağımsız değişkenlerine başvurabilir:
  • LOBSTER_ARG_<NAME> - iş akışı bağımsız değişkeni başına bir tane. Ad, alfasayısal olmayan ardışık karakterlerin her biri _ biçimine daraltılarak büyük harfe dönüştürülür; böylece user-id bağımsız değişkeni LOBSTER_ARG_USER_ID olur.
  • LOBSTER_ARGS_JSON - çözümlenmiş tüm bağımsız değişkenler tek bir JSON dizesi olarak.
Eklenen kümenin tamamı budur. LOBSTER_STEP_<id>_STDOUT veya LOBSTER_STEP_<id>_JSON_<field> gibi adım başına çıktı değişkenleri yoktur; kabuklar bu adları ayarlanmamış olarak değerlendirdiğinden parametre genişletme varsayılanları hatayı gizleyebilir. Bunun yerine önceki bir adımın çıktısını stdin:, env: veya condition: değerindeki $step.stdout, $step.json ya da $step.json.<field> gibi adım başvuruları aracılığıyla okuyun. (LOBSTER_STATE_DIR, durum dizini için ayrı bir çalışma zamanı ayarıdır; çalıştırma başına bağımsız değişken değildir.)

Araç parametreleri

run

Bir iş akışı dosyasını bağımsız değişkenlerle çalıştırın:

resume

resume, token (requiresApproval içindeki tam sürdürme belirteci) veya approvalId (aynı nesnedeki kısa kimlik) değerlerinden birini kabul eder; durdurulan çalıştırma hangisini döndürdüyse onu kullanın. approve gereklidir.

Yönetilen Task Flow modu

run üzerinde flowControllerId ve flowGoal (veya resume üzerinde flowId ve flowExpectedRevision) aktarılması, çağrının yalın bir zarf döndürmesi yerine Plugin çalışma zamanının yönetilen Task Flow API’si üzerinden yürütülmesini sağlar: OpenClaw, kalıcı bir akış kaydı oluşturur veya sürdürür, Lobster zarfını bu kayda uygular (onay sırasında waiting, tamamlanma sırasında succeeded/failed) ve { ok, envelope, flow, mutation } döndürür. Bu mod, bağlı bir Task Flow çalışma zamanı gerektirir ve tipik geçici aracı kullanımı için değil, gateway yeniden başlatmaları boyunca kalıcı akış durumuna ihtiyaç duyan Plugin/denetleyici kodu için tasarlanmıştır.

Çıktı zarfı

Lobster, üç durumdan birini içeren bir JSON zarfı döndürür:
  • ok - başarıyla tamamlandı
  • needs_approval - duraklatıldı; requiresApproval, çalıştırmayı sürdürebilecek bir resumeToken ve kısa bir approvalId taşır
  • cancelled - açıkça reddedildi veya iptal edildi
Araç, zarfı hem content (biçimlendirilmiş JSON) hem de details (ham nesne) içinde sunar.

Onaylar

requiresApproval varsa istemi inceleyip karar verin:
  • approve: true - sürdür ve yan etkilere devam et
  • approve: false - iş akışını iptal et ve sonlandır
Özel jq/heredoc bağlayıcıları olmadan onay isteklerine bir JSON önizlemesi eklemek için approve --preview-from-stdin --limit N kullanın. Sürdürme durumu, Lobster durum dizininde (varsayılan olarak ~/.lobster/state; LOBSTER_STATE_DIR ile geçersiz kılınabilir) küçük JSON dosyaları olarak saklanır; belirtecin kendisi tam işlem hattı durumunu değil, yalnızca bu duruma işaret eden bir göstericiyi kodlar.

OpenProse

OpenProse, Lobster ile iyi bir uyum sağlar: çok aracılı hazırlığı düzenlemek için /prose kullanın, ardından deterministik onaylar için bir Lobster işlem hattı çalıştırın. Bir Prose programı Lobster’a ihtiyaç duyuyorsa tools.subagents.tools aracılığıyla alt aracılar için lobster aracına izin verin. Bkz. OpenProse.

Güvenlik

  • Yalnızca süreç içi yerel çalışma - iş akışları Gateway süreci içinde yürütülür; Plugin’in kendisinden ağ çağrısı yapılmaz.
  • Gizli bilgi yok - Lobster, OAuth’u yönetmez; bunu yapan OpenClaw araçlarını çağırır.
  • Korumalı alan duyarlı - araç bağlamı korumalı alandayken devre dışı bırakılır.
  • Güçlendirilmiş - zaman aşımları ve çıktı sınırları, gömülü çalıştırıcı tarafından uygulanır.

Sorun giderme

Daha fazla bilgi

Vaka çalışması: topluluk iş akışları

Herkese açık bir örnek: üç Markdown kasasını (kişisel, eşe ait, paylaşılan) yöneten bir “ikinci beyin” CLI’sı + Lobster işlem hatları. CLI; istatistikler, gelen kutusu listeleri ve eskimiş öğe taramaları için JSON çıktısı üretir; Lobster bu komutları weekly-review, inbox-triage, memory-consolidation ve shared-task-sync gibi, her biri onay kapıları içeren iş akışlarında zincirler. Yapay zekâ, kullanılabilir olduğunda değerlendirme (sınıflandırma) işlemini gerçekleştirir; kullanılamadığında ise deterministik kurallara geri döner.

İlgili