跳到主要内容
非官方简体中文翻译,内容版权归 Mastra 所有,遵循 Apache-2.0 许可。

DeepSeek logoDeepSeek

Access 4 DeepSeek models through Mastra's model router. Authentication is handled automatically using the DEEPSEEK_API_KEY environment variable.

Learn more in the DeepSeek documentation.

.env
DEEPSEEK_API_KEY=your-api-key
src/mastra/agents/my-agent.ts
import { Agent } from "@mastra/core/agent";

const agent = new Agent({
id: "my-agent",
name: "My Agent",
instructions: "You are a helpful assistant",
model: "deepseek/deepseek-flash"
});

// Generate a response
const response = await agent.generate("Hello!");

// Stream a response
const stream = await agent.stream("Tell me a story");
for await (const chunk of stream) {
console.log(chunk);
}

Models
Models的直接链接

ModelContextToolsReasoningImageAudioVideoInput $/1MOutput $/1M
deepseek/deepseek-flash1.0M$0.15$0.60
deepseek/deepseek-v4-pro1.0M$0.66$2
2 available models

Model availability, capabilities, context windows, and pricing are sourced from models.dev and may change.

Advanced configuration
Advanced configuration的直接链接

Custom headers
Custom headers的直接链接

src/mastra/agents/my-agent.ts
const agent = new Agent({
id: "custom-agent",
name: "custom-agent",
model: {
url: "https://api.deepseek.com",
id: "deepseek/deepseek-flash",
apiKey: process.env.DEEPSEEK_API_KEY,
headers: {
"X-Custom-Header": "value"
}
}
});

Dynamic model selection
Dynamic model selection的直接链接

src/mastra/agents/my-agent.ts
const agent = new Agent({
id: "dynamic-agent",
name: "Dynamic Agent",
model: ({ requestContext }) => {
const useAdvanced = requestContext.task === "complex";
return useAdvanced
? "deepseek/deepseek-v4-pro"
: "deepseek/deepseek-flash";
}
});

Provider Options
Provider Options的直接链接

DeepSeek supports the following provider-specific options via the providerOptions parameter:

const response = await agent.generate("Hello!", {
providerOptions: {
deepseek: {
// See available options in the table below
}
}
});

Available Options
Available Options的直接链接

logprobs?:

boolean | undefined
Whether to return log probabilities for generated tokens.

topLogprobs?:

number | undefined
Number of most likely tokens to return at each token position. Setting this option automatically enables logprobs.

userId?:

string | undefined
An opaque identifier for the end user. DeepSeek uses this identifier for content-safety tracing and request isolation. Must contain only ASCII letters, numbers, underscores, and hyphens, and must be at most 512 characters long.

strictJsonSchema?:

boolean | undefined
Whether to use strict JSON schema validation for structured outputs. Only applies when the serving endpoint supports JSON schema response formats (e.g. Azure). Defaults to true.

thinking?:

{ type?: "enabled" | "disabled" | "adaptive" | undefined; } | undefined

reasoningEffort?:

"low" | "high" | "max" | "medium" | "xhigh" | undefined