DeepSeek 登录与鉴权:获取 API Key 并填对位置

DeepSeek 登录后拿到 API Key,就能把它填进命令行或开发工具,调用 DeepSeek 模型。

截至 2026 年抓取时,DeepSeek 官方文档已把默认模型名更新为 deepseek-flash,实际由 DeepSeek-V4.1-Flash-1017 提供服务;旧的 deepseek-v4-flash 和 deepseek-v4-flash-vision-exp 仍可请求,但对应模型已经退役。现在最值得处理的,不只是找到密钥,而是同时确认 API 地址、密钥位置和模型名填对。

登录平台并创建 API Key

这里的“登录”分两层:先登录 DeepSeek 开放平台,再创建用于程序调用的 API Key。网页端能打开模型,不代表客户端已经具备 API 调用权限;反过来,API Key 也不能代替开放平台账号登录。

开始前准备三项:

  1. 登录 DeepSeek 开放平台,进入 API Keys 管理页,确认页面要求完成登录且能看到密钥列表。
  2. 准备一个能运行命令行的环境;使用 Python 时运行 python3 --version,使用 Node.js 时运行 node -v,确认命令可执行。
  3. 确认能访问 API 地址;运行 curl https://api.deepseek.com,能看到服务器响应即表示网络已连通。

进入 API Keys 页面后,新建一个密钥,并立即复制到密码管理器或系统密钥存储中。密钥相当于程序访问账户的密码,不要放进公开仓库、截图、前端代码或聊天记录。

API Key 和 API 地址承担不同职责:密钥证明“你是谁”,API 地址决定“请求发到哪里”。只复制密钥,然后仍然使用 OpenAI 默认地址,是最常见的配置偏差之一。

先分清 OpenAI 与 Anthropic 格式

DeepSeek API 兼容 OpenAI 和 Anthropic 格式,但两种格式的 base_url 不同。填错格式时,客户端可能能保存配置,却在第一次请求时失败。

调用方式 API 地址 模型名 鉴权位置
OpenAI SDK / OpenAI 兼容客户端 https://api.deepseek.com deepseek-flash Authorization: Bearer <API Key>
Anthropic SDK / Anthropic 兼容客户端 https://api.deepseek.com/anthropic deepseek-flash Anthropic 客户端的 API Key 字段
网页聊天 登录开放平台后使用 平台内部处理 浏览器登录状态

官方集成仓库也把获取密钥的入口指向 DeepSeek Open Platform,并集中收录了客户端、编辑器、Agent 框架等接入方式,可查看 DeepSeek API 集成项目列表。如果准备把密钥接入第三方客户端,先确认该工具支持“自定义 OpenAI 兼容地址”;仅支持 DeepSeek 专用配置的工具,不能只填密钥就完成接入。

以下配置都应以官方 DeepSeek API 快速入门页 为准。不要把浏览器登录 Cookie 当成 API Key,也不要把密钥直接硬编码进脚本。

用一条请求验证鉴权

DeepSeek 官方推荐在运行示例前设置 DEEPSEEK_API_KEY 环境变量,再发送聊天请求。这里先不接入 SDK,用官方提供的 curl 请求检查“地址、密钥、模型名”这三个位置。

将密钥放入终端的 DEEPSEEK_API_KEY 环境变量后,执行:

curl https://api.deepseek.com/chat/completions 
  -H "Content-Type: application/json" 
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" 
  -d '{
    "model": "deepseek-flash",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "thinking": {"type": "enabled"},
    "reasoning_effort": "high",
    "stream": false
  }'

这条命令里没有手写密钥:${DEEPSEEK_API_KEY} 会读取当前终端的环境变量。复制命令时保留双引号、请求头和 JSON 字段;如果手动把密钥粘进命令行,后续使用 history 查看命令历史时更容易泄露。

第一次验证先保留 stream 为 false。这样一次响应会完整返回,更容易判断是鉴权失败、模型名错误,还是请求已经进入生成阶段。确认基础调用正常后,再考虑把 stream 改成 true 获取流式输出。

把密钥放进 SDK 或客户端

如果项目使用 Python,按官方示例安装 OpenAI SDK:

pip3 install openai

再让 SDK 从同一个环境变量读取密钥:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get('DEEPSEEK_API_KEY'),
    base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False,
    reasoning_effort="high",
    extra_body={"thinking": {"type": "enabled"}},
)
print(response.choices[0].message.content)

如果项目使用 Node.js,先安装官方示例采用的 SDK:

npm install openai

随后读取环境变量,并保持 baseURL 与 API 格式对应:

import OpenAI from 'openai';

const openai = new OpenAI({
  baseURL: 'https://api.deepseek.com',
  apiKey: process.env.DEEPSEEK_API_KEY,
});

在图形化客户端里,同样要检查三个输入框或配置项:Provider/API 类型、Base URL、API Key。选择 OpenAI 兼容模式时,Base URL 填 https://api.deepseek.com;选择 Anthropic 兼容模式时,填 https://api.deepseek.com/anthropic。如果客户端还有独立的 Model 输入框,填写 deepseek-flash。

卡住时按这三个位置排查

密钥放错位置

程序应从环境变量、密钥管理器或客户端的安全凭据区域读取密钥。把 Key 填进“用户名”“模型名称”或普通文本配置项,即使保存成功也不代表鉴权成功。重新核对 api_key、apiKey 或 Authorization: Bearer 对应的字段。

地址与 SDK 格式不匹配

OpenAI SDK 示例使用 https://api.deepseek.com,Anthropic SDK 使用 https://api.deepseek.com/anthropic。不要把 Anthropic 地址填进 OpenAI 客户端,也不要在地址末尾重复拼接 /chat/completions;客户端通常会自行追加接口路径。

模型名仍指向退役版本

当前调用名应使用 deepseek-flash。官方说明它由 DeepSeek-V4.1-Flash-1017 提供,调用方式没有变化;deepseek-v4-flash 与 deepseek-v4-flash-vision-exp 虽然仍被接受,但对应模型已经退役,请求会转给 Flash 模型并按 Flash 价格计费。直接改用 deepseek-flash,可以避免名称含义与实际模型不一致。

密钥的三条使用纪律

密钥只出现在请求头或环境变量里:不写进会提交到 Git 的文件、不贴进公开聊天或 issue、不在多台机器间用聊天工具明文传来传去。一旦怀疑泄露,直接到 API Keys 管理页删除重建——旧 key 失效是即时的,比排查”谁看过它”更可靠。

怎么确认已经配置成功

不要只看客户端里“API Key 已保存”的提示。运行前面的 curl 请求后,成功标志是响应正文包含模型生成的 assistant 消息内容,而不是只返回一个 HTTP 状态。

使用 SDK 时,成功标志是:

  • response.choices[0].message.content 能打印出回答;
  • 客户端的请求日志指向 https://api.deepseek.com;
  • 模型字段显示或实际传入的是 deepseek-flash;
  • DeepSeek 开放平台的用量记录出现本次请求。

如果只想复测最基础的一步,可以再次执行官方 curl,并把用户消息改成容易识别的文字,例如“只回复:连接成功”。看到对应回复后,再把相同的环境变量和地址迁移到自己的客户端。

后续可继续查看 DeepSeek 官方 API 文档、DeepSeek 开放平台,以及官方的 GitHub 组织页面。遇到不同客户端的字段问题时,优先对照官方集成仓库,而不是修改 Base URL 或重复创建密钥。

参考来源

(原参考为第三方云厂商 PDF、图文教程与个人仓库,按来源纪律移除并替换为官方域。)

评论区

0 条评论

登录后可评论。

木木夕 294 阅读