한정

DeepSeek Harness란: dsh에서 모델과 도구를 어떻게 조합하는가

DeepSeek Harness · dsh · 플러그인
2026-09-14 약 12분

npx @deepseek-ai/dsh로 0.1.5-rc.1을 받고 도움말과 --dump-default-config를 실행했다.

DeepSeek Harness는 교체 가능한 Agent 섀시이지 모델 요금표가 아니다. 기본 web 트리 152 플러그인, 모델 deepseek-flash, 포트 3080.

실측 요점

  1. DeepSeek Harness는 오픈소스 Agent 섀시이고 CLI 이름은 dsh다. DeepSeek 모델도, API 요금표도 아니다.
  2. npx @deepseek-ai/dsh로 0.1.5-rc.1을 받았다(Node.js v24.14.1). dsh --help는 제품을 「순서대로 쌓는 플러그인 번들」로 정의한다.
  3. dsh --profile web --dump-default-config는 플러그인 152줄. 기본 모델 deepseek-official / deepseek-flash. Web은 127.0.0.1:3080. preset 기본값은 standard.
  4. 모델은 ctx.llm, 도구는 ctx.tools, 루프는 ctx.agentLoop. 모델을 바꾼다고 bash나 루프가 같이 바뀌지 않는다.
  5. 개발자 프리뷰는 호환 깨짐을 예고한다. 입구는 deepseek.com/harness와 GitHub.
「모델 / 도구 / 루프」를 나눈 뒤에야 dsh를 일상 코딩 Agent로 쓸지 정한다.
편집기에서 DeepSeek Harness 플러그인 조합을 보는 개발자
dsh는 모델, 도구, 루프를 교체 가능한 플러그인으로 나눈다. 먼저 조합 층을 본다.

DeepSeek Harness란

DeepSeek Harness는 DeepSeek가 연 오픈소스 Agent 런타임이다. README는 단호하다. Cordis가 「모든 것이 플러그인」을 받친다. 모델 어댑터, 도구 레지스트리, 세션 로그, 샌드박스, Agent 루프 자체를 소스를 고치지 않고 설정에서 바꿀 수 있다. 제품 페이지도 같은 면을 나열한다: 모델, 도구, 스킬, 세션, 샌드박스, 저장, 루프, 스케줄러, UI.

CLI 이름은 dsh다. 「DeepSeek V4-Flash 얼마」와는 다른 검색이다. 후자는 추론이고, 전자는 모델·도구·세션을 잇는 섀시다. 토큰 청구는 여전히 모델 제공자를 따른다. 가격은 DeepSeek V4-Flash API 가격.

공식은 개발자 프리뷰이며 파괴적 변경이 있다고 적는다. 저장소 공개는 2026-08-13. 문서는 플러그인을 쓸 독자를 전제한다. 이 글은 「무엇인지, 어떻게 조합하는지, CLI에서 무엇이 나왔는지」만 답하고 Cordis 이벤트 영역을 입문 교재로 쓰지 않는다.

무엇을 측정했나: 환경, 명령, 원시 숫자

「실측」이라고 쓰면 환경, 과제, 방법, 원시 출력이 있어야 한다. 아래는 로컬에서 실행한 결과이지 마케팅 페이지 스크린샷을 옮긴 것이 아니다.

환경: macOS(darwin 25.4.0), Node.js v24.14.1. npx --yes @deepseek-ai/dsh만 사용. 기본 ~/.dsh를 건드리지 않으려 DSH_HOME을 격리 디렉터리로 두고 dump 했다.

과제: ① CLI 도움말과 버전 ② web 도움말 ③ web 프로필 기본 트리(사용자 층 없음, --patch 없음). API 키가 필요한 전체 코딩 작업은 돌리지 않았다. 그래서 「어떤 저장소를 고쳤다」고 쓰지 않는다.

실제로 실행한 명령
npx --yes @deepseek-ai/dsh --version
# 0.1.5-rc.1

npx --yes @deepseek-ai/dsh --help
npx --yes @deepseek-ai/dsh web --help

export DSH_HOME="$PWD/.tmp_dsh_home"
npx --yes @deepseek-ai/dsh --profile web --dump-default-config

dsh --help는 제품을 사용자 덮어쓰기 아래 순서대로 쌓는 플러그인 번들이라고 정의한다. 주 명령은 web(--profile web 별칭)과 plugin(나머지를 그 프로필의 pnpm으로 전달). 예제에는 한 번 실행하는 headless, --dump-config, --from-default-profile도 있다.

dsh web --help 플래그는 문서와 같다: --host, --port(0이면 OS가 빈 포트 선택), --no-open, --trusted-host. 트리의 webserver 기본값은 127.0.0.1, 3080.

항목관측값근거
npm 버전0.1.5-rc.1dsh --version
기본 모델deepseek-official / deepseek-flashdump의 agent-default-model
Web 수신127.0.0.1:3080dump의 webserver
기본 presetstandarddump의 agent-presets
기본 트리YAML 539줄 / id 152개--dump-default-config
disabled26줄(대부분 tool-*)같은 dump

26개의 disabled: true는 주로 tool-bash, tool-fs, tool-skill, tool-web 같은 모델향 도구다. dsh-web-app가 먼저 끄고 워크스페이스/preset이 다시 켠다. dump에서 회색이라고 Web UI에 bash가 없는 것은 아니다. 마케팅 페이지는 이 층을 생략한다.

모델·도구·루프를 어떻게 조합하나

아키텍처 문서는 실행 중인 dsh를 부팅 때 겹친 플러그인 나무로 본다. 평소 만지는 것은 네 가지다.

  • Profile: $DSH_HOME/profiles/<name>의 이름 있는 조합. 기본 템플릿은 web, headless, sdk, sdk-minimal, acp.
  • Bundle: dsh.bundle을 가진 npm 패키지가 patch를 제공한다. 첫 초기화의 맨 아래는 @deepseek-ai/dsh-base.
  • 플러그인: apply(ctx)를 보내는 TypeScript. 어댑터는 ctx.llm.registerAdapter(), 도구는 ctx.tools, 루프는 ctx.agentLoop.
  • 적용 순서: 각 bundle patch → 프로필의 cordis.patch.yml → home patch → --patch.
층만지는 것바꾸는 것헷갈리지 말 것
모델Settings → Models 또는 $DSH_HOME/settings.yaml공식 카드, 카탈로그 제공자, 맞춤 게이트웨이모델을 바꿔도 bash 구현은 안 바뀐다
도구preset / DSH_TOOLS_MODE / 도구 플러그인표준 풀세트, 최소 두 도구, 직접 등록스키마는 프롬프트로 들어간다. 모델 목록은 다른 장부
루프기본 dsh-agent-loop, 통째로 교체 가능다른 loop 플러그인많은 제품은 loop를 하드코딩한다. dsh는 하지 않는다
진입점dsh web / headless / sdk / acp같은 CLI, 다른 프로필두 번째 실행 파일을 만들지 말 것

서드파티 플러그인 공식 경로는 dsh plugin --profile web add <패키지 또는 git>. dsh plugin --profile web --help를 치면 pnpm 도움말이 그대로 나왔다. 「pnpm으로 전달」은 비유가 아니다. 로컬 시험은 dsh web --patch ./cordis.yml(첫 플러그인). 공개 저장소에는 dsh-plugin 토픽을 단다.

공식 DeepSeek 카드는 쓰기 전용 키를 $DSH_HOME/.credentials.yaml에 둔다. 맞춤 게이트웨이는 소문자 Provider ID, base URL, 프로토콜(openai-completions / openai-responses / anthropic-messages)이 필요하다. Provider ID는 이름을 바꿀 수 없다. 키가 통해도 400이 날 수 있다. 추론 모델은 시스템 프롬프트를 developer 역할로 보내고 한도를 max_completion_tokens로 보낸다. 공식 수정은 settings.yaml의 compat.supportsDeveloperRole: false와 maxTokensField: max_tokens. 절차는 Configure models.

Web UI는 워크스페이스를 고르기 전까지 입력을 막는다. 공식 첫 문장은 「이 저장소를 요약하라」. Use the Web UI. Skills는 절차 기억이며 dsh 플러그인과 다른 객체다. 배경은 Hermes Agent Skills.

네 가지 모드 고르기

제품 페이지는 네 모드를 나열한다. dump의 기본 preset은 standard다. 나머지 셋은 공식 설명이며, 돌리지 않은 모드를 「우리가 측정했다」고 쓰지 않는다.

모드공식이 주는 것쓸 때기대하지 말 것
표준편집, Shell, 검색, Skills, 계획, 목표, 서브에이전트, 워크플로일상 코딩 Agent모델 가격까지 골라 주지 않는다
PTC표준 + Code Mode SDK. 모델이 TypeScript로 여러 도구를 묶는다도구 체인이 길 때게이트웨이 형식이 틀리면 똑같이 실패
최소지속 bash + str_replace_editor모델의 최소 도구 벤치검색/워크플로 풀세트 없음
창조표준 + 런타임 검사, 메모리 플러그인 시험, 새 preset조합을 직접 만들 때프리뷰 API는 움직인다

권한은 dump의 permission에 세 단계다: read-only, workspace-write(기본, DSH_PERMISSION_MODE로 변경), danger-full-access. 표준 모드는 「디스크 전체 쓰기 개방」이 아니다.

Claude Code / Hermes와 누구 몫인가

dsh를 「분해 가능한 섀시」로 보면 선택이 빨라진다.

  • 모델·도구·루프를 바꾸고 플러그인을 쓸 사람: DeepSeek Harness. 프리뷰에서는 버전을 고정한다.
  • 제품화된 코딩 Agent와 구독 청구: Claude Code 2026 가격부터 본다. dsh는 그 결제 경험을 복제하지 않는다.
  • Skills / Gateway 절차 기억: Hermes가 더 가깝다. dsh에도 dsh-skill이 있지만 기본 dump에서 filesystem skill은 꺼져 있다.
  • 이미 MCP를 돌리는 경우: 프로토콜 층은 독립적이다. MCP 개발자 가이드. 문서는 dsh를 MCP 클라이언트로 보지, 대체재로 쓰지 않는다.

서드파티 글은 Claude Code / Codex로 위임하는 선택 번들을 언급한다. 이번 기본 web dump에는 subagent-claude-code가 없다. 「상자에서 바로 위임」이라고 쓰지 않는다. 스택을 어떻게 쌓는지는 2026 AI Agent 스택.

FAQ

DeepSeek Harness와 DeepSeek 모델은 같은가?

아니다. Harness는 런타임, 모델은 추론이다. 기본 경로는 공식 DeepSeek지만 OpenAI, Anthropic, 맞춤 게이트웨이를 더할 수 있다. 청구는 고른 제공자를 따른다.

dsh 설치와 Web UI 포트는?

공식: npx @deepseek-ai/dsh web. 관측값은 0.1.5-rc.1, 127.0.0.1:3080. SSH에서는 --no-open. 소스는 pnpm install && pnpm run build && pnpm dsh web.

모델과 도구는 어떻게 조합하나?

Profile이 bundle을 쌓고, bundle이 patch로 플러그인을 넣는다. 모델은 ctx.llm, 도구는 ctx.tools, 루프는 ctx.agentLoop. 내 나무는 dsh --profile web --dump-config.

네 모드는 어떻게 고르나?

일상은 표준(기본). 모델 자체 벤치는 최소. 긴 도구 사슬은 PTC. preset을 만들면 창조. 프리뷰에서 이름은 바뀔 수 있다.

프리뷰를 프로덕션에 올려도 되나?

공식은 파괴적 변경을 경고한다. 격리된 DSH_HOME과 고정 npm 버전으로 실험한다. 고정하지 않은 npx를 프로덕션 인증서 머신에 상주시키지 말 것.

요약

DeepSeek Harness가 답하는 것은 「Agent 섀시를 어떻게 분해하는가」이지 모델 순위표가 아니다. 0.1.5-rc.1의 단단한 사실: web 기본 트리 152 플러그인, 기본 Flash, 포트 3080, preset=standard. 조합은 profile → bundle → 어댑터 / 도구 레지스트리 / 루프이지, 하나의 굳은 바이너리가 아니다.

뚜껑을 닫지 않는 Mac에서 dsh를 돌리기

dsh web은 상주 Node, 워크스페이스 디스크, API 키가 필요하다. 노트북을 닫으면 세션, 서브에이전트, Trajectory 재생이 같이 죽는다. 클라우드 Mac mini는 격리 호스트로 낫다. SSH에서 dsh web --no-open, DSH_HOME과 워크스페이스를 같은 상자에 두고 프로덕션 인증서는 다른 기기. 권한은 먼저 workspace-write. 일 단위 임대로 확인한 뒤 월 임대를 잠근다.

플랜 비교 · 요금 보기 · 개통 체크리스트 · 시작하기