阅读时间 : 22 minutes

我经常被问到我的AI消耗成本是多少。我回答「每月20块钱」,然后对方会用圆睁的眼神看着我。于是今天,我为大家打开黑盒。本文是我73天vibe coding的完整审计:从OpenCode的SQLite数据库提取数据的方法论、查询表的SQL代码,以及与市场上*所有*供应商——西方和中国的——进行的详尽对比。结果如此不对称,以至于我不得不核查了三次计算。

理解 Stack:谁负责做什么?

在深入数字之前,先澄清一下架构。我的设置中有三个不同的参与者,切勿将它们混淆:

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultFontSize 12

title 我的技术栈的三大角色 LLM
left to right direction

actor "我(开发者)" as Dev

package "OpenCode\n(github.com/anomalyco/opencode)" as OC {
  rectangle "CLI 的 vibe coding\n 开源,免费" as CLI
  note right of CLI
这是我用来与人工智能代理编程的工具。
它不提供 AUCUN 模型。
它是一个终端 + 一个编排器。
  end note
}

package "Ollama(本地安装)" as OL {
  rectangle "推理客户端\n已安装在我的机器上" as Client
  note right of Client
这是运行模型的软件。
它可以在本地执行模型,或根据 (:cloud) 标签将其委托到云端。
它通过密钥 SSH 进行身份验证。
  end note
}

package "Ollama 云\n(ollama.com)" as OCloud {
  rectangle "云推理服务\n专业订阅:20€/mois" as Cloud
  note right of Cloud
这是推理提供商。
我的模型带有标签 :cloud
在 LEURS 服务器上运行。
Pro 订阅提供访问
更高的配额。
  end note
}

Dev --> CLI : "我输入提示词"
CLI --> Client : "调用此模型"
Client --> Cloud : "密钥 SSH + 请求\n(模型:cloud)"
Client --> Client : "本地执行\n(无 :cloud 的模型)"

@enduml

OpenCode 不是模型提供商。这是一个开源的命令行界面(github.com/anomalyco/opencode) 它编排 AI 代理。它不销售订阅,也不提供推理。它相当于`git`用于版本控制:一个工具,而不是服务。 Ollama Cloud 是推理提供商。我的本地 Ollama 安装就像 client —— 它通过唯一的 SSH 密钥(Device Key)向 Ollama 服务器进行身份验证,并将带标签的模型的执行委托给它们。:cloud. 专业版订阅(20欧元/月)解锁更高的配额,并允许通过 Docker 在同一台机器上累积多个账户。

介绍:为什么要进行审计?

两个月前,我在本地 Ollama 安装上免费使用模型。然后我订阅了第一个 Ollama Cloud Pro 计划,每月 20 欧元,这使我能够使用云端模型(那些带有标签的`:cloud`)通过提供者`ollama-cloud`. 第二个订阅一个月后跟进,在一个独立的 Docker 实例上,使用其自身的帐户和 SSH 密钥 — — 如 我的关于订阅叠加的文章中所述的叠加方法。

困扰我的问题是:这每月20欧元是否合理? 不是凭感觉。有数据说话。

为了回答,我需要精确的数据。不是估计。不是平均。我的*实际*消耗,token 逐 token,模型 逐模型,会话 逐会话。

和 OpenCode — CLI — 将所有内容存储在 SQLite 数据库中。

OpenCode 数据库:一座金矿

OpenCode 将其会话的完整历史记录持久化到位于 的 SQLite 文件中`~/.local/share/opencode/opencode.db`. La mienne pèse 660 Mo pour 73 jours d’utilisation — une base de données de production tout à fait respectable.

$ ls -lh ~/.local/share/opencode/opencode.db
-rw-r--r-- 1 cheroliv cheroliv 660M mai 18 12:25 opencode.db

该图解

该数据库包含大约二十张表,但其中有三张表对我们的审计至关重要:

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultFontSize 12

title 简化框架 — OpenCode SQLite
entity "session" as S {
  * id : TEXT
  --
  * model : TEXT (JSON)
  * cost : REAL
  * tokens_input : INTEGER
  * tokens_output : INTEGER
  * tokens_reasoning : INTEGER
  * tokens_cache_read : INTEGER
  * tokens_cache_write : INTEGER
  * time_created : INTEGER
  * project_id : TEXT
}

entity "message" as M {
  * id : TEXT
  --
  * session_id : TEXT <<FK>>
  * data : TEXT (JSON)
  * time_created : INTEGER
}

entity "project" as P {
  * id : TEXT
  --
  * worktree : TEXT
  * name : TEXT
}

S ||--o{ M : "session_id"
S }o--|| P : "project_id"

note right of S
会话表聚合 token + 成本 + 模型。
这是我们的主要入口点。
end note

note right of M
单个消息。
data 字段包含
使用的模型(格式为 JSON)
即使会话在过程中更改模型。
end note

@enduml

桌子`session`非常适合全局审计:每个会话都有其累计的令牌计数、所使用的模型以及其成本。该字段`model`是原始 JSON :

{
  "id": "deepseek-v4-pro:cloud",
  "providerID": "ollama-cloud",
  "variant": "default"
}

字段`cost`在 OpenCode 数据库中仅反映了 外部 API 费用,即通过 API 密钥按使用量付费(Google Gemini、OpenAI 等)。通过 Ollama 的调用 — 无论是在本地还是通过 Ollama Cloud Pro — 都被标记`cost=0`因为费用是固定的(订阅),而不是按 token 计费。这些调用的真实成本就是每月订阅费。

提取代码

不需要安装任何东西。Node.js 22+ 集成了一个实验性的 SQLite 模块 (node:sqlite) 运行完美。这是给我一切的脚本:

const { DatabaseSync } = require('node:sqlite');
const db = new DatabaseSync(
  `${process.env.HOME}/.local/share/opencode/opencode.db`,
  { readonly: true }
);

// 1. Statistiques globales
const global = db.prepare(`
  SELECT
    COUNT(*) as sessions,
    SUM(tokens_input) as total_input,
    SUM(tokens_output) as total_output,
    SUM(tokens_reasoning) as total_reasoning,
    SUM(tokens_cache_read) as total_cache_read,
    SUM(cost) as total_cost
  FROM session
`).get();

// 2. Ventilation par modèle et fournisseur
const byModel = db.prepare(`
  SELECT
    json_extract(model, '$.id') as model_id,
    json_extract(model, '$.providerID') as provider,
    COUNT(*) as sessions,
    SUM(tokens_input) as total_input,
    SUM(tokens_output) as total_output,
    SUM(cost) as total_cost
  FROM session
  WHERE model IS NOT NULL
  GROUP BY model_id, provider
  ORDER BY SUM(tokens_input) DESC
`).all();

// 3. Par mois
const monthly = db.prepare(`
  SELECT
    strftime('%Y-%m', datetime(time_created/1000, 'unixepoch')) as month,
    COUNT(*) as sessions,
    SUM(tokens_input) as total_input,
    SUM(tokens_output) as total_output,
    SUM(cost) as total_cost
  FROM session
  WHERE time_created IS NOT NULL
  GROUP BY month
  ORDER BY month
`).all();

// 4. Messages par modèle (détection des changements intra-session)
const msgByModel = db.prepare(`
  SELECT
    json_extract(m.data, '$.model.providerID') as provider,
    json_extract(m.data, '$.model.modelID') as model_id,
    COUNT(*) as messages
  FROM message m
  WHERE json_extract(m.data, '$.model') IS NOT NULL
  GROUP BY provider, model_id
  ORDER BY COUNT(*) DESC
`).all();

console.log({ global, byModel, monthly, msgByModel });
db.close();

旗帜`--experimental-sqlite`在 Node.js 22.x 上是必需的。在 Node.js 24+ 上,模块是稳定的,不再需要标志。

结果:73天消费

全局视图

度量 价值 上下文

Sessions OpenCode

1 022

~14 次/天平均

标记输入

26.2亿

其中 94,5M 为缓存命中

Tokens Output

2100万

输入/输出比率 ~125:1

令牌推理

141 000

可忽略的 — 几乎没有思考

外部 API 成本

$0.22

非订阅费用 (Gemini + 免费层级)

这个 \$0,22 的数字至关重要:它代表了我除了 Ollama Cloud Pro 订阅之外所支付的全部费用。换句话说,几乎可以忽略不计。订阅涵盖了主要内容。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultFontSize 12

title 每月演变 — Tokens Input
rectangle "三月 2026\n9 sessions\n37,7M tokens" as MARS #FFE082
rectangle "四月 2026\n486 sessions\n1,33 Md tokens" as AVR #81C784
rectangle "五月 2026\n527 sessions\n1,25 Md tokens" as MAI #64B5F6

MARS -right-> AVR : ×35
AVR -right-> MAI : 稳定(当前期间)

note bottom of MAI
截至5月18日已统计。
完整月份预测:约21亿个tokens
如果趋势保持。
end note
@enduml

三月到四月的起飞十分壮观:一个月内增长了×35。这是从 « test » 使用过渡到 « production » 使用——也就是我开始为我的 Gradle 插件持续运行 OpenCode 代理的时候。

按型号和供应商通风

领域`model`的表格`session`是 JSON 的,`json_extract()`允许进行清洁通风:

模型 × 提供商 会话 输入 Output 成本

deepseek-v4-pro @ ollama-cloud

63

220 M

1,94 M

\$0

deepseek-v4-pro @ ollama-b

124

463 M

4,15 M

\$0

deepseek-v4-pro @ ollama

100

252 M

2,25 M

\$0

deepseek-v4-flash-free @ opencode

16

1,3 M

279 K

\$0

qwen3.6-plus-free @ opencode

1

369 K

25 K

\$0

gemini-2.5-flash @ google

1

211 K

19 K

\$0,04

三个不同的提供商针对完全相同的 DeepSeek V4 Pro 模型: * ollama-cloud→ 通过 付费专业订阅 (由 Ollama 管理的云) * ollama-b→ 第二个 Pro 订阅, 隔离在一个独立的 Docker 容器中 * ollama→ 本地原生实例, 免费 (直接在我的机器上运行) 三者之和得出 936M 输入,8.4M 输出 — 这就是我的 DeepSeek V4 Pro 总消耗,所有提供商合计。仅`ollama-cloud`(220M input) 需要付费订阅。 剩余的 716M 可免费使用 (本地或订阅累计)。

会话内模型:会话表看不到的内容

桌子`session`仅捕获会话的 主 模型。但在同一会话中,OpenCode 代理可以在多个模型之间切换。表格`message`它揭示:

Modèles utilisés dans les messages (ollama-cloud provider) :
├─ deepseek-v4-pro      1 441 msgs  (32%)
├─ qwen3.5:397b         1 217 msgs  (27%)
├─ glm-5.1                712 msgs  (16%)
├─ kimi-k2.6:cloud        634 msgs  (14%)
├─ qwen3-coder:480b       414 msgs   (9%)
├─ gpt-oss:20b             34 msgs  (0,8%)
├─ qwen3-coder-next        27 msgs  (0,6%)
└─ gemma4:31b               7 msgs  (0,2%)

我不再使用 Qwen、GLM、Kimi 或其他模型。它们出现在历史记录中是因为我在四月测试了很多东西。自五月中旬以来,我被锁定在 DeepSeek V4 Pro 上 — 它是唯一能够在长上下文中承载负载并具备 Agent 治理的模型(参见 我的 Kimi/GLM/DeepSeek 比较)。历史记录中 32% 的 deepseek 消息具有误导性:如今实际上是 100%。

价格比较 — 西方供应商

令人尴尬的问题:同样的消耗在传统供应商那里要花多少钱?

我的比较计算基础:220M tokens 输入 + 1,9M tokens 输出— 仅 通过的体积`ollama-cloud`(唯一符合我付费订阅的). 剩余的 716M 都是免费的 (Ollama 本地和 Docker B 实例).

供应商 模型 $/M 输出 \$/M 每月成本 × 我的订阅

我的设置

深度求索 V4 专业版

0

0

\~20€

1×

Anthropic — Claude

模型 美元/千 输出 $/M 成本/月 × 我的订阅

作品 4.7

\$5

\$25

\$1 148

57×

十四行诗 4.6

\$3

\$15

\$689

34×

俳句 4.5

\$1

\$5

\$230

11×

即使是 Claude 最‘经济’的模型 Haiku 4.5,其费用也达到我订阅的 11 倍。而且它完全不了解我的代码库,不能按我的风格生成代码,还会在 Gradle Kotlin DSL API 上产生幻觉。

OpenAI — GPT

模型 \$/M 输出 \$/M 每月成本 × 我的订阅

GPT 5.5

\$5

\$30

\$1 157

58×

GPT 5.4

\$2,50

\$15

\$579

29×

GPT 5.4 迷你

\$0,75

\$4,50

\$174

9倍

谷歌 — Gemini

模型 $/M 输出 \$/M 每月成本 × 我的订阅

Gemini 3.1 Pro

\$2,00

\$10

\$459

23×

Gemini 3 Flash

\$0,30

\$1,50

\$69

3.5×

Gemini 3 Flash 69欧元是价格上唯一“接近”的竞争对手 — — 但它是一个轻量级的密集模型,而不是像 DeepSeek V4 Pro 那样的 1.6T MoE。生成的代码质量完全不在一个层次上。

HuggingFace 推理提供者

HuggingFace 本身不进行推理 — 它通过统一 API 聚合第三方 providers(Novita、Together、DeepInfra、Cerebras、SambaNova、Fireworks、Groq…)。我们选择成本最低或速度最快的 provider。以下是 2026 年 5 月 DeepSeek V4 Pro 的收费情况:

HF 供应商 美元/月 输出 $/M 成本/月 × 我的订阅

Novita (最便宜)

\$1,67

\$3,38

374美元

19×

深度基础设施

\$1,74

\$3,48

$389

19×

一起

\$2,10

\$4,40

470美元

23倍

烟花

非公开价格

保持所有反引号代码跨度 ( …​ ) 完全不变 — — 永远不要修改反引号内容、间距或位置。 此文本可能是较大句子的片段 — — 在不请求更多上下文的情况下翻译该片段。 仅输出翻译后的文本 — — 不要解释、注释、引言、替代方案或选项。 —

—

—

即使是 HuggingFace 上最便宜的提供商 (Novita),其费用也是我订阅价格的 19 倍。而且与 Ollama Cloud 不同,如果你没有 HuggingFace PRO 订阅(9 美元/月),HuggingFace 还会额外收取平台费用。

格罗克

Groq 没有 任何 我使用的模型 — 他们的目录仅限于 GPT-OSS、Llama 和 Qwen 32B。无法比较。

价格比较 — 中国供应商

真正的测试是中国市场。如果DeepSeek是一个中国模型,它的原生API应该更便宜,对吗?

DeepSeek API 直接 (platform.deepseek.com)

时期 \$/M 输出 $/M 费用/月

促销 -75% (截至5月31日)

\$0,435

\$0,87

98美元

全价(自6月起)

\$1,74

\$3,48

$390

即使 DeepSeek 进行了激进的促销(-75% 延长),直接 API 仍然要收费5×更贵。按普通费率,20×. 而且这*仅限*DeepSeek — 无法访问其他模型。

Kimi Moonshot (platform.kimi.com)

Kimi 仅提供其自身的模型。没有 DeepSeek。

阿里巴巴百炼 (bailian.aliyun.com)

唯一聚合所有中国模型的供应商 — 但通过转售并加价实现。价格通过 JavaScript 动态加载,使得抓取变得不可能。

汇总表 — 所有提供者

供应商 模型 美元/米 输出 $/M 成本/月 × 我的订阅

Ollama 云专业版

DeepSeek V4 Pro

0

0

约20欧元

1×

Gemini 3 Flash

杰米尼 3 闪存

\$0,30

\$1,50

\$69

3,5×

DeepSeek API (促销)

深度求索 V4 专业版

\$0,44

\$0,87

\$98

5×

GPT 5.4 迷你

GPT 5.4 Mini

\$0,75

\$4,50

\$174

9×

Claude Haiku 4.5

Claude Haiku 4.5

\$1

\$5

\$230

11×

HuggingFace/Novita

DeepSeek V4 Pro

\$1,67

\$3,38

\$374

19×

DeepSeek API (普通)

深度求索 V4 Pro

\$1,74

\$3,48

\$390

20×

共同 AI

DeepSeek V4 Pro

\$2,10

\$4,40

\$470

23×

GPT 5.4

GPT 5.4

\$2,50

\$15

\$579

29×

Claude Sonnet 4.6

Claude Sonnet 4.6

\$3

\$15

\$689

34×

Claude Opus 4.7

Claude Opus 4.7

\$5

\$25

\$1 148

57×

GPT 5.5

GPT 5.5

\$5

\$30

\$1 157

58×

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultFontSize 11

title 预计月成本 — 220M Input + 1,9M Output
rectangle "Ollama Cloud Pro\n~20€" as OC #4CAF50
rectangle "Gemini Flash\n\$69" as GF #8BC34A
rectangle "DeepSeek promo\n\$98" as DSP #FFC107
rectangle "GPT Mini\n\$174" as GM #FF9800
rectangle "Claude Haiku\n\$230" as CH #FF5722
rectangle "HF/Novita\n\$374" as HF #F44336
rectangle "DeepSeek normal\n\$390" as DSN #F44336
rectangle "GPT 5.4\n\$579" as G4 #D32F2F
rectangle "Claude Sonnet\n\$689" as CS #D32F2F
rectangle "Claude Opus\n\$1 148" as CO #B71C1C
rectangle "GPT 5.5\n\$1 157" as G5 #880E4F

note bottom of OC
DeepSeek V4 Pro 1.6T MoE
+ 访问全部目录
Ollama 云 (Qwen, GLM, Kimi...)
包含在订阅中
end note
@enduml

隐藏成本:提示工程与迭代

Token成本只是方程式的一部分。真正的成本是开发者的时间。

使用 OpenCode + Ollama Cloud Pro + 我的代理治理 (EAGER/LAZY/Hot/Warm/Cold,在 关于治理的文章 中描述),我得到:

  • 0 提示工程 重复的: 上下文会被自动注入

  • (No content to translate): 代码一次编译通过

  • 连续8次会话未出现deepseek幻觉(记录在 Kimi/GLM/DeepSeek 比较)

与 克劳德 或 GPT 无 fine-tune 而不 治理 :

  • 每项任务平均 2-3 次迭代

  • 系统化的提示工程

  • 当上下文超过30K tokens时,Kotlin/Gradle API出现幻觉

每月有效成本 — tokens × 迭代次数 × 修正时间 — 为我方案的 27 倍至 54 倍,正如我在 关于效率比率的文章 中所证明的那样。

_ 这不只是每个 token 价格的问题。一个价格是 57 倍的 Claude Opus 需要 3 倍多的迭代次数,实际成本大约高出 170 倍。直白地说:付给实习生麦肯锡合伙人的薪水。 _

累计 Ollama Cloud Pro 订阅:Docker 方法

如果一个订阅不够用,我们就会把它们叠加起来。原则是将每个订阅隔离在各自的 Ollama 安装中,并使用各自的 SSH 认证密钥。Docker 让这变得轻而易举。

完整方法详细描述在 关于 Docker 累积的文章,原则如下:

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultFontSize 12

title Architecture — 两个订阅 Ollama 云 专业 在 一台机器
left to right direction

node "我的物理机" {
  frame "Ollama Instance A (native)\n端口 :11434" as Native {
    database "身份 A\n/usr/share/ollama/.ollama/id_ed25519"
  }
  frame "Ollama Instance B (Docker)\n端口 :11435" as Docker {
    database "身份 B\n~/ollama-b-data/id_ed25519"
  }
}

cloud "Ollama 云" {
  actor "专业账户 A\n(email 1)" as A
  actor "专业账户 B\n(email 2)" as B
}

Native --> A : "设备密钥 A"
Docker --> B : "设备密钥 B"

note bottom of Docker
容器 Docker 隔离:
- 密钥 SSH 唯一
- 网络端口唯一 (11435)
- 持久卷 (~/ollama-b-data)
- restart: always
end note
@enduml

模式很简单:

  1. 创建一个卷`~/ollama-b-data`

  2. 启动一个 Docker 容器`ollama/ollama:0.20.2`映射到`11435:11434`

  3. 获取容器的 SSH 密钥 → 将其保存到 ollama.com

  4. 做`ollama signin`带有一个第二封电子邮件

  5. 配置 OpenCode 使用两个提供者 (`ollama`在 :11434,`ollama-b`在 :11435)

两个账户,一张蓝色卡片,零冲突。

审计不衡量的内容

盲点 影响

生成代码的质量

2.6 亿个 token 无法说明代码是否能编译。我的 8 次 DeepSeek V4 Pro 会话首击率超过 90%。

OpenCode 生态系统

CLI 是免费的,但其价值(代理、沙盒、历史记录、提示缓存)巨大。它不包含在订阅价格中 — — 它是一个独立的工具。

机会成本

每天花2小时调试低级模型的幻觉,其成本高于每月20欧元。

心安

固定套餐 = 没有惊喜。按 token 计费时,活动高峰可能会造成很大伤害。

引用的价格是2026年5月的价格。六个月后,一切都将下降。但结构性力量对比 — 固定订阅 vs 按使用付费 — 将继续对大消费者有利于订阅。

结论:数字的裁决

经过73天,1022次OpenCode会话,以及26亿个标记:

公制 裁决

累计外部 API 成本

$0.22(几乎为零)

Ollama Cloud Pro订阅费用

约20欧元/月

Claude Opus 等效版

$1 148/月— 57倍更贵

等效的 GPT 5.5

每月1157美元— 58倍更贵

等效 HuggingFace/Novita

$374/月— 19× 更贵

等效的直接 DeepSeek API

$390/月— 20倍更贵

最便宜的等价物(Gemini Flash)

$69/月— 3.5倍更贵,低端型号

市场最佳报价

Ollama Cloud Pro 每月 20 欧元— 无敌的

__ 以每月20欧元的价格通过Ollama Cloud访问DeepSeek V4 Pro(1.6T参数,MoE,CSA+HCA,1M上下文),我在全球市场上拥有最高的性价比。即使直接来自中国的供应商也要贵5倍至20倍。即使HuggingFace通过聚合低成本提供商,也要贵19倍。西方市场(Claude,GPT)的价格是50-60倍——那是另一个星球。

这个比例失衡得如此厉害,以至于不可能永远维持下去。趁它还存在时好好利用。 __

所以是的,我每月20欧元,这是我作为开发者的最佳技术投资。现在你有数据来证明这一点。


相关文章