1Panel 全面解析:开源 Linux 服务器运维面板与轻量级 AI 管理平台的核心能力与源码架构
本文以 1Panel 官方中文 README(docs/README.zh-Hans.md)为主体,解读这款现代化、开源的 Linux 服务器运维管理面板的产品定位、六大核心能力、快速开始方式,并结合仓库中 agent/core/frontend 三个模块的真实源码与配置文件,说明其前后端分离架构、一键安装与源码构建流程、API 接入方式和“Metal-to-Agent”全栈 AI 管理的具体落地方式。读完本文,你能独立安装部署 1Panel、从源码层面理解其双进程(core + agent)设计,并掌握通过 Makefile 从源码构建面板的完整命令。
什么是 1Panel?
1Panel 是一款现代化的开源 Linux 服务器运维管理面板,同时也是轻量级的 AI 管理平台。通过直观易用的 Web 界面,1Panel 帮助用户轻松掌控服务器全局:无论是 AI 智能体与本地大模型,还是网站、数据库、容器、文件及计划任务,所有核心运维场景均能一站式高效管理。官方 README 将其核心特性归纳为六点:
- 全栈 AI 管理:提供从底层硬件到智能体(Metal-to-Agent)的统一管理平台,集成 AI 门户、AI 网关、Skills Hub,并支持对智能体与模型的集中化管理;
- 高效可视化运维:通过 Web 图形界面,轻松实现主机监控、文件管理、数据库管理、容器管理等功能;
- 快速建站部署:深度集成 WordPress 与 Halo 等主流建站程序,一键完成域名绑定、SSL 证书配置;
- 精选应用商店:内置高质量开源应用商店,提供一键安装与升级服务;
- 企业级安全:基于容器技术部署应用,有效减少漏洞暴露面,同时提供防火墙、日志审计等安全功能;
- 一键数据备份:支持一键备份与恢复,并可对接多种云端存储。
这六项特性并非只是宣传口号,在仓库源码中均有对应模块可查证,下文将逐一展开。
仓库架构:core、agent 与 frontend 三模块
从源码结构看,1Panel 采用前后端分离的三模块组织方式,这也是理解整套系统的关键:
| 模块 | 定位 | 入口文件 |
|---|---|---|
| core/ | 面板核心进程:登录认证、会话管理、备份、脚本库等 | core/cmd/server/main.go |
| agent/ | 服务器代理进程:直接操作主机、容器、数据库、网站、AI 等 | agent/cmd/server/main.go |
| frontend/ | 前端 Web 应用(Vue 3 + Vite + Element Plus + Pinia) | frontend/package.json |
两个 Go 进程都以 github.com/1Panel-dev/1Panel/{core,agent} 作为独立 module(见 core/go.mod、agent/go.mod),统一使用 Go 1.26.1 与 Gin v1.12.0 框架,并使用 glebarez/sqlite(纯 Go 的 SQLite 驱动)作为本地存储——这一选型使面板无需依赖外部数据库即可运行,契合“轻量级”定位。
从两个模块的依赖差异可以直观看出分工:
- **core 侧(core/go.mod)**引入了
webauthn(Passkey 通行密钥)、saml、go-oidc、go-ldap(企业级 SSO 登录)、base64Captcha(验证码)、robfig/cron(定时任务)、maroto(PDF 导出)等依赖,支撑登录安全与会话管理; - **agent 侧(agent/go.mod)**引入了
docker/docker(容器管理)、go-acme/lego(ACME SSL 证书签发,且 fork 了 1Panel 自己的 lego 版本)、go-sql-driver/mysql、jackc/pgx(MySQL/PostgreSQL 客户端)、mholt/archiver(压缩包)、maxminddb-golang(IP 地理信息)等依赖,支撑对主机与数据层的直接操作。
agent 的 API 路由集中在 agent/router/ 下,按业务域拆分:ro_container.go、ro_database.go、ro_website.go、ro_ai.go、ro_app.go、ro_backup.go、ro_cronjob.go、ro_dashboard.go、ro_file.go、ro_host.go、ro_nginx.go、ro_runtime.go、ro_toolbox.go 等;agent/init/router/router.go 中所有接口统一挂载在 /api/v2 前缀下,并默认启用 i18n 中间件。core 侧则挂载登录、备份、脚本库、日志、设置等路由(见 core/router/)。
前端 frontend/src/ 按 api、components、views、store、routers 等标准 Vue 3 工程结构组织,views 目录下约有 470 个 Vue 页面组件,覆盖面板全部功能界面。
快速开始:一键安装与离线部署
一键安装:在目标 Linux 服务器上执行如下命令即可一键安装 1Panel:
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
如果目标机器处于离线环境,官方推荐改用安装包方式进行安装部署(详见在线文档的安装章节)。
CLI 子命令:core 进程基于 Cobra 提供一组运维子命令(见 core/cmd/server/cmd/),包括 app(启动面板)、reset(重置)、restore(恢复)、update(升级)、user / user-info(用户管理)、listen-ip(监听地址)、version(版本信息)。agent 进程则通过 agent/cmd/server/cmd/root.go 以 1panel-agent 命令名启动,其 RunE 直接调用 server.Start()。
从源码构建:Makefile 提供了完整的构建入口,核心目标是:
build_all: build_frontend build_core_on_linux build_agent_on_linux
对应地:
build_frontend:在frontend/目录执行npm install && npm run build:pro(生产模式 Vite 构建);build_core_on_linux/build_agent_on_linux:分别以CGO_ENABLED=0、-trimpath -ldflags '-s -w'编译出1panel-core与1panel-agent两个二进制文件(输出至build/目录);build_on_local:面向 macOS(darwin)开发机,固定GOOS=linux GOARCH=amd64交叉编译,便于本地开发调试;- 另有
clean_assets(清理前端静态资源)与upx_bin(用 upx 压缩二进制)等辅助目标。
基础配置文件:agent 进程的默认配置为 agent/cmd/server/conf/app.yaml,关键项包括:
base:
install_dir: /opt # 面板安装目录
mode: dev # 运行模式
is_demo: false # 演示模式
is_offline: false # 离线模式
log:
level: debug # 日志级别
time_zone: Asia/Shanghai
max_backup: 10 # 日志最大备份份数
is_offline 对应上文提到的离线环境场景;core 侧同样维护一份 core/cmd/server/conf/ 配置。
API 接入:Swagger 与 API-Key 鉴权
两个进程的 main.go 中都内嵌了 Swagger 注解(@BasePath /api/v2,License 为 GPL-3.0),说明 1Panel 提供了完整的 OpenAPI 文档。从 core/cmd/server/main.go 与 agent/cmd/server/main.go 的注解可以看到其 API-Key 鉴权机制:
curl -X GET "http://{host}:{port}/api/v2/toolbox/device/base" \
-H "1Panel-Token: <1panel_token>" \
-H "1Panel-Timestamp: <current_unix_timestamp>"
其中 1Panel-Token 的生成规则为 md5('1panel' + API-Key + UnixTimestamp),1Panel-Timestamp 为当前秒级时间戳。这意味着 1Panel 的 /api/v2/* 接口可以脱离 Web 界面、被外部自动化系统(CI/CD、监控平台等)直接调用,这是其“企业级”运维集成的技术基础。
全栈 AI 管理(Metal-to-Agent)的源码证据
README 中“全栈 AI 管理”是最具辨识度的卖点。在源码中,这一能力落在 agent 模块的 AI 相关目录:
- MCP 服务器网关:agent/cmd/server/ai/compose.yml 通过容器编排
supercorp/supergateway镜像,把 stdio 传输的 MCP Server 暴露为 HTTP/SSE/Streamable-HTTP 服务,支持${HOST_IP}:${PANEL_APP_PORT_HTTP}端口映射并加入 1Panel 外部网络1panel-network——这正是 README 中“AI 网关”的落地形态; - 本地大模型推理:agent/cmd/server/ai/llm-compose.yml 编排
tensorrt-llm推理容器,通过runtime: nvidia与deploy.resources.reservations.devices(driver: nvidia, count: all)申请全部 GPU,挂载${MODEL_PATH}模型目录并配置ipc: host、memlock等运行参数——对应 README 所述“从底层硬件(Metal)”的管理能力; - 应用层:agent 的 API 目录中存在
ai.go、agents.go、mcp_server.go、tensorrt_llm.go、gpu.go等接口文件,以及对应的 agent/app/service/ 中的agents_*.go(智能体、频道、技能、插件等)服务实现;同时 agent/utils/ai_tools/ 下按accelerator、gpu、npu、xpu划分了多种 AI 加速卡的探测逻辑,印证“Metal-to-Agent”覆盖多种硬件形态的表述。
企业级安全与备份能力
- 登录安全:从 core/go.mod 的依赖可见面板集成了 WebAuthn(Passkey,见 core/utils/passkey/)、MFA 多因素认证(core/utils/mfa/mfa.go)、SAML/OIDC/LDAP 企业登录、IP 限制与会话管理(core/middleware/ 中
ip_limit.go、session.go、csrf_protect.go等); - 防火墙与主机安全:agent/utils/firewall/ 同时实现了
nftables_helper与iptables_helper两套规则引擎,并包含docker_guard(容器端口保护)、forwarding(端口转发)、lifecycle(规则生命周期)等子模块,对应 README 中“防火墙、日志审计等安全功能”; - 备份与云存储对接:agent/utils/cloud_storage/client/ 提供多家云盘客户端,agent/app/service/ 下
backup_mysql.go、backup_container.go、backup_website.go等文件说明备份覆盖了数据库、容器、网站等对象;core 侧另有 core/utils/upgrade/backup.go 支撑面板自身升级前的备份。
应用商店与建站能力
agent 侧的应用商店由 app 系列模块支撑:agent/app/api/v2/ 提供 app.go、app_install.go、app_ignore_upgrade.go 等接口,agent/app/service/ 提供 app_install.go、app_upgrade.go、app_sync_task.go 等服务,模型层包含 app_detail.go、app_install_resource.go 等,完整覆盖了“一键安装与升级、一键扩展服务器功能”的应用商店流程。建站方面,nginx.go、website_*.go(SSL、ACME、DNS 解析、负载均衡、重写、代理等)以及 agent/cmd/server/nginx_conf/ 下的大量 Nginx 模板配置,支撑了 README 提到的“一键完成域名绑定、SSL 证书配置”。
多语言支持与项目生态
1Panel 的国际化覆盖前后端两侧:前端 frontend/src/lang/ 与后端 core/i18n/lang/、agent/i18n/lang/ 各提供 14 种语言文件(zh、zh-Hant、en、ja、ko、pt-BR、ru、es-ES、fr、de、tr、ar、ms、fa、lo 等),文档层面则提供 docs/ 目录下 15 份对应语言的 README(如 docs/README.ja.md、docs/README.es-es.md 等)。
在版本选择上,官方文档提供了社区版与专业版的版本对比页;在生态上,1Panel 与飞致云的 MaxKB(智能体平台)、JumpServer(堡垒机)、Halo(建站工具)、DataEase(数据可视化)、MeterSphere(测试平台)、KubePi(K8s 面板)等项目同属一个开源矩阵,可组合覆盖从单机运维到 K8s 集群的完整场景。
License 与适用前提
1Panel 采用 GNU General Public License v3(GPLv3)许可证发布,版权归 FIT2CLOUD 飞致云所有(见 LICENSE)。使用前需注意:
- 一键安装脚本面向可联网的 Linux 服务器,离线环境应改用安装包方式部署;
- AI 相关能力(如 TensorRT-LLM 推理)依赖 NVIDIA GPU 环境,容器需具备
nvidiaruntime 支持; - 从源码构建需要 Go 1.26.1+ 工具链与 Node.js 环境(前端构建),并可用
make build_all一次性产出前端资源与两个后端二进制。
综上,1Panel 的 README 所描述的每一项能力——可视化运维、应用商店、建站、安全、备份与全栈 AI 管理——都能在 core/agent/frontend 三模块的源码中找到对应实现,这使该仓库不仅是一个可直接安装的面板,更是一个值得细读的服务器运维系统参考实现。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0623
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00