
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 deepseekAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 282 |
|---|---|
| repo stars | ★ 76 |
| Last updated | August 4, 2026 |
| Repository | vm0-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
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.jsonAvailable 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 deterministictop_p(0-1, default 1): Nucleus sampling thresholdmax_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.jsonStreaming 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.jsonThe 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 countcompletion_tokens: Output token counttotal_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.jsonGuidelines
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