个人 PWA 仪表盘服务器,带插件应用。使用场景:(1)安装或设置 PrivateApp;(2)启动/停止/重启服务;(3)构建…
PrivateApp.是一项面向实际任务的技能,主要用于Personal PWA仪表板 — FastAPI 后端+ React/Vite 前端有插件应用. 1.是一项面向实际任务的技能,主要用于它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
个人 PWA 仪表盘 — 基于 FastAPI 的后端 + React/Vite 构建的前端,支持插件化应用。

# 克隆并安装(自动创建虚拟环境、构建前端、配置 systemd/launchd) git clone https://github.com/camopel/PrivateApp.git ~/Workspace/PrivateApp cd ~/Workspace/PrivateApp bash scripts/install.sh [--port 8800]
复制 scripts/config.example.json → scripts/config.json 并编辑:
{
"host": "0.0.0.0",
"port": 8800,
"data_dir": "~/.local/share/privateapp",
"file_browser": { "root": "~" },
"push": { "vapid_email": "you@example.com" }
}
# Linux(systemd 用户服务) systemctl --user start privateapp systemctl --user stop privateapp systemctl --user restart privateapp systemctl --user status privateapp # macOS(launchd) launchctl load ~/Library/LaunchAgents/com.privateapp.server.plist launchctl unload ~/Library/LaunchAgents/com.privateapp.server.plist # 手动启动 .venv/bin/python3 scripts/server.py --host 127.0.0.1 --port 8800
每次修改前端代码后,需重新构建:
# 构建 Shell(主界面) cd frontend && npm run build # 构建所有应用的前端 for app_dir in apps/*/frontend; do [ -f "$app_dir/package.json" ] && (cd "$app_dir" && npm install && npm run build) done # 或直接运行安装脚本(自动构建全部) bash scripts/install.sh
然后重启服务。
| 应用 | 短代码 | 说明 |
|---|---|---|
| 📊 System | sysmon |
CPU、内存、磁盘、GPU 状态及服务健康度监控 |
| 📁 Files | files |
浏览、预览和共享文件 |
在 apps/{app-id}/ 下新建目录,并包含以下内容:
app.json — 应用元数据(id、name、shortcode、icon、description)backend/routes.py — FastAPI 路由器(挂载路径为 /api/app/{shortcode}/)frontend/ — React 单页应用(基于 Vite,构建输出至 frontend/dist/)短代码(shortcode)必须唯一。应用加载器会在启动时自动发现并注册新应用。
可参考已有应用的实现模式。关键约定如下:
async def,返回纯字典(plain dict)/)的返回按钮应用可通过 commons.push_client 发送推送:
from commons.push_client import send_push await send_push(title="Alert", body="Something happened", url="/app/my-app/")
~/.local/share/privateapp/ ├── privateapp.db # 设置、用户偏好、推送订阅信息 ├── vapid_private.pem # VAPID 签名私钥 └── vapid_public.txt # VAPID 公钥
GET /api/apps — 获取已安装应用列表GET /api/settings/preferences — 获取用户偏好设置(时区、语言、应用排序)POST /api/settings/preferences — 保存用户偏好设置POST /api/push/send — 发送推送通知GET /api/push/test — 推送功能测试接口相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章