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

推荐订阅源

Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threatpost
GbyAI
GbyAI
V
Visual Studio Blog
H
Help Net Security
Vercel News
Vercel News
P
Palo Alto Networks Blog
Project Zero
Project Zero
AWS News Blog
AWS News Blog
Latest news
Latest news
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
The Register - Security
The Register - Security
博客园_首页
WordPress大学
WordPress大学
G
GRAHAM CLULEY
T
Tor Project blog
有赞技术团队
有赞技术团队
Know Your Adversary
Know Your Adversary
AI
AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
O
OpenAI News
博客园 - 聂微东
月光博客
月光博客
S
Security Affairs
Webroot Blog
Webroot Blog
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
NISL@THU
NISL@THU
N
News and Events Feed by Topic
Blog — PlanetScale
Blog — PlanetScale
S
Securelist
V
Vulnerabilities – Threatpost
aimingoo的专栏
aimingoo的专栏
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Y
Y Combinator Blog
Cisco Talos Blog
Cisco Talos Blog
The Cloudflare Blog
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
L
Lohrmann on Cybersecurity
T
The Blog of Author Tim Ferriss

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

支持优惠券和折扣码,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 文档 - 插件开发