코딩 도구
DeepSeek Harness
Harness에 TokenLab 모델을 설정하고 요청을 확인한 뒤 MCP, Skills 또는 provider bundle 선택하기
접속 방식 선택
TokenLab을 주 모델로 쓰려면 Harness Web UI에서 custom provider를 추가하면 됩니다. 선택 사항인 TokenLab bundle은 필수가 아닙니다. MCP는 도구, Skill은 API 사용 지침을 제공하며 주 모델을 자동으로 바꾸지 않습니다.
Harness는 개발자 프리뷰입니다. 2026년 9월 27일에 공식 문서와 배포된 @deepseek-ai/dsh 0.1.5-rc.3 패키지를 대조했습니다. 아래 bundle 안내도 이 버전을 대상으로 하며, 다른 Harness 버전과의 호환성은 별도로 확인해야 합니다.
기존 에이전트에 전달할 작업
https://tokenlab.sh/docs/ko/integrations/deepseek-harness 문서를 읽고 설치된 버전과 운영 체제를 확인하세요.
TokenLab 주 모델, MCP 도구, API Skill 중 무엇이 필요한지 확인하세요.
기존 계정, 제공자 설정, 권한을 보존하고 변경을 복원하는 방법을 설명하세요.
채팅으로 API 키를 요구하지 마세요. 제가 로컬로 입력하고 필요한 UI 단계를 수행합니다.
작은 검증 요청의 비용을 설명하고, 제가 해당 테스트를 명시적으로 선택한 뒤에만 실행을 돕고 TokenLab 기록과 대조하세요.Harness 시작
macOS, Linux, Windows에서 지원되는 Node 버전을 사용하세요. 처음 설치한다면 Node 24 LTS를 사용할 수 있습니다. 프로젝트 디렉터리의 터미널 또는 PowerShell에서 실행합니다.
node --version
npx @deepseek-ai/dsh@0.1.5-rc.3 web출력된 로컬 URL을 열고 Choose workspace에서 프로젝트를 추가해 선택하세요. 이 명령은 web profile을 사용하며 Electron의 desktop profile은 이 CLI로 관리하지 않습니다. 공식 시작 안내와 Web UI 안내를 참고하세요.
TokenLab provider 하나 설정
- Settings → Models → Add a custom provider를 열고 기존 제공자와 권한을 유지합니다.
tokenlab-chat같은 소문자 Provider ID를 입력하고 표에서 프로토콜과 Base URL 한 쌍을 선택합니다.- 로컬 폼에 TokenLab 키를 저장합니다. UI 키는
$DSH_HOME/.credentials.yaml에 저장되고 설정에는 참조만 남습니다. 채팅이나 git에 넣지 마세요. - 현재 목록에서 정확한 ID를 추가하고 모델 상세의
tokenlab.accepted_request_formats를 확인합니다. - 저장한 뒤 모델을 선택하고 새 세션을 만듭니다. 이미 요청을 보낸 세션은 기존 모델을 유지합니다.
| Provider ID 예시 | Harness API protocol | Base URL | 필요한 공개 요청 형식 |
|---|---|---|---|
tokenlab-chat | openai-completions | https://api.tokenlab.sh/v1 | openai_chat_completions |
tokenlab-responses | openai-responses | https://api.tokenlab.sh/v1 | openai_responses |
tokenlab-messages | anthropic-messages | https://api.tokenlab.sh | anthropic_messages |
첫 텍스트 검사에는 현재 제공 중인 gpt-4.1-mini를 Chat 행으로 설정할 수 있습니다. Fetch available models → Add selected는 검색 편의 기능이며 이후 저장이 필요합니다. 실패하면 ID를 수동 입력하세요. 목록 확인만으로 프로토콜 호환성이 증명되지는 않습니다. Gemini native 프로토콜은 제공되지 않으며 모델이 명시적으로 지원할 때만 Chat을 사용합니다. 이미지 입력이나 추론 제어는 추가 settings.yaml 필드가 필요할 수 있으므로 공식 provider 문서와 모델 상세을 확인하세요.
작은 요청으로 확인
새 세션에서 다음을 보냅니다.
TOKENLAB_CONNECTION_OK만 답하세요. 도구를 사용하거나 파일을 수정하지 마세요.이 요청은 유료입니다. 응답과 TokenLab 요청 기록의 모델, 시간, 상태를 대조하세요. 첫 연결 확인에 세 프로토콜이나 유료 미디어 생성은 필요하지 않습니다. 모델 목록이나 MCP 검색 성공만으로 생성 권한이 확인되지는 않습니다.
선택 사항: TokenLab bundle
@tokenlabai/dsh-provider@0.1.5은 Harness 0.1.5-rc.3을 대상으로 합니다. 모델 하나를 설정하려면 위의 기본 custom-provider 단계를 따르고, 미리 설정된 모델 경로와 도구가 필요하면 bundle을 설치하세요.
bundle에는 2026년 9월 27일에 확인한 공개 채팅 모델 136개의 고정 스냅샷이 포함됩니다. Responses 27개, Messages 10개, Chat 99개이며 각 모델은 하나의 경로에만 표시됩니다. @tokenlabai/mcp-server@0.6.24 버전을 고정하고 별도 도구 tokenlab_wait_task도 제공합니다. 이 버전을 설치해도 모델 목록이 갱신되지는 않습니다. 현재 목록에서 ID를 확인하고 필요하면 custom provider로 새 모델을 추가하세요.
호환되는 기존 설치에서는 먼저 PATH에 pnpm이 있는지 확인하세요. 설치와 시작에 같은 dsh 버전과 profile을 사용합니다. npx 사용자라면 아래 dsh를 같은 버전 지정 실행 명령으로 바꾸세요.
dsh --version
pnpm --version
dsh plugin --profile web add --workspace-root @tokenlabai/dsh-provider@0.1.5profile을 시작하기 전에 실행 환경 또는 읽어 들일 .env에 설정합니다.
TOKENLAB_API_KEY=sk-your-tokenlab-keyHarness는 시작 디렉터리와 $DSH_HOME(보통 ~/.dsh)의 .env를 읽으며 상속된 환경 변수가 우선합니다. 나중에 선택한 workspace가 .env를 바꾸지는 않습니다. git에 커밋하지 말고 변경 후 같은 profile을 재시작하세요. UI 모델 키는 bundle의 TOKENLAB_API_KEY로 자동 공유되지 않습니다. headless는 설치와 시작 모두 해당 profile을 지정해야 합니다.
Harness 0.1.5-rc.3은 저장된 llm-pi-ai.providers를 provider key별로 병합합니다. 키가 다른 provider는 함께 유지됩니다. 저장된 tokenlab-responses, tokenlab-messages, tokenlab-chat 항목은 bundle의 같은 키를 가진 경로를 덮어쓰므로 이전 목록에서 업그레이드할 때 확인하세요. $DSH_HOME/settings.yaml의 다른 provider와 모델을 보존하고 전체 설정 문서를 Cordis patch로 바꾸지 마세요.
공개 모델 상세 정보는 추론 기능을 표시하지만 모델별로 지원하는 effort 값을 열거하지 않습니다. 따라서 bundle은 reasoningEfforts를 선언하지 않습니다. Harness는 이 custom 경로에서 effort 수준을 제공하지 않지만 서버 측 추론을 끄는 것은 아닙니다. reasoningEfforts를 직접 설정한다면 별도로 검증한 값만 provider의 models 목록에 있는 해당 모델 항목에 넣고 다른 모델은 보존하세요. 추론 기능이 있다는 사실만으로 xhigh 또는 max 지원을 확인할 수는 없습니다.
bundle의 기본값은 MCP 도구 32개를 제공하는 TOKENLAB_MCP_TOOL_PROFILE=core와 TOKENLAB_MCP_SCHEMA_MODE=portable입니다. 검색만 필요하면 catalog(6개), response 수명 주기, batch, Seedance 에셋·그룹, worlds 등의 추가 작업을 포함한 전체 89개 도구가 필요하면 full을 선택하세요. 별도 폴링 도구 tokenlab_wait_task는 모든 profile에서 사용할 수 있으며 위 MCP 도구 수에는 포함되지 않습니다. 다른 환경 변수는 다음과 같습니다.
| 변수 | 기본값 | 용도 |
|---|---|---|
TOKENLAB_API_KEY | 없음 | 모델, MCP, 비동기 polling 인증 |
TOKENLAB_API_BASE | https://api.tokenlab.sh | MCP 및 task API root |
TOKENLAB_OPENAI_BASE_URL | https://api.tokenlab.sh/v1 | Responses 및 Chat base URL |
TOKENLAB_ANTHROPIC_BASE_URL | https://api.tokenlab.sh | Messages base URL |
TOKENLAB_MCP_TOOL_PROFILE | core | catalog (6) / core (32) / full (89) |
TOKENLAB_MCP_SCHEMA_MODE | portable | portable, exact, strict 중 선택 |
미디어 결과의 delivery.mode가 complete면 결과를 사용하고, async면 delivery.task_id를 tokenlab_wait_task에 넘겨 최종 status, response, result_urls를 확인합니다. 대기 시간 초과는 완료가 아닙니다. 유료 또는 파괴적 도구의 승인을 유지하세요. 비동기 작업을 참고하세요.
같은 실행 명령과 profile로 제거한 뒤 재시작합니다.
dsh plugin --profile web remove --workspace-root @tokenlabai/dsh-provider문제 해결
- 입력 불가: workspace와 모델을 선택하세요.
MISSING_CREDENTIAL또는 401: provider 자격 증명을 확인하세요. bundle 도구는 시작 환경의TOKENLAB_API_KEY를 별도로 읽습니다.UNKNOWN_MODEL또는 종료된 ID: 현재 목록에 맞게 정확한 ID를 설정하고 새 세션을 만드세요.0.1.5재설치로 스냅샷은 갱신되지 않습니다.- 생성 실패: 프로토콜, Base URL, 허용 형식을 대조하세요. 성공을 만들려고 기록, 도구, 이미지를 제거하지 마세요.
dsh또는pnpm없음: 위의 버전 지정npx를 사용할 수 있습니다. plugin 명령 전에 pnpm을 설치하세요.
MCP와 Skills는 별도 선택
수동 provider는 도구를 설치하지 않습니다. bundle 없이 도구가 필요하면 TokenLab MCP 안내에 따라 설정하고 생성 전에 검색을 확인하세요. Skill은 SKILL.md와 참조 파일을 포함한 전체 폴더를 프로젝트 루트의 .dsh/skills/tokenlab-api-integration/에 둡니다. .agents/skills/도 검색합니다. Skill은 provider, MCP 서버, 키를 설치하지 않습니다. 공식 Skills 문서를 참고하세요.
Jev / System One & Webhooks
Jev(POST /v1/systemone)는 core 또는 full의 mcp__tokenlab__evaluate_decisions로 호출합니다. 먼저 category=decision과 모델 상세를 확인하세요. 동기식 판단이므로 채팅 모델 선택기나 tokenlab_wait_task에 넣지 마세요.
Webhook 관리에는 full과 별도의 시작 환경 변수 TOKENLAB_MANAGEMENT_TOKEN=mt-...가 필요하며 bundle이 MCP에 명시적으로 전달합니다. 추론 키로 대체할 수 없고 관리 토큰은 Webhook 외 권한도 가집니다. 등록만으로 Harness가 수신기가 되지는 않습니다.