# 开源中国
**Repository Path**: deepin20/oschina-Desktop-Client
## Basic Information
- **Project Name**: 开源中国
- **Description**: OSChina Desktop Client 是一个专为开源中国社区设计的现代化桌面应用程序。它结合了现代 Web 技术和原生桌面应用的优点,为用户提供流畅、美观的使用体验。基于OSChina官方桌面客户端进行二次开发。
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-06
- **Last Updated**: 2026-09-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OSChina Desktop Client 🔮
[](https://www.python.org/)
[](https://riverbankcomputing.com/software/pyqt/)
[](LICENSE)
[](https://www.oschina.net)
**开源中国社区桌面客户端** · **现代化跨平台桌面应用**(适配 Deepin 25)
[项目介绍](#-项目介绍) · [功能特性](#-功能特性) · [快速开始](#-快速开始) · [开发者指南](#-开发者指南)
---
## 📖 项目介绍
**OSChina Desktop Client** 是一个专为开源中国社区设计的现代化桌面应用程序,基于 **PyQt6** 和 **Qt WebEngine** 构建,将开源中国(OSChina)的完整网页体验带到桌面端,同时提供原生应用的多标签浏览、系统托盘、深色主题、自动登录等增强功能。
### 🌟 核心理念
- **混合架构**:利用 PyQt 的 WebEngine 渲染 HTML/CSS/JavaScript 界面,保留网页完整功能。
- **原生体验**:多标签页、系统托盘、快捷键、深色主题,与桌面环境无缝融合。
- **用户友好**:直观的工具栏、自定义设置、自动保存登录状态,提升浏览效率。
---
## ✨ 功能特性
### 🎯 核心技术栈
| 技术领域 | 选用方案 | 说明 |
|---------|----------|------|
| **后端框架** | Python 3.8+ & PyQt6 | 强大的 GUI 框架和网络能力 |
| **前端渲染** | HTML5 + CSS3 + ES6+ | 利用 Qt WebEngine 渲染开源中国网页 |
| **构建工具** | dpkg-deb | 生成适合 Deepin 25 的 .deb 安装包 |
### 🚀 已实现的主要功能
- ✅ **网页浏览**:内置浏览器,完整显示开源中国网站,支持所有链接、交互操作。
- ✅ **多标签页**:支持同时打开多个页面(如首页、动弹、消息),标签页可关闭,首页固定。
- ✅ **深色主题**:一键切换深色/浅色主题,适配不同使用场景。
- ✅ **系统托盘**:最小化到托盘,后台运行,双击托盘图标恢复主窗口。
- ✅ **自动登录**:网页登录后,自动保存 Cookie,下次启动无需重新登录。
- ✅ **手动保存登录状态**:工具栏按钮,一键保存当前会话。
- ✅ **自定义设置**:可配置消息页面 URL,适配个人空间地址。
- ✅ **内部链接导航**:所有 `target="_blank"` 链接在客户端新标签页中打开,无需外部浏览器。
- ✅ **状态栏提示**:显示加载进度、登录状态、操作反馈。
### 🔮 计划中的功能
- ⏳ **本地消息提醒**:整合 WebSocket 或轮询,实现桌面通知。
- ⏳ **离线阅读缓存**:缓存已浏览内容,支持离线查看。
- ⏳ **快捷键自定义**:允许用户配置全局快捷键。
- ⏳ **更多主题与皮肤**:内置多套配色方案。
### 🎨 UI/UX 亮点
- 🎨 **深色/浅色主题**:根据系统偏好或手动切换。
- 🖥️ **无边框圆角窗口**:现代化外观,简洁优雅。
- 📑 **标签页管理**:直观的标签切换与关闭。
- 🔔 **系统托盘集成**:后台运行,不打扰用户。
---
## 🚀 快速开始
### 前置要求(Deepin 25)
- **Python 3.8+**(系统默认已安装)
- **pip3**(用于安装依赖)
- **dpkg**(用于安装 .deb 包)
### ⚡ 一键安装(推荐)
本项目提供为 Deepin 25 优化的 `.deb` 安装包,体积小巧,自动配置环境。
1. **下载 `.deb` 包**(从 Releases 或构建产物获取)。
2. **安装**:
```bash
sudo dpkg -i oschina-desktop-client_*.deb
```
3. **启动**:
```bash
oschina-client
```
首次启动将自动创建虚拟环境并安装 Python 依赖(需要网络),之后即可正常使用。
### 🔧 从源码运行(开发模式)
```bash
# 克隆项目
git clone https://gitee.com/oschina/client-reloaded.git
cd client-reloaded
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 启动应用
python launch.py
```
### 📦 依赖清单(核心)
```toml
PyQt6 >= 6.4.0
PyQt6-WebEngine >= 6.4.0
beautifulsoup4 >= 4.11.0
requests >= 2.28.0
lxml >= 4.9.0
Pillow >= 9.3.0
```
---
## 🔧 开发者指南
### 🏗️ 项目结构
```
oschina-desktop-client/
├── src/ # 源代码目录
│ ├── core/ # 核心逻辑(主窗口、API 客户端)
│ ├── ui/ # 界面组件(系统托盘、主题管理)
│ ├── utils/ # 工具类(配置管理、辅助函数)
│ └── resources/ # 静态资源(HTML/CSS/JS/图片)
├── dist/ # 打包输出目录
├── build_deb.py # 一键打包脚本(仅源码,不含虚拟环境)
├── package_all.py # 多平台打包脚本(含虚拟环境)
├── requirements.txt # Python 依赖
├── launch.py # 启动入口
└── README.md # 本文件
```
### 🛠️ 打包与分发
#### 生成轻量级 `.deb` 包(Deepin 25 推荐)
```bash
python build_deb.py
```
生成的 `.deb` 位于 `dist/`,体积约 2~5 MB,仅含源码,安装时自动配置虚拟环境。
#### 生成完整 `.deb` 包(包含虚拟环境)
```bash
python package_all.py deb
```
生成的 `.deb` 体积较大,但无需网络即可安装运行。
### 🧪 测试
```bash
pytest tests/
```
### 🤝 贡献指南
我们欢迎任何形式的贡献!
- 报告 Bug 或建议新功能 → [Issues](https://gitee.com/oschina/client-reloaded/issues)
- 提交代码 → Fork 后创建 Pull Request
- 完善文档 → 提交文档更新
请确保代码符合 PEP 8 规范,并添加适当的测试用例。
---
## 📜 许可证
本项目采用 **MIT 许可证**,详见 [LICENSE](LICENSE) 文件。
---
## 🙏 致谢
- **[PyQt](https://riverbankcomputing.com/software/pyqt/)**:强大的 Python GUI 框架
- **[开源中国社区](https://www.oschina.net/)**:提供优质的 API 和数据支持
- **所有贡献者**:你们的努力让这个项目变得更好!
---
## 📬 联系我们
- **项目主页**:[Gitee](https://gitee.com/oschina/client-reloaded)
- **Issues**:[Bug 报告 & 功能请求](https://gitee.com/oschina/client-reloaded/issues)
- **讨论区**:[社区讨论](https://gitee.com/oschina/client-reloaded/discussions)
---
**如果喜欢这个项目,请给它一个 ⭐ Star!**
*让开源精神在桌面上绽放光彩 ✨*
---
📈 项目统计
| 指标 | 数值 |
|------|------|
| 首次提交时间 | 2013年5月 |
| 当前版本 | v3.1.0 |
| 活跃维护者 | 2人 |
| 开源协议 | MIT License |