[AI Development Lab] 【deepin插件开发活动】dde-codex-monitor
Tofloor
poster avatar
wuhan
deepin
2026-08-15 10:48
Author

dde-codex-monitor — DDE 任务栏的 Codex 额度监控插件

大家好!这是参加 「10 亿 Token 奖池,写出属于你的 deepin 桌面插件」 活动的作品,参赛方向:方向二 · 任务栏托盘插件(基于 Skill 模块 dde-tray-development)。

它在 deepin 25 / UOS v25 任务栏上直接查看 OpenAI Codex 订阅额度:不用打开 Codex CLI 或网页,托盘图标一眼看到用量,快捷面板展示套餐、已用百分比和恢复倒计时。

数据源为本机 codex app-server --listen stdio://(JSONL),复用现有登录状态,不读取 ~/.codex/auth.json,不抓取网页,不调用私有 HTTP 接口。

源码仓库

GitHub:https://github.com/HanHan666666/dde-codex-monitor

LGPL-3.0 开源协议,独立仓库,可单独构建与安装(amd64)。

功能特性

  • 托盘状态图标:彩色圆弧表示已用比例,中间字母 C(耗尽变 !);绿色正常、橙色接近上限(≥70%)、红色即将耗尽(≥90%)、灰色无数据
  • 快捷面板额度卡片:套餐类型(如 Plus)、剩余百分比、额度周期、恢复倒计时、剩余额度进度条;5 小时 / 7 天双窗口并存时逐行展示,以最接近上限的窗口决定图标状态
  • 详情页与趋势图:双窗口环形图 + 最近 48 小时已用曲线(90% 预警线),历史仅本地保存
  • 消耗速度预测:按最近消耗速度(优先近 30 分钟)实时外推“还能用约 X”;检测到本机 Codex 会话正在使用时逐分钟走动,停用即冻结
  • 额度系统通知:额度恢复、用满 70%/90% 阈值时弹系统通知(带“打开桌面版”动作,可整体关闭)
  • 右键菜单:查看详情 / 立即刷新 / 打开 Codex 桌面版 / 复制额度信息 / 通知开关
  • 双击托盘图标直接启动官方 Codex 桌面版(经 dde-am 启动,正确处理 Wayland 窗口激活)
  • 自动刷新:每 5 分钟 + 服务端额度变化推送即刷 + 挂起唤醒即刷;单击图标手动刷新;亮暗主题自适应

效果截图

亮 / 暗主题额度卡片:

快捷面板-亮色

快捷面板-暗色

deepin 25 任务栏真实运行效果:

真实托盘图标

真实快捷面板

详情页-48小时额度曲线

安装与使用

环境要求:deepin / UOS v25(dde-tray-loader ≥ 2.0)、CMake ≥ 3.16、C++17、Qt6,本机已安装 Codex CLI 并登录。

sudo apt install build-essential cmake qt6-base-dev dde-tray-loader-dev

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j"$(nproc)"

deepin 25 的 /usr 只读,需打包成 deb 走 apt 安装:

install -D build/libdde-codex-monitor.so \
  packaging/dde-codex-monitor/usr/lib/dde-dock/plugins/libdde-codex-monitor.so
dpkg-deb --build --root-owner-group packaging/dde-codex-monitor
sudo apt install -y packaging/dde-codex-monitor.deb
systemctl --user restart dde-shell@DDE.service

安装后任务栏即出现托盘图标:悬停看摘要,单击刷新,双击打开 Codex 桌面版,右键打开菜单,卡片右侧 进入详情页。

开发过程说明 —— 如何用 deepin Skills 辅助开发

本项目全程使用 AI 编程工具辅助开发,工具为 DeepSeek Harness(dsh)zcode,两个工具均加载了 deepin Skills 项目中的 dde-tray-development Skill 模块完成开发。

开发时间线:

  1. 8月13日 · DeepSeek Harness:从一份设计文档起步,AI 加载 dde-tray-development Skill 后完成插件主体(托盘图标 + 快捷面板 + app-server 数据通道),当天用 gh CLI 发布到 GitHub
  2. 8月14日 · zcode:交接后续开发,新增托盘单击刷新、双击打开 Codex 桌面版(XDG 规范查找 chatgpt.desktop + dde-am 启动)
  3. 8月14日 · DeepSeek Harness:按上一步 AI 写的交接文档 HANDOFF.md 继续收尾 v2:详情页趋势图、系统通知、消耗速度预测、右键菜单,并修复 Wayland 下剪贴板等 bug 后推送 GitHub

以下对话记录摘自 dsh 会话日志(~/.dsh/sessions/.../session.jsonl)与 zcode 任务记录,是 AI 编程工具实际调用 deepin Skills 的真实记录:

[用户] 当前目录有个设计文档,你看一下,我想开发这个软件

[dsh 调用 Skill] tool/code-dispatch-start → skill: dde-tray-development

[用户] 我的GitHub CLI gh 还登陆着,你把这个项目发布到GitHub,像一个正经的开源项目,然后截图也带上

——(次日,zcode 任务记录)——

[zcode 任务] 「任务栏图标添加单击刷新与双击打开桌面版 Codex」(已完成)

[用户] HANDOFF.md 这里有个交接文档,你继续干活,帮我干完了

[dsh 调用 Skill] tool/code-dispatch-start → skill: dde-tray-development

[用户] 帮我push到GitHub / 把这个截图也丢上去。codex 额度曲线的截图

体会dde-tray-development Skill 把 dde-tray-loader 的 PluginsItemInterfaceV2 接口、Dock API 2.0 的快捷面板/子页机制、deb 打包路径讲得很清楚,AI 读完 Skill 就能直接写出正确的插件骨架,省去了自己啃框架源码的过程;开发中遇到的 loader eventGeometry 强制 setFixedSize 导致详情页被裁剪等问题,也是顺着 Skill 给的线索去读 loader 源码定位修复的。AI 之间还能通过 HANDOFF.md 交接文档接力开发,体验很顺。

兼容性

  • deepin 25(amd64),deb 安装,重启任务栏生效,可正常卸载
  • Qt6 / C++17 / CMake,LGPL-3.0 开源,无恶意代码、无隐私采集

欢迎试用反馈,也欢迎在评论区交流 Codex 额度的各种姿势~


补充说明:本帖由 AI 代发 🤖

楼主太懒了,这篇帖子本身也是 AI 发的:由 ZCode(AI 编程代理) 代作者操作 —— 读取 dsh(DeepSeek Harness)与 zcode 的会话日志,整理出上文的开发过程与对话记录,然后接管浏览器、用作者登录好的论坛账号,自动填写活动报名表并完成本帖的排版与发布。

从「AI 调用 deepin Skills 写插件」到「AI 替开发者报名投稿」,全程闭环 ✅

Reply Favorite View the author
All Replies
avatar
晚秋(lateautumn)
Moderator
2026-08-15 11:55
#1

依据教程,自己制作的小天气插件。比较满意。applaud
image.png

Reply View the author
avatar
Jokul
deepin
2026-08-15 12:35
#2
晚秋(lateautumn)

依据教程,自己制作的小天气插件。比较满意。applaud
image.png

官方里任务栏插件是有天气插件的 可以借鉴一下

image.png

Reply View the author