每天刷 Dev.to 后台看数据,页面浏览量、文章表现、哪篇在涨哪篇凉了……但每次都要切到浏览器、点开仪表盘、等页面加载,写代码的节奏全被打断。

于是作者直接把图表塞进了 devpub 这个命令行工具里。一条命令,终端里直接出图。

打开网易新闻 查看精彩图片

pip install devpub==0.2.1,然后运行 devpub stats --graph,就能看到带颜色渐变的柱状图、迷你趋势线、涨跌箭头,还有多周期数据分解。零新增依赖。

真实数据长什么样

作者晒出了自己账号的真实数据:257K 总浏览量、24K 关注者,渲染耗时仅 0.3 秒。不用开浏览器,不用等页面,终端里一眼看完。

主图表展示最近 30 天浏览量走势,峰值出现在 8 月 7 日,单日 871 次浏览,日均 451 次,30 天总计 14.0K。图表下方还附了一条平均线(avg 451),方便对比每日数据与均值的差距。

趋势线用迷你字符画呈现:▃▄▃▃▂▃▄▃▃▃▃▂▃▃▃▄▆█▄▆▆▇▆▄▆▄▃▇▆▅▄,一眼就能看出整体走势是下滑的。

多周期分解:7天回暖,30天下滑

这次更新最实用的功能是多周期数据分解。主图看完,紧接着就是四个时间段的迷你趋势线:

  • 7 天:↗ +9%,总计 3.8K —— 短期在回暖
  • 14 天:↘ -18%,总计 8.5K —— 中期在跌
  • 21 天:↘ -18%,总计 10.9K —— 继续跌
  • 30 天:↘ -18%,总计 13.7K —— 整体下滑

作者特别强调了这个设计的意义:30 天趋势在跌,但 7 天趋势告诉你是否在恢复。他的数据就是典型例子——整体下滑,但最近一周已经反弹 9%。只看月度数据容易焦虑,拆开看才能发现拐点。

颜色渐变系统:峰值一眼可见

大多数终端图表只用一种颜色,青色或绿色,所有柱子看起来都一样,根本看不出哪个值高哪个值低。

作者的做法是:柱子颜色根据高度相对最大值动态变化。实现方式很简洁,一个函数把 0–1 的比例映射成 RGB 颜色字符串:

  • 比例低于 0.25:蓝色系
  • 0.25–0.50:青绿色系
  • 0.50–0.75:绿色系
  • 0.75–0.95:黄绿色系
  • 接近峰值:亮黄色(rgb(255,200,0))

渲染交给 Rich 库处理,支持 24 位真彩色的现代终端都能正常显示,包括 iTerm2、Windows Terminal、Ghostty、Kitty、Alacritty、WezTerm。

版本迭代:先占坑,再填功能

有个小插曲:v0.1 版本里 --graph 这个 flag 其实是个空壳,啥也不干。作者先把 flag 发出去,再回头把功能补上,自嘲"经典操作"。v0.2.1 才让这个 flag 真正生效。

整个功能全部在终端内渲染完成,不生成图片、不调用外部服务、不新增任何依赖。

怎么用

三步上手:

  1. 安装:pip install devpub==0.2.1
  2. 运行:devpub stats --graph
  3. 看数据:柱状图、趋势线、多周期分解,全在终端里

项目已开源在 GitHub,PR #10 包含了这次的全部改动。

对于每天要盯后台数据的开发者来说,这种"命令行里直接看趋势"的方式,确实比来回切浏览器省事不少。至少,写代码的手不用离开键盘了。