Skip to Content
도구 연동DeepSeek Harness

DeepSeek Harness 설정

DeepSeek Harness (명령어 이름 dsh)는 DeepSeek이 공식적으로 공개한 오픈소스 agent harness로, “모든 것이 플러그인”이라는 아키텍처를 채택하여 모델, 도구, 스킬, 세션, 샌드박스, UI가 모두 교체 가능한 플러그인입니다. 기본적으로는 DeepSeek 공식 API를 호출하지만, 모델 플러그인을 OfoxAI로 지정하면 동일한 harness에서 100개 이상의 모델을 사용할 수 있습니다.

dsh는 개발자 프리뷰 단계이며, 유지 관리자는 파괴적 변경이 발생할 수 있다고 명시하고 있습니다. 이 문서는 @deepseek-ai/dsh 0.1.2-rc.1을 기준으로 작성되었습니다.

설정 단계

1. dsh 설치

먼저 Node.js를 설치하세요. dsh는 npm에서 @deepseek-ai/dsh로 배포되며, 설치하면 dsh 명령을 사용할 수 있습니다.

npm install -g pnpm # 이미 설치했다면 건너뛰기 pnpm add -g @deepseek-ai/dsh dsh --version

pnpm의 전역 bin 디렉터리가 PATH에 포함되어 있어야 합니다. pnpm bin -g로 실제 경로를 확인할 수 있습니다.

설치 중 pnpm이 Ignored build scripts: node-pty, koffi … 경고를 표시할 수 있지만 무시해도 됩니다. 두 패키지 모두 모든 플랫폼용 사전 빌드된 바이너리를 제공하므로 로컬 컴파일이 필요하지 않습니다.

전역 설치 없이 바로 실행해 보려면:

npx @deepseek-ai/dsh web

2. OfoxAI 공급자 설정

dsh는 설정을 $DSH_HOME 아래에서 관리합니다. macOS와 Linux에서는 ~/.dsh, Windows에서는 %USERPROFILE%\.dsh입니다. 아래 두 가지 방법 중 하나를 선택하세요.

네트워크 환경에 맞는 Base URL을 선택하세요: 국제 네트워크에서는 api.ofox.ai, 중국 본토 사용자는 api.ofox.io를 사용하세요. 둘은 같은 서비스의 미러이며, API Key는 공용이고 경로는 모두 /v1입니다.

dsh web

터미널에 토큰이 포함된 URL(기본값 http://127.0.0.1:3080)이 출력되고 브라우저가 자동으로 열립니다. 왼쪽 아래의 Settings 버튼을 클릭하세요:

dsh 설정 열기

왼쪽 내비게이션에서 Models 탭으로 이동하세요:

Models 설정 화면

기본 제공되는 deepseek-official 항목은 DeepSeek에 직접 연결되므로, OfoxAI를 경유하려면 사용자 지정 공급자를 추가해야 합니다. Add a custom provider를 클릭하세요:

사용자 지정 공급자 추가

아래 표대로 입력한 뒤 Fetch available models 버튼을 클릭하세요:

항목
Provider IDofox
Display nameofox
Base URLhttps://api.ofox.ai/v1
API protocolopenai-completions
API key귀하의 OfoxAI API Key

사용자 지정 공급자 입력 화면

스크린샷의 API protocolopenai-responses로 되어 있지만, 이는 폼의 기본값이며 DeepSeek 계열 모델만 받아들입니다. 모델 카탈로그 전체에서 사용하려면 openai-completions를 선택하세요.

사용할 모델을 선택하고 Add selected 버튼을 클릭한 다음, 폼으로 돌아와 Create provider를 클릭하세요:

추가할 모델 선택

세션 화면으로 돌아옵니다. 처음 사용할 때는 먼저 워크스페이스(dsh가 읽고 쓸 수 있는 프로젝트 디렉터리)를 선택해야 합니다. 그다음부터는 입력창 오른쪽 아래의 모델 선택기에서 ofox 그룹의 모든 모델을 사용할 수 있습니다:

세션에서 ofox 모델 선택

API Key는 $DSH_HOME/.credentials.yaml(OS의 본인 사용자만 읽을 수 있음)에, 공급자 설정은 $DSH_HOME/settings.yaml에 기록됩니다. 둘 다 재시작 없이 즉시 적용됩니다.

모델 ID에는 공급자 접두사가 반드시 포함되어야 합니다. anthropic/claude-sonnet-5처럼 지정해야 하며, 접두사가 없는 claude-sonnet-5는 거부됩니다. 전체 목록은 모델 마켓플레이스 에서 확인하세요.

3. API Key 설정

apiKeyEnv에 지정하는 것은 Key 자체가 아니라 자격 증명의 이름입니다. dsh는 dsh를 실행한 환경의 환경 변수 → $DSH_HOME/.credentials.yaml → 프로젝트의 .env → 홈 디렉터리의 .env 순서로 해석합니다. 웹 UI로 설정했다면 Key가 이미 저장되어 있으므로 이 단계는 건너뛰어도 됩니다.

~/.zshrc
export OFOX_API_KEY=<당신의 OFOXAI_API_KEY>

4. 확인

dsh --profile headless "OK라고만 답하세요. 어떤 도구도 호출하지 마세요."

OK가 돌아오면 모델 계층이 OfoxAI에 연결된 것입니다. 일상적인 작업에서는 dsh web으로 웹 인터페이스를 실행하거나, dsh --profile headless "run the tests"처럼 단일 작업을 실행한 뒤 종료하세요.

플랫폼별 차이

설정 파일의 내용은 세 플랫폼에서 완전히 동일하며, 경로와 환경 변수 표기법만 다릅니다.

macOSLinuxWindows
설정 루트 $DSH_HOME~/.dsh~/.dsh%USERPROFILE%\.dsh
API Key 영구 저장~/.zshrc~/.bashrcsetx
Shell 도구 샌드박스BashBashPowerShell (Bash 샌드박스는 자동으로 비활성화됨)

문제 해결

TIMEOUT: Request timed out. — dsh는 Node 애플리케이션이라 http_proxy / all_proxy를 읽지 않습니다. 따라서 시스템 프록시가 정상 동작하더라도 dsh가 연결된다는 보장은 없습니다. baseURL의 도메인에 현재 네트워크에서 접근할 수 없다면 중국 본토 사용자는 미러인 https://api.ofox.io/v1로 변경하세요.

MISSING_CREDENTIALapiKeyEnv에 지정한 자격 증명이 아무 값으로도 해석되지 않았습니다. dsh를 실행한 터미널에서 환경 변수가 적용되어 있는지, 또는 Key가 $DSH_HOME/.credentials.yaml에 저장되어 있는지 확인하세요. 다른 원인은 모델을 잘못 고른 경우입니다. 내장된 deepseek-official 라우트는 Key를 설정하지 않아도 모델 선택기에 자기 모델을 표시하며, 그 이름이 사용자 지정 라우트의 모델과 비슷하므로 잘못 선택하지 않도록 주의하세요.

응답이 비어 있는데 오류도 나지 않는 경우 — 가장 빠지기 쉬운 함정입니다. api: openai-responses에 Anthropic 계열 모델을 조합하면 요청은 정상적으로 끝나지만(finish reason: stop) 내용이 비어 있습니다. 해당 모델을 openai-completions 라우트로 옮기거나, https://api.ofox.ai/anthropic을 가리키는 anthropic-messages 라우트로 옮기세요.

INVALID_REQUEST / HTTP 400 endpoint_not_supported — 응답 본문에 Model '…' does not support the /v1/responses endpoint on this platform. Please use /v1/chat/completions instead.라고 적혀 있습니다. Google, Qwen 등의 모델을 openai-responses로 사용하면 이렇게 됩니다. 이 경우에도 apiopenai-completions로 변경하세요.

플러그인 로딩이 라우트 중복 오류로 실패하는 경우 — 동일한 라우트 이름이 두 번 등록된 것입니다. $DSH_HOME/cordis.patch.ymlsettings.yaml 양쪽에서 ofox를 정의하고 있지 않은지 확인하세요.

고급: patch 레이어를 통한 설정

settings.yaml은 런타임 사용자 설정을 담으며 다음 요청부터 적용됩니다. 플러그인 구성 자체를 변경하려면(플러그인 교체 또는 비활성화) $DSH_HOME/cordis.patch.yml의 patch 레이어를 사용하세요:

~/.dsh/cordis.patch.yml
- id: llm-pi-ai config: providers: ofox: apiKeyEnv: OFOX_API_KEY api: openai-completions baseURL: https://api.ofox.ai/v1 - id: agent-default-model config: provider: ofox model: deepseek/deepseek-v4-pro-0813

dsh web --dump-config를 실행하면 합성된 플러그인 트리가 출력되어 설정이 적용되었는지 확인할 수 있습니다.

추천 모델

추천 모델은 모델 마켓플레이스 를 참조하세요.

dsh는 빠르게 개발되고 있어 설정 필드가 버전에 따라 변경될 수 있습니다. DeepSeek Harness 공식 저장소 도 함께 확인하세요.

Last updated on