SSD Nodes Learn Hosting plans →
Rehberler Matt ConnorYazan Matt Connor

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 adlandırılmış bir bileşimidir. İki şablon web ve headless'dir. $DSH_HOME varsayılan olarak ~/.dsh değerini kullanı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 çalışır: 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 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ı, ardından ev dizini seviyesindeki cordis.patch.yml ve son olarak herhangi bir --patch katmanı. Sıralama önemlidir çünkü sonraki bir katman, önceki bir katmanın kurduğu ayarları yeniden yapılandırabilir veya kaldırabilir. 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 hiçbir katmanın onu devre dışı 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ündeydi, aşağıdaki eklentiler ise 0.1.0-rc serisi için derlenmişti. dsh-permission-rules ve dsh-defend, 0.1.0-rc.5 ile 0.1.0-rc.6 arası sürümlerle uyumluluk beyan ederken, dsh-budget yalnızca 0.1.0-rc.6 sürümünü, dsh-memory yalnızca ^0.1.0-rc.6 ile başlayan eş aralıklarını belirtir ve dsh-web-lan-access herhangi bir dsh sürümü beyan etmez. 10 Ekim 2026 tarihinde npm üzerindeki latest etiketi 0.2.0-rc.2 sürümündedir, dolayısıyla bu sabit sürümler seçildiğinden bu yana aradaki fark daha da açılmıştır. Bu fark, bu ekosistemde normaldir ve bir eklentinin yüklenmeyi durdurmasının olağan nedenidir: altyapı (harness), etrafındaki eklentilerden daha hızlı güncellenir. Altyapıyı bilinçli olarak yükseltin, 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 aracı tüm gece harcama yapmaktan nasıl durdururum?

Bir VPS üzerindeki aracı, gözetimsiz olarak çalışır. Onu oraya yerleştirmenin amacı budur, ancak bu aynı zamanda bir risktir. dsh-budget, model, oturum ve gün bazında token kullanımını ve tahmini maliyeti ölçer; bu toplamlar üzerinde 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 finanse edilen 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 yüzden ilk günden bu değerleri düşürün.

Grafikdsh-budget default caps and a lower starting point for one small VPS (USD)
Bu grafiğin arkasındaki veriler
[
  {
    "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. Bir aylık gerçek kullanım verisi size ne yapmanız gerektiğini söylediğinde bu değeri artırın. 40 USD aylık limit ve 2 oturum limiti ile başlamak, aracın tüketim alışkanlıklarını öğrenirken istediğiniz gibi erken ve belirgin bir şekilde hata verecektir.

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

Makinenin davranışını değiştiren ayar overLimit'dir. Varsayılan değeri alert'tür; bu ayar bir uyarı yazdırır ve harcamaya devam eder, yani bu eklenti kutudan çıktığı haliyle bir gösterge panelidir. Bunu block olarak ayarlarsanız, bir limite ulaşıldığında sistem 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: çağrıyı engeller ve degradation haritasından daha ucuz bir model önerir; bu, bir işin bitmesi gerektiğinde ancak en iyi modele ihtiyaç duymadığınızda doğru bir yaklaşımdır. warnRatio varsayılan olarak 0.8 değerindedir, bu sayede limitin yüzde 80'ine ulaştığınızda bildirim alırsınız.

İki dürüst sınırlama vardır. Maliyet, sağladığınız fiyatlarla birleştirilen yerleşik bir fiyat tablosundan hesaplanır ve geliştirici, yerleşik fiyatların zamanla değişebileceği konusunda uyarır. prices varsayılan olarak boştur. 461d478 sabit commit'inde, her iki tabloda da bulunmayan bir model için yedek değer olan defaultPrice, milyon girdi token'ı başına 1.0 USD ve milyon çıktı token'ı başına 3.0 USD'dir; 10 Ekim 2026 tarihinde kontrol edilen güncel main sürümünde ise bu değer varsayılan olarak sıfırdır ve model fiyatlandırılmamış olarak görünür. 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, 461d478 noktasında eklenti, oturum olay akışından gelen verileri çalışan süreç içinde toplar; bu nedenle toplamlar sistem yeniden başlatıldığında sıfırlanır. Bir çökme döngüsü veya dsh'ü yeniden başlatan bir denetleyici, günlük limiti sıfırlayabilir. Mevcut main, gün ve ay verilerini varsayılan olarak kalıcı hale getirir (persistence.enabled: true, her 10 saniyede bir anlık görüntü alınır) ve başlangıçta geri yükler; bu sayede sistem, depolama alanını sağladığı sürece yeniden başlatma artık günlük veya aylık limiti temizlemez. Bu depolama alanı olmadan toplama işlemi süreç bazlı kalır. main ayrıca 0.2 sistem hattını hedefler, bu nedenle sabitlemeyi değiştirmek sistemi de değiştirmek anlamına gelir. Her iki durumda da, dsh-budget'u kendi işlerinize karşı bir güvenlik önlemi olarak görün ve gerçek tavan fiyat olarak sağlayıcı hesabınızda bir harcama limiti tutun; bu, VPS üzerinde yapay zeka aracı 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 uygular; 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 kanalı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 bulunur; küresel bir fallbackPath ve dosya sistemi köküne doğru ilerlemek için isteğe bağlı bir searchUp içerir. Eşleştirme; araç adı glob'larını, parametre anahtar ve değer glob'larını, çalışma alanına göreli yol glob'larını, 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 "ilk eşleşen kazanır" prensibiyle çalışır; bu nedenle en üstteki geniş kapsamlı bir allow, altındaki tüm daha dar kuralları sessizce geçersiz kılar. Reddetme kurallarını önce, izin verici kuralları ise en sona yazın. Araç adı glob'u, doğrudan harness'ın kendisinden değil, bir model context protocol (MCP) sunucusundan gelen araçları nasıl denetleyeceğinizi belirleyen mcp__* ifadesini kapsar; bu durum, VPS üzerinde MCP sunucuları çalıştırdığınız anda önem kazanır.

Planlanması gereken bir davranış: ask bir yanıtlayıcıya ihtiyaç duyar. Bir headless profilinde kimse izlemiyor olabilir ve yanıtlanmamış bir ask, birinin gelmesini beklemez: bir yanıtlayıcı tanımlanmadığında, harness onay zinciri varsayılan olarak kapalı kalır ve çağrı reddedilir. Bu nedenle, gözetimsiz bir sunucuda bir ask kuralı, bilerek yazmadığınız bir deny gibi davranır. 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ıtlayıcı yoluna ihtiyacınız vardır; bu konu yapay zeka aracı eylemlerinin onaylarla denetlenmesi başlığının konusudur.

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 ve 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"

Değiştireceğiniz yapılandırma 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 dayanır, bu nedenle Node yükseltmesi varsayılan olarak değil, test edilerek yapılmalıdır.

Belleğin makinede gerçekte neyi değiştirdiği şöyledir: enjekte edilen bellekler, her adımda sistem isteminde (system prompt) yer alır. promptMaxChars, oluşturulan bölüm için sabit bir miktar değil, bir üst sınırdır; ancak depolanan bellekleriniz bu alanı doldurduğunda, 2000 karakterlik bir bütçe her istekte yüzlerce fazladan girdi token'ı anlamına gelir. Bu, faturanızda gerçek bir maliyet kalemidir ve dsh-budget aracının, dsh-memory aracından önce 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, bellekleri 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. Gömme araması, yerel bir ollama örneğine ve varsayılan olarak qwen3-embedding:0.6b olan, DSH_MEMORY_EMBED_MODEL ile geçersiz kılınabilen bir gömme modeline ihtiyaç duyar; ollama olmadan sadece anahtar kelime aramasına geri döner. Anlamsal geri çağırma (semantic recall), anahtar kelime geri çağırmasından daha iyidir. Bu aynı zamanda ikinci bir servis ve aynı 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 bunu 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ü loopback dışında dinleme yapmalı mı?

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 açar; 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 ve sunucu bağlamını 0.0.0.0 adresine değiştirerek bu sorunu çözer.

Kurulumdan önce kendi uyarısını okuyun. Burada belirtilen commit olan e27e909 aşamasında README dosyası, 0.0.0.0 adresine bağlamanın, aracıya aynı yerel ağdaki (LAN) herkes tarafından kimlik doğrulaması olmaksızın erişilebilmesine neden olduğunu belirtiyordu. Halka açık IP adresine sahip bir sunucuda ise bu durum tüm internete erişim sağlar; hassas yöntemlerin (settings.*, credentials.*, llm.discoverModels) kısa bir listesi loopback'e sabitlenmiş olup uzak kaynaklardan 403 hatası döndürür. Bu durum değişti. 10 Ekim 2026 itibarıyla kontrol edilen güncel derlemeler tarayıcıyı doğrular: yazdırılan URL içindeki başlatma token'ı, imzalı bir oturum çerezi ile değiştirilir; her Host API rotası ve akışı bunu gerektirir. Eklentinin güncel README dosyası trustedHosts kısmını kimlik doğrulaması değil, bir Origin/Host engeli olarak tanımlar. 0.0.0.0 adresine bağlamanın, kimlik doğrulama yüzeyini erişilebilir her arayüzde açığa çıkardığını ve artık kimliği doğrulanmış uzak bir sayfa için Host destekli ayarlara olanak tanıdığını belirtir; bu nedenle güncel derlemelerde, oturum açmış uzak bir tarayıcı Host ayarlarına da erişebilir. Risk ortadan kalkmamış, yer değiştirmiştir: porta erişebilen herkes giriş ekranını yoklayabilir, yazdırılan URL'nin kendisi bir kimlik bilgisidir ve düz HTTP üzerinden bu token ağda açık metin olarak iletilir.

Çoğu durumda bu eklentiye hiç 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 loopback üzerinde dinleme yapmaya devam eder, böylece 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 hale gelir; herhangi bir polyfill gerekmez. Tek komut, eklenti yok, yeni bir saldırı yüzeyi yok.

Eklentiyi yalnızca yönlendirme işleminin yetersiz kaldığı 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, alt 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 belgelenmiş hızlı kurulum yolu, ağdan gelen bir shell betiğini doğrudan bash içine yönlendirir. npm install -g dsh-passwords ve ardından dsh-passwords install yöntemini 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 okudum ve o gün npm üzerindeki harness 0.1.0-rc.7 sürümündeydi. Yukarıda açıklanan varsayılanları ve davranışları, latest etiketinin npm üzerinde 0.2.0-rc.2 olduğu 10 Ekim 2026 tarihinde birincil kaynaklara göre tekrar kontrol ettim.

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.5 ile 0.1.0-rc.6 arasını gerektirir.
  • dsh-memory, def7c6a commit'i, 13 Ağustos 2026. MIT. SQLite derlemesi. dsh uyumluluk alanı yoktur, yalnızca ^0.1.0-rc.6 üzerinden eş aralıkları belirtilmiştir.
  • dsh-web-lan-access, e27e909 commit'i, 16 Ağustos 2026. MIT. dsh uyumluluk alanı yoktur.

Bir komutu kopyalamadan önce bu sabitlemeleri tekrar kontrol edin. Geliştirici önizleme aşamasındaki bir ekosistemde, üzerinde tarih bulunan bir sürüm numarası anlam taşıyan tek değerdir.

FAQ

Bir VPS üzerinde ilk olarak hangi DeepSeek Harness eklentilerini kurmalıyım?

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 internetten herhangi bir veri okumaya başladığında dsh-defend eklentisini, her oturumda aynı bağlamı yapıştırdığınızı fark ettiğinizde ise dsh-memory eklentisini ekleyin. Temalar ve durum çubuklarını atlayın: bunlar, makinenin işleyişini değiştirmeden ajanınızı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 bilginiz dışında 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 ve 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ından daha ucuz bir model önererek engelleme yapar. Bir sınır önemlidir: 461d478 commit'inde toplamlar çalışan süreç içinde hesaplanır; bu nedenle harness'ı yeniden başlatmak sayaçları sıfırlar ve bir yeniden başlatma döngüsü günlük limiti devre dışı bırakabilir. Mevcut main, varsayılan olarak gün ve ay bazlı harcama verilerini yeniden başlatmalar arasında korur. Her halükarda, gerçek üst sınır olarak sağlayıcı hesabınızda bir harcama limiti tutun.

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 ilgili eklentiye ait insert 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 olarak değiştirir. Burada belirtilen commit tarihinde README dosyası, bu değişikliğin ajanı aynı ağdaki herkes için kimlik doğrulaması olmadan erişilebilir kıldığını, yalnızca settings.*, credentials.* ve llm.discoverModels öğelerinin loopback'e sabitlendiğini belirtiyordu. 10 Ekim 2026 itibarıyla kontrol edilen güncel harness sürümleri, tarayıcı oturumunu yazdırılan URL'deki başlatma token'ı ve imzalı bir oturum çerezi ile doğrular; ancak giriş arayüzü tüm arayüzlerde açık hale gelir ve düz HTTP URL'si bu token'ı açık metin olarak gönderir. 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şilebilen her şeyin önünde TLS bulundurun.