Seedance 2.5 już dostępne — Jako pierwsze na Atlas Cloud

DeepSeek Harness Review: Wszystkie trzy przebiegi zgłoszone jako zakończone. Tylko jedna strona faktycznie działała.

Praktyczna recenzja DeepSeek Harness: trzy rzeczywiste przebiegi jednego zadania, rozmiar instalacji i pamięć RAM w stanie spoczynku, których nikt nie zmierzył, oraz dwie linie YAML, które zmieniły wszystko.

154 302 gwiazdek. Każda recenzja, którą przeczytałem, mówiła mi te same trzy rzeczy: wszystko jest wtyczką, dziennik sesji jest tylko do dopisywania, i to jest wersja deweloperska.

Ani jedna nie powiedziała mi, ile miejsca na dysku to zajmuje. Albo ile pamięci RAM zajmuje bezczynna sesja. Albo co się dzieje, gdy wskażesz to na inny endpoint, a nie własny DeepSeeka.

Więc zainstalowałem to i dałem mu jedno zadanie, trzy razy: zbudować żywy tracker ISS w jednym samodzielnym pliku HTML. Trzy różne konfiguracje dostawców, ten sam prompt, ten sam model. Wszystkie trzy skończyły. Wszystkie trzy wydrukowały pewne "Gotowe" z listą punktowaną wszystkiego, co rzekomo zweryfikowały.

Potem otworzyłem trzy strony w przeglądarce. Dwie z nich były zepsute.

Kluczowe wnioski

  • npm install @deepseek-ai/dsh pobrał 531 pakietów i 306 MB na macOS. Nie 1,5 GB, ale też nie mało, a sam pakiet dsh ma z tego 172 KB.
  • Serwer WWW dsh w stanie bezczynności zużywał 35 do 40 MB RSS z otwartą aktywną sesją, po szczycie około 212 MB przy uruchomieniu. Podawana wartość 500 MB nie dotyczy procesu serwera.
  • Widok Trajektorii to prawdziwy atut w tej wersji. To zwykły, tylko do dopisywania strumień zdarzeń JSONL na dysku i to on pozwolił mi zdiagnozować problem z konfiguracją w minutach, a nie godzinach.
  • Dwie linie YAML (compat.thinkingFormat i prawdziwy maxTokens) zmieniły to samo zadanie z 36-etapowego, 422-sekundowego wykonania na 15-etapowe, 152-sekundowe. Żadna z tych linii nie znajduje się w dokumentacji na stronie.
  • Każde uruchomienie zgłosiło sukces. Tylko jedno wyprodukowało stronę z zerowymi błędami w konsoli. Czytaj wynik, nie podsumowanie.
  • To jest wersja deweloperska, a README mówi to wielkimi literami. Ograniczony pilot, tak. Produkcyjna panelem sterowania, nie.

Oto cały artykuł w jednym obrazku. Dwie strony trackera ISS, ten sam prompt, ten sam model, jedna różnica w konfiguracji. Po lewej stronie jest uruchomienie, które dostroiłem. Po prawej to, którego nie dostroiłem.

Porównanie zepsutej mapy świata i poprawnie wyrenderowanej mapy

Porównanie obok siebie dwóch stron trackera ISS zbudowanych przez DeepSeek Harness, po lewej z uszkodzoną mapą świata i zablokowaną odznaką, po prawej renderująca się poprawnie z żywym znacznikiem

Po lewej: dostrojone uruchomienie, 152 sekundy, piętnaście uszkodzonych ścieżek SVG i odznaka zamrożona na "Nieaktualne". Po prawej: naiwne uruchomienie, 422 sekundy, zero błędów w konsoli. Oba zgłosiły ukończenie.

Dlaczego Każda Recenzja DeepSeek Harness Mówi Te Same Trzy Rzeczy

Repozytorium pojawiło się 13 sierpnia, a zanim zacząłem pisać, miało 154 302 gwiazdki i 15 960 forków na licencji MIT (GitHub, sierpień 2026). Przy takim tempie większość relacji to czytanie README, bo nie było czasu na nic innego.

Więc obecny krajobraz recenzji DeepSeek Harness dzieli się na trzy obozy, a wszystkie trzy mają tę samą lukę. Analizy kodu źródłowego rozkładają na części pierwsze interfejsy wtyczek i nigdy nie uruchamiają benchmarku. Analizy danych porównują liczby tokenów i jawnie pomijają rozmiar instalacji i pamięć. Teksty dotyczące zakupów korporacyjnych dochodzą do werdyktu, prawie nie zawierając zmierzonych liczb.

Nikt go nie zainstalował, nie uruchomił zadania od początku do końca, a potem nie otworzył wyniku.

Tymczasem najostrzejsza krytyka nie pojawiła się w żadnej recenzji. Były to dwa komentarze w wątku uruchomieniowym, które zdobyły 737 punktów i 309 komentarzy w ciągu czterech dni.

Dwa komentarze użytkowników dotyczące dużego rozmiaru kompilacji i wysokiego zużycia pamięci

Dwa komentarze z Hacker News dosłownie o rozmiarze instalacji i zużyciu pamięci w stanie bezczynności DeepSeek Harness

Dwie skargi, które ta recenzja faktycznie stara się sprawdzić, zacytowane dosłownie z wątku uruchomieniowego.

Użytkownik Kuyawa: "47mb pobrane, 1.5gb po kompilacji, wtf?" oraz w edycji: "35 zależności daje 1.4gb, po co one są?" Użytkownik eglintondust w podwątku o obciążeniu CPU: "Zużycie pamięci zdecydowanie wymknęło się spod kontroli, mam teraz bezczynną sesję zjadającą 500MB" (Hacker News, sierpień 2026).

To są dwie liczby, które chciałem sprawdzić najpierw, ponieważ to one decydują, czy to narzędzie zamieszka na twoim laptopie. Obie okazały się bardziej skomplikowane, niż sugerują cytaty, a jedna z nich mierzy coś innego, niż ludzie zakładają. Jeśli potrzebujesz wprowadzenia do architektury, zanim to wszystko będzie miało sens, to jest inny artykuł: czym właściwie jest DeepSeek Harness.

Jak Skonfigurowałem Tę Recenzję DeepSeek Harness: Jedno Zadanie, Jeden Endpoint

Konfiguracja jest celowo nudna, aby zmienną była konfiguracja, a nie zadanie.

Zadanie. Zbuduj żywy tracker ISS w jednym samodzielnym index.html. Potrzebuje zewnętrznego API, renderowania mapy, pętli odpytywania i obsługi błędów, więc wymusza prawdziwą, wieloetapową pętlę narzędziową, a nie jednorazowy zrzut kodu. I, co kluczowe, mogę otworzyć wynik i od razu zobaczyć, czy działa.

Model. deepseek-ai/deepseek-v4-flash-0731, ten sam model we wszystkich trzech uruchomieniach, więc nic w porównaniu nie wynika z różnicy modeli.

Endpoint. To jest część, którą ludzie pomijają. Harness nie zawiera modelu. Potrzebuje kompatybilnego z OpenAI bazowego URL i klucza, kropka, a powierzchnia konfiguracyjna dla tego jest źródłem wszystkich trzech moich problemów. Uruchomiłem go przeciwko hostowanemu endpointowi kompatybilnemu z OpenAI z płaskimi cenami DeepSeek i bez dopłat w godzinach szczytu, co ma znaczenie, gdy zamierzasz uruchomić to samo zadanie wielokrotnie i chcesz, aby rachunek był porównywalny między uruchomieniami. Każdy kompatybilny endpoint działa tak samo.

EndpointProtokółGET /odelsKształt rozliczeńV4 z 1M kontekstem
API pierwszej strony DeepSeekopenai-completionsTakPodział na szczyt i poza szczytem, 01:00-04:00 i 06:00-10:00 UTC to szczyt, poza szczytem połowa (Dokumentacja API DeepSeek, sierpień 2026)Tak
Atlas Cloudopenai-completionsTak, zwróciło 200 z 135 modelami, gdy sprawdziłemPłasko za token, bez dopłaty za szczytTak, $0.14 wejście / $0.28 wyjście za 1M dla V4 Flash
Lokalny Ollamaopenai-completionsTakDarmowe, chociaż wbudowane wyszukiwanie w sieci nadal potrzebuje chmury OllamaZależy od lokalnego modelu

Jedna uczciwa uwaga na temat środkowego wiersza, ponieważ ugryzła mnie później: zwraca {"code":200,"msg":"succeed","data":[...]} zamiast standardowej koperty OpenAI {"object":"list","data":[...]}. Tablica data jest, więc łagodny klient sobie poradzi, ale nie zakładaj, że każdy "kompatybilny z OpenAI" endpoint jest identyczny bajt po bajcie ze specyfikacją.

Ceny zostały odczytane ze strony modelu V4 Flash 18 sierpnia 2026. Żadna odznaka zniżki na żadnym modelu DeepSeek w tej chwili, więc nic tutaj nie jest stawką promocyjną.

Krok 1: Zainstaluj DeepSeek Harness i Zmierz, Ile To Faktycznie Kosztuje

Wszystko odtąd jest powtarzalne na macOS z Node 22.19+ lub 24+ (nie ma wsparcia dla 23.x, a wiele przewodników się z tym myli). Uruchomiłem Node v24.15.0 i @deepseek-ai/[email protected].

Zacznij od szybkiego startu, który jest jednym poleceniem:

bash
1node -v                        # ^22.19.0 || >=24, nie 23.x
2npx @deepseek-ai/dsh web       # Interfejs WWW na http://127.0.0.1:3080
3

Aby uzyskać liczbę, którą faktycznie możesz porównać z twierdzeniem o 1.5 GB, zainstaluj go w czystym katalogu i zmierz:

bash
1mkdir dsh-size && cd dsh-size && npm init -y
2npm install @deepseek-ai/dsh
3du -sh node_modules
4du -sh node_modules/* | sort -h | tail -8      # gdzie leży waga
5

Oto, co to wyprodukowało na mojej maszynie:

text
1dodano 531 pakietów w 2m
2306M    node_modules
3255     wpisów najwyższego poziomu w node_modules
4172K    node_modules/@deepseek-ai/dsh          <- sam pakiet
5
6 13M    node_modules/@shikijs
7 13M    node_modules/openai
8 14M    node_modules/@google/genai
9 17M    node_modules/@img/sharp-libvips-darwin-arm64
10 24M    node_modules/@mistralai/mistralai
11 26M    node_modules/node-pty
12 27M    node_modules/@deepseek-ai
13 34M    node_modules/@opentelemetry
14

Więc: 306 MB, nie 1,5 GB. Wartość 1,5 GB w komentarzu na Hacker News to pełna kompilacja źródła, która ciągnie zależności deweloperskie i artefakty kompilacji w całym monorepo. Instalacja uruchomieniowa to jedna piąta tego.

To powiedziawszy, 306 MB dla agenta kodowania to wciąż dużo, a podział wyjaśnia dokładnie, dlaczego ludzie są zirytowani. Instalujesz trzy SDK dostawców, których możesz nigdy nie wywołać (openai, @google/genai, @mistralai/mistralai to łącznie 51 MB), pełne drzewo OpenTelemetry, natywny plik binarny sharp i podświetlacz składni. "Wszystko jest wtyczką" ma swój koszt wysyłki, a teraz płacisz go z góry, niezależnie od tego, czy korzystasz z tych tras.

Jeśli chodzi o pamięć w stanie bezczynności, uruchom profil webowy, otwórz sesję, zostaw ją w spokoju i odczytaj RSS:

bash
1npx @deepseek-ai/dsh web --port 3099
2# następnie, w innym shellu:
3ps -o pid,rss,command -p $(pgrep -f "dsh web")
4

Próbkowane raz na minutę przez pięć minut z otwartą aktywną sesją i nieuruchomionym zadaniem:

text
1t+0s     101.8 MB     (tuż po otwarciu sesji)
2t+60s     37.0 MB
3t+120s    39.8 MB
4t+180s    38.8 MB
5t+240s    35.8 MB
6t+300s    35.0 MB
7

Dotknął około 212 MB podczas uruchamiania, ustabilizował się na ~102 MB po podłączeniu interfejsu, następnie garbage collector zredukował go do poziomu 35 do 40 MB i tam pozostał. To nie jest "poza kontrolą".

Ale eglintondust niekoniecznie się myli, i to jest część, którą warto zrozumieć: profil webowy dsh to lokalny serwer plus karta przeglądarki. 35 MB to serwer. Interfejs to pełna aplikacja WWW w twojej przeglądarce, a ta pamięć jest obciążana na konto Chrome, a nie dsh. Jeśli obserwujesz 500 MB bezczynną sesję w Monitorze aktywności, sprawdź, któremu procesowi jest przypisana, zanim zgłosisz błąd. Pełne szczegóły instalacji znajdują się w 10-minutowym przewodniku instalacji.

Metryki pokazujące, że DeepSeek Harness używa 306 MB dysku i 35-40 MB pamięci

Rzeczywiste wyjście terminala pokazujące ślad instalacyjny i pomiary pamięci w stanie bezczynności DeepSeek Harness

Rzeczywiste pomiary, z widocznymi poleceniami. 306 MB zainstalowane, 35 MB bezczynne.

Krok 2: Skieruj DeepSeek Harness na Własny Endpoint

W interfejsie to Ustawienia następnie Modele następnie Dodaj niestandardowego dostawcę: ID dostawcy, bazowy URL, protokół, klucz, lista modeli. Możesz też zapisać to bezpośrednio w $DSH_HOME/settings.yaml (domyślnie ~/.dsh/settings.yaml), co zrobiłem, ponieważ wersja plikowa to coś, co możesz porównać między uruchomieniami.

Sekcje w tym pliku są kluczowane według ID wtyczki, co nie jest oczywiste za pierwszym razem. Słownik dostawcy należy do llm-pi-ai, a domyślny wybór modelu należy do agent-default-model:

yaml
1llm-pi-ai:
2  providers:
3    atlas:
4      displayName: Atlas Cloud
5      api: openai-completions
6      baseURL: https://api.atlascloud.ai/v1
7      apiKeyEnv: ATLAS_API_KEY
8      models:
9        - id: deepseek-ai/deepseek-v4-flash-0731
10
11agent-default-model:
12  provider: atlas
13  model: deepseek-ai/deepseek-v4-flash-0731
14

To jest naiwna konfiguracja i od niej zacząłem. Działa. Pobierz klucz z konsoli Atlas, export ATLAS_API_KEY=..., i uruchomienie przechodzi. Zauważ, że apiKeyEnv to odniesienie, a nie tajny klucz, więc żaden klucz nigdy nie ląduje w tym pliku.

Jeden szczegół z interfejsu, który łatwo przeoczyć i który jest naprawdę dobry: gdy klucz pochodzi ze środowiska, pole klucza API wyświetla się jako Dostarczone przez środowisko uruchomieniowe (tylko do odczytu). Zielona kropka obok dostawcy oznacza, że trasa została rozwiązana. Czerwona kropka obok wbudowanego dostawcy DeepSeek oznacza, że nie ma poświadczeń. To jest dwusekundowe sprawdzenie kondycji, którego nie musisz szukać.

Dwie rzeczy w tej konfiguracji są jednak po cichu nie tak i nie odkryłem tego, dopóki nie porównałem trajektorii. Zachowaj tę myśl do Kroku 4.

Menu ustawień pokazujące konfigurację klucza API dla DeepSeek i Atlas Cloud

Strona Ustawienia Modele DeepSeek Harness pokazująca niestandardowego dostawcę kompatybilnego z OpenAI o nazwie Atlas Cloud z zieloną kropką statusu i kluczem API dostarczonym tylko do odczytu przez środowisko uruchomieniowe

Ustawienia, Modele, niestandardowy dostawca. Zielona kropka oznacza, że trasa została rozwiązana; wbudowany dostawca DeepSeek powyżej jest czerwony, ponieważ nie ma klucza.

Krok 3: Trzy Uruchomienia Recenzji DeepSeek Harness Obok Siebie

Ten sam prompt za każdym razem. Wklej to dosłownie, jeśli chcesz to odtworzyć:

text
1Zbuduj jednostronicowy tracker ISS w jednym samodzielnym index.html.
2
3Wymagania:
4- Pobieraj pozycję ISS z https://api.wheretheiss.at/v1/satellites/25544 co 5 sekund.
5- Wyrenderuj mapę świata ze znacznikiem na bieżącej szerokości/długości geograficznej oraz zanikającym śladem ostatnich 60 pozycji.
6- Pokaż wysokość (km), prędkość (km/h) i bieżącą szer./dł. w czytelnym panelu.
7- Bez kroku kompilacji, bez npm install, bez klucza API. Tylko Vanilla JS + inline CSS.
8- Obsłuż błędy pobierania bez psucia strony: zachowaj ostatnią znaną pozycję i pokaż odznakę nieaktualności.
9- Zapisz plik, a następnie zgłoś ukończenie.
10

Uruchom bezgłowo, aby zapis był czysty:

bash
1export DSH_HOME=$PWD/dsh-home
2export ATLAS_API_KEY=<twój klucz>
3dsh --profile headless "<powyższy prompt>"
4

Trzy konfiguracje:

  • Uruchomienie A, dostrojone: compat.thinkingFormat: deepseek, contextWindow: 1048576, maxTokens: 131072.
  • Uruchomienie B, naiwne z Kroku 2: wpis modelu to nic poza id.
  • Uruchomienie C, prawdopodobny błąd: to samo co A, ale z maxTokens: 4096, liczba, którą wziąłem wprost z przykładowego README adaptera.

Wszystkie trzy zakończyły się kodem 0. Wszystkie trzy zapisały index.html. Wszystkie trzy wydrukowały podsumowanie twierdzące, że zweryfikowały. Podsumowanie Uruchomienia C chwaliło się nawet samonaprawą: "Kilka błędów, które złapałem i naprawiłem podczas budowania: niezdefiniowana zmienna w zanikaniu śladu, niepoprawna logika przyrostków N/S-E/W..."

Następnie otworzyłem wszystkie trzy pliki w prawdziwej przeglądarce z otwartą konsolą i pozwoliłem im odpytować przez dwa cykle.

Uruchomienie A (dostrojone)Uruchomienie B (naiwne)Uruchomienie C (maxTokens: 4096)
Czas rzeczywisty152,7 s422,5 s50,2 s
Kroki15368
Wywołania narzędzi14357
Mieszanka narzędzi6 edytuj, 4 czytaj, 2 bash19 bash, 8 czytaj, 3 grep4 edytuj, 1 zapisz, 1 bash
Rozmiar zapisanego pliku19 569 B10 812 B11 326 B
Błędy konsoli przy ładowaniu15012
Co było zepsutekażda ścieżka kontynentu uszkodzona, brak znacznika ISS, odznaka "Nieaktualne" zablokowana na zawszenicokręgi śladu wszystkie cx="NaN", znacznik zaparkowany na 0,0, szerokość wydrukowana jako -34.76° S

Przeczytaj tę tabelę jeszcze raz. Najszybsze uruchomienie i to, które starannie dostroiłem, dostarczyły zepsute strony. Najwolniejsze, naiwne, najdroższe uruchomienie jest jedynym, które działało.

Porażka Uruchomienia A jest pouczająca. Panel telemetryczny był idealny: 431 km wysokości, 27 547 km/h, poprawna szer./dł., aktualizowany na żywo. Mapa pod nim była zieloną plamą, ponieważ wszystkie piętnaście ścieżek kontynentów kończyło się zbłąkanym L bez współrzędnych ("... L48.0 624.0 L Z"). A odznaka mówiła "Nieaktualne, zachowuję ostatnią pozycję" z "Ostatnia aktualizacja: -" podczas gdy trzy udane pobrania siedziały w zakładce sieci. Dostał trudną część dobrze, a widoczną część źle.

Powód leży w jego własnym dzienniku wnioskowania, w kroku 12, jego własnymi słowami: usunął zmienną, której jego konstruktor mapy nadal używał, zauważył to i kontynuował. Ten rodzaj samookaleczenia późno w trakcie uruchomienia jest dokładnie tym, do czego dobry jest dziennik tylko do dopisywania, co jest następnym krokiem.

Uruchomienie C jest zabawniejsze i gorsze. Twierdziło, że naprawiło błąd zanikania śladu i logikę przyrostków N/S. Ślad jest dokładnie tym, co jest zepsute (dwanaście okręgów NaN, żaden ślad się nie renderuje), a etykieta szerokości geograficznej wyświetla -34.76° S, co jest podwójnym znakiem. Nie naprawiło żadnej z dwóch rzeczy, które rzekomo naprawiło, i zweryfikowało swoją pracę za pomocą node --check, który analizuje składnię JavaScript i nic nie wie o tym, czy ścieżka SVG jest legalna.

Panel trackera Międzynarodowej Stacji Kosmicznej z mapą świata i współrzędnymi w czasie rzeczywistym

Strona trackera ISS z trzeciego uruchomienia ze śladem o pozycji NaN, znacznikiem utkniętym w lewym górnym rogu i podwójnie oznaczoną etykietą szerokości geograficznej

Uruchomienie C, 50-sekundowe: ładne, żywe i po cichu zepsute w dwóch miejscach, które rzekomo naprawiło.

Nic z tego tak naprawdę nie jest błędem Harness. To jest błąd agenta kodowania, który Harness wiernie wykonał, a następnie wiernie zgłosił jako sukces. Co prowadzi nas do jedynej części tej wersji, która naprawdę mnie zaimponowała.

Krok 4: Dwuliniowa Naprawa i Widok Trajektorii DeepSeek Harness, Który Ją Znalazł

Uruchomienie B zajmujące 2,8x więcej czasu niż Uruchomienie A nie miało dla mnie sensu. Ten sam model, to samo zadanie, a jedyna różnica to kilka linii YAML. Więc poszedłem do Trajektorii.

Oficjalny opis jest trafny, co jest rzadsze, niż powinno: "Wszystko, co widzi model, jest rejestrowane w dzienniku sesji tylko do dopisywania: prompty systemowe, wnioskowanie, wywołania narzędzi i ich wyniki, planowanie podagentów i każda iniekcja kontekstu... W widoku Trajektorii możesz przeglądać te zdarzenia według źródła. Wznawianie, rozwidlanie, wyszukiwanie i odtwarzanie działają na tym samym strumieniu zdarzeń" (DeepSeek Harness, sierpień 2026).

To nie jest marketing. Strumień to prawdziwy plik:

bash
1ls $DSH_HOME/sessions/<przestrzeń_robocza>/session-<uuid>/session.jsonl.zstd
2

Jedno zdarzenie JSON na linię, skompresowane zstd, tylko do dopisywania. Uruchomienie A wyprodukowało 606 zdarzeń; Uruchomienie B wyprodukowało 1 709. Filtruj według źródła w interfejsie lub po prostu przeszukaj zdekodowany plik. Typy zdarzeń są dokładnie takie, jak obiecuje powyższe zdanie: turn/start, step/start, request/header, request/context, assistant/chunk, reasoning-chunks, tool-call-chunks, tool/call, tool/result, step/end, turn/end.

Zdarzenie request/header rozwiązało problem. Rejestruje konfigurację faktycznie wysłaną na przewód:

jsonc
1// Uruchomienie A
2{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731","maxTokens":131072},
3 "adapterDefaults":{"maxTokens":true}}
4
5// Uruchomienie B
6{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731"}}
7

Uruchomienie B nie wysłało żadnego limitu wyjścia, a jego wnioskowanie rozrosło się do 72 420 znaków w 33 blokach w porównaniu do 6 094 Uruchomienia A w 9. To jest źródło dodatkowych 270 sekund i dodatkowych 44 170 tokenów wyjścia.

Przyczyna jest udokumentowana, ale nie na stronie z dokumentacją. Jest pogrzebana w packages/llm/llm-pi-ai/README.md: dialekt myślenia jest odgadywany z URL endpointu. Własnymi słowami opiekunów, compat.thinkingFormat jest czymś, co "pi-ai odgaduje z URL endpointu; URL prywatnej bramki nic nie mówi, więc bramka dialektu DeepSeek byłaby obsługiwana w dialekcie OpenAI bez możliwości poprawienia."

Mój endpoint zwraca reasoning_content, pisownia DeepSeek. Jego nazwa hosta nic o tym nie mówi. Więc w Uruchomieniu B adapter przeszedł na dialekt OpenAI, nie mógł wysłać poziomu myślenia, a model wnioskował na swoim własnym domyślnym poziomie w każdym z 36 wywołań. Osobno, wpis modelu deklarujący tylko id dziedziczy domyślne wartości trasy defaultContextWindow: 262144 i defaultMaxTokens: 32768, więc model z 1 048 576 tokenami cicho traci trzy czwarte swojego okna.

Oba to dwie linie:

yaml
1llm-pi-ai:
2  providers:
3    atlas:
4      api: openai-completions             # compat.* istnieje TYLKO pod tym protokołem
5      baseURL: https://api.atlascloud.ai/v1
6      apiKeyEnv: ATLAS_API_KEY
7      compat:
8        thinkingFormat: deepseek          # przestań zgadywać z URL
9        supportsReasoningEffort: true
10      models:
11        - id: deepseek-ai/deepseek-v4-flash-0731
12          contextWindow: 1048576          # zastąp domyślne 262 144
13          maxTokens: 131072               # zostaw wnioskowaniu prawdziwą przestrzeń
14

Dwie rzeczy, które warto mieć w głowie. Kolejność rozwiązywania to model, potem trasa, potem wpis z zainstalowanego katalogu, potem zgadywanie URL przez pi-ai, więc wartość na poziomie modelu wygrywa. A compat.* istnieje tylko pod api: openai-completions; umieść go gdzie indziej, a rozwiązywanie zakończy się niepowodzeniem. Adapter celowo nie obsługuje Bedrock, Vertex, Azure ani Codex, ponieważ ich autoryzacja wymaga więcej niż klucz, endpoint i nagłówki.

Ustaw to, a konfiguracja przewodowa Uruchomienia A jest prawidłowa, jego rachunek za tokeny spada 3.5x, a mimo to wciąż dostarcza zepsutą mapę. Co jest uczciwym podsumowaniem całego tego ćwiczenia: poprawka konfiguracji jest prawdziwa i naprawia rachunek, a nie przegląd kodu, który wciąż musisz wykonać samodzielnie.

Panel pokazujący liczniki zdarzeń dziennika sesji, nagłówki żądań i tekst wnioskowania

Strumień zdarzeń sesji tylko do dopisywania z prawdziwego uruchomienia DeepSeek Harness, z licznikami zdarzeń i nagłówkiem żądania, który ujawnił problem z konfiguracją

Strumień zdarzeń Trajektorii z Uruchomienia A: 606 zdarzeń i to, które ujawniło brakujący limit wyjścia.

Ile Kosztowała Ta Recenzja DeepSeek Harness i Czy Jest Gotowa do Produkcji

Trzy pełne uruchomienia agenta nietrywialnego zadania, prosto z trajektorii, według stawki płaskiej $0.14 wejście / $0.28 wyjście za 1M:

Uruchomienie AUruchomienie BUruchomienie CRazem
Wywołania LLM1536859
Niesbuforowane tokeny wejściowe38 452109 40820 781168 641
Tokeny wyjściowe12 74056 9106 96976 619
Tokeny odczytane z pamięci podręcznej280 8322 150 144108 8002 539 776
Udział pamięci podręcznej w prompcie88.0%95.2%84.0%93.8%
Niesbuforowane wejście + wyjście$0.0090$0.0313$0.0049$0.0452
Gdyby każdy token z pamięci podręcznej był rozliczany po pełnej stawce wejścia$0.0483$0.3323$0.0201$0.4007

Dwie rzeczy warto wyciągnąć z tego. Po pierwsze, liczby pamięci podręcznej są prawdziwe, a endpoint je raportuje: 93,8% wszystkich tokenów promptu we wszystkich trzech uruchomieniach wróciło jako odczyty z pamięci podręcznej, co sprawia, że pętla agenta jest w ogóle przystępna cenowo. Po drugie, źle skonfigurowane uruchomienie kosztowało 3,5x więcej niż dostrojone za zadanie o identycznym rozmiarze. To jest rzeczywista cena dwóch linii YAML.

Zwróć uwagę na kształt pierwszego wywołania w każdym uruchomieniu: około 11 000 tokenów wejściowych, zanim agent zrobił cokolwiek. To jest prompt systemowy, schematy narzędzi i katalog umiejętności, które implikuje "wszystko jest wtyczką", i płacisz za to przy każdej nowej sesji. Dlatego współczynnik trafień pamięci podręcznej ma większe znaczenie w tym harnessie niż w cieńszym, i dlatego warto wypróbować uruchomienie w trybie Minimalnym (bash plus edytor plików), jeśli twoje zadanie nie potrzebuje pełnego zestawu narzędzi.

Więc czy możesz umieścić to w produkcji? Nie, a projekt się z tobą zgadza. Własne słowa README: "DeepSeek Harness jest obecnie w wersji deweloperskiej i szybko się rozwija. BĘDĄ ZMIANY ŁAMIĄCE KOMPATYBILNOŚĆ." Interfejs WWW otwiera się z modalem mówiącym "DeepSeek Harness 0.1 pozostaje w fazie testów dla deweloperów Harness." Licencja MIT oznacza, że możesz robić z tym, co chcesz; nie oznacza, że API, pod które budujesz, będzie istnieć w przyszłym miesiącu.

Kim jesteśWerdyktDlaczego
Indywidualny deweloper, który po prostu chce dziś dostarczyć kodPomiń na razieDwa z moich trzech uruchomień dostarczyły zepsute wyjście z pewnym "gotowe". Spędzisz czas na harnessie, a nie na pracy.
Zespół infrastruktury, który chce zmodyfikować samą pętlę agentaPilotuj goTo jest jedyne narzędzie, w którym pętla, narzędzia i interfejs są wymienną konfiguracją. To jest naprawdę rzadkie i warte twojego czasu.
Przedsiębiorstwo wdrażające produkcyjną płaszczyznę sterowaniaJeszcze nieZmiany łamiące kompatybilność są obiecane na piśmie, wtyczki i serwery MCP działają poza piaskownicą, a strona dokumentacji pomija konfigurację decydującą o twoim rachunku za tokeny.
Twórcy wtyczek i narzędziTak, terazInterfejsy rozszerzeń są całym sensem, ekosystem jest mały, a wczesne wtyczki będą miały pole dla siebie.

Reszta listy ryzyka jest krótka i prawdziwa. Istnieje anonimowy UUID telemetrii. Wtyczki i serwery MCP wykonują się poza piaskownicą bash, więc wtyczka to kod, któremu decydujesz się zaufać. I jak ta recenzja odkryła na własnej skórze, ustawienia kontrolujące koszt i poprawność są udokumentowane w README pakietu, a nie w przewodniku, co oznacza, że twój pierwszy rachunek może być kilkakrotnie wyższy, niż powinien, z powodów, o których nie powie ci żaden komunikat o błędzie.

Recenzja DeepSeek Harness: Najczęściej Zadawane Pytania

Czy DeepSeek Harness jest gotowy do produkcji?

Nie. README stwierdza to jasno: "DeepSeek Harness jest obecnie w wersji deweloperskiej i szybko się rozwija. BĘDĄ ZMIANY ŁAMIĄCE KOMPATYBILNOŚĆ." Interfejs WWW powtarza to w modalu startowym. Ograniczony pilot przy niekrytycznym obciążeniu pracą jest dziś rozsądny. Produkcyjna płaszczyzna sterowania, od której zależy twój zespół, nie jest, ponieważ powierzchnia API, pod którą budujesz, jest wyraźnie niestabilna.

Ile miejsca na dysku i pamięci faktycznie używa DeepSeek Harness?

Na macOS npm install @deepseek-ai/dsh pobrał 531 pakietów i 306 MB, z czego sam pakiet dsh ma 172 KB. Powszechnie cytowane 1,5 GB to pełna kompilacja źródła, a nie instalacja uruchomieniowa. Proces serwera WWW w stanie bezczynności zużywał 35 do 40 MB RSS z otwartą aktywną sesją, po szczycie blisko 212 MB podczas uruchamiania. Pamięć samego interfejsu jest obciążana na konto twojej przeglądarki, a nie dsh.

Dlaczego moje uruchomienie DeepSeek Harness jest znacznie wolniejsze i droższe niż oczekiwano?

Najprawdopodobniej twój wpis modelu deklaruje tylko id. To dziedziczy domyślne wartości trasy defaultContextWindow: 262144 i defaultMaxTokens: 32768 i pozwala adapterowi odgadnąć dialekt wnioskowania z nazwy hosta endpointu. W moim teście ta kombinacja wyprodukowała 36 kroków zamiast 15 i 3,5x koszt tokenów za to samo zadanie. Ustaw compat.thinkingFormat, prawdziwy contextWindow i prawdziwy maxTokens.

Czy DeepSeek Harness działa z endpointami innych firm niż DeepSeek?

Tak, każdy kompatybilny z OpenAI bazowy URL działa i w ten sposób większość ludzi będzie go uruchamiać. Haczyk polega na tym, że dialekt myślenia jest wnioskowany z URL, więc bramka dialektu DeepSeek na neutralnej nazwie hosta będzie obsługiwana w dialekcie OpenAI. compat.thinkingFormat: deepseek to poprawka i istnieje tylko pod api: openai-completions. Bedrock, Vertex, Azure i Codex są celowo nieobsługiwane.

Czy widok Trajektorii jest rzeczywiście użyteczny, czy to tylko marketing?

Jest użyteczny i to jest najmocniejsza strona tej wersji. Dziennik sesji to prawdziwy plik JSONL tylko do dopisywania, który można filtrować według źródła, wznawiać, rozwidlać i odtwarzać, a zdarzenie request/header powiedziało mi dokładnie, jaka konfiguracja dotarła do przewodu, co rozwiązało mój problem. Czego nie robi, to nie wyjaśnia, dlaczego model coś wybrał. Rejestruje, co model widział, a nie dlaczego zdecydował.

DeepSeek Harness vs Claude Code lub OpenCode, którego powinienem używać na co dzień?

Jeśli chcesz czegoś, co niezawodnie pisze kod dziś, to nie to, jeszcze nie. Wybierz Harness, gdy to środowisko uruchomieniowe agenta jest tym, co chcesz zmienić, ponieważ zamiana pętli, narzędzi lub interfejsu jest tutaj konfiguracją, a nie forkiem. Aby zapoznać się z porównaniem numerycznym zużycia tokenów, zobacz DeepSeek Harness vs OpenCode, a w przypadku warstwy rozszerzeń, które wtyczki warto zainstalować.


Uruchomienia wykonano 18 sierpnia 2026 na macOS, Node v24.15.0, @deepseek-ai/[email protected], model deepseek-ai/deepseek-v4-flash-0731 udostępniony przez endpoint kompatybilny z OpenAI na Atlas Cloud. Każda liczba tokenów, czas rzeczywisty i błąd konsoli w tym artykule pochodzą z dzienników sesji i konsoli przeglądarki tych uruchomień.

Najnowsze modele

Jedno API do całej multimedialnej AI.

Przeglądaj wszystkie modele