1Panel 官方文档(老挝语版)精读:开源 Linux 服务器管理面板的部署与 1pctl CLI 实战
本文基于 1Panel 仓库中的老挝语官方文档 docs/README.lo.md 展开,系统梳理该项目的产品定位、核心功能体系与快速上手流程:包括一键安装脚本的使用方式、面板访问地址的构成规则,以及 1pctl 命令行工具获取登录凭据的底层实现(命令树、数据库读取与密码解密逻辑)。读完本文,你将能够独立完成 1Panel 的安装部署,并理解其控制台、Agent 双服务架构与 AI 模型管理能力的源码级细节。
1Panel 是什么
根据 docs/README.lo.md 的定义,1Panel 是一个现代、开源的 Linux VPS 管理面板,同时也是一个内置 AI Agent 支持的轻量级 AI 管理平台。它提供三项核心能力:
- 使用 Ollama 管理 LLM 模型;
- 启用并管理个人 AI 代理 OpenClaw;
- 通过干净的 Web 界面管理全部服务器系统,无需记忆 CLI 命令。
文档同时给出项目规模声明:全球有超过 200 万自托管用户(英文主 README README.md 中该数据为 2.5M+,老挝语版为 2,000,000+,属于翻译版本间的数据差异)。项目采用 GNU GPL v3.0 许可协议(见 LICENSE)。
从仓库结构可以印证“面板 + AI 平台”的双重定位:项目分为 core/ 与 agent/ 两大 Go 模块,前者负责登录认证、升级、日志、用户管理等核心业务(入口见 core/cmd/server/main.go),后者提供 200 余个 API v2 接口,覆盖容器、网站、数据库、防火墙、AI 模型等能力。AI 相关代码集中在 agent/app/service/ai.go、agent/app/provider/openclaw.go 等文件中。
为什么选择 1Panel:与主流面板的对比
文档给出了一张与市面常见面板的对比表,完整继承如下:
| 维度 | 1Panel | cPanel / Plesk | aaPanel | Webmin |
|---|---|---|---|---|
| 免费且开源 | ✅ | ❌ | 部分 | ✅ |
| 内置 AI Agent 运行时 | ✅ | ❌ | ❌ | ❌ |
| 一键应用市场 | ✅ 165+ 应用 | ❌ | ✅ | ❌ |
| 现代化 UI(2020 年后) | ✅ | ❌ | 部分 | ❌ |
| Docker / 容器管理 | ✅ | ❌ | ❌ | ❌ |
| 持续积极开发 | ✅ | ✅ | ✅ | 缓慢 |
这张对比表的核心论点是差异化竞争:免费开源 + 内置 AI Agent 管理 + 容器化应用部署,这三点在传统面板中均不存在。
核心功能逐项解析
AI 运行时管理:Ollama 模型 + OpenClaw 代理
文档将“运行时 AI Agent”列为第一特性:使用 Ollama 的 LLM 模型、启用 OpenClaw 个人代理、监控 GPU 使用率,全部可在仪表盘完成,无需单独维护一套 AI 技术栈。
源码层面可以印证这一能力的实现方式。agent/app/service/ai.go 定义了 IAIToolService 接口,提供模型的分页搜索(Search)、创建(Create)、停止(Close)、重建(Recreate)、删除(Delete)与同步(Sync)等完整生命周期操作。其细节加载方法 LoadDetail 的底层实现是:先通过 LoadContainerName() 获取 Ollama 容器名,再执行 docker exec <container> ollama show <model> 获取模型详情——也就是说,面板中的 AI 模型管理实际上是对 Docker 容器内 ollama CLI 的封装。OpenClaw 代理则由 agent/app/provider/openclaw.go 与 agent/app/provider/catalog.go 提供供给目录与验证逻辑。此外,agent/utils/ai_tools/ 目录下按加速器类型划分了 gpu/、npu/、xpu/ 等子包,对应文档提到的 GPU 监控能力。
一键建站
文档描述:一键创建生产就绪的网站,自动完成域名绑定、SSL 证书申请与 Nginx 配置,无需手工设置。仓库中对应实现分布在 agent/app/service/website_op.go、agent/app/service/website_ssl.go、agent/app/service/website_domain.go,以及 Nginx 配置解析组件 agent/utils/nginx/parser/ 中。
应用市场
文档声明内置 165+ 款优质开源应用(Nextcloud、Bitwarden、Umami、NocoBase 等),支持一键安装与升级。应用市场的数据模型由 agent/app/model/app_install.go、agent/app/model/app_detail.go 等承载,安装与升级服务逻辑在 agent/app/service/app_install.go 与 agent/app/service/app_upgrade.go 中。
Docker 与容器管理
文档说明可创建、启动、停止容器,并图形化管理镜像、网络与卷,无需频繁切换到 CLI。对应实现在 agent/app/service/container.go、agent/app/service/container_compose.go、agent/app/service/container_volume.go,Docker 客户端封装位于 agent/utils/docker/docker.go。
开箱即用的安全能力
文档列举:防火墙规则、fail2ban、容器隔离、WAF 与日志审计,全部默认启用、从第一天起生效。仓库中的对应模块包括 agent/app/service/firewall.go(含 iptables/nftables 双栈工具链,见 agent/utils/firewall/iptables_helper/ 与 agent/utils/firewall/nftables_helper/)、agent/app/service/fail2ban.go,以及 Docker 端口守护 agent/utils/firewall/docker_guard/。
备份与恢复
文档描述:可定时自动备份到 AWS S3、Cloudflare R2 或本地存储,任意快照均可一键恢复。备份服务按资源类型拆分为 agent/app/service/backup_container.go、agent/app/service/backup_website.go、agent/app/service/backup_mysql.go 等,云端存储客户端封装在 agent/utils/cloud_storage/client/ 目录中。
快速上手:60 秒安装
文档给出的环境要求:
- Linux VPS(Debian / Ubuntu / CentOS / Rocky);
- 1 GB 内存;
- 可联网。
安装命令:
bash -c "$(curl -sSL https://resource.1panel.pro/v2/quick_start.sh)"
安装完成后,在浏览器打开 http://<your-server-ip>:<port>/<security-path> 访问面板。其中端口与“安全入口路径”(security-path)是安装脚本生成的随机值,用于降低被扫描探测到的风险。若需要查看登录凭据,通过 SSH 执行:
1pctl user-info
1pctl 命令的源码级实现
1pctl 是 1Panel 附带的 CLI 工具,其命令树由 core/cmd/server/cmd/root.go 中的 cobra RootCmd 注册。当前仓库中实际注册的子命令包括:
| 命令 | 作用 | 源码位置 |
|---|---|---|
user-info |
打印面板地址、用户名、初始密码 | core/cmd/server/cmd/user-info.go |
user-list |
列出用户 | core/cmd/server/cmd/user.go |
version |
查看系统版本与运行模式 | core/cmd/server/cmd/version.go |
update |
修改用户名/密码/端口/版本(升级) | core/cmd/server/cmd/update.go |
reset |
重置 MFA、SSL、安全入口、绑定 IP、域名、Passkey | core/cmd/server/cmd/reset.go |
listen-ip |
修改监听 IPv4/IPv6 | core/cmd/server/cmd/listen-ip.go |
restore |
从升级暂存目录恢复 | core/cmd/server/cmd/restore.go |
app init |
供应用市场脚本调用面板初始化 | core/cmd/server/cmd/app.go |
几个值得注意的实现细节:
- 配置来源:
1pctl的所有命令都从/usr/local/bin/1pctl这个文件中读取BASE_DIR等键值对(见 core/utils/ctl_conf/ctl_conf.go 中的defaultFile常量与LoadFromFile函数)。也就是说,安装脚本生成的1pctl可执行文件本身同时充当了配置文件,BASE_DIR决定了数据目录位置。 - 凭据读取:
user-info命令(core/cmd/server/cmd/user-info.go)会依次连接core.db(核心配置)与agent.db(代理侧系统信息),从 settings 表读取UserName、Password、ServerPort、SSL、SecurityEntrance、BindDomain、SystemIP等键,拼装出完整访问地址。 - 密码仅在首次登录前显示:
shouldShowInitialPassword函数(core/cmd/server/cmd/root.go)通过统计登录日志中成功记录条数判断——只有从未成功登录过时才打印明文密码,且若数据库中存在 16 位EncryptKey,会先对该字段做对称解密再输出。 - 国际化输出:命令输出文案走 i18n 机制,老挝语用户执行的
1pctl user-info会输出老挝语提示,对应语言文件为 core/i18n/lang/lo.yaml(如UserInfoAddr、UserInfoPassHelp、SudoHelper等键)。 - 权限要求:所有命令首先通过
isRoot()检查当前用户 UID 是否为 0,非 root 用户会收到 “使用sudo 1pctl ...或切换 root 用户” 的提示。
升级与恢复
文档虽未展开升级流程,但仓库提供了完整支撑:1pctl update 命令族处理版本升级(core/cmd/server/cmd/update.go),升级失败时可用 1pctl restore 从 BASE_DIR/1panel/tmp/upgrade 暂存目录回滚(core/cmd/server/cmd/restore.go)。核心服务升级逻辑在 core/app/service/upgrade.go,升级前的自动备份在 core/utils/upgrade/backup.go。
OSS 与 Pro 版本差异
文档明确:1Panel OSS 永久免费,Pro 版面向团队与生产级场景增加以下能力(完整继承原文档表格):
| 功能 | OSS | Pro |
|---|---|---|
| 一键安装应用 | ✅ | ✅ |
| AI 代理(OpenClaw) | 1 个代理 | 不限 |
| WAF 与高级安全 | 基础 | ✅ |
| 网站防篡改 | ❌ | ✅ |
| 网站在线时长监控 | ❌ | ✅ |
| 多节点管理 | ❌ | ✅ |
| 自定义 Logo 与主题 | ❌ | ✅ |
| 优先技术支持 | ❌ | ✅ |
Pro 版自 $80/年起。需要注意:该表格反映的是老挝语文档发布时的版本策略,英文主文档 README.md 中的对比表还包含 Ent 版(KVM Web UI、AI Gateway 等)与不同的代理数量限制(OSS 5 个代理),阅读时以对应版本为准。
社区、安全与许可
- 官方文档与社区支持通过 Discord 与官方文档站提供(文档站内链接,此处不展开);
- 漏洞报告须先阅读 SECURITY.md 再行披露;
- 项目整体以 GNU GPL v3.0 许可发布,核心代码文件头部的 swagger 注释(见 core/cmd/server/main.go)同样声明了 GPL-3.0 许可。
小结
docs/README.lo.md 作为 1Panel 多语言文档体系中的老挝语版本(同目录下还包含中文简体/繁体、日文、俄文等 13 个语言版本),完整覆盖了产品定位、竞品对比、功能清单、安装流程与版本策略。结合仓库源码可以确认:其宣传的 AI 管理能力并非空谈——Ollama 模型生命周期管理与 OpenClaw 代理均已在 agent/ 模块中落地;1pctl CLI 的命令树、凭据读取与解密逻辑也都能在上文列出的具体文件中找到对应实现。对于需要快速部署并托管开源应用、网站与 AI 模型的 Linux 服务器管理员而言,这套“一条脚本安装 + CLI 兜底 + Web 全图形化”的组合构成了 1Panel 的核心价值。
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