首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Copilot 账单焦虑实时指示器:用 ESP8266 和赛博朋克 UI 看着 credits 烧

Copilot 账单焦虑实时指示器:用 ESP8266 和赛博朋克 UI 看着 credits 烧

作者头像
乱世不浮生
修改2026-06-24 21:33:29
修改2026-06-24 21:33:29
1350
举报

TL;DR

Copilot 改计费之后,credits 烧多快看不见、账单来了才慌——做了个桌面硬件监控台,实时盯着月度和今日用量,放桌上一眼就知道今天烧了多少。

之前写过一篇「从前慢:两种慢,两种命运」,聊的是 GitHub Copilot 在 2026 年 6 月把计费模式从按请求次数改成按 token 实际消耗——单位叫 GitHub AI Credits,模型越贵、跑得越久,花得越多。

有人的 credits 一天半就跑完,账单翻倍,「由奢入俭难」。账单焦虑是真实存在的。

当然,把用量显示在桌上,盯着它看,焦虑只会更具体。但这不重要——这东西本来就是个玩具。用 ESP8266[1] + 1.54 寸 IPS 屏幕,赛博朋克黑底 UI,实时显示 Copilot AI Credits 的月度和今日用量,以及对应的美元金额。放桌上好看,顺带心里有个数。

顺带一提,这个项目是 vibe coding 出来的——Go proxy 的开发、固件的编写、甚至固件的烧录,全程由 coding agent 完成,我基本没有手写代码。用 Copilot 写了个监控 Copilot 账单的玩具,credits 花得值不值,见仁见智。

项目地址:addozhang/copilot-billing-monitor[2]

项目一览

屏幕是 240×240 的 1.54 寸 IPS,纯黑底,两个圆形进度环分别显示月度和今日的 credits 用量,中间数字直接显示消耗量和美元金额。电路走线、六边形节点,赛博朋克元素拉满——好看就是第一生产力。

功能上没有多余的东西:

  • 月度用量:当月 gross credits 消耗、计划内额度(included)、超出部分(additional)及对应 USD 金额
  • 今日用量:同上,只统计当天
  • 5 分钟自动刷新:WiFi Light Sleep 省电,刷新间隔和 proxy 缓存对齐
  • 首次开机自动进入 AP 配网模式:手机连上热点,Captive Portal 弹出,填完 WiFi 和 proxy 地址就完事,不用改代码重新烧

为什么是 Go Proxy + ESP8266

ESP8266 固件跑的是 Arduino 框架,技术上能通过 WiFiClientSecure 跑 HTTPS,但实际用起来问题不少:可用堆内存只有约 80KB,TLS 握手就能吃掉一大块,容易 OOM;证书管理也麻烦,内嵌 CA cert、用 fingerprint(会过期),或者直接跳过验证,每条路都有代价。

与其在固件里和 TLS 死磕,不如让 Go proxy 把脏活干了——鉴权、请求 GitHub API、聚合数据,ESP8266 只拉一个最小 JSON,画屏幕。固件逻辑干净,proxy 也顺手做了缓存,一举两得。

proxy 天然适合跑在家里的 NAS 上。NAS 常年开着,在局域网内,一行 docker run 搞定;ESP8266 和 NAS 在同一个局域网里,直接走 plain HTTP,完全不用操心 TLS。proxy 只有一个 main.go,打出来的 Docker 镜像约 6MB,运行时内存 10MB。默认缓存 5 分钟,和固件刷新间隔对齐——ESP8266 每次拉到的数据都是新的,GitHub API 也不会被频繁打扰。

架构很直接:

对外暴露两个接口:

  • GET /billing:返回月度和今日用量的聚合 JSON
  • GET /health:健康检查

支持个人账号(GITHUB_USER)和组织账号(GITHUB_ORG)二选一,用一个 Fine-grained PAT 鉴权,只需要 Administration: Read 权限。

上手三步

第一步:创建 GitHub Token

GitHub Fine-grained PAT 页面[3] 创建一个 token:

  • Resource owner:选你的账号或组织
  • Repository access:不需要选任何 repo
  • Permissions → Organization permissions → Administration:Read-only

第二步:起 proxy

代码语言:javascript
复制
docker run -d --name copilot-billing-proxy \
  -e GITHUB_TOKEN=your_pat_here \
  -e GITHUB_ORG=your_org \
  -p 8080:8080 \
  addozhang/copilot-billing-proxy:latest

个人账号把 GITHUB_ORG 换成 GITHUB_USER。跑起来后验证一下(把 <nas-ip> 替换成 NAS 的实际 IP):

代码语言:javascript
复制
curl http://<nas-ip>:8080/billing

能看到 JSON 就好。

第三步:烧固件 + 配网

前置条件:安装 PlatformIO CLI[4]

代码语言:javascript
复制
cd firmware
pio run -t upload

烧完上电,板子自动进入 AP 模式,广播热点 FuBo-Copilot(密码 12345678)。手机连上去,Captive Portal 自动弹出,选 WiFi 网络,填密码,填 proxy 地址(如 http://192.168.1.100:8080/billing),保存。板子重启,连上 WiFi,拉数据,UI 亮起来。

总结

一个桌面小物,不解决问题,只是让问题更可见。Credits 烧多快,数字就在那,不用打开浏览器,不用登录 dashboard。

感兴趣的话,硬件、固件、proxy 都在 addozhang/copilot-billing-monitor[5],MIT 协议开源,自取。

参考资料

[1]

ESP8266: https://www.espressif.com/zh-hans/products/socs/esp8266

[2]

addozhang/copilot-billing-monitor: https://github.com/addozhang/copilot-billing-monitor

[3]

GitHub Fine-grained PAT 页面: https://github.com/settings/personal-access-tokens/new

[4]

PlatformIO CLI: https://docs.platformio.org/en/latest/core/installation.html

[5]

addozhang/copilot-billing-monitor: https://github.com/addozhang/copilot-billing-monitor

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乱世不浮生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TL;DR
  • 项目一览
  • 为什么是 Go Proxy + ESP8266
  • 上手三步
    • 第一步:创建 GitHub Token
    • 第二步:起 proxy
    • 第三步:烧固件 + 配网
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档