惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

Halo - 强大易用的开源建站工具

如何选择最佳网站搭建方案?2026年12款建站工具对比测评! Halo 和 WordPress 对比:开源 CMS 怎么选? Halo 和 Ghost 对比:博客、简报与会员订阅怎么选? Halo 和 Typecho 对比:现代 CMS 还是轻量博客? Halo 和 EmDash 对比:成熟 CMS 还是 Cloudflare 新方案? Halo 和 Hugo 对比:动态 CMS 还是静态网站生成器? Halo 和 Hexo 对比:动态 CMS 还是静态博客? Halo 和 Strapi 对比:全栈建站平台还是 Headless CMS? 在群晖 NAS 上用 Docker 部署 Halo 用 Obsidian 写文章,一键发布到 Halo 域名是什么?新手注册域名前要知道的 7 件事 虚拟主机、VPS 和云服务器有什么区别?建站服务器怎么选 建站需要准备什么?域名、服务器、备案和 SSL 的关系 域名解析:A 记录、CNAME、MX、TXT 分别怎么用 网站备案是什么?个人备案和企业备案有什么不同 SSL 证书和 HTTPS 是什么?免费证书够用吗 CDN 是什么?网站什么时候需要 CDN robots.txt 是什么?新手建站常见配置误区 Sitemap 是什么?它对网站收录有什么作用 SEO 写作基础:标题、描述、URL 和内链怎么做 301 和 302 重定向有什么区别?网站改版怎么降低排名风险 Google Analytics、Umami、Rybbit:流量统计工具怎么选 网站图片优化指南:格式、压缩和懒加载怎么做 网站安全基础:建站后必须做的 6 件事 Halo 如何定时发布文章 Halo 如何接入 Bing Webmaster Tools 支持优惠券和折扣码,Halo 2.25 发布 AI Foundation:给 Halo 插件生态一层 AI 能力底座 Halo 应用市场已支持开发者入驻和创建应用 Halo 如何接入 Google Search Console 如何自动备份 Halo 网站 让 AI Agents 管理 Halo 网站内容 支持商城小程序,Halo 2.24 发布 如何在本地快速体验 Halo 使用 Halo CLI + GitHub Actions 持续部署主题 使用页面缓存插件优化 Halo 网站速度 阿里云 ESA 接入 Halo 配置指南 七牛云 DCDN 接入 Halo 配置指南 如何一键更新 Halo 的主题和插件 又拍云 CDN 接入 Halo 配置指南 腾讯云 EdgeOne 接入 Halo 配置指南 Halo 网站加载慢?8 种原因排查与优化方法 Halo 导入 Word 文档教程:批量导入并保留图片 主题开发技巧:为 Halo 网站添加一个知识库样式的页面 Rybbit 接入 Halo 教程:开源隐私友好的流量分析工具 Umami 接入 Halo 教程:自托管网站流量统计 在 Halo 中使用 Markdown 写作的 6 种方式 如何从社区版切换到 Halo 付费版
在本地搭建 Halo 插件开发环境
Ryan Wang · 2026-04-15 · via Halo - 强大易用的开源建站工具

在本地开发 Halo 插件时,需要让 Halo 以开发模式加载你的插件项目。建议先用官方脚手架生成工程,再任选下面两种运行方式之一。

使用脚手架创建插件项目

官方提供 create-halo-plugin 脚手架,可在本机快速生成带 Gradle、前端构建与 DevTools 集成的插件模板。

前提条件

创建步骤

在终端执行:

pnpm create halo-plugin

按交互提示填写即可,常见字段含义如下:

  • Plugin name:插件标识,只能包含小写字母、数字和连字符

  • Domain:用于 Java 包名与 group 的包域,例如 com.example

  • Author name:作者展示名

  • Choose UI build tool:控制台前端构建工具,可选 RsbuildVite

命令结束后会生成一个独立目录,使用编辑器打开该目录即可开始开发。

方式一:使用 Halo Gradle 插件(推荐)

通过上述脚手架创建的项目已集成 DevTools。在插件项目根目录执行 haloServer 任务时,Gradle 会拉起一个用于插件开发的 Halo 容器,并把当前工程作为插件挂载进去。

前提条件

  • 已安装 Docker(并保证 Docker 守护进程正在运行)

  • 已安装 JDK 21

    • macOS / Linux

      # 推荐使用 SDKMAN 管理 JDK 版本,如已安装可略过
      curl -s "https://get.sdkman.io" | bash
      
      # 安装 JDK 21
      sdk install java 21-tem
    • Windows

      前往 https://adoptium.net 下载 JDK 21 安装包,按向导安装即可。

步骤

在插件项目根目录执行:

 # macOS / Linux
 ./gradlew haloServer

 # Windows
 ./gradlew.bat haloServer

首次拉取镜像可能需要一些时间。启动成功后,控制台会打印默认访问地址与账号密码,例如:

 Halo 初始化成功,访问:http://localhost:8090/console
 用户名:admin
 密码:admin

浏览器打开控制台,在插件列表中应能看到当前插件已加载;修改代码后按 DevTools 文档说明进行热更新或重新构建即可。

该方式不需要在本机单独克隆、编译 Halo 主仓库,环境一致性好,适合绝大多数插件开发场景。

方式二:本地运行 Halo 源码并指定插件目录

当本机无法使用 Docker,或你需要同时调试 Halo 核心与插件行为时,可以在本地从源码启动 Halo,并通过配置把插件目录固定为开发路径。

前提条件

  • 已按 Halo 开发环境运行 在本机成功运行 Halo 源码工程

  • 已有一个可用的插件项目(通常由脚手架创建),且能通过 ./gradlew build 正常产出插件包

步骤

在插件项目中先完成一次构建:

 # macOS / Linux
 ./gradlew build

 # Windows
 ./gradlew.bat build

在 Halo 工程 application/src/main/resources 下创建或编辑 application-local.yaml,增加插件开发模式与固定路径(路径改为你的插件项目根目录的绝对路径):

 halo:
   plugin:
     runtime-mode: development
     fixed-plugin-path:
       - /path/to/your-plugin-project

Windows 示例:

halo:
  plugin:
    runtime-mode: development
    fixed-plugin-path:
      - C:\path\to\your-plugin-project

在 Halo 仓库根目录启动(与官方文档中的 profile 保持一致):

# macOS / Linux
./gradlew bootRun --args="--spring.profiles.active=dev,local"

# Windows
gradlew.bat bootRun --args="--spring.profiles.active=dev,win,local"

访问 http://localhost:8090/console,确认插件已出现在插件列表中且功能正常。

如何选择

方式 优点 适用场景
Gradle haloServer 无需维护 Halo 源码;环境与官方容器一致;上手快 日常插件功能与 UI 开发(推荐默认)
Halo 源码 + fixed-plugin-path 可调试核心与插件联动;不依赖 Docker 无法使用 Docker,或需要修改/调试 Halo 本体

更多关于 Halo 插件开发的文档可查阅:Halo 文档 - 插件开发