[App Sharing] Deepin 社区助手
Tofloor
poster avatar
温暖断章
deepin
2026-09-18 09:07
Author

Deepin 社区助手

一款专为统信 UOS / Deepin 打造的轻量级、高集成度的 Deepin 官方论坛非官方桌面客户端。

✨ 功能特性

  • 🌐 一体化内置浏览器 —— 首页、发帖、消息、个人中心全部采用 QWebEngineView 内嵌 Chromium,支持登录、发帖、浏览原汁原味的论坛页面。
  • 📂 原生版块导航 —— 论坛所有分类采用原生卡片式排版,支持鼠标悬停与点击跳转,体验贴近桌面原生应用。
  • 📊 实时数据抓取 —— 直连论坛 /api/v1/forum 接口,实时显示各版块的"主题数"、"帖数"及"当日发帖数"。
  • ⚡ 页面懒加载 —— 5 个标签页按需创建(切到才建),启动只创建首页,显著降低渲染进程与内存占用。
  • 🖱️ 统信 UOS 原生适配 —— 适配高分屏缩放(HiDPI)、侧边栏样式、窗口居中、任务栏中文名与图标归组。
  • 🛡️ 环境自适应 —— 自动识别共享内存偏小、无 DRM 设备、root 身份等场景并调整 Chromium 参数。
  • 📦 符合 UOS 应用商店规范 —— 安装路径遵循 /opt/apps// 布局,可直接构建 .deb 安装包。

下载地址

适配Deepin25:

https://gitee.com/deepin20/deepin-community-py/releases/download/1.2.0/org.deepin.community.helper_1.2.0_all.deb

适配统信UOS:

https://gitee.com/deepin20/deepin-community-py/releases/download/1.2.1/org.deepin.community.helper_1.2.1_all.deb

Reply Favorite View the author
All Replies
avatar
晚秋(lateautumn)
Moderator
2026-09-18 09:46
#1

不错,谢谢分享applaud

Reply View the author
avatar
晚秋(lateautumn)
Moderator
2026-09-18 09:48
#2

龙架构安装成功,但双击无反应。applaud

Reply View the author
avatar
𰻞𰻝面
deepin
2026-09-18 10:09
#3

amd64安装成功,但打不开

用终端运行显示缺少依赖,但无法安装(两种方法都不行)
image.png

Reply View the author
avatar
deepin流云
Super Moderator
Community OP
2026-09-18 10:16
#4

like

666,但是25上无法运行,缺依赖:

image.png

Reply View the author
avatar
加菲不是胖橘
deepin product team
2026-09-18 10:16
#5

在deepin 25.2.2上安装了无法打开哦:

image.png

Reply View the author
avatar
米饭虚拟机-nana版
deepin
2026-09-18 10:29
#6
deepin流云:

like

666,但是25上无法运行,缺依赖:

image.png

deepin源里没有这个包啊......

Reply View the author
avatar
deepin流云
Super Moderator
Community OP
2026-09-18 10:34
#7
米饭虚拟机-nana版:

deepin源里没有这个包啊......

是的,只有qt5的……

image.png

Reply View the author
avatar
𰻞𰻝面
deepin
2026-09-18 10:37
#8
米饭虚拟机-nana版:

deepin源里没有这个包啊......

我弄了一个,结果更多依赖问题来了,不敢搞了。上次就这样把系统弄坏了
image.png

Reply View the author
avatar
𰻞𰻝面
deepin
2026-09-18 10:41
#9
deepin流云:

是的,只有qt5的……

image.png

这个python3-pyqt6.qtwebengine好办,但为了安装它,后面还有一堆依赖问题,上次就这样把系统毁了joy

Reply View the author
avatar
SmallDimples
deepin
2026-09-18 10:59
#10

因为软件包 python3-pyqt6.qtwebengine 没有候选版本,无法进行选择

Reply View the author
avatar
干就完了
deepin
2026-09-18 12:10
#11

还是不安装的好

Reply View the author
avatar
温暖断章
deepin
2026-09-18 12:37
#12
晚秋(lateautumn):

龙架构安装成功,但双击无反应。applaud

适配环境是Deepin25,其余版本因架构、内核等暂时未适配。

Reply View the author
avatar
温暖断章
deepin
2026-09-18 12:39
#13
𰻞𰻝面:

我弄了一个,结果更多依赖问题来了,不敢搞了。上次就这样把系统弄坏了
image.png

不建议用于生产环境,只适配了deepin25。

Reply View the author
avatar
𰻞𰻝面
deepin
2026-09-18 13:01
#14
温暖断章:

不建议用于生产环境,只适配了deepin25。

猜猜我是什么系统?
image.png

Reply View the author
avatar
温暖断章
deepin
2026-09-18 13:16
#15
𰻞𰻝面:

猜猜我是什么系统?
image.png

我在另外一台电脑deepin25测试来看,看能否通过

Reply View the author
avatar
米饭虚拟机-nana版
deepin
2026-09-18 13:20
#16

只能这样了:

1、解包,获取软件代码

2、右键终端安装模块:pip install PyQt6 PyQt6-WebEngine --break-system-packages -i https://mirrors.aliyun.com/pypi/simple/

3、执行python3 main.py即可

VirtualBox_deepin25_18_09_2026_13_16_24.png

Reply View the author
avatar
似水流年sanant
deepin
2026-09-18 16:49
#17

可以试试:

必须关闭智能镜像源,然后终端:

sudo apt update && sudo apt install -y python3-pip

sudo python3 -m pip install --break-system-packages PyQt6

Reply View the author
avatar
温暖断章
deepin
2026-09-20 22:12
#18

Deepin 社区助手 1.2.1 更新说明

项目 内容
发布日期 2026-09-20
包名 org.deepin.community.helper
版本 1.2.1(debian/info 中为 1.2.1.0)
适用平台 统信 UOS 20 / Deepin 20(UOS 20 Professional 实机验证)
维护者 温暖断章 <1802272181@qq.com>
升级建议 1.2.0 及更早版本用户请升级 —— 1.2.0 在 UOS 20 上存在「装不上 / 起不来」的硬性问题

一、一句话概览

本次把工程里**「源码是 PyQt5,而打包与启动脚本却按 PyQt6 写」**的分裂状态彻底统一到 PyQt5,
解决了 1.2.0 在统信 UOS 20 上装不上、起不来的问题;同时完成启动稳定性加固、
版块数据源迁移与打包工具链补齐。


二、如果你在用 1.2.0,请先看这节

1.2.0 的源码其实是对的,问题出在外围配置被写成了 PyQt6,而统信 UOS 20 的软件源里
根本没有 python3-pyqt6(PyQt6 6.6+ 还需要 glibc 2.35+,UOS 20 是 glibc 2.28)。
于是出现下面三类故障,1.2.1 已全部修复:

现象 原因 1.2.1 的处理
运行 run.sh 报「没有找到可用的 PyQt6 + QtWebEngine 环境」 1.2.0 的启动脚本探测 PyQt6.QtWebEngineWidgets,在本平台必然探测失败,脚本直接拒绝启动 探测目标改为 PyQt5.QtWebEngineWidgets
apt install 报依赖不满足、装不上 1.2.0 声明 Depends: python3-pyqt6,UOS 20 源中不存在该包 依赖改为 python3-pyqt5,推荐项为 python3-pyqt5.qtwebengine
依赖装齐了,启动仍失败 1.2.0 的安装清单不全,包内缺 ui/browser_page.py,主窗口导入即报错 debian/install 改为显式文件清单,文件已补齐

注意:报错里出现 PyQt6 字样,就是装到了 1.2.0 或更早版本,不是环境缺依赖。
先确认版本再排查,可以少走弯路:

cat /opt/apps/org.deepin.community.helper/info      # 看 version
grep -c PyQt6 /opt/apps/org.deepin.community.helper/files/run.sh   # 非 0 即为旧版

升级步骤

cd deepin-community-py
./build-deb.sh --install            # 打包并安装,会提示输入 sudo 密码
sudo rm -rf /opt/apps/deepin-community-py   # 可选:清理旧包名残留

升级后验证

cat /opt/apps/org.deepin.community.helper/info | grep version
# 期望: "version": "1.2.1.0"

/opt/apps/org.deepin.community.helper/files/run.sh
# 期望:正常启动,不再出现「没有找到可用的 PyQt6 环境」

三、修复的问题

  1. 启动脚本与运行依赖统一到 PyQt5
    run.sh、debian/control、README.md、requirements.txt、tests/test_minimal.py
    与源码保持一致,不再出现「源码一套、配置另一套」。
  2. 版块数据长期停在「加载中」
    原接口 /categories.json 已下线(302 重定向),改用
    GET https://bbs.deepin.org/api/v1/forum(开放访问,约 16KB)。
  3. 终端被 CSP 警告刷屏
    噪音过滤原先挂在 QWebEngineView 上,实际不生效;改由 QWebEnginePage 承载。
  4. 任务栏图标重复、应用名异常
    applicationName 与 appid(org.deepin.community.helper)对齐,
    与 desktop 文件的 StartupWMClass 一致,窗口可正确归组。

1.2.0 中已修复的「内置浏览器后退 / 前进失效」等问题,在 1.2.1 中继续有效。


四、稳定性与性能改进

改进项 1.2.0 1.2.1
启动时创建的 WebEngine 视图 一次性创建4 个(5 个页面里 4 个是浏览器页) 1 个,切到哪个页面才建哪个(懒加载)
版块数据抓取方式 隐藏的 WebEngine 页 + 站内 fetch(多一个渲染进程,且易在销毁时崩溃) QNetworkAccessManager 直连(亚秒级返回)
多视图段错误防护 无 补 AA_ShareOpenGLContexts(必须在 QApplication 实例化之前设置)
退出阶段 交由 Python 析构 Qt 对象,偶发段错误 跳过 Qt 析构(os._exit),退出干净
低配机 / 虚拟机适配 无 自适应 Chromium 参数:/dev/shm 偏小时启用 --disable-dev-shm-usage;无 /dev/dri 时回退软件渲染;root 身份下关闭沙箱

实测对照(UOS 20 实机,xcb + 真实显示环境):

  • 页面懒加载:启动 1 个 WebEngine 视图 → 切到版块页仍 1 个 → 切到发帖页才 2 个;
  • 启动流程:走加固后的启动路径,事件循环存活、无崩溃;
    而不带这些设置直接启动会失败(Running as root without --no-sandbox is not supported
    • failed to open drm device)。

五、数据抓取实测

  • 版块总数:20
  • 首页 18 张卡片全部回填(不再有停留在「加载中」的卡片)
  • 样例:产品反馈 —— 主题 2.6w / 帖数 14.5w / 当日 98

字段对应关系:threads_cnt 主题数、posts_cnt 帖数、today_posts_cnt 当日帖数。


六、打包与工具链

  1. build-deb.sh 新增离线打包后端
    dpkg-buildpackage 启动时需要读取 /var/lib/dpkg/status,在容器、精简镜像或 CI 沙箱里
    该文件常常不存在,脚本以前会直接终止。现在会自动改用内置的 dpkg-deb 构建流程,
    产出与 debhelper 等价的 UOS 应用商店布局包(也可用 --offline 强制启用)。
  2. 打包校验更严谨
    修掉 Depends 展开 ${misc:Depends} 后出现重复项(python3, python3, python3-pyqt5);
    补上 Installed-Size;校验环节改用只读 .deb 本身、不依赖 dpkg 数据库的命令。
  3. 安装清单改为显式文件列表
    debian/install 不再用 ui/* 通配(会把 __pycache__ 装进包,也会漏文件)。
  4. --install 在无 dpkg 数据库的环境下
    退化为「解包 + 整体替换 /opt/apps/」,旧目录先备份为 *.bak-<时间戳>;
    采用整体替换而非覆盖合并,避免被新版本删掉的文件残留。

七、仓库清理

  • 删除 89 个被 git 跟踪的 debhelper 构建产物(debian//、debian/.debhelper/、
    files、*.substvars 等)。这些残留里装着过期的 PyQt6 源码副本,
    极易被误认为「最新代码」而误导排查;
  • .gitignore 补上 debian 构建产物与构建暂存目录规则(此前完全没有,才会被误提交);
  • 修正 44 个被误设为 777 权限的文件(普通文件 644、脚本与 debian/rules 755);
  • dist/ 中已废弃的 1.2.0 产物下架,避免再次误装旧版本。

八、环境要求

项目 要求
操作系统 统信 UOS 20 / Deepin 20
Python 系统自带3.7.3(/usr/bin/python3)
glibc 2.28
运行依赖 python3-pyqt5(必需)、python3-pyqt5.qtwebengine(必需)
可选依赖 无(不再需要任何 pip 包)

依赖安装:

sudo apt install python3-pyqt5 python3-pyqt5.qtwebengine

系统源不可用时改用 pip 装到用户目录:

/usr/bin/python3 -m pip install --user PyQt5 PyQtWebEngine

deepin 23 / 25 不在本版本支持范围:那两个版本的系统自带 Qt6 系(PyQt6),
需要另行整体移植,不能在同一个代码库里混用两套绑定。


九、安装包信息

Package:        org.deepin.community.helper
Version:        1.2.1
Architecture:   all
Depends:        python3, python3-pyqt5
Recommends:     python3-pyqt5.qtwebengine
Installed-Size: 304 KB
文件总数:        25(含 8 种尺寸 PNG 图标 + 1 个 SVG 图标 + 桌面入口)

安装:

sudo apt install ./dist/org.deepin.community.helper_1.2.1_all.deb

卸载:

sudo dpkg -r org.deepin.community.helper

十、已知事项

  • 打包脚本要求项目路径纯 ASCII、无空格,否则会拒绝执行。
  • 无 dpkg 数据库的环境(容器 / CI)会自动走离线后端,产物与常规打包一致。
  • 国产 CPU 架构(ARM / LoongArch)原理上可运行,取决于系统是否提供对应架构的
    python3-pyqt5 与 python3-pyqt5.qtwebengine;若源中没有,需自行编译 PyQt5。

附:本次变更涉及的文件

main.py                启动环境适配层加固(GL 上下文 / Chromium 参数 / 退出方式)
run.sh                 解释器探测由 PyQt6 改为 PyQt5
build-deb.sh           新增离线打包后端;校验环节加固
requirements.txt       锁定 PyQt5 / PyQtWebEngine
core/application.py    应用名对齐 appid
core/main_window.py    页面懒加载
core/version.py        版本号 1.2.1
ui/browser_page.py     噪音过滤改挂 QWebEnginePage;新增崩溃自愈与 shutdown()
ui/forum_page.py       数据源迁移至 /api/v1/forum;改用 QNetworkAccessManager 直连
tests/test_minimal.py  回归 PyQt5
debian/control         依赖改为 python3-pyqt5
debian/install         改为显式文件清单
debian/changelog       新增 1.2.1 条目
debian/info            版本号 1.2.1.0
debian/postinst        移除 PyQt6 相关提示,依赖检测统一交由 run.sh 处理
README.md              更新为 PyQt5,新增「统信 UOS 适配说明」与排障 FAQ
.gitignore             补 debian 构建产物与构建暂存目录规则

完整提交级变更记录见 debian/changelog。


项目主页:https://gitee.com/deepin20/deepin-community-py
问题反馈:https://gitee.com/deepin20/deepin-community-py/issues

Reply View the author
avatar
小浣熊市
deepin
2026-09-21 16:48
#19

建议打个玲珑包上到商店

Reply View the author