所有页面
本页内容

DeepSeek 0.9.17 新增

DeepSeek 提供商使用你自己的 DeepSeek API 密钥运行 DeepSeek 的模型。DeepSeek 没有自己的智能体,因此 OAR 在中继的机器上运行 Claude Code,并让它指向 DeepSeek 兼容 Anthropic 的 API。智能体使用 Claude Code 的工具在对话的文件夹中工作;思考由 DeepSeek 的模型完成。轮次计费到该密钥所属的 DeepSeek 账户。

由于智能体是 Claude Code,DeepSeek 对话具备 Claude 对话的大部分功能:全部四种中继模式、提问卡片、计划看板、子智能体、引导和后台任务。所有提供商的对比表见提供商一览。

API 密钥 #

你只需要一个 DeepSeek API 密钥:没有要安装的 CLI,也不涉及 Claude 账户。打开 Settings → Providers → DeepSeek(设置 → 提供商 → DeepSeek),即最后一个子选项卡。

控件 默认值 作用
Enable DeepSeek for New Chat model selection(在新建对话的模型选择中启用 DeepSeek) 保存密钥后开启 在 New Chat(新建对话)中提供 DeepSeek。保存密钥之前无法勾选,切换后立即生效。
密钥字段(DeepSeek API key…) 空 你的密钥。保存密钥后,字段显示为 Saved API key (enter to replace)。留空以保留已保存的密钥。
Default model(默认模型) deepseek-flash 新的 DeepSeek 对话一开始所用的模型。见模型。
Commit attribution(提交署名) OAR 提交中写什么。见提交署名。
Monthly budget (optional)(每月预算,可选)、Budget currency(预算币种) 空、USD ($) 用量卡片上的预算条。见每月预算。
Starting balance (optional)(初始余额,可选) 空 余额条的计量起点。见初始余额与充值。
Advanced → Base URL(高级 → 基础 URL) 空 用另一个端点代替 DeepSeek 自己的端点。见其他端点。
Save DeepSeek settings(保存 DeepSeek 设置) 保存以上所有字段。第一次保存密钥时还会开启 DeepSeek。
Remove saved key(删除已保存的密钥) 先询问 Remove the saved DeepSeek API key?,然后删除密钥、已发现的模型和你在 Select Models(选择模型)中的选择,并关闭 DeepSeek。默认模型会保留。
Import usage export(导入用量导出文件) 位于该选项卡底部:DeepSeek 用量导出的两个文件 Amount file(金额文件)和 Cost file(费用文件),供用量卡片使用。见导入用量导出文件。

字段下方的一行会说明你所处的状态:

状态 含义
Not configured. New conversations use GitHub Copilot. 没有保存密钥。
API key saved but currently disabled. Enable it to allow DeepSeek selection in New Chat. 已保存密钥,但开关关闭。
DeepSeek is enabled. Select DeepSeek in New Chat to use it. 就绪。

然后照常开始对话:在 New Chat 中选择 DeepSeek。见开始对话。

密钥存放在哪里、谁能看到它 #

  • 密钥存储在中继机器上的中继数据库中。面板绝不会再次显示它,也绝不会把它发送到浏览器:设置中只会说明已保存了密钥。
  • 只有 DeepSeek 对话的 worker 会得到它。当会话在 tmux 下运行时,它通过一个只有中继用户可读的文件传给它们。在 worker 内部,它成为 Claude Code 访问 DeepSeek 端点的令牌。
  • 它只会发送到基础 URL,不会发往别处:即 DeepSeek 的 API,或 Advanced 下的地址。当中继自己向 DeepSeek 发出的请求(模型列表、余额)失败时,错误文本中的密钥会被去掉。
  • 它不能通过环境设置:中继自身环境中的 DEEPSEEK_API_KEY 不会被传递,worker 得到的是面板中的密钥。
  • 智能体可以读取它。Claude Code 在其环境中持有该密钥,因此智能体运行的命令可以看到它,与 CLI 持有的任何密钥一样。中继会把会话 worker 发布的所有内容(回复、思考、工具活动、子智能体文本、提问、任务输出)中的密钥替换为 [redacted],然后才存储、显示或写入日志;DeepSeek worker 在自己的日志中也这样做。当文本被截断时,其中包含的部分密钥也会被去掉,从 8 个字符起。你更改或移除的密钥在中继重启之前仍会被遮蔽。中继从任务文件读取的任务输出,是按密钥和长令牌的形态清理的,而不是按已保存密钥本身的文本。这能让密钥不出现在 OAR 存储和显示的内容中。但它挡不住智能体:智能体可以在打印之前改动文本、自己调用中继的本地 API,或读取中继的数据库。

保存、更改和移除密钥 #

  • 密钥必须为 8 到 512 个字符,且不含空格。否则保存会失败,显示 The DeepSeek API key has an invalid format。
  • 在 DeepSeek 开启时保存密钥,会向 DeepSeek 查询它的模型(见模型)。如果查询失败,提示会说明原因,列表会按那里所述回退。
  • 保存另一个密钥会清空已发现的模型,并停止正在运行的 DeepSeek worker,包括处于一轮之中的,因此请在轮次之间更换密钥。下一条消息会用新密钥启动它们。
  • 当有任何 DeepSeek 对话已发送消息或有排队消息时,移除密钥会被拒绝:Cannot remove the DeepSeek API key while N DeepSeek conversation(s) still exist. Switch DeepSeek off for new conversations instead. 移除成功后,尚未发送消息的对话会移回 Copilot。关闭 DeepSeek 不会移动任何对话;它只是把 DeepSeek 从 New Chat 中拿掉。

模型 #

模型 显示为 图片
deepseek-flash(默认) DeepSeek Flash 是
deepseek-v4-pro DeepSeek V4 Pro 否

列表的来源。 中继用你的密钥查询 DeepSeek 的 GET /models,保留以 deepseek- 开头的 ID。它在以下时刻查询:你保存密钥时、你再次开启 DeepSeek 时、你更改基础 URL 时,以及在 🤗 Select Models 中按 Refresh(刷新)时。请求在 10 秒后放弃。在读取到列表之前,选择器提供 deepseek-flash 和 deepseek-v4-pro。读取失败,或读取到的列表中没有 DeepSeek 模型时,中继会保留它原有的列表;按 Refresh 之后,提示显示 DeepSeek model discovery failed. Cached DeepSeek models were kept: …。

显示哪些模型。 🤗 Select Models → DeepSeek 决定输入区提供哪些模型;💾 Save enabled models(保存已启用的模型)保存这一选择。没有做选择时,会提供全部模型。Default model 始终提供,且无法取消勾选。

按消息。 对话可以在轮次之间更换模型。更换会在下一条消息之前用新模型重启该对话的 Claude Code;对话会从原处继续。中继不提供的模型会被拒绝,显示 DeepSeek model "…" is not available。

图片。 DeepSeek V4 Pro 不接受图片输入,OAR 不认识的模型也不接受。这样的模型会以文件路径的形式收到每张附加的图片。一旦对话中含有图片,切换到这样的模型就会被拒绝,因为它恢复的历史会让请求失败:DeepSeek V4 Pro takes no images, and this conversation already has some. Stay on DeepSeek Flash, or start a new DeepSeek conversation for DeepSeek V4 Pro.

推理强度 #

DeepSeek 的模型总是会思考。推理强度选择器提供思考的程度:low、high 或 max,每个模型都是这三个。默认是 high。

没有 none:Claude Code 从不要求 DeepSeek 关闭思考,因此 OAR 不提供它,DeepSeek 的 🧠 对话框中也没有 Thinking(思考)控件。

推理强度在 Claude Code 启动时设定。因此,更换推理强度会像更换模型一样,在轮次之间重启该对话的 Claude Code,对话会从原处继续。

来自其他地方的推理强度,例如来自另一个中继上的智能体,会映射到 DeepSeek 的级别:none 和 minimal 按 low 运行,medium 和 xhigh 按 high 运行,ultra 和 ultracode 按 max 运行。没有推理强度的消息,或使用 DeepSeek 没有对应级别的名称的消息,会保留对话的推理强度。没有推理强度的新对话从 high 开始;以 DeepSeek 没有对应级别的名称创建的新对话从 low 开始。

文件夹与会话 #

DeepSeek 对话运行与 Claude 对话相同的 worker,它基于 Claude Agent SDK,运行在中继的机器上:每个对话一个,位于对话的工作目录中。其中的 Claude Code 是 Agent SDK 自带的构建;如果中继为 Claude 对话设置了 claude 二进制文件(CLAUDE_CODE_EXECUTABLE,从 Claude 子选项卡安装 CLI 时会设置它),则使用该文件。Claude Code 指向 <base URL>/anthropic,即 DeepSeek 兼容 Anthropic 的 API。worker 的第一轮会显示活动行 Starting Claude Code for DeepSeek (cold start)…。

它自己的配置文件夹。 DeepSeek 对话中的 Claude Code 把它的状态、会话和对话记录保存在中继数据文件夹中的 deepseek-claude 里,只有中继用户可读。它从不使用 ~/.claude(或 CLAUDE_CONFIG_DIR):机器上的 Claude 登录、你的全局设置、技能、插件和 MCP 服务器都无法触及。仓库自己的 CLAUDE.md 和 .claude/ 文件夹仍然生效,只是它们不能改变 DeepSeek 流量的路由。

没有 Claude 登录。 worker 交给 Claude Code 的是 DeepSeek 密钥,机器的 Claude 配置一概不给。中继环境中的 Claude 登录令牌也不会到达它。OAR 还会关闭 Claude Code 自己发往 Anthropic 的流量,例如更新检查和遥测。

与 Claude 上相同的功能。 这些功能来自与 Claude 对话相同的运行器,表现与 Claude 页面所述一致:

  • 全部四种中继模式;plan 以 Plan ready for review(计划已就绪,待审阅)看板结束;
  • 中继机器上的工具、支持多选的提问卡片、子智能体查看器、任务面板中的后台任务、Stop(停止),以及引导,一轮进行时发送按钮显示为 Steer(引导);
  • OAR 的 preview 和 relay_tool 智能体工具;
  • 文件浏览器中的 Session root(会话根目录)按钮,它会打开 deepseek-claude/projects 下的会话文件夹;
  • 来自 Claude 子选项卡的后台命令上限;
  • 重启后根据存储的会话 ID 恢复。删除 DeepSeek 对话会删除它在 deepseek-claude 中的 Claude Code 会话;它产生的花费仍保留在用量卡片的总计中。

子智能体留在对话的模型上。 Claude Code 用别名称呼它的模型。OAR 会固定这些别名:智能体以“opus”“sonnet”或“fable”请求的子智能体,或者没有指定模型的子智能体,运行在对话的模型上;以“haiku”请求的子智能体运行在 DeepSeek Flash 上。Claude Code 自己的小型调用,例如标题和摘要,也会发往 DeepSeek Flash。子智能体的徽标显示 DeepSeek 模型的名称。更换模型会重启 Claude Code,让这些固定随之更新。

上下文与压缩。 DeepSeek 的模型有 1,048,576 token 的窗口。输入区的 Context window(上下文窗口)小标签显示这一个窗口,写作 1.05M;没有什么可选的。🧠 对话框按 Claude Code 报告的方式显示上下文。DeepSeek 对话在 400K token 时压缩,除非你用该对话框的自动压缩滑块设置了另一个窗口:这远低于模型窗口,这样在 DeepSeek 的缓存过期之后,一轮不会以缓存未命中的价格再次发送接近一百万的 token。

附件。 在接受图片的模型上,最大 5 MB 的图片会放在消息内;更大的图片和其他文件以路径形式交给智能体读取。不接受图片的模型见模型。

DeepSeek 上没有的功能。 Claude 的套餐计量和用量上限暂停不适用。DeepSeek 的回复没有用量行;费用显示在用量卡片上。

文件夹设置无法改变 DeepSeek 的路由 #

文件夹中的 .claude/settings.json 或 .claude/settings.local.json 可以为 Claude Code 设置环境变量和密钥辅助程序。在 DeepSeek 对话中,中继会用自己的值覆盖并固定基础 URL 和密钥,连同代理、TLS 信任、提供商和凭据设置:文件夹的设置无法让 Claude Code 指向另一个地址、把密钥换成另一个,或让请求经过它们自己的代理。固定密钥时,密钥并不会放在命令行上。

0.9.18 新增 没有 hook。 DeepSeek 对话中的 Claude Code 启动时,所有 hook 和状态行都处于关闭状态:DeepSeek 自己的设置文件夹中的 hook、对话文件夹中的 hook(.claude/settings.json、settings.local.json)以及插件的 hook 都不会运行。否则它们会以中继用户的身份运行,环境中带有密钥,而文件夹的 SessionStart hook 甚至会在中继固定端点和密钥之前就运行。该设置位于 Claude Code 的命令行上,因此设置文件无法重新开启它们。托管设置(即机器管理员的设置)中的 hook 仍会运行。在 0.9.17 中这些 hook 会运行;回退到 0.9.17 会重新开启它们。

如果 Claude Code 在一分钟内没有接受固定的设置,该轮会在发送任何内容之前失败,显示 Claude Code did not take the DeepSeek connection settings before the first message, so nothing was sent. 请重新发送消息;如果再次失败,请更新中继,并在其日志中查找原因。

什么内容会发往 DeepSeek #

智能体在一轮中读写的所有内容都会发往 DeepSeek:你的消息、它打开的文件、它的命令输出,以及 Claude Code 为每个会话添加的上下文,例如文件夹的路径和 CLAUDE.md 文件。在一次实测的轮次中,DeepSeek 的 API 是 Claude Code 唯一通信的主机。

提交署名 #

选项 提交 拉取请求
OAR(默认) 以 Co-authored-by: Open Agent Relay (DeepSeek Flash) <no-reply@oar.sh> 结尾,其中是当前所用模型的名称。 以 🤖 Generated with [Open Agent Relay](https://oar.sh) 结尾。
Off(关闭) 无署名行。 无署名行。

没有 Vanilla(原版):Claude Code 自己的行会把 DeepSeek 的工作归功于 Claude。文件夹自己的选择(在该文件夹中某个 Claude 对话的 🧠 对话框里设置)也适用于那里的 DeepSeek 对话,其中 Vanilla 按 OAR 理解。DeepSeek 对话自己的 🧠 对话框中没有署名选择框。

其他端点 #

Advanced → Base URL 接受另一个地址,例如用于代理。留空则使用 https://api.deepseek.com。地址必须使用 https,或在本机上使用 http(localhost、127.0.0.1 或 ::1),且不得包含用户名、密码、查询或片段。密钥会发送到那里,不会发往别处。保存新地址会清空已发现的模型,并从新地址重新读取。已在运行的 DeepSeek worker 会保留它启动时所用的地址。

WebSearch 与 WebFetch #

Claude Code 有两个网页工具,它们在不同的地方运行:

工具 运行位置 费用
WebSearch 在 DeepSeek 的服务器上,通过 DeepSeek 的搜索。 按搜索请求计费:自 2026-10-31 16:00 UTC 起,每 1,000 次成功请求 $0.75 或 ¥5。在此之前按零费用计。
WebFetch 在中继的机器上:Claude Code 自己抓取页面,并让 DeepSeek Flash 阅读。 只有 Flash 的 token,和其他轮次一样记账。不计请求费用。

用量卡片把搜索计入单独的一行 Search(搜索)。计数来自 Claude Code 自己的总计,其中统计了它的 WebSearch 工具发起的每一次搜索。

用量卡片 #

DeepSeek 开启时,📊 Check Usage(查看用量)中有一张 DeepSeek 卡片。DeepSeek 按量付费,因此卡片显示的是金额:账户余额(用已保存的密钥实时读取),以及此中继的 DeepSeek 轮次花了多少钱(根据它们的 token 按 DeepSeek 的价格估算,见估算的计算方式)。

花费以余额的币种(有钱的那个币种)显示;没有余额可依据时以美元显示。卡片一次显示所有内容,数字在前,并适合手机宽度。从上到下:

部分 显示内容
Balance (USD)(余额,USD)、Balance (CNY)(余额,CNY)进度条 每个有钱的币种一条:剩余多少,以最近一次充值后的余额为基准计量。下方的一行说明计量起点。见初始余额与充值。
Monthly budget (USD)(每月预算,USD)或 (CNY) 进度条 仅在设置了预算时显示。见每月预算。
数字 每个币种的余额,以及充值和赠送的金额,还有自第一个 DeepSeek 轮次以来的 Estimated spend on this relay(此中继上的估算花费)。
Daily spend, last 30 days(每日花费,最近 30 天) 每个 UTC 日一列,按模型堆叠。悬停或轻点某列可查看当天的总计及各模型的占比。
Where the money goes(钱花在哪里) 每个模型一条,分为 Cache hit(缓存命中)、Cache miss(缓存未命中)、Output(输出),以及出现搜索后的 Search。标题说明缓存节省了多少。
Estimated spend by model(按模型估算花费) 每个模型一行,含其轮次;出现搜索后还有一行 Search:网页搜索花了多少以及共有多少次,例如 3 searches。
Tokens by model(按模型的 token) 每个模型的缓存命中、缓存未命中和输出 token,以及输入中有多少来自缓存。
关于估算的说明 价格、高峰时段以及不计入的内容,附有 Prices(价格)链接。

进度条随填充程度变色,并在 90% 时变红,与所有卡片一样;见阅读卡片。底部链接到 DeepSeek 平台上的 DeepSeek usage(DeepSeek 用量)和 Top up(充值)。

导入 DeepSeek 的用量导出文件后,卡片会在导出覆盖的日期显示 DeepSeek 自己的数字,标签显示为 Spend, actual and estimated(花费,实际与估算)和 Spend by model, actual and estimated(按模型花费,实际与估算)。见导入用量导出文件。

图表。 图表不借助图表库绘制,在两种配色方案下都可使用。在 Daily spend(每日花费)上,模型的颜色在每次读取之间保持不变:先是 DeepSeek Flash,然后是 DeepSeek V4 Pro,再按名称排列其他模型;超过四个模型时,第四个及之后的模型共用 Other models(其他模型)。每一列和每一条都有供屏幕阅读器使用的等价文本,并在悬停、聚焦或轻点时显示提示框;每个图表都有一个 As a table(以表格显示)折叠区,其中是相同的数字。最近 30 天没有花费时,Daily spend 会被省略;如果此中继上的每日历史开始得更晚,它的说明会写明开始时间。缓存节省额是缓存命中按缓存未命中价格计算的金额,减去它们实际的费用。

无法读取余额时。 一次读取在 5 秒后放弃。成功的回答保留一分钟,失败保留 15 秒。读取失败时,卡片标记为 Partial(部分),显示 The balance could not be read: …,并显示它上次读取到的余额,带有 as read 及其时间。当 DeepSeek 报告余额不足以进行 API 调用时,卡片会显示 DeepSeek reports this balance as not enough for API calls: DeepSeek turns fail until it is topped up.,并附有 Top up 链接。

智能体可以用 relay_tool 的 usage 操作读取同一张卡片。

每月预算 #

DeepSeek 子选项卡上的 Monthly budget (optional) 会在卡片上添加一个预算条:此中继本日历月的 DeepSeek 估算花费与该金额的对比。

  • Budget currency:USD ($)(新预算的预选值)、CNY (¥) 或 The balance's currency (may change)(余额币种,可能会变)。进度条会标出它的币种,例如 Monthly budget (CNY),并以该币种计算花费,无论余额是什么币种。在可以选择币种之前保存的预算跟随余额的币种。
  • 进度条标记为 estimated(估算)。当月中有已导入用量导出文件的日期(且预算与卡片币种相同)时,它不再标记为估算,其说明会写明这些日期的花费为实际值,其他日期为估算值。它在预算的 50% 和 75% 时变色,在 90% 时变红。
  • 它按 UTC 日计算,并在每月 1 日(UTC)重新开始;进度条会显示何时重置。
  • 金额留空或输入 0 则不显示进度条。金额保留两位小数。

初始余额与充值 #

DeepSeek 告诉 OAR 的是余额,而不是你充了多少。因此余额条需要一个计量基准,OAR 在中继上按币种保存它:

  • 没有初始余额时,进度条从最近一次充值后的余额开始计量。在中继看到充值之前,它从读取到的最高余额开始计量,因此进度条一开始是空的,随花费逐渐填满。进度条下方的一行会写明该金额和读取日期,例如 Measured from ¥110.00, the highest balance seen (2026-10-20).
  • 充值(或赠送额度)是两次读取之间余额的任何上升。中继在打开卡片时(或智能体读取卡片时)读取余额,因此会在下一次读取时注意到充值。从那时起,进度条从充值后的余额开始计量。
  • Starting balance (optional) 设置计量起点的金额,例如你的第一次充值。它以余额的币种计,适用于该币种的进度条。进度条下方的一行显示为 Measured from …, the starting balance set on the DeepSeek tab. 留空则按没有初始余额的方式计量。

充值对初始余额的影响。 在你设置初始余额之后进行的充值会取代它:进度条从充值后的余额开始计量,DeepSeek 子选项卡会显示 No longer used: the balance rose on <date> (a top-up), so the bar measures from the balance after it. Enter an amount again to measure from it. 要再次使用初始余额,请在字段中输入金额(相同的金额也可以)并保存。保存该子选项卡的其他字段不会恢复旧的金额。

在你设置初始余额之前进行的充值不会取代它,即使余额现在高于该金额。保存初始余额时会立即读取余额,只有当中继在你设置之后读取过余额,余额的上升才会取代该金额。因此你可以先充值,再输入新的余额并保存。如果那次读取失败,该金额会一直保留,直到中继下一次成功读取之后发生充值。

导入用量导出文件 #

卡片上的花费是估算值。要获得 DeepSeek 自己的数字,请在 DeepSeek 的用量页面导出你的用量(卡片底部的 DeepSeek usage 链接到那里),然后导入。导出内容是你所选时段的两个 CSV 文件:用量(按模型和 API 密钥列出的 token 和请求数,及其价格)和费用。

  1. 在 DeepSeek 的用量页面导出一个时段。
  2. 在 Settings → Providers → DeepSeek 中的 Import usage export 下,选择 Amount file 和 Cost file,然后按 Import usage export。
  3. 按钮下方的一行会说明导入了什么(行数、日期、模型),以及卡片是否使用它。

之后卡片显示什么。 在导出覆盖的日期,选项卡上所保存密钥的数字会取代估算:按导出中的日期列出每个模型的 token、请求数和费用。其他每一天仍为估算,包括两次导入之间的空档。标签显示为 Spend, actual and estimated 和 Spend by model, actual and estimated,模型的那一行会加上导出统计的请求数,并有一条说明写明最近一次导出的结束时间。

  • 仅限已保存的密钥。 导出列出账户的所有密钥;卡片只统计已保存密钥的行,无论该密钥在哪里使用,而不仅限于此中继。
  • 单一币种。 卡片只使用其自身币种(即余额币种)的行。导出为其他币种时,导入会说明这一点,卡片保持估算。
  • 搜索。 在导出覆盖的日期,导出的费用已包含网页搜索,因此卡片不会在那些日期添加搜索估算。
  • 省略的日期。 包含尚未结束时段的日期(在当天导出时的今天),以及截至并包括此中继每日历史开始那天的导出日期,因为它们的轮次并没有全部记录在该历史中。会有一条说明写明这一点。
  • 时区。 导出的日期按导出时所在的时区计算,估算的日期按 UTC 计算。在导出日与估算日交界处,可能有一个小时被重复计算或完全没有计算。
  • 每月预算。 当月有导出日期时,预算条不再标记为 estimated。

导入如何检查文件。 对每个时段和模型,用量乘以价格之和必须等于费用文件中的数字。否则不会导入任何内容,该行显示 The files do not match for …。再次导入相同的文件不会有任何变化。之后的导出会按其中的每个密钥,替换它所覆盖的日期,即使它是在另一个时区导出的。两个文件加起来最多 2 MB。中继把这些行保存在一个单独的表中,每个密钥都被遮蔽为只显示首尾字符;它自己对你的轮次的统计不会改变。已配对中继的智能体无法导入。

在中继的机器上,在 OAR 的文件夹中运行 npm run deepseek:import -- amount.csv cost.csv <database> 效果相同。请指定数据库,即数据文件夹中的 copilot.db:不指定时,该命令使用服务器旁边的 data/copilot.db。

估算的计算方式 #

DeepSeek 不按请求报告费用,而 Claude Code 自己的费用数字是按 Claude 的价格计算的。因此 OAR 统计此中继上每个 DeepSeek 轮次按模型报告的 token,并按 DeepSeek 公布的价格(2026-10-19 读取)以美元和人民币计价。每百万 token 的非高峰时段价格:

模型 缓存命中 缓存未命中 输出
DeepSeek Flash $0.003 · ¥0.02 $0.15 · ¥1 $0.60 · ¥4
DeepSeek V4 Pro $0.022 · ¥0.15 $0.66 · ¥4.5 $1.98 · ¥13.5
  • 高峰与非高峰时段。 高峰价格正好是这些价格的两倍。高峰时段为周一至周五 01:00–04:00 和 06:00–10:00 UTC(北京时间 09:00–12:00 和 14:00–18:00);卡片会按你浏览器的时区显示这些时段。每一轮按它自己的时间计价。
  • 节假日。 在中国法定节假日,DeepSeek 全天按非高峰价格收费。估算不知道这些日期,因此节假日高峰时段的轮次会按实际价格的两倍计算。
  • 搜索。 自 2026-10-31 16:00 UTC(北京时间 2026-11-01 00:00)起,网页搜索按每 1,000 次 $0.75 或 ¥5 计算,任何时段都一样;更早的搜索按零费用计。见 WebSearch 与 WebFetch。
  • 不计费。 DeepSeek 不对 Claude Code 在每个会话开始时发送的 count_tokens 请求计费,估算也不计入它们。
  • 未知模型。 deepseek-v4-flash 和 deepseek-v4-flash-vision-exp 按 Flash 计价。没有已知价格的模型不做估算:它的那一行显示 no price known,总计会说明排除了多少个模型。
  • 仅限此中继。 其他中继上的轮次以及该密钥的其他用途都不包括在内。卡片链接到的 DeepSeek 用量页面包含账户上的每一个请求。
  • 实际数字。 在已导入的用量导出文件覆盖的日期,卡片显示 DeepSeek 自己针对已保存密钥的数字(来自该密钥的所有使用),而不是估算。
  • 重启。 重新启动的 Claude Code 进程,或延迟到达、重复到达的报告,只记账一次。仍有一种情况:较早进程的延迟报告如果在较新进程启动之后才到达,会被全额记账,较新进程的下一份报告也是如此。
  • 记在 Claude 名称下的行。 在子智能体被固定到对话模型之前的构建,曾把一些轮次记在 Claude 模型名称下。中继启动时会把这些行合并到实际为其提供服务的 DeepSeek 模型中。合并后的行按一个时间计价,即它最后一轮的时间,因此跨越高峰和非高峰轮次的行是近似值:其 token 费用最多可能相差两倍。

比中继时钟超前 5 分钟以上的轮次时间,会被当作中继自己的时间。

限制 #

  • 无法关闭思考,none 按 low 运行。
  • DeepSeek V4 Pro 不接受图片;一旦对话中含有图片,切换到它就会被拒绝。
  • 花费是估算值,只包括此中继的轮次,并且会多算中国法定节假日的高峰轮次。只有已导入用量导出文件的日期才显示 DeepSeek 自己的数字。
  • 更换推理强度或模型会在轮次之间重启对话的 Claude Code。
  • Claude Code 的服务器端网页抓取在 DeepSeek 上不可用;WebFetch 在中继的机器上运行。
  • 没有用量上限暂停:因余额被拒绝的一轮会失败,你需要在充值后重新发送。

错误码 #

失败的 DeepSeek 回复以 Error code: relay.<code>. 结尾;对于某些错误码,还会带有直接通往修复方法的按钮:

错误码 何时出现 按钮
relay.deepseek-balance DeepSeek 因余额拒绝了请求(HTTP 402)。 Top up DeepSeek(充值 DeepSeek)(打开 DeepSeek 的充值页面)、DeepSeek settings(DeepSeek 设置)
relay.deepseek-api-key DeepSeek 不接受该密钥(HTTP 401)。 DeepSeek settings
relay.deepseek-rate-limit DeepSeek 已达到该账户的并发上限(HTTP 429)。 无
relay.deepseek-api-error 其他任何被拒绝的请求。 无
relay.deepseek-turn-error 该轮的其他任何失败。 无

DeepSeek settings 会打开 Settings → Providers → DeepSeek。其他错误码遵循同样的格式,即 relay.deepseek- 加上 Claude Code 给出的原因,例如 relay.deepseek-overloaded(HTTP 529)或 relay.deepseek-model-not-found。它们都不带有 Claude 账户方面的建议。

疑难解答 #

问题 怎么办
New Chat 中没有 DeepSeek 在 Settings → Providers → DeepSeek 中保存密钥,并检查是否已勾选 Enable DeepSeek for New Chat model selection。
relay.deepseek-balance,或卡片显示余额不足以进行 API 调用 按 Top up DeepSeek,在 DeepSeek 平台上充值,然后重新发送消息。
relay.deepseek-api-key 密钥错误或已被撤销。在轮次之间粘贴有效的密钥并保存。
relay.deepseek-rate-limit 稍等片刻,然后重新发送消息。
DeepSeek model discovery failed: …,或 DeepSeek listed no DeepSeek models 检查密钥和基础 URL,然后在 🤗 Select Models 中按 Refresh。在成功之前,会继续提供上一次的列表,或 deepseek-flash 和 deepseek-v4-pro。
DeepSeek model "…" is not available 该模型不在中继的列表中。刷新列表,或选择另一个模型。
… takes no images, and this conversation already has some. 继续使用 DeepSeek Flash,或为纯文本模型新建一个 DeepSeek 对话。
DeepSeek model selection requires creating a new DeepSeek conversation 其他提供商的对话无法切换到 DeepSeek 模型。在 DeepSeek 上开始一个新对话。
Cannot remove the DeepSeek API key while N DeepSeek conversation(s) still exist. 归档或删除这些对话,或者改为关闭 DeepSeek。
Claude Code did not take the DeepSeek connection settings before the first message, so nothing was sent. 重新发送消息。如果再次失败,说明中继运行的 Claude Code 不接受固定的设置:请更新中继,并在其日志中查找原因。
The DeepSeek base URL must use https (http only on a loopback address) 使用 https,或本机上的 http 地址。
余额条的计量起点金额不对 在 DeepSeek 子选项卡上以余额的币种设置 Starting balance。
子选项卡显示初始余额 No longer used 一次充值取代了它。再次输入金额并保存,或清空该字段。
用量卡片上的花费低于 DeepSeek 用量页面上的 卡片只统计此中继的 DeepSeek 轮次。DeepSeek 的页面包含账户上的每一个请求。要在卡片上显示其数字,请导入用量导出文件。
节假日时用量卡片上的花费偏高 中国法定节假日的高峰时段按高峰价格计算;DeepSeek 按非高峰价格收费。导入用量导出文件会在那些日期显示 DeepSeek 自己的数字。
The files do not match for … 金额文件和费用文件来自不同的导出。为同一时段导出两个文件,并一起导入。
The … file is not a DeepSeek usage export: … 按 DeepSeek 用量页面导出时的原样选择文件:金额文件放在 Amount file 下,费用文件放在 Cost file 下。
导入提示已保存的密钥不在此导出中 该导出中没有选项卡上所保存密钥的用量:它属于另一个账户,或者该密钥在那个时段没有被使用。卡片保持估算。
导入提示卡片不使用这些数字 导出的币种与余额不同。卡片只使用余额币种的行。