惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
量子位
A
Arctic Wolf
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
V
Vulnerabilities – Threatpost
博客园 - Franky
C
Cyber Attacks, Cyber Crime and Cyber Security
The Cloudflare Blog
Last Week in AI
Last Week in AI
The Hacker News
The Hacker News
I
Intezer
J
Java Code Geeks
P
Privacy International News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
Cisco Talos Blog
Cisco Talos Blog
阮一峰的网络日志
阮一峰的网络日志
S
Securelist
Security Latest
Security Latest
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
Jina AI
Jina AI
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Exploit Database - CXSecurity.com
雷峰网
雷峰网
T
Tenable Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 【当耐特】
T
Threat Research - Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
N
News | PayPal Newsroom
Google Online Security Blog
Google Online Security Blog
K
Kaspersky official blog
H
Help Net Security
宝玉的分享
宝玉的分享
罗磊的独立博客
Webroot Blog
Webroot Blog
月光博客
月光博客
B
Blog RSS Feed
Recorded Future
Recorded Future

博客园 - AlfredZhao

一人公司OPC理念探索:如何把Agent业务做成闭环 DB升级 23.26.2:/opt 空间临界导致 OPatch 失败的处理记录 Docker 容器不写代理,临时用 OS 变量解决网络问题 impdp 遇到 TSTZ Version 报错:ORA-39405 处理实践 数据乱成一锅粥,还能先做本体吗? SQL*Plus 执行中文 SQL 文件,如何避开乱码坑 Podman 报错:普通用户无法运行 rootless Podman 怎么办 语义层构建:企业级AI落地绕不开的关键 AI时代最扎心的真相:人类在打杂,AI在做决策 Win7老系统登录报错怎么解?PuTTY这次真能救急 Linux 主机防火墙如何同时开启 80 和 443? AI 编程变更记录:知识加工模块与博客工厂模块的状态重新定义 一篇搞定:用 curl 测试私有部署模型联通性 DBA除了修库,还能把经验变成更大的价值 原本3GB+ 的 Docker 镜像直接缩成500M RAG技术从1.0到4.0,系统为何越来越“会想” 生产环境里,为什么不建议把普通端口直接暴露到公网? ORACLE默默地搞了个免费的智能体工厂 GPT 省钱,不是别用最新模型,而是别浪费缓存 Docker 容器时区不对,`timedatectl` 不存在怎么办? AI 编程工作总结:从体验问题到模块能力建设 OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G? vi 删除指定范围的行,不用再反复按 dd AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 氛围编程实战系列:先规划清楚学习路径 入门:我的第一个Vibe Coding实践程序 Linux时区修改为CST 如何在Oracle Agent Factory中配置国内厂商的LLM? Oracle Deep Data Security (Deep Sec) 初体验 APEX实战第13篇:全套开发环境的本地配置与恢复实践 Codex 和 OpenClaw,到底差在哪? 微信对接OpenClaw的常见问题和解决方案 在群晖NAS上配置OpenClaw:一次踩坑后的保姆级教程(完整修订版) 用Docker安全驯服OpenClaw,并打通社交软件 RAG 时代的“破壁人”:为什么你的大模型应用急需 Docling? 为什么 AI 服务器首选 Ubuntu?难道 OEL 和 RHEL 不香吗? APEX实战第12篇:Oracle APEX 工作区密码忘记了怎么办? AI开发者如何无痛部署Oracle AI Database 26ai环境 Oracle 26ai 本地通用版这次是真的来了 Docker 快速入门:手把手教你打包 Python 应用 APEX实战第11篇:图形界面轻松解锁工作区账户 APEX实战第10篇:手把手教你给APEX打补丁 APEX实战第9篇:手把手教你集成RAS轻松实现真正的数据安全 小白学AI开发01:创建第一个示例Agent LangChain、LangFlow、LangGraph:一文讲清三大 LLM 框架的定位与差异 使用 Oracle 官方 HR Demo 快速验证 RAS 功能(小白实战指南) Oracle RAS:AI时代企业数据安全核心 新版MOS(My Oracle Support)主要变化 APEX实战第8篇:ORDS连库报错574?一招根治用户过期问题 为什么 Iceberg 在数据湖领域这么火
AI编程系列01:裸 API 账单场景下,如何自建 LLM 用量可视化看板
AlfredZhao · 2026-06-03 · via 博客园 - AlfredZhao

很多开发者接入聚合型 LLM API 后,会遇到一个很现实的问题:服务商只给账单接口,不提供 Web 管理后台。Token 消耗、扣费明细、成本趋势都藏在 JSON 里,看得见数据,却看不清变化。

02-api-window

按照上篇文章《氛围编程实战系列:先规划清楚学习路径》这个规划路径,我们今天就来用 AI 先开发一个 LLM 使用量监控功能。

01 | 先看清使用场景

这类场景可以叫“中转代理式裸 API 计费场景”。

开发者通过 LiteLLM 模型网关接入多家大模型厂商 API,服务商负责统一转发和统一计费,但没有配套 Web 可视化控制台。用户只能通过 curl 调用账单接口,拿到原始 JSON 文本。

问题也随之出现:数据是有的,但缺少折线图、饼图这类直观报表,模型费用占比、每日扣费变化都需要自己整理。

01-json-fog

因为使用AI编程消耗的token量还是很多的,而笔者目前计划可用的配额又非常有限,所以能有一个可视化监控界面就非常必要,这样能更直观看到账户余额消耗情况,做到心中有数,从而更合理地安排本周的AI编程任务。

02 | 自建看板的基本思路

一个轻量方案是:定时拉取账单接口 JSON,清洗字段后入库,再用图表组件展示 Token 消耗和费用趋势。

03-dashboard-loop

把定期的数据先落到 CSV,使用 Oracle 外部表定义直接访问,再基于视图做报表或图表,让Vibe Coding直接基于这些数据,开发一个前端界面展示。

03 | 自建看板的具体实现

Oracle外部表需要创建一个directory,例如:/u01/media/xxxx,赋予该目录高权限,便于其他OS层面的普通开发用户可访问此目录。

同时数据库层面内部对具体开发用户赋予该目录读写权限,外部表的具体创建语句,直接让Codex调用Oracle的skill给出即可,这种底层数据相关的,建议还是要人工确认下是否符合自己的预期后再创建。

假设LLM提供商给的API查询余额方法usage.sh,这个脚本查询结果是一整串原始json信息。

我们可以这样把该json串信息加工,只取其中想关注的值,直接让Codex来做就OK,这里给出一个笔者实际使用的示例如下:

[alfred@xxxx-dev1 ~]$ cat /home/alfred/scripts/llm_usage.sh
#/bin/bash

  usage_json=$(/home/alfred/scripts/usage.sh)

  printf '"%s",%.6f,%.6f,%.6f,"%s","%s"\n' \
    "$(date '+%Y-%m-%d %H:%M:%S')" \
    "$(jq -r '.info.spend' <<< "$usage_json")" \
    "$(jq -r '.info.max_budget' <<< "$usage_json")" \
    "$(jq -r '.info.max_budget - .info.spend' <<< "$usage_json")" \
    "$(jq -r '.info.budget_duration' <<< "$usage_json")" \
    "$(jq -r '.info.budget_reset_at' <<< "$usage_json")" \
    >> /u01/media/xxxx/llm_usage_alfred.csv 

然后设置os定时调用该脚本,多长时间调用一次取决于你对观测颗粒度的需求,笔者这里设置每半小时追加写入csv文件:

*/30 * * * * /home/alfred/scripts/llm_usage.sh

Oracle数据库层面直接使用外部表加载这个csv文件。

然后Vibe Coding帮解决前端界面开发和展现工作,哪里不满意,直接对话给指令让它微调即可。

这样就自定义出一个LLM使用情况的监控界面,PC端效果如下:

同时,也可以使用手机移动端进行查询(支持 PWA),起初移动端显示有些bug,但没关系,直接告诉Codex,让它帮忙修改好就OK:

笔者注:PWA 的全称是 Progressive Web App,中文通常翻译为“渐进式 Web 应用”。

04 | 这套方案补齐了什么

它补齐的不是模型能力,而是用量可观测能力。

对个人开发者、小团队 AI 项目、初创 AI 产品来说,裸 JSON 账单很难长期人工阅读。把它变成私有化用量看板后,每日消耗、剩余额度、模型费用占比才更容易被持续跟踪。

这就是“自研 API 账单采集 + 可视化看板方案”的核心价值:在没有商用管理后台的情况下,用低成本方式把账单数据变成可理解、可追踪的成本信息。

关注我,和AI一起成长~