SSD Nodes Learn Hosting plans →
Rehberler Matt ConnorYazan Matt Connor · Güncellendi 2026-08-24

En Gerekli DeepSeek Harness Eklentileri Hangileri?

Kiralık sunucularda DeepSeek Harness performansını artıran 5 temel eklenti; bütçe sınırı, araç yetkilendirme, enjeksiyon tarama, kalıcı bellek ve LAN erişimini kapsar.

Hangi DeepSeek Harness eklentilerinin kurulması gerekir

DeepSeek Harness eklentileri, kendi ajanınızın ayrıcalıklarıyla ve sizin ödediğiniz bir makinede çalışan üçüncü taraf kodlardır. Topluluk listesinde yirmiden fazla kategori ve binden fazla girdi bulunmaktadır. Kiralanan bir sanal özel sunucuda (VPS) şu beş eklentiye ihtiyacınız vardır: harcama limitleri için dsh-budget, araç kısıtlamaları için dsh-permission-rules, enjeksiyon ve gizli veri taraması için dsh-defend, oturum süresinden daha uzun ömürlü veriler için dsh-memory ve yalnızca kimlik doğrulama yönteminize karar verdikten sonra dsh-web-lan-access.

Harness, DeepSeek'in her şeyin bir eklenti olduğu mantığıyla inşa edilmiş açık kaynaklı ajan çatısı olan dsh'dır. Kendi README dosyası onu bir geliştirici önizlemesi olarak tanımlar ve THERE WILL BE COMPATIBILITY-BREAKING CHANGES konusunda uyarır. Bu tek gerçek, aşağıdaki her seçimi şekillendirir. Kurduğunuz sürümleri sabitleyin, bir güncellemenin sistemi bozmasını bekleyin ve eklenti setini tamamını okuyabileceğiniz kadar küçük tutun. Eğer Harness henüz çalışmıyorsa, bir VPS üzerinde DeepSeek Harness kurulumu ile başlayın ve buraya geri dönün. Eğer bu eklentilerin bağlandığı kısımlar; yani ajan döngüsü, araçları ve belleği hala net değilse, önce temel kavramları çalışın, çünkü her katmanın ne yaptığını bildiğinizde aşağıdaki seçimleri değerlendirmek daha kolay olacaktır.

dsh bir eklentiyi nasıl kurar ve yapılandırma dosyası nereye yerleşir

dsh, Cordis eklentilerinden bir araya gelir; bu nedenle çalışan bir örnek, tek bir programdan ziyade bir eklenti ağacıdır. Profil, bu eklentilerin isimlendirilmiş bir bileşimidir. İki şablon web ve headless'dir. $DSH_HOME varsayılan olarak ~/.dsh değerini alır ve bir profil $DSH_HOME/profiles/<name>/ konumunda bulunur; kendi package.json dosyasını, bir dsh.profile bildirimini ve bir cordis.patch.yml dosyasını barındırır.

dsh plugin --profile web list
dsh plugin --profile web add dsh-budget
dsh plugin --profile web remove dsh-budget

Dört kaynak biçimi kullanılabilir: yalın bir npm paket adı, @towzai/dsh-memory gibi kapsamlı bir ad, github:PerryLink/dsh-budget#main gibi bir GitHub referansı ve link: veya ./ ile belirtilen yerel bir yol. GitHub biçimini tercih edin; çünkü #main kısmını bir commit hash değeri ile değiştirerek gelecek ay aynı kodu tekrar elde edebilirsiniz.

dsh plugin --profile web add "github:PerryLink/dsh-budget#461d478"

Katmanlar sabit bir sırada uygulanır: profilde listelenen sırayla her paket, ardından profilin cordis.patch.yml dosyası, sonra kullanıcı dizinindeki cordis.patch.yml ve son olarak herhangi bir --patch katmanı. Sıralama önemlidir çünkü sonraki bir katman, önceki bir katmanın ayarladıklarını yeniden yapılandırabilir veya devre dışı bırakabilir. Bu nedenle bir eklenti kurulu göründüğü halde çalışmıyorsa, profilin cordis.patch.yml dosyasını açın ve iki şeyi kontrol edin: ekleme bloğunun orada olup olmadığını ve sonraki katmanlardan herhangi birinin onu devre dışı bırakıp bırakmadığını doğrulayın.

17 Ağustos 2026 itibarıyla @deepseek-ai/dsh npm paketi 0.1.0-rc.7 sürümündedir; aşağıdaki her eklenti ise 0.1.0-rc.5 ile 0.1.0-rc.6 arasındaki sürümlerle uyumluluğunu beyan eder. Bu boşluk, bu ekosistemde normaldir ve bir eklentinin yüklenmeyi durdurmasının yaygın nedenidir: altyapı (harness), çevresindeki eklentilerden daha hızlı güncellenir. Altyapıyı bilinçli olarak yükseltin ve ardından eklentileri tek tek test edin.

Bir eklentiye güvenmeden önce kodunu inceleyin

Bir dsh eklentisi, ana sistemden (harness) yalıtılmış bir ortamda çalışmaz. Aynı Cordis ağacına, aynı süreç içinde, aynı işletim sistemi kullanıcısıyla yüklenir; aynı model kimlik bilgilerine ve aynı çalışma ağacına erişimi vardır. Bir eklenti yüklemek, bir tarayıcı eklentisi eklemekten ziyade, başka birinin yazdığı bir betiği sudo ile çalıştırmaya benzer. Bu, Claude Code eklentilerinin ortaya çıkardığı güven sorunuyla aynıdır ve cevabı da aynıdır: kodu okuyun veya yüklemeyin.

Şu dört noktayı bu sırayla kontrol edin:

  • Hangi genişletme noktalarını kullandığı. tools/pre-execute, eklentinin her araç çağrısını gördüğü ve engelleyebileceği anlamına gelir. agent/pre-step, mesajlarınızı görebildiği anlamına gelir. webServer.tapIndex, tarayıcınıza sunulan sayfayı yeniden yazabildiği anlamına gelir. Bunların hiçbirini kullanmayan bir eklenti çok az şey yapabilir; bunların hepsini kullanan bir eklenti ise güvenlik sınırınızın ta kendisidir.
  • Ağ ile iletişim kurup kurmadığı. Kaynak kod içerisinde fetch, http ve sabit kodlanmış (hard-coded) tüm ana bilgisayar adlarını (hostname) arayın. Merkeze veri gönderen bir kullanım sayacı, kullanım alışkanlıklarınızı başka bir yere aktarıyor demektir.
  • Kimlik bilgilerini okuyup okumadığı. credentials.* veya bir sağlayıcı anahtarına dokunan her şeyin, README dosyasında belirtilmiş bir gerekçesi olmalıdır.
  • Lisans ve son commit tarihi. Haftalık olarak değişen bir ekosistemde, aylardır dokunulmamış ve lisanssız bir eklenti bir güvenlik riskidir.

Eklentiyi branch yerine commit hash değeri ile yükleyin ve yükleyicinin cordis.patch.yml içerisine eklediği blokları okuyun. Bu blok, eklenti kimliğini ve kaydettiği yapılandırmayı belirtir; bu da az önce eklediğiniz şeyin en kısa ve dürüst açıklamasıdır. Sırları yapay zeka ajanlarından uzak tutma prensibi doğrultusunda, ana sistem izin verdiği sürece sağlayıcı anahtarlarını eklentinin erişemeyeceği yerlerde tutun.

dsh-budget: bir temsilcinin tüm gece harcama yapmasını nasıl durdururum?

Bir VPS üzerindeki temsilci gözetimsiz çalışır. Buraya yerleştirilmesinin amacı budur, ancak aynı zamanda riski de budur. dsh-budget, model, oturum ve gün bazında tokenları ve tahmini maliyeti ölçer ve bu toplamlar üzerinden limitler uygular.

dsh plugin --profile web add "github:PerryLink/dsh-budget#461d478"

Varsayılan değerleri cömerttir: oturum başına 10 USD, günlük 50 USD ve aylık 500 USD. Bunlar fonlanan bir ekip için uygundur. Kişisel bir sunucuda bu değerler, kontrolsüz bir döngünün limit tetiklenmeden önce bitmesine neden olacak kadar yüksektir; bu nedenle ilk günden bu değerleri düşürün.

Chartdsh-budget default caps and a lower starting point for one small VPS (USD)
The data behind this chart
[
  {
    "label": "Per session",
    "plugin_default_usd": 10,
    "suggested_start_usd": 2
  },
  {
    "label": "Per day",
    "plugin_default_usd": 50,
    "suggested_start_usd": 5
  },
  {
    "label": "Per month",
    "plugin_default_usd": 500,
    "suggested_start_usd": 40
  }
]

Önerilen sütun, yayınlanmış bir rakam değil, tek bir sunucudaki tek bir operatör için bir başlangıç noktasıdır. Gerçek bir aylık kullanım verisi size ne yapmanız gerektiğini söylediğinde bu değeri artırın. 40 USD'lik bir aylık limit ve 2 USD'lik bir oturum limiti, aracın tüketim alışkanlıklarını öğrenirken tam da istediğiniz gibi, erken ve belirgin bir şekilde başarısız olur.

- id: budget
  config:
    budgets:
      session: 2
      daily: 5
      monthly: 40
    warnRatio: 0.8
    overLimit: block

Makinenin davranışını değiştiren ayar overLimit değeridir. Varsayılan değeri alert'dir; bu ayar bir uyarı yazdırır ancak harcamaya devam eder, dolayısıyla bu eklenti kutudan çıktığı haliyle bir gösterge paneli işlevi görür. Bunu block olarak ayarladığınızda, bir limite ulaşıldığında harness daha fazla model çağrısını reddeder; bu da gece çalışan bir işin sabaha kadar fatura üretmek yerine durması anlamına gelir. degrade üçüncü moddur: işin bitmesi gerekiyorsa ancak en iyi modele ihtiyaç duymuyorsa, modeli degradation haritasındaki daha ucuz bir modelle değiştirir. warnRatio varsayılan olarak 0.8 değerindedir, bu sayede limitin yüzde 80'ine ulaşıldığında haberdar olursunuz.

İki dürüst sınır vardır. Maliyet, sağladığınız fiyatlar üzerinden hesaplanır: prices varsayılan olarak boştur ve defaultPrice, milyon girdi tokenı başına 1.0 USD ve milyon çıktı tokenı başına 3.0 USD değerine geri döner. Modelleriniz için gerçek rakamları girin, aksi takdirde gösterge paneli ölçüm gibi görünen bir tahminden ibaret kalır. İkinci olarak, eklenti oturum olay akışından çalışan süreçteki verileri toplar, bu nedenle harness yeniden başlatıldığında toplamlar sıfırlanır. Bir çökme döngüsü veya dsh'i yeniden başlatan bir denetleyici, günlük limiti sıfırlar. dsh-budget'u kendi işlerinize karşı bir güvenlik önlemi olarak görün ve gerçek tavan noktası olarak sağlayıcı hesabında bir harcama limiti tutun; bu, bir VPS üzerinde yapay zeka temsilcisi maliyetini kontrol etme konusundaki daha geniş tartışmanın temelidir.

Günlük kullanımda genel bakış için /budget, model bazlı döküm için /budget models ve devam etmeye karar verdiğinizde bir engeli kaldırmak için /budget unblock <scope> kullanılır.

dsh-permission-rules: hangi araç çağrıları asla çalıştırılmamalıdır?

dsh-permission-rules, tools/pre-execute şelalesi üzerinde bildirimsel kurallar tanımlar; böylece bir araç çalıştırılmadan önce kural değerlendirilir. Üç eylem mevcuttur. allow çağrının geçmesine izin verir, deny çağrıyı engeller ve modelin okuyabileceği bir gerekçe döndürür, ask ise çağrıyı resmi onay hattına yönlendirir.

dsh plugin --profile web add "github:PerryLink/dsh-permission-rules#b30b4fb"

Kurallar, oturumun çalışma dizinine göre .dsh/rules.yaml içinde yer alır; küresel bir fallbackPath ve dosya sistemi köküne doğru ilerleyen isteğe bağlı searchUp dosyaları bulunur. Eşleştirme; araç adı glob ifadelerini, parametre anahtar ve değer glob ifadelerini, çalışma alanı göreli yol glob ifadelerini, main veya subagent gibi aracı seçicilerini ve ağ hedeflerini kapsar.

rules:
  - match: { tools: [bash], params: { command: "rm -rf*" } }
    action: deny
    reason: "No recursive deletes"
  - match: { tools: [edit, write], paths: ["**/.env*", "**/secrets/**"] }
    action: ask
    reason: "Secret files need confirmation"
  - match: { tools: ["mcp__*"] }
    action: ask
    reason: "MCP tools need confirmation"

Değerlendirme sürecinde ilk eşleşen kural geçerli sayılır; bu nedenle en üstteki geniş kapsamlı bir allow, altındaki tüm daha dar kapsamlı kuralları sessizce geçersiz kılar. Reddetme kurallarını önce, izin verici kuralları ise en sona yazın. Araç adı glob ifadesi mcp__* öğesini de kapsar; bu, doğrudan harness içinden değil de bir model context protocol (MCP) sunucusundan gelen araçları nasıl kısıtlayacağınızı belirler. Bu durum, bir VPS üzerinde MCP sunucuları çalıştırdığınız anda önem kazanır.

Planlanması gereken bir davranış: ask bir yanıtlayıcı gerektirir. Bir headless profilinde kimse izlemiyor olabilir, bu yüzden bir ask kuralı, birisi gelene kadar çalışmayı bekletebilir. Asla onaylamayacağınız işlemler için deny kullanın, başında oturduğunuz profil için ask kuralını koruyun. Eğer onayların gözetimsiz çalışmasını istiyorsanız gerçek bir yanıt yoluna ihtiyacınız vardır; bu konu yapay zeka ajanı eylemlerini onaylarla kısıtlama başlığında ele alınmıştır.

dsh-defend: prompt injection ve sızdırılmış sırlar hakkında ne yapılmalı?

dsh-defend üç noktada tarama yapar: agent/pre-step üzerindeki gelen mesajlar, yıkıcı silme koruması dahil olmak üzere tools/pre-execute üzerindeki araç argümanları ve tools/post-execute üzerindeki araç sonuçları. Sonuncusu ilginç olanıdır, çünkü model üzerinde işlem yapmadan önce bir web sayfasından getirilen içeriğin incelendiği yer burasıdır.

dsh plugin --profile web add "github:PerryLink/dsh-defend#7ba3427"

Varsayılan ayarlar katı olmaktan ziyade temkinlidir: detection.injectionAction, detection.jailbreakAction ve detection.secretAction ayarlarının tümü ask durumundadır; detection.secretBlockCritical ise true olarak ayarlanmıştır, bu nedenle diğer ayarlar ne olursa olsun kritik bir sır engellenir. Başında kimsenin bulunmadığı bir sunucuda, önemsediğiniz eylemleri block olarak değiştirin; çünkü soracak kimsenin olmadığı bir durumda ask bir karar değildir.

Denetim tasarımı takdiri hak ediyor. defend/detection olayları; kural kimliğini, ailesini, kategorisini, önem derecesini, kararı ve tarama verilerini kaydeder, ancak eşleşen metni asla kaydetmez; sırlar yalnızca türlerine göre kaydedilir. Bu nedenle denetim günlüğünü etkinleştirmek, korumaya çalıştığınız kimlik bilgisinin ikinci bir kopyasını oluşturmaz.

Bunun size ne sağladığı konusunda net olun. Algılama kural tabanlıdır ve README dosyası, yeni ifadelerin ve çok adımlı saldırıların bunu aşabileceğini açıkça belirtir. Bu, bariz saldırıların oranını düşürür. Bir ajanı güvenilmeyen içeriğe yönlendirmeyi güvenli hale getirmez, bu nedenle altındaki izin kurallarını korumaya devam edin.

dsh-memory: aracı yarın neyi hatırlar?

İki farklı eklenti dsh-memory olarak adlandırılır; bir yükleme komutu yazmadan önce bunu bilmekte fayda vardır. Okuduğunuz eklentiyi aldığınızdan emin olmak için açık kaynak belirterek yükleyin.

Küçük bir sunucuya kuracağım sürüm SQLite tabanlı olandır. memory olarak kaydedilir, profiller arasında paylaşılan tek bir dosyayı $DSH_HOME/memory/memory.db konumunda tutar ve memory_write, memory_search ile memory_forget komutlarını kullanıma sunar. Arama, depolanan metin ve etiketler üzerinde anahtar kelime tabanlıdır. Gömme (embedding) servisi, API anahtarı veya fazladan bir süreç yoktur.

dsh plugin --profile web add "github:ben7am1n/dsh-memory#def7c6a"

Düzenleyeceğiniz yapılandırma oldukça küçüktür: veritabanı dosyası için path, sabitlenmemiş kaç belleğin enjekte edileceğini belirlemek için promptRecentCount (varsayılan 10) ve işleme bütçesi için promptMaxChars (varsayılan 2000). Node 22 ve 24 sürümlerinde hala deneysel olarak işaretlenen node:sqlite kütüphanesine dayandığından, Node yükseltmesi varsayılan olarak kabul edilmemeli, önceden test edilmelidir.

Bellek özelliğinin makinede değiştirdiği şey şudur: enjekte edilen anılar her adımda sistem istemine (system prompt) dahil edilir. 2000 karakterlik bir bütçe, her istekte kalıcı olarak birkaç yüz ek girdi token'ı anlamına gelir. Bu, faturanıza yansıyan gerçek bir maliyettir ve dsh-memory kurulmadan önce dsh-budget aracının sunucuda bulunmasının nedeni budur. promptMaxChars değerini düşük tutun ve dosyanın büyümesine izin vermek yerine memory_forget ile temizlik yapın.

Alternatif sürüm, anıları bir YAML dosyasında saklar ve otomatik istem enjeksiyonu ile gömme araması yapar; dsh plugin --profile web add github:towzai/dsh-memory ile yüklenir. Yerel bir ollama örneğine ve varsayılan olarak qwen3-embedding:0.6b olan, DSH_MEMORY_EMBED_MODEL ile değiştirilebilen bir gömme modeline ihtiyaç duyar. Anlamsal geri çağırma (semantic recall), anahtar kelime tabanlı geri çağırmadan daha iyidir. Bu aynı zamanda ikinci bir servis ve sunucuda yer kaplayan bir model ağırlıkları seti anlamına gelir; küçük bir planda bu, sunucuyu kiralama amacınız olan işten çalınan bellek demektir. RAM kapasiteniz uygunsa bu seçeneği tercih edin. Geri çağırma kalitesi ile sunucu maliyeti arasındaki genel denge aracılar için yerel bellek bölümünde ele alınmıştır.

dsh-web-lan-access: web arayüzü localhost dışından dinlemeli mi?

npx @deepseek-ai/dsh web, arayüzü 127.0.0.1:3080 üzerinde sunar. Tarayıcılar crypto.randomUUID() özelliğini yalnızca güvenli bağlamlarda kullanıma sunar; bu nedenle aynı sayfayı başka bir makineden düz HTTP üzerinden yüklemek başarısız olur. dsh-web-lan-access, küçük bir polyfill eklemek için webServer.tapIndex üzerinden müdahale ederek bu sorunu çözer ve sunucu bağlamını 0.0.0.0 adresine geçirir.

Kurulumdan önce kendi uyarısını okuyun. 0.0.0.0 adresine bağlamak, aracın yerel ağdaki (LAN) herkes tarafından kimlik doğrulaması olmaksızın erişilebilir olmasına neden olur; genel IP adresine sahip bir sunucuda ise bu, tüm internete açık olmak anlamına gelir. Hassas yöntemlerin kısa bir listesi (settings.*, credentials.*, llm.discoverModels) localhost üzerinde sabit tutulur ve uzak kaynaklardan gelen isteklere 403 hatası döndürerek olası zararı sınırlar. Ancak bu durum, araç çağırma yüzeyi portu bulan herkese açık kaldığı için riski tamamen ortadan kaldırmaz.

Çoğu durumda bu eklentiye ihtiyacınız yoktur. Bunun yerine portu SSH üzerinden yönlendirin.

ssh -N -L 3080:127.0.0.1:3080 you@your-server

Ardından yerel tarayıcınızda http://127.0.0.1:3080 adresini açın. Harness yalnızca localhost üzerinde dinleme yapmaya devam ettiği için hiçbir şey dışarıya açılmaz ve tarayıcılar 127.0.0.1 adresini güvenli bir kaynak olarak kabul ettiğinden crypto.randomUUID() kullanılabilir durumdadır; dolayısıyla herhangi bir polyfill gerekmez. Tek komut, eklenti yok, yeni bir saldırı yüzeyi yok.

Eklentiyi yalnızca yönlendirme işleminin işe yaramadığı durumlarda, örneğin aynı ağdaki bir telefonun arayüze erişmesi gerektiğinde kurun. Eğer kuracaksanız, özel bir ağ arayüzü arkasına bağlayın, yalnızca bu arayüze izin veren bir güvenlik duvarı kuralı tutun ve kullanacağınız isimleri web-runtime girdisi altındaki trustedHosts kısmında listeleyin. Gerçek çok kullanıcılı erişim için, alt kullanıcı izinleri, kullanıcı başına saatlik token ve günlük zaman kotaları, Let's Encrypt aracılığıyla otomatik TLS (transport layer security) sertifikaları ve şifreli bir denetim günlüğü ekleyen dsh-passwords mevcuttur. Bunu bir eklentiden ziyade bir platform olarak değerlendirin: 80 ve 443 numaralı portları ister, kendi yükleyicisiyle gelir ve belgelenen hızlı kurulum yöntemi, ağdan gelen bir shell betiğini doğrudan bash içine yönlendirir. Bunun yerine npm install -g dsh-passwords ve ardından dsh-passwords install komutlarını tercih edin; böylece kod, çalıştırılmadan önce okuyabileceğiniz şekilde diskte yer alır.

Bir eklenti temiz bir şekilde nasıl kaldırılır

Eklenti kaldırma işlemi iki aşamadan oluşur ve kullanıcılar genellikle ikinci aşamayı atlar.

dsh plugin --profile web remove dsh-budget
dsh plugin --profile web list

list artık eklentiyi göstermemelidir. Ardından $DSH_HOME/profiles/web/cordis.patch.yml dosyasını açın ve o eklentiyi adlandıran tüm ekleme bloklarını silin; çünkü eklentiyi ağaç yapısına yükleyen girdi budur. Ağacın yeniden oluşturulması için harness sürecini yeniden başlatın; halihazırda yüklenmiş bir eklenti, siz yeniden başlatana kadar yüklü kalmaya devam eder. Son olarak, verilerin koddan daha uzun ömürlü olduğunu unutmayın. $DSH_HOME/memory/memory.db ve .dsh/rules.yaml dosyaları kaldırma işleminden sonra da varlığını sürdürür. Eğer amacınız verileri silmekse, bu dosyaları manuel olarak silin.

Okuduklarım ve zamanlaması

Buradaki her referans bir branch değil, bir commit'tir; çünkü siz bunu okuduğunuzda main farklı bir kod yapısına sahip olacaktır. Bunların tamamını 17 Ağustos 2026 tarihinde inceledim ve test altyapısının kendisi o gün npm üzerinde 0.1.0-rc.7 sürümündeydi.

Bu kısa listenin arkasındaki kesin commit'ler
  • Topluluk eklenti listesi, f2918fb commit'i, 17 Ağustos 2026. Bilinçli olarak tek bir kez bağlantı verilmiştir. Bu bir dizindir ve dizin olması bir tavsiye niteliği taşımaz.
  • dsh-budget, 461d478 commit'i, 17 Ağustos 2026. Apache 2.0. dsh 0.1.0-rc.6, Node 22.19 veya 24 ve üzerini gerektirir.
  • dsh-permission-rules, b30b4fb commit'i, 17 Ağustos 2026. Apache 2.0. dsh 0.1.0-rc.5 ile 0.1.0-rc.6 arasını gerektirir.
  • dsh-defend, 7ba3427 commit'i, 17 Ağustos 2026. Apache 2.0. dsh 0.1.0-rc.6 gerektirir.
  • dsh-memory, def7c6a commit'i, 13 Ağustos 2026. MIT. SQLite yapısı içerir.
  • dsh-web-lan-access, e27e909 commit'i, 16 Ağustos 2026. MIT.

Bir komutu kopyalamadan önce bu sabitlemeleri tekrar kontrol edin. Geliştirici önizleme ekosisteminde, üzerinde tarih bulunan bir sürüm numarası anlam taşıyan tek referanstır.

FAQ

Bir VPS üzerinde ilk olarak hangi DeepSeek Harness eklentileri kurulmalıdır?

Diğer her şeyden önce dsh-budget ve dsh-permission-rules eklentilerini kurun. overLimit: block içeren bir bütçe, gözetimsiz bir çalışmanın tüm gece boyunca harcama yapmasını engeller; .dsh/rules.yaml dosyası ise onaylamayacağınız bir araç çağrısını durdurur. Ajan genel ağdan herhangi bir veri okumaya başladığında dsh-defend eklentisini ekleyin; her oturumda aynı bağlamı yapıştırdığınızı fark ettiğinizde ise dsh-memory eklentisini kullanın. Temalar ve durum çubuklarını atlayın: bunlar, makinenin işleyişini değiştirmeden ajanın yetkileriyle çalışan kodlar ekler.

dsh eklentileri harness'tan yalıtılmış mıdır?

Hayır. Bir eklenti, harness ile aynı Cordis ağacına, aynı süreç içinde, aynı işletim sistemi kullanıcısı olarak, aynı model kimlik bilgileriyle ve aynı çalışma diziniyle yüklenir. tools/pre-execute üzerinden bağlanan bir eklenti her araç çağrısını görür ve engelleyebilir; agent/pre-step üzerinden bağlanan ise mesajlarınızı görür. Bu nedenle kaynak kodunu okuyun, lisansı ve son commit tarihini kontrol edin. Kodun sizden habersiz değişmemesi için kurulumu branch yerine commit üzerinden yapın.

dsh-budget ajanı gerçekten durdurur mu, yoksa sadece uyarır mı?

Bu durum overLimit ayarına bağlıdır. Varsayılan değer olan alert, warnRatio seviyesinde uyarır ancak harcamaya devam eder. block, limit aşıldığında model çağrılarını reddeder; /budget unblock <scope> ise devam etmeyi seçtiğinizde limiti kaldırır. degrade, degradation haritasındaki daha ucuz bir modele geçiş yapar. Önemli bir sınırlama şudur: toplamlar, oturum olay akışından çalışan süreç içinde toplanır; bu nedenle harness'ı yeniden başlatmak sayaçları sıfırlar ve bir yeniden başlatma döngüsü günlük limiti etkisiz kılabilir. Gerçek bir tavan sınırı olarak sağlayıcı hesabınızdaki harcama limitini koruyun.

Bir dsh eklentisini tamamen nasıl kaldırırım?

dsh plugin --profile web remove <package-name> komutunu çalıştırın, dsh plugin --profile web list ile onaylayın, ardından $DSH_HOME/profiles/web/cordis.patch.yml dosyasını açarak o eklentiye ait kalan ekleme bloğunu silin; çünkü eklentiyi yükleyen bu girdidir. Eklenti ağacının yeniden oluşturulması için harness'ı yeniden başlatın. Eklenti tarafından diske yazılan veriler kalır: $DSH_HOME/memory/memory.db ve .dsh/rules.yaml, siz onları manuel olarak silene kadar kaldırma işleminden sonra da varlıklarını sürdürür.

dsh web arayüzünü ağ üzerinden dışarıya açmak güvenli midir?

Tek başına hayır. dsh web, 127.0.0.1:3080 üzerinde dinleme yapar ve dsh-web-lan-access bu bağlamayı 0.0.0.0 adresine değiştirir. Kendi README dosyası, bunun ajanı aynı ağdaki herkes için kimlik doğrulaması olmadan erişilebilir kıldığını belirtir; genel bir IP adresinde ise bu, internete açık olmak anlamına gelir. Birkaç yöntem (settings.*, credentials.*, llm.discoverModels) loopback üzerinde sabit kalır ve uzak kaynaklardan gelen isteklere 403 hatası döndürür; bu durum zararı azaltır ancak tamamen engellemez. Bir SSH port yönlendirmesi veya ssh -N -L 3080:127.0.0.1:3080 you@your-server kullanın ya da portu özel bir ağ arayüzü ve güvenlik duvarı kuralı arkasına alın; dışarıdan erişilebilir hale getirmeden önce gerçek bir kimlik doğrulama ekleyin.