DeepSeek Harness · 모든 것이 플러그인

플러그인이 모든 Agent 역량을 제공 Cordis는 로드와 의존성만 관리

DeepSeek Harness는 「무엇을 할 수 있는지」를 꽂아 바꿀 수 있는 모듈로 만듭니다. 모델 어댑터, 도구, 스킬, 세션, 샌드박스, 저장, 루프, 스케줄링, UI는 모두 플러그인입니다. 먼저 DeepSeek 웹 버전에서 DeepSeek-V4와 요구를 맞춘 뒤, Harness 구성에서 해당 플러그인을 교체하세요.

커널

Cordis

로드 / 언로드 / 의존성

역량

전부 플러그인

모델과 UI 포함

구성

자유롭게 조합

소스를 바꿀 필요 없음

생태계

dsh-plugin

GitHub topic으로 발견

플러그인이 덮는 역량 면

모델부터 UI까지, DeepSeek Harness에는 특권 커널 기능이 없습니다

공식 표현: 모든 Agent 역량은 플러그인이 제공합니다. 즉 DeepSeek-V4 어댑터, 도구 세트, 인터페이스까지 교체하거나 확장할 수 있습니다.

모델 플러그인

모델은 Agent의 영혼이지만 Harness에서는 플러그인이기도 합니다. 구성으로 어댑터를 바꿔 DeepSeek-V4나 다른 제공자를 같은 도구와 세션 로그에 연결할 수 있습니다.

DeepSeek-V4 모델 플러그인

도구와 스킬

파일 편집, Shell, 검색, Skills 등은 플러그인으로 도구 표에 등록됩니다. 표준 모드는 완전한 조합을 주고, 미니멀 모드는 평가를 위해 bash + 편집기까지 줄일 수 있습니다.

DeepSeek Harness 도구

세션과 Trajectory

세션 로그는 추가 전용입니다. 시스템 프롬프트, 사고 사슬, 도구 결과, 서브 Agent 스케줄링, 컨텍스트 주입은 같은 출처에서 재생할 수 있어 「모델이 실제로 무엇을 봤는지」 디버깅하기 쉽습니다.

DeepSeek 세션 로그

샌드박스와 저장

샌드박스, 파일 시스템, 지속성도 마찬가지로 플러그인입니다. 샌드박스 전략을 바꿀 때 Agent 루프를 고칠 필요 없이 구성 계층에서 구현만 전환하면 됩니다.

DeepSeek Harness 샌드박스

루프, 스케줄링, 서브 Agent

Agent 루프, 작업 스케줄링, 서브 에이전트 편성은 조합할 수 있습니다. PTC / Code 모드는 한 걸음 더 나아가 모델이 TypeScript 프로그램으로 다단계 도구를 잇게 합니다.

DeepSeek Agent 루프

UI도 플러그인

Web UI는 바꿀 수 없는 껍데기가 아닙니다. dsh web이 띄우는 브라우저 인터페이스 자체도 플러그인 트리에 있으며, profile(예: web / headless)에 따라 다른 패키지를 겹칠 수 있습니다.

DeepSeek Harness Web UI
런타임이 쌓이는 방식

한 번의 dsh 시작 = 순서가 있는 플러그인 트리

공식 아키텍처는 실행 중인 dsh를 시작 시 여러 층 구성으로 이루어진 플러그인 트리로 설명합니다. 계층을 이해하면 fork가 아니라 확장하기 쉽습니다.

01

Profile 구성

Profile은 이름 있는 조합입니다. 겹칠 bundle, 트리 밖 플러그인, 사용자 자신의 cordis.patch.yml을 나열합니다. web과 headless는 템플릿으로 제공됩니다.

02

dsh-base

거의 모든 profile의 첫 층: 모델 어댑터, 도구, 지속성, 샌드박스와 승인 정책, 설정, 자격 증명, 텔레메트리 등 기초 역량입니다.

03

dsh-web-app / headless

web-app은 브라우저 앱을 겹치고, headless는 서버리스 일회성 러너를 겹칩니다. 같은 플러그인 철학, 다른 전달 형태입니다.

04

커뮤니티 플러그인

dsh-plugin topic으로 플러그인을 검색할 수 있게 하세요. 프리뷰 단계에서는 API가 바뀝니다. 플러그인 저자는 공식 개발 가이드와 Discussions를 따라가세요.

이 설계가 중요한 이유

오픈소스로 검사하고, 플러그인으로 개조합니다

라이선스는 코드를 감사할 수 있게 하고, Cordis는 런타임을 재구성할 수 있게 합니다. DeepSeek Agent 개발자에게 fork 비용이 낮아집니다.

01

inject로 의존성을 표현

플러그인은 inject로 필요한 서비스(tools, llm 등)를 선언하고, Cordis는 서비스가 준비된 뒤에 소비자를 시작합니다. 로드 순서는 의존성이 정하며 YAML 줄 번호가 아닙니다.

02

되돌릴 수 있는 부작용

리스너, 도구 등록, 타이머는 플러그인 언로드 시 자동으로 정리됩니다. 명시적 해제가 필요한 자원은 effect로 disposer를 등록해 핫스왑 후 누수를 막습니다.

03

먼저 대화하고, 그다음 플러그인을 바꿉니다

모델을 바꿀지 도구를 바꿀지 모를 때는, 먼저 DeepSeek 웹 버전에서 DeepSeek-V4로 작업 경계를 물은 뒤 Harness로 돌아와 구성을 바꾸고, 무작정 플러그인을 건드리지 마세요.

플러그인을 조합하기 전에 DeepSeek 웹 버전에서 목표를 맞추세요

DeepSeek-V4가 작업을 명확히 하고, Harness 플러그인이 역량을 실제 환경에 연결합니다.

플러그인 FAQ

DeepSeek Harness 플러그인을 쓰기 전에 알아야 할 것

공식 문서 입장에 맞춰: 플러그인 형태, 구성 조합, DeepSeek 웹 버전과의 역할 분담.

01 플러그인은 어떤 모습인가요?

흔한 형태는 apply(ctx)를 내보내는 TypeScript 모듈입니다. apply가 있는 객체이거나 서비스를 제공하는 Service 하위 클래스여도 됩니다. 프레임워크는 로드 시 공유 컨텍스트 ctx를 넘깁니다.

02 플러그인을 런타임에 어떻게 넣나요?

cordis.yml / overlay / patch에 모듈 경로나 패키지 이름을 등록합니다. 공식 튜토리얼은 일부 장면에서 플러그인 경로가 절대 경로여야 하며, 핵심 패키지를 고치지 말고 profile로 겹치라고 강조합니다.

03 UI를 정말 바꿀 수 있나요?

공식은 UI를 모델, 도구와 같은 급의 플러그인 역량으로 둡니다. 구성 계층에서 인터페이스를 선택하거나 확장할 수 있으며 DeepSeek Harness 소스를 수정할 필요는 없습니다.

04 DeepSeek 웹 버전을 바로 쓰는 것과 충돌하나요?

충돌하지 않습니다. 웹 버전은 빠른 대화와 DeepSeek-V4 추론에 맞고, 플러그인은 검증된 흐름을 도구 체인으로 굳히기에 맞습니다. 이 사이트의 CTA는 먼저 웹 버전 대화로 안내합니다.

05 프리뷰 플러그인은 자주 깨지나요?

파괴적 변경은 있습니다. 공식의 대문자 경고입니다. 플러그인을 진화하는 실험으로 보고 Discussions를 따르며, API가 장기적으로 안정하다고 가정하지 마세요.

06 아키텍처 세부 사항은 어디서 보나요?

공식 저장소 docs/architecture.md, Cordis primer, 개발 가이드입니다. 이 페이지는 검색과 제품 이해를 위한 소개이며 업스트림 문서를 대체하지 않습니다.

대화에서 꽂아 바꿀 수 있는 Agent로

로컬 도구와 샌드박스가 필요할 때 dsh를 켜세요. 지금은 먼저 DeepSeek 웹 버전으로 들어갈 수 있습니다.