Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
vm0-ai avatar

Deepseek

  • 282 installs
  • 76 repo stars
  • Updated August 4, 2026
  • vm0-ai/vm0-skills

deepseek is a vm0-ai/vm0-skills agent skill that integrates the DeepSeek API for chat-completion inference, covering DEEPSEEK_TOKEN setup, api.deepseek.com endpoints, and connector troubleshooting for developers adding D

About

deepseek is a vm0-ai/vm0-skills integration skill for the DeepSeek API used when users mention DeepSeek, DeepSeek API, or DeepSeek models. It documents DEEPSEEK_TOKEN environment setup, the recommended base URL https://api.deepseek.com, and the OpenAI-compatible https://api.deepseek.com/v1 path for chat completions with the deepseek-chat model. Developers write JSON request bodies—such as /tmp/deepseek_request.json—and invoke POST chat-completion endpoints from agent or backend code. When requests fail, the skill directs running zero doctor check-connector --env-name DEEPSEEK_TOKEN or zero doctor check-connector against https://api.deepseek.com/chat/completions with POST method to validate connectivity. Reach for deepseek when swapping or adding DeepSeek inference alongside other LLM providers in vm0 agent pipelines without re-reading vendor docs for every session.

  • deepseek

Deepseek by the numbers

  • 282 all-time installs (skills.sh)
  • Ranked #1,396 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vm0-ai/vm0-skills --skill deepseek

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs282
repo stars76
Last updatedAugust 4, 2026
Repositoryvm0-ai/vm0-skills

How do you integrate the DeepSeek API in agents?

Use deepseek for development tasks

Who is it for?

Developers integrating DeepSeek inference into vm0 agents or backends who need token setup, endpoint URLs, and connector troubleshooting guidance.

Skip if: Teams standardized on OpenAI or Anthropic APIs without DeepSeek models in the architecture or DEEPSEEK_TOKEN available.

When should I use this skill?

A developer mentions DeepSeek, DeepSeek API, deepseek-chat, or asks to troubleshoot DEEPSEEK_TOKEN connector failures.

What you get

DeepSeek API request JSON, configured DEEPSEEK_TOKEN usage, chat-completion call patterns, and zero doctor connector diagnostic results.

  • Chat-completion request JSON
  • API integration notes
  • Connector diagnostic commands

By the numbers

  • Documents 2 DeepSeek API base URLs: api.deepseek.com and api.deepseek.com/v1
  • Includes deepseek-chat model in chat-completion examples

Files

SKILL.mdMarkdownGitHub ↗

Troubleshooting

If requests fail, run zero doctor check-connector --env-name DEEPSEEK_TOKEN or zero doctor check-connector --url https://api.deepseek.com/chat/completions --method POST

How to Use

All examples below assume you have DEEPSEEK_TOKEN set.

The base URL for the DeepSeek API is:

  • https://api.deepseek.com (recommended)
  • https://api.deepseek.com/v1 (OpenAI-compatible)

1. Basic Chat Completion

Send a simple chat message:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "Hello, who are you?"
    }
  ]
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json

Available models:

  • deepseek-chat: DeepSeek-V3.2 non-thinking mode (128K context, 8K max output)
  • deepseek-reasoner: DeepSeek-V3.2 thinking mode (128K context, 64K max output)

2. Chat with Temperature Control

Adjust creativity/randomness with temperature:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "user",
      "content": "Write a short poem about coding."
    }
  ],
  "temperature": 0.7,
  "max_tokens": 200
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json | jq -r '.choices[0].message.content'

Parameters:

  • temperature (0-2, default 1): Higher = more creative, lower = more deterministic
  • top_p (0-1, default 1): Nucleus sampling threshold
  • max_tokens: Maximum tokens to generate

3. Streaming Response

Get real-time token-by-token output:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "user",
      "content": "Explain quantum computing in simple terms."
    }
  ],
  "stream": true
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json

Streaming returns Server-Sent Events (SSE) with delta chunks, ending with data: [DONE].

4. Deep Reasoning (Thinking Mode)

Use the reasoner model for complex reasoning tasks:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-reasoner",
  "messages": [
    {
      "role": "user",
      "content": "What is 15 * 17? Show your work."
    }
  ]
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json | jq -r '.choices[0].message.content'

The reasoner model excels at math, logic, and multi-step problems.

5. JSON Output Mode

Force the model to return valid JSON:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "system",
      "content": "You are a JSON generator. Always respond with valid JSON."
    },
    {
      "role": "user",
      "content": "List 3 programming languages with their main use cases."
    }
  ],
  "response_format": {
    "type": "json_object"
  }
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json | jq -r '.choices[0].message.content'

6. Multi-turn Conversation

Continue a conversation with message history:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "user",
      "content": "My name is Alice."
    },
    {
      "role": "assistant",
      "content": "Nice to meet you, Alice."
    },
    {
      "role": "user",
      "content": "What is my name?"
    }
  ]
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json | jq -r '.choices[0].message.content'

7. Code Completion (FIM)

Use Fill-in-the-Middle for code completion (beta endpoint):

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "prompt": "def add(a, b):\n ",
  "max_tokens": 20
}

Then run:

curl -s "https://api.deepseek.com/beta/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json | jq -r '.choices[0].text'

FIM is useful for:

  • Code completion in editors
  • Filling gaps in documents
  • Context-aware text generation

8. Function Calling (Tools)

Define functions the model can call:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "user",
      "content": "What is the weather in Tokyo?"
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get the current weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city name"
            }
          },
          "required": ["location"]
        }
      }
    }
  ]
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json

The model will return a tool_calls array when it wants to use a function.

9. Check Token Usage

Extract usage information from response:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ]
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json | jq '.usage'

Response includes:

  • prompt_tokens: Input token count
  • completion_tokens: Output token count
  • total_tokens: Sum of both

OpenAI SDK Compatibility

DeepSeek is fully compatible with OpenAI SDKs. Just change the base URL:

Python:

from openai import OpenAI
client = OpenAI(api_key="your-deepseek-key", base_url="https://api.deepseek.com")

Node.js:

import OpenAI from 'openai';
const client = new OpenAI({ apiKey: 'your-deepseek-key', baseURL: 'https://api.deepseek.com' });

Tips: Complex JSON Payloads

For complex requests with nested JSON (like function calling), use a temp file to avoid shell escaping issues:

Write to /tmp/deepseek_request.json:

{
  "model": "deepseek-chat",
  "messages": [{"role": "user", "content": "What is the weather in Tokyo?"}],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get current weather",
      "parameters": {
        "type": "object",
        "properties": {"location": {"type": "string"}},
        "required": ["location"]
      }
    }
  }]
}

Then run:

curl -s "https://api.deepseek.com/chat/completions" -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $DEEPSEEK_TOKEN" -d @/tmp/deepseek_request.json

Guidelines

1. Choose the right model: Use deepseek-chat for general tasks, deepseek-reasoner for complex reasoning 2. Use caching: Repeated prompts with same prefix benefit from cache pricing ($0.028 vs $0.28) 3. Set max_tokens: Prevent runaway generation by setting appropriate limits 4. Use streaming for long responses: Better UX for real-time applications 5. JSON mode requires system prompt: When using response_format, include JSON instructions in system message 6. FIM uses beta endpoint: Code completion endpoint is at api.deepseek.com/beta 7. Complex JSON: Use temp files with -d @filename to avoid shell quoting issues

Related skills

How it compares

Use deepseek for DeepSeek-specific token and endpoint integration; pick generic OpenAI skills when the provider is not DeepSeek.

FAQ

What base URL does the deepseek skill use?

The deepseek skill recommends https://api.deepseek.com for DeepSeek API calls and documents https://api.deepseek.com/v1 as the OpenAI-compatible path. Developers set DEEPSEEK_TOKEN and send chat-completion POST requests with models such as deepseek-chat.

How does deepseek troubleshoot failed API requests?

The deepseek skill directs developers to run zero doctor check-connector --env-name DEEPSEEK_TOKEN or zero doctor check-connector --url https://api.deepseek.com/chat/completions --method POST. These checks validate token presence and endpoint reachability before retrying inferenc

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.