[AI Development Lab] 【deepin插件开发活动】小组件中心:给deepin 25来一套原生小组件
Tofloor
poster avatar
luckyBunny
deepin
9 hours ago
Author

给 deepin 25 做了一套 dde-shell 2.0 原生小组件:一个管理中心 + 四个桌面小组件,装完就能用,全部 GPL-3.0 开源。

参赛方向:DDE Shell 扩展(桌面小组件)
使用 Skill:dde-shell-development(主)、dtk-development(DConfig / DTK6)
开发工具:DeepSeek Harness(GLM-5.3-flash)+ WorkBuddy(hy4 preview,排查与重构)
开源协议:GPL-3.0-or-later

这是什么?

灵感就是想要一套「装上即用」的桌面小组件:

  • 小组件中心:像应用商店一样点一下就把组件放上桌面,不用敲命令
  • 翻页时钟·天气·日期:拟物翻页钟 + 实时天气 + 农历,无需注册的 Open-Meteo API,自动定位到城市(中文)
  • 系统监控:CPU / 内存 / 网速实时显示,柱状图和汽车仪表盘两种皮肤
  • 待办清单:输入框回车就加,点圆圈勾掉,支持中文输入法
  • 桌面相框:轮播你的壁纸目录(默认系统壁纸,可换成自己的图片目录),悬停出控制条

所有组件都是 dde-shell DPanel 插件,毛玻璃、圆角、深浅色跟随系统;pin/关闭按钮平时隐藏、悬停才出现,不碍事。组件之间共享一套 QML/C++ 框架,所以风格统一、代码也省。不过目前因为手头没有ARM和Loong64机器,仅提供AMD64版本

截图

桌面效果

69f3c051a099edbab5f41f368a6d6c7b.png

小组件中心

c42d351abd22fb77720b7c846773c662.png

安装

方式一:直接下载 deb(推荐)

Release 页面 下载 deepin-widget-center_1.0.1-1_amd64.deb

sudo apt install ./deepin-widget-center_1.0.1-1_amd64.deb

附件直接下载:

deepin-widget-center_1.0.1-1_amd64.zip

方式二:源码构建

git clone https://github.com/DragonetSuh/deepin-widget-center.git
cd deepin-widget-center
dpkg-buildpackage -us -uc -b
sudo dpkg -i ../deepin-widget-center_1.0.1-1_amd64.deb

环境要求 deepin 25(dde-shell / Qt6 / DTK6);

卸载:sudo apt purge deepin-widget-center

使用说明

  1. 启动器打开「小组件中心」→ 组件广场点「添加」,组件直接上桌面(设置里开启开机启动,重启组件自动恢复)
  2. 「我的组件」页可以对组件置顶 / 配置 / 关闭;配置对话框按 DConfig schema 自动生成,保存即时生效
  3. 桌面上:悬停组件右上角出现 📌 置顶和 ✕ 关闭;拖边缘缩放,翻页钟缩放时文字会自动补偿大小
  4. 待办:底部输入框打字回车即可(中文没问题);点条目前圆圈勾选完成
  5. 相框:悬停出 ← ⏸ → 控制条;壁纸目录、轮播间隔、随机排序都在配置里

开发过程:deepin Skills 怎么帮上忙的

主开发在 DeepSeek Harness(GLM5.2,后期更换GLM-5.3-flash)里完成,deepin Skills 提供的 dde-shell-development 技能把插件骨架、生命周期、QML 上下文属性、DWindow 毛玻璃这些"平台默认姿势"直接喂给了 AI,省了大量翻文档的时间;dtk-development 技能覆盖了 DConfig schema 写法和 deb 打包路径规范(/usr/lib/x86_64-linux-gnu/dde-shell/、dconfig 资源位置等),4 个组件 + 管理中心的配置体系一次成型。

中途还穿插用 WorkBuddy 的 hy4 preview 模型做了一轮问题排查和重新设计——当主会话里翻页钟缩放、配置对话框交互这些老大难越改越糊的时候,换一个模型跳出原有上下文重新审视项目结构,给出的一版重构直接把后续的优化路径捋顺了,个人感觉这步"换脑会诊"对最终质量帮助很大,推荐大家试试。其实也想直接用WorkBuddy完成后续的调优开发工作,奈何hy4 preview 模型实在太受欢迎,免费模式下根本没法进行多轮对话遂作罢,又将它的会话完整喂回给DeepSeek Harness继续。
image.png

踩过的坑(真机 + Skills 知识定位的)

  • QML Column 里放 anchors 会让整个 Column 失效——管理中心侧栏导航第一次怎么点都没反应,就是这一行引起的
  • QTextStream::atEnd() 对 /proc 虚拟文件立即返回 true(size=0)——系统监控内存/网速一度全是 0,readLine() 驱动循环才修好
  • QStringLiteral("\xNN") 会把 UTF-8 字节逐个当 UTF-16 字符——天气"阴"显示成"é□´",改 QString::fromUtf8
  • 插件进程的 QTimer 不触发——换成 QML 定时器直调 Applet.tick() 绕过
  • SSH 启动的进程缺 QT_IM_MODULE——待办中文输入失效,补齐 fcitx 环境变量
  • ipapi.co 对脚本请求直接 403——天气定位改成 ip-api → ipapi.co → ipinfo 三级容错

AI 调用 deepin Skills 的对话记录截图

截图_选择区域_20260902161248.png

截图_选择区域_20260902161426.png

对应评审维度小结

  • 功能完整性:4 组件 + 管理中心,配置体系完整(DConfig 实时生效)
  • 真实使用价值:天气/时钟/监控/待办都是桌面常驻刚需
  • 创新性:管理中心统一托管 dde-shell 小组件;组件间共享 QML/C++ 框架
  • UI/UX:毛玻璃 + 深浅色自适应 + 悬停式控件 + 缩放文字补偿
  • 代码质量:C++/QML 分层清晰,GPL-3.0,独立仓库可构建

仓库:https://github.com/DragonetSuh/deepin-widget-center (含 PRD、构建文档、真机截图)
欢迎装来玩玩,Issue / PR 都欢迎,也欢迎留言给我提反馈,后续再计划考虑加入更多小组件和多架构的支持~

注:本贴由DeepSeek Harness基于项目上下文及活动要求整理汇总输出。

Reply Favorite View the author
All Replies
avatar
骑🐖追帅哥bot
Moderator
9 hours ago
#1

待办很需要了 我现在就去装!tail

Reply View the author
avatar
鲜衣怒马
deepin
7 hours ago
#2

厉害了

Reply View the author
avatar
Ligocut光剪视频剪辑软件
deepin
Backbone of ecological co-construction group
3 hours ago
#3

桌面小组件是和桌面图标共用桌面空间的吗?还是说重叠?

Reply View the author