# lfzy-panel-src **Repository Path**: lfzy/lfzy-panel-src ## Basic Information - **Project Name**: lfzy-panel-src - **Description**: 对标宝塔面板的轻量级服务器管理系统:Python 标准库 + SQLite 后端 + 原生 JS 前端,集成系统监控、站点管理、AI 运维助手、AI 自更新、DDNS、日程管理等功能 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: https://panel.lfzy.work - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-09 - **Last Updated**: 2026-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Linux, 运维面板 ## README # LFZY 管理面板 > **凌风逐月工作室**(Lingfeng Zhuyue Studio)出品 · 开放源代码([MIT License](LICENSE)) > [English](README.en.md) | 中文 对标宝塔面板的轻量级服务器管理系统,基于 Python 标准库 + psutil + SQLite 后端与原生 JavaScript + Canvas 前端构建,集成系统监控、站点管理、AI 运维助手、AI 自我更新与中文优化等模块,并内置 DDNS、日程管理、设置中心等完整运维能力。 --- ## 界面预览 ### 仪表盘 (Dashboard) ![仪表盘](截图/1.仪表盘.png) ### 站点管理 (Site Management) ![站点管理-卡片模式](截图/2.站点管理-卡片模式.png) ![站点管理-表格模式](截图/2.站点管理-表格模式.png) ![站点管理-新增站点](截图/2.站点管理-新增站点.png) ### DDNS 动态域名 (Dynamic DNS) ![DDNS-动态域名](截图/3.DDNS-动态域名.png) ### 系统信息 (System Information) ![系统信息](截图/4.系统信息.png) ### 监控中心 (Monitoring Center) ![监控中心](截图/5.监控中心.png) ### AI 助手 (AI Assistant) ![AI 助手-对话](截图/6.1-Ai助手-对话.png) ![AI 助手-提示词](截图/6.2-Ai助手-提示词.png) ![AI 助手-JS 控制台-调试](截图/6.3.0-Ai助手-JS控制台-调试.png) ![AI 助手-JS 控制台-测试](截图/6.3.1-Ai助手-JS控制台-测试.png) ![AI 助手-JS 控制台-工具](截图/6.3.2-Ai助手-JS控制台-工具.png) ![AI 助手-知识库](截图/6.4-Ai助手-知识库.png) ![AI 助手-日志](截图/6.5-Ai助手-日志.png) ![AI 助手-自更新](截图/6.6-Ai助手-自更新.png) ![AI 助手-编辑器](截图/6.7-Ai助手-编辑器.png) ### 日程管理 (Scheduled Tasks) ![日程管理](截图/7.日程管理.png) ![日程管理-新增任务](截图/7.日程管理-新增任务.png) ### 设置中心 (Settings Center) ![设置中心-系统配置](截图/8.0设置中心-系统配置.png) ![设置中心-告警通知](截图/8.1设置中心-告警通知.png) ![设置中心-界面偏好](截图/8.2设置中心-界面偏好.png) ![设置中心-账号安全](截图/8.3设置中心-账号安全.png) ![设置中心-Ai助手](截图/8.4设置中心-Ai助手.png) --- ## 功能特性 ### 1. 站点管理(增强) - 多维度站点配置:子域名、端口、目标、协议、备注、健康检查路径 - 安全防护:强制 HTTPS、IP 白名单/黑名单、HTTP 基础认证(自动生成 Caddyfile 指令) - 批量操作:多选批量启用/停用/删除 - 性能分析:站点健康探测(HTTP 状态码 + 响应延迟) - 筛选与视图:状态/协议筛选 + 搜索,表格视图与卡片视图切换 ### 2. 系统监控 - 实时资源监控:CPU(含每核)/内存/交换/磁盘(多分区)/磁盘 IO/网络(多网卡)/负载/运行时间 - 硬件信息页:CPU 型号+频率+核心、主板厂商+型号、物理磁盘型号+容量、磁盘分区、网卡+IP(8 卡片网格) - 数据可视化仪表盘:Canvas 折线图(DPR 高清),4 路实时滚动 + 历史趋势 - 历史数据:SQLite 时序存储,支持 1h/24h/7d 自动降采样查询 - 进程管理:列表排序 + 结束进程(保护系统关键进程与面板自身) - 服务状态:systemctl / sc 跨平台检测 - 异常告警:CPU/内存/磁盘阈值告警 + 最近告警列表 ### 3. AI 助手(Agent IDE) - OpenAI 兼容:可配置 Base URL / API Key / 模型 / 温度 / Max Tokens / 超时(已验证 DeepSeek-v4 流式) - **多模型一键切换**(cc-switch 风格):一个 API、多个模型快速切换,模型分组管理 - 流式实时输出:逐字动态显示 AI 回复,推理过程可折叠展示 - **截断自动续写**:输出受限被截断时自动提示继续,续写内容实时追加到同一回复 - **打断/停止**:生成过程中可随时停止,保留已生成内容 - **用量指标**:每条回复显示 输入/输出/总计 Token、缓存命中、推理 Token 与耗时 - 专家助手集群:8 种技能(通用/系统查询/代码执行/站点管理/运维/开发/安全/数据库专家) - AI 工具调用:生成并执行 Python 代码查询真实系统数据,支持 shell 命令与文件读写 - AI 编辑器(OpenCode 风格):文件树 + 代码编辑器 + 交互式终端,AI 代码块一键应用到文件 - 代码语法高亮:Python/JS/Java/SQL/HTML/CSS 多语言高亮 + 语法校验 - 会话管理:多会话并行、历史回溯、Markdown 渲染、文件/图片上传、表情 - 记忆库 / 知识库:SQLite 存储,自动整理上下文,知识库注入对话 - MCP 服务配置 / 技能库编辑 / 专家模式提示词:AI 高级配置三件套 - 内置可改提示词 + JS 执行环境(node) ### 4. AI 自我更新与恢复(受控自主) - 提案机制:AI/用户提出更新提案,人工审批后应用;AI 也可在对话中直接整项目自更新 - 版本快照:应用前快照整个代码区(src/web/docs/scripts),支持手动回退 - 健康检查:独立子进程 `py_compile` + `import panel`,不影响运行中服务 - 自动回退:健康检查失败自动恢复到上一稳定版本 - 启动自恢复:服务启动时检测未完成更新并自动回退 + 诊断 - 自我诊断:读取监控历史与 AI 日志,自动识别异常 - 记忆保全:快照覆盖代码区,`data/` 数据在回退中完整保留 - 重启机制:跨平台独立重启监督子进程(Windows/Linux) ### 5. DDNS 动态域名 - IPv4 / IPv6 双栈支持,动态更新 DNS 记录 - 多域名配置,定时同步(`ddns.py` / `ddns-lfzy-top.py`) ### 6. 日程管理(Scheduled Tasks) - 定时任务创建与管理,支持自定义脚本/命令 - 任务状态、执行历史跟踪 ### 7. 中文优化 - 中文指令识别:`zhcmd.py` 解析 11 类中文运维指令,**离线可用**(无需 AI API) - 全局指令面板:`Ctrl+K` 搜索站点/任务/页面/指令 - 中文日期格式化:`2026年08月07日 周四 13:06` - AI 中文语境:提示词强化中文运维语境与口语化理解 - 中文字体:PingFang SC / Microsoft YaHei / Noto Sans SC ## 技术栈 | 层 | 技术 | |----|------| | 后端 | Python 3.10+、标准库(http.server / sqlite3 / urllib)、psutil | | 前端 | 原生 JavaScript、Canvas、CSS 变量、Lucide 图标 | | 数据 | SQLite(监控历史、AI 记忆/知识/日志)+ JSON(站点/任务/设置) | | 依赖 | `psutil`(必装)、`node`(AI JS 执行环境,可选) | | 反向代理 | Caddy v2 | ## 目录结构 ``` lfzy-panel-src/ ├── src/ # 后端 Python 源码 │ ├── panel.py # 程序入口 │ ├── server.py # HTTP 路由与处理 │ ├── config.py # 路径/常量/默认配置 │ ├── storage.py # JSON 数据读写 │ ├── auth.py # 认证与会话 │ ├── sysinfo.py # 系统信息(psutil) │ ├── caddy.py # Caddyfile 生成与重载 │ ├── notifier.py # 通知检测后台 │ ├── mailer.py # 邮件发送 │ ├── monitor.py # 实时监控采集 + 进程/服务 │ ├── history.py # 监控历史(SQLite) │ ├── siteops.py # 站点探测与哈希 │ ├── ai.py # AI 引擎(OpenAI 兼容 + 调度 + 流式) │ ├── aisession.py # AI 会话/消息(SQLite) │ ├── aimemory.py # AI 记忆/知识/日志(SQLite) │ ├── aiexec.py # AI 代码执行环境 │ ├── selfupdate.py # AI 自我更新与恢复 │ ├── fsops.py / terminal.py# AI 编辑器文件操作 / 交互式终端 │ ├── modelstore.py # AI 多模型分组配置 │ ├── mcpstore.py # MCP 服务配置 │ ├── zhcmd.py # 中文指令解析器 │ ├── ddns_core.py # DDNS 共享核心 │ └── ddns.py / ddns-lfzy-top.py # DDNS 薄封装 ├── web/ # 前端 │ ├── index.html │ └── static/{css,js,icons}/ ├── data/ # 运行时数据(JSON + SQLite) ├── scripts/ # 运维脚本(install.sh / lfzy-panel.service / renew-cert.sh) ├── docs/ # 开发文档(见下方"开发文档"章节) └── 截图/ # 界面预览截图 ``` ## 开发文档 完整的项目开发文档位于 [`docs/`](docs/README.md),涵盖架构、后端、前端、API、数据存储、AI Agent 与自更新、部署运维及二次开发指南: | 文档 | 说明 | |------|------| | [docs/README.md](docs/README.md) | 开发文档总索引 | | [docs/01-架构总览.md](docs/01-架构总览.md) | 系统架构、进程模型、并发策略、关键技术决策 | | [docs/02-后端模块.md](docs/02-后端模块.md) | 后端全部模块职责与核心实现 | | [docs/03-前端架构.md](docs/03-前端架构.md) | 前端 SPA、组件、图标、主题、流式实现 | | [docs/04-API参考.md](docs/04-API参考.md) | 全部 REST API 端点与流式协议 | | [docs/05-数据存储与数据库.md](docs/05-数据存储与数据库.md) | JSON 文件与 SQLite 表结构 | | [docs/06-AI-Agent与自更新.md](docs/06-AI-Agent与自更新.md) | AI 引擎、技能库、工具调用、自更新机制 | | [docs/07-部署与运维.md](docs/07-部署与运维.md) | 部署、systemd、Caddy、DDNS、故障排查 | | [docs/08-二次开发指南.md](docs/08-二次开发指南.md) | 新增 API/页面/技能/模型/MCP 的完整流程 | ## 快速开始 ### 安装依赖 ```bash pip install -r requirements.txt # 必装:psutil # 可选:AI JS 执行环境需要 node # node --version ``` ### Linux 一键安装(推荐) ```bash bash scripts/install.sh # 创建 venv、安装依赖、检查 node/Caddy ``` ### 启动 ```bash source venv/bin/activate && python src/panel.py # 监听 0.0.0.0:8888 # 或直接 python3 src/panel.py ``` 首次访问 `http://服务器IP:8888` 完成初始化(设置管理员账号)。 ## 部署说明 ### 方式一:直接运行(开发 / 测试) ```bash cd /opt/lfzy-panel # 创建虚拟环境并安装依赖 python3 -m venv venv source venv/bin/activate pip install -r requirements.txt # 启动 python src/panel.py ``` 默认监听 `0.0.0.0:8888`。建议通过 `nohup` 或进程管理器常驻运行。 ### 方式二:systemd 服务托管(生产推荐) 1. 将项目部署到 `/opt/lfzy-panel`: ```bash sudo mkdir -p /opt/lfzy-panel # 将项目文件复制到 /opt/lfzy-panel cd /opt/lfzy-panel python3 -m venv venv && source venv/bin/activate && pip install -r requirements.txt ``` 2. 安装并启用 systemd 服务单元: ```bash sudo cp scripts/lfzy-panel.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now lfzy-panel sudo systemctl status lfzy-panel # 查看状态 journalctl -u lfzy-panel -f # 查看日志 ``` `scripts/lfzy-panel.service` 已配置: - `WorkingDirectory=/opt/lfzy-panel` - `ExecStart=/opt/lfzy-panel/venv/bin/python src/panel.py` - `Restart=always`(崩溃自动重启) - 默认以 root 运行;如需非 root,取消 `User=` / `Group=` 注释并确保该用户对 `data/` 有写权限 3. 常用管理命令: ```bash sudo systemctl restart lfzy-panel # 重启 sudo systemctl stop lfzy-panel # 停止 sudo systemctl start lfzy-panel # 启动 ``` ### 反向代理(Caddy) 站点管理功能依赖 Caddy 生成反向代理配置。面板默认监听 8888 端口,可结合域名配置: ```caddy your-domain.com { reverse_proxy 127.0.0.1:8888 } ``` ### DDNS 定时任务 ```bash crontab -e # 添加(根据实际域名脚本选择) */5 * * * * cd /opt/lfzy-panel && python3 src/ddns.py */5 * * * * cd /opt/lfzy-panel && python3 src/ddns-lfzy-top.py ``` ### 证书续期(可选) `scripts/renew-cert.sh` 配合 acme.sh 的 `--install-cert` 钩子使用:将 ECC 证书复制到 `/etc/caddy/certs/` 并重载 Caddy。请按实际域名调整脚本中的路径。 ### Windows 部署 ```powershell # 安装依赖 pip install -r requirements.txt # 启动(监听 0.0.0.0:8888) python src/panel.py ``` > 提示:Windows 下 AI 自更新的重启由独立监督子进程实现,与 Linux systemd 方案等效。 ## API 概览 所有接口需认证(Cookie 会话),前缀 `/api/`。 | 模块 | 主要端点 | |------|---------| | 站点 | `sites`(列表)、`sites/add\|update\|delete\|toggle\|probe\|batch` | | 监控 | `monitor/realtime\|history\|processes\|process/kill\|services\|alerts\|hardware` | | AI | `ai/chat\|test\|status\|prompt`、`ai/memory\|knowledge\|runjs\|logs\|skills\|mcp` | | AI 会话 | `ai/sessions`、`ai/session/chat`、`ai/session/chat/stream\|continue`、`ai/session/new\|rename\|delete\|messages` | | 模型 | `ai/models`、`ai/model/save\|delete\|toggle` | | 自更新 | `selfupdate/status\|snapshots\|proposals\|diagnose\|history`、`selfupdate/propose\|apply\|rollback\|restart` | | 系统 | `status`、`settings`、`notifications`、`caddy/apply`、`email/send` | ## 配置 在「设置中心」配置: - 系统配置:域名、DDNS Token、Caddyfile 路径 - 通知阈值:CPU/内存/磁盘警戒线 - AI 助手:启用开关、模型组(Base URL/模型/API Key)、MCP 服务、技能库 - 邮件、界面偏好、账号安全 数据文件位于 `data/`(首次运行自动创建默认配置)。 ## 安全说明 - **AI 自我更新**:采用受控自主模型,更新需人工审批;失败自动回退;仅修改代码区,不影响 `data/` 数据 - **JS 执行环境**:禁止 `child_process`,超时保护,仅限受信任管理员使用 - **路径安全**:自更新与文件操作采用路径白名单,屏蔽 `data/` 与敏感文件 - **认证**:所有管理接口需登录会话,密码加盐哈希存储 ## 开源许可 本项目采用 **MIT 许可证** 开放源代码,版权归 **凌风逐月工作室**(Lingfeng Zhuyue Studio)所有。完整许可文本见 [LICENSE](LICENSE)。 使用本项目时,请保留原作者版权声明。欢迎提交 Issue、Pull Request 或提出改进建议。 --- © 2026 凌风逐月工作室 (Lingfeng Zhuyue Studio) · [English README](README.en.md) · [MIT License](LICENSE)