> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# DeepSeek Harness

> DeepSeek Harness에 TokenLab을 네이티브 프로토콜 모델 제공자로 설치하고 전체 멀티미디어 및 비동기 도구를 활성화합니다

## 개요

TokenLab DeepSeek Harness bundle은 두 가지 통합 영역을 제공합니다.

* OpenAI Responses, Anthropic Messages, OpenAI Chat Completions용 상호 배타적인 모델 경로 세 개
* 모델 검색, 이미지, 비디오, 음악, 3D, 오디오, 파일, embeddings, rerank, 번역 및 비동기 작업을 포함하는 TokenLab MCP `full` profile

패키지 이름은 `@tokenlabai/dsh-provider`이며 DeepSeek Harness `0.1.1-rc.2`와 호환되는 `0.1.x` 플러그인 계약을 대상으로 합니다.

<Note>
  이 페이지는 릴리스 준비 문서입니다. npm 패키지를 게시하고 다시 읽어 확인하기 전에는 이 페이지를 배포하거나 마켓에 제출하지 마세요.
</Note>

## 설치

프로젝트 또는 Harness home의 `.env`에 key를 저장합니다.

```dotenv theme={null}
TOKENLAB_API_KEY=sk-your-tokenlab-key
```

사용할 profile에 설치한 후 다시 시작합니다.

```bash theme={null}
dsh plugin --profile web add --workspace-root @tokenlabai/dsh-provider
```

일회성 작업은 headless profile을 사용할 수 있습니다.

```bash theme={null}
dsh plugin --profile headless add --workspace-root @tokenlabai/dsh-provider
```

## 네이티브 엔드포인트 라우팅

Harness는 provider route 수준에서 wire protocol을 선택하므로 bundle은 provider 세 개를 등록하고 각 공개 chat 모델을 정확히 하나에만 배치합니다.

| Harness provider       | TokenLab endpoint           | 선택 기준                                                              |
| ---------------------- | --------------------------- | ------------------------------------------------------------------ |
| `TokenLab · Responses` | `POST /v1/responses`        | owner가 OpenAI이고 공개 detail contract에 `openai_responses`가 있는 모델      |
| `TokenLab · Messages`  | `POST /v1/messages`         | owner가 Anthropic이고 공개 detail contract에 `anthropic_messages`가 있는 모델 |
| `TokenLab · Chat`      | `POST /v1/chat/completions` | OpenAI Chat Completions 호환성을 선언한 나머지 모델                            |

스냅샷은 `GET /v1/models`와 `GET /v1/models/{id}`에서 생성되며 모델 이름 substring이나 내부 경로를 추측하지 않습니다.

<Note>
  현재 Harness custom provider는 `openai-responses`, `anthropic-messages`, `openai-completions`를 지원하지만 Gemini native는 구성할 수 없습니다. Harness의 Gemini 모델은 공개된 Chat fallback을 사용합니다. Gemini `generateContent`가 필요하면 호환 클라이언트에서 `/v1beta/models/{model}:generateContent`를 호출하세요.
</Note>

## 멀티미디어 및 개발 도구

bundle은 공식 MCP bridge를 통해 고정된 `@tokenlabai/mcp-server`를 로컬 stdio에서 시작합니다. 기본 `full` profile은 `mcp__tokenlab__...` 이름으로 80개 도구를 등록하며 catalog/pricing, 네 가지 LLM API, 이미지, 비디오, 음악, 3D, 오디오, 파일, response lifecycle, batches, embeddings, rerank, 번역, worlds 및 미디어 자산을 포함합니다.

모델에는 portable schema를 제공하고 MCP server는 전체 OpenAPI contract로 실행 요청을 검증합니다.

## 비동기 미디어

비디오, 음악, 3D 생성은 비동기입니다. 이미지는 모델에 따라 동기 결과 또는 작업을 반환합니다.

1. `delivery.mode`를 확인합니다.
2. `sync`이면 결과를 바로 사용합니다.
3. `async`이면 `delivery.task_id`를 `tokenlab_wait_task`에 전달합니다.
4. `status`, 전체 `response`, `result_urls`를 사용합니다.
5. timeout 시 최신 비종료 상태를 반환하므로 polling을 안전하게 이어갈 수 있습니다.

`tokenlab_wait_task`는 읽기 전용이며 호출자 취소를 모든 요청과 delay에 전달하고, 일시적 재시도를 제한하며, 선택적 progress가 아닌 status로 종료를 판단합니다.

## 설정

| 변수                            | 기본값                          | 용도                                 |
| ----------------------------- | ---------------------------- | ---------------------------------- |
| `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`   | `full`                       | `catalog`, `core`, `full` 중 선택     |
| `TOKENLAB_MCP_SCHEMA_MODE`    | `portable`                   | `portable`, `exact`, `strict` 중 선택 |

반복되는 tool schema 비용을 줄이는 것이 전체 개발 표면보다 중요하면 `core`를 사용하세요.

## 검증 및 보안

재시작 후 TokenLab provider 세 개, 모델 비중복, `mcp__tokenlab__list_models`의 비어 있지 않은 결과를 확인합니다. 테스트 key로 Responses, Messages, Chat 요청을 각각 실행해 로그의 endpoint를 대조하고, 저비용 비동기 미디어 작업이 종료 URL을 반환하는지 검증합니다.

key는 신뢰할 수 있는 환경 또는 secret store에 보관하세요. MCP server는 Harness와 같은 Node로 로컬 stdio에서 실행되며 shell이나 호스팅 MCP를 통하지 않습니다. 과금 또는 파괴적 도구에는 Harness 승인을 유지하고 반환된 텍스트, URL, 파일 및 미디어를 신뢰하지 마세요.

기존 `llm-pi-ai` settings section은 bundle 기본값보다 우선합니다. 이미 사용 중이면 패키지 `cordis.patch.yml`의 `tokenlab-*` 경로 세 개를 `providers` map에 병합하세요.

## 제거

```bash theme={null}
dsh plugin --profile web remove --workspace-root @tokenlabai/dsh-provider
```

profile을 다시 시작합니다. TokenLab 계정이나 key는 삭제되지 않습니다.

## 관련 문서

* [TokenLab MCP 서버](/ko/integrations/tokenlab-mcp-server)
* [API 형식](/ko/guides/api-formats)
* [비동기 작업 및 폴링](/ko/guides/async-jobs-polling)
