Post

【Tools工具箱插件】介绍

这份文档面向站点管理员、内容运营和插件使用者,目标是把 Tools 工具箱能做什么、在哪里配置、怎么操作说明白。 别看它叫“工具箱”,功能不算少:内容保护、微信运营、自动化、前台组件全塞进来了,第一次用不看文档硬点,那基本就是在控制台里走迷宫。

Halo插件 阅读 2 点赞 0 评论 1

Tools 工具箱图文功能介绍与使用教程

这份文档面向站点管理员、内容运营和插件使用者,目标是把 Tools 工具箱能做什么、在哪里配置、怎么操作说明白。 别看它叫“工具箱”,功能不算少:内容保护、微信运营、自动化、前台组件全塞进来了,第一次用不看文档硬点,那基本就是在控制台里走迷宫。

功能体验

地址

账号/密码

管理端

demo/demo123.

目录

  1. 功能总览

  2. 安装与基础配置

  3. 内容工具管理后台

  4. 限制阅读与付费访问

  5. 微信公众号同步

  6. 微信公众号互动与关键词回复

  7. 自动化任务:定时发布、SEO 推送、订单同步

  8. 下载信息块

  9. 自定义弹窗

  10. 随机图与图片代理

  11. 模板与样式定制

  12. 常见问题排查

  13. 图片资源清单

1. 功能总览

Tools 工具箱是一个面向 Halo 的综合增强插件,核心能力分为六类:

模块

能力

典型场景

内容保护

验证码、密码、付费、登录、评论后可见

付费教程、会员内容、公众号引流

微信运营

公众号回调、关键词回复、文章搜索、评论通知

用公众号承接读者互动

微信同步

Halo 文章同步到微信公众号草稿并发布

多平台内容分发

自动化任务

文章定时发布、百度 SEO 推送、支付订单状态同步

减少人工巡检

前台组件

下载卡片、自定义弹窗、随机图、图片代理

优化内容展示和活动投放

管理后台

付费订单、关键词规则、公众号草稿集中管理

运营日常处理

主要入口:

入口

位置

插件配置

控制台 -> 插件 -> Tools工具箱 -> 设置

内容工具管理

控制台 -> 工具 -> 内容工具管理

文章同步到公众号

控制台 -> 文章 -> 文章操作菜单 -> 同步至微信公众号

文章限制阅读

文章编辑页 -> 注解设置 -> 限制阅读

页面限制阅读

页面编辑页 -> 注解设置 -> 限制阅读

编辑器扩展节点

Halo 编辑器插入菜单中的限制阅读节点、下载信息块

2. 安装与基础配置

2.1 安装前检查

安装前先确认:

  • Halo 版本 >= 2.24.0

  • 已安装并启用 LywqPluginCore >= 2.3.0

  • 如需付费访问,已安装并启用 PluginPayment >= 3.0.0

  • 站点外部访问地址配置正确,公众号回调、图片同步、百度推送都会用到

2.2 启用插件

  1. 进入 控制台 -> 插件

  2. 上传或安装 Tools工具箱

  3. 点击启用。

  4. 进入 设置 页面,先完成基本配置。

2.3 基本设置

配置位置:控制台 -> 插件 -> Tools工具箱 -> 设置 -> 基本设置

配置项

用途

建议

authToken

外部接口认证、密码加解密、部分 API 安全校验

必配,使用 32 位以上随机字符串

限制阅读免校验角色

管理员、运营人员访问限制内容时跳过校验

按需配置,别把普通用户角色塞进去

2.4 支付设置

配置位置:设置 -> 支付设置

  1. 开启 是否开启支付

  2. 如需匿名购买,开启 是否开启免登录支付

  3. 配置支付宝、微信支付渠道映射。

  4. 设置订单状态同步 Cron。

  5. 设置支付成功自动刷新页面频率。

注意:付费访问依赖 PluginPayment。支付渠道没配好,前台按钮长得再漂亮也只是个摆设,别指望它自己会收钱。

3. 内容工具管理后台

入口:控制台 -> 工具 -> 内容工具管理

当前管理后台包含三个标签页:

标签页

作用

付费访问订单

查看限制阅读付费订单、筛选支付状态、打开原内容、删除非成功订单

公众号关键词回复

创建、编辑、停用、删除关键词回复规则

公众号草稿

查看公众号草稿、按状态筛选、发布草稿、删除草稿

3.1 付费访问订单

可筛选:

  • 内容类型:文章、页面

  • 支付状态:未支付、支付中、支付成功、支付失败

  • 排序:支付时间、创建时间

可操作:

  • 打开关联文章或页面

  • 删除未完成或失败订单

  • 支付成功订单不可删除

3.2 公众号关键词回复

关键词回复规则是插件的一等资源,不是设置项里一坨 JSON。它支持:

  • 多关键词

  • 启用/停用

  • 精确、前缀、包含、正则匹配

  • 优先级

  • 文本回复、图文回复

  • 命中次数与最近命中时间

3.3 公众号草稿

公众号草稿页用于管理从微信端拉取的草稿列表,可执行:

  • 按发布状态筛选

  • 发布草稿

  • 删除草稿

  • 批量删除草稿

  • 打开原文链接

4. 限制阅读与付费访问

限制阅读适用于文章和页面,支持全文隐藏或指定区域隐藏。

4.1 支持的访问模式

模式

说明

适合场景

验证码访问

输入验证码后查看内容,可对接公众号获取验证码

公众号引流、临时访问

密码访问

输入预设密码后查看内容,密码会加密保存

私密分享、课程群

付费访问

支付后解锁内容,支持登录购买和匿名邮箱购买

付费专栏、资源售卖

登录访问

登录后可看,可限制角色或会员等级

会员专属内容

评论访问

评论审核通过后可看

提升互动

4.2 开启全文限制

  1. 打开文章或页面编辑页。

  2. 找到 注解设置 -> 限制阅读(工具箱提供)

  3. 选择访问模式。

  4. 限制区域 选择 全部内容

  5. 按访问模式补充配置,例如密码、金额、角色、会员等级。

  6. 保存内容。

4.3 开启指定内容限制

  1. 在编辑器中保留公开可见的正文。

  2. 插入 限制阅读分割限制阅读内容 节点。

  3. 将需要隐藏的内容放入限制节点之后或节点内部。

  4. 在注解设置中将 限制区域 选择为 指定内容

  5. 保存并到前台验证。

编辑器扩展节点:

节点

作用

restrict-read-html

限制阅读分割,每篇内容通常只放一个

restrict-read-block

限制阅读内容块,可承载需要隐藏的内容

4.4 验证码访问教程

  1. 设置 -> 验证码设置 中选择验证码类型、长度、有效期。

  2. 配置二维码引导图和提示文案。

  3. 如使用公众号获取验证码,开启 微信公众号获取验证码,配置关键词和回复模板。

  4. 在文章/页面注解中选择 验证码访问

  5. 前台访问时输入验证码,校验通过后解锁。

4.5 密码访问教程

  1. 在文章/页面注解中选择 密码访问

  2. 填写访问密码。

  3. 可选填写 密码访问框 DIY 内容

  4. 保存后密码会加密为 pwd: 前缀形式。

  5. 再次编辑时插件会自动解密回填。

4.6 付费访问教程

  1. 安装并启用 PluginPayment

  2. 设置 -> 支付设置 中开启支付。

  3. 配置可用支付渠道。

  4. 如允许未登录访客购买,开启免登录支付。

  5. 在文章/页面注解中选择 付费访问

  6. 填写金额,单位为元。

  7. 保存并前台测试支付流程。

付费访问链路:

  1. 访客访问内容。

  2. 插件显示付费模板。

  3. 登录用户直接发起支付;匿名用户需先验证邮箱。

  4. 支付成功后生成访问授权。

  5. 后续访问以授权记录为准,不靠浏览器里一个“看起来像缓存”的东西糊弄。

4.7 登录访问教程

  1. 在注解中选择 登录访问

  2. 授权来源可选:

    • 用户角色

    • 会员等级

  3. 如不选择任何角色,表示所有登录用户可访问。

  4. 会员等级模式需要会员插件提供等级数据。

4.8 评论访问教程

  1. 在注解中选择 评论访问

  2. 保存内容。

  3. 访客提交评论。

  4. 评论通过审核后,访客可查看受限内容。

5. 微信公众号同步

该功能用于把 Halo 已发布文章同步到微信公众号草稿,减少复制、粘贴、重新排版这些人工活。

5.1 前置配置

配置位置:设置 -> 微信公众号对接设置

填写:

  • wechatAppId

  • wechatAppSecret

  • 令牌(Token)

  • 可选:EncodingAESKey

如果填写 EncodingAESKey,微信公众号后台也要启用安全模式。插件和公众号后台加密配置不一致,消息回调会直接失败,别问,问就是微信不惯着你。

5.2 同步文章到公众号草稿

  1. 进入 控制台 -> 文章

  2. 找到已发布文章。

  3. 点击操作菜单中的 同步至微信公众号

  4. 在弹窗中检查或编辑:

    • 标题

    • 作者

    • 摘要

    • 封面图

    • 原文链接

    • 同步内容

    • 文章主题

    • 评论开关

  5. 点击预检。

  6. 预检通过后同步到微信公众号草稿。

  7. 内容工具管理 -> 公众号草稿 中发布或删除草稿。

5.3 同步前预检规则

插件会检查:

  • 文章是否已发布

  • 是否存在发布快照

  • 摘要是否为空

  • 摘要长度是否超过 54 字

  • 封面图是否可访问

  • 内容图片是否需要补全为绝对地址

  • 内容长度是否接近微信公众号限制

  • 下载信息块、限制阅读节点是否已降级为回原文提示

5.4 微信内容渲染规则

原始内容

微信端处理

Markdown 标题、段落、列表

转换为微信兼容 HTML

表格、任务列表、删除线

尽量保留排版

代码块

保留代码结构

本地或相对图片

预检提示并尝试补全

下载信息块

降级为“请回原文查看”提示

限制阅读节点

降级为“请回原文查看”提示

5.5 发送官方预览

同步弹窗支持选择预览接收用户并发送微信公众号官方预览。适合正式发布前给运营或作者确认排版。

6. 微信公众号互动与关键词回复

公众号功能分两层:

  • 接入层:处理微信服务器验证和消息回调。

  • 业务层:关注回复、关键词回复、文章搜索、友链提交、瞬间提交、验证码获取、评论通知。

6.1 配置公众号服务器地址

在微信公众号后台配置服务器地址:

https://你的域名/apis/tools.muyin.site/v1alpha1/wechat/oa 

Token 使用插件设置中的 令牌(Token)

6.2 关注自动回复

配置位置:设置 -> 微信拓展设置 -> 关注自动回复

支持:

  • 文本消息

  • 图文消息

图文消息需要配置标题、描述、封面图、跳转链接。

6.3 关键词回复

配置位置:内容工具管理 -> 公众号关键词回复

创建规则时填写:

  • 关键词列表

  • 匹配模式:精确、前缀、包含、正则

  • 优先级

  • 回复类型:文本或图文

  • 回复内容

匹配优先级:优先级大的先命中;优先级相同则按创建时间处理。

6.4 公众号文章搜索

配置位置:设置 -> 文章拓展设置 -> 微信公众号获取文章

  1. 开启功能。

  2. 设置关键词前缀,例如 搜索

  3. 选择文本或图文回复。

  4. 可选使用主题搜索页。

用户发送:

搜索 插件

公众号返回相关文章结果。

6.5 获取 openId

用户在公众号发送:

获取openid

插件会返回当前用户 openId。这个值可用于配置评论通知、瞬间发布用户绑定等场景。

6.6 公众号提交友链

用户发送:

提交友链
友链名称:示例站点;
友链地址:https://example.com;
友链图标:https://example.com/logo.png;
友链描述:一个示例站点;

插件会创建 Halo 友链资源。默认友链分组在 微信公众号对接设置 -> 友链提交设置 中配置。

6.7 公众号提交瞬间

用户发送:

提交瞬间
内容:今天发布了一篇新教程;
标签:教程, Halo;

之后可继续发送图片或视频作为配图,再按提示确认发布。瞬间发布用户、附件存储策略、附件分组在 微信公众号对接设置 -> 瞬间提交设置 中配置。

6.8 评论通知

配置位置:微信公众号对接设置 -> 评论通知设置

支持:

  • 模板消息

  • 订阅消息

  • 字段映射

  • 作者用户名与 openId 绑定

开启后,新评论触发时可通知对应作者或管理员。

7. 自动化任务:定时发布、SEO 推送、订单同步

Tools 工具箱通过插件调度器注册三类任务:

任务

任务键

作用

文章定时发布

publish-post-schedule

到达设置时间后自动发布文章

百度 SEO 推送

seo-push-schedule

把已发布文章 URL 推送到百度

支付订单状态同步

sync-tools-pay-order-status-schedule

查询支付中订单并更新授权状态

7.1 文章定时发布

  1. 设置 -> 文章拓展设置 中开启 文章定时发布

  2. 配置 Cron 表达式。

  3. 在文章编辑页注解中开启 是否定时发布(工具箱提供)

  4. 设置未来发布时间。

  5. 保存文章。

到达时间后,插件自动发布文章并清理任务记录。

7.2 百度 SEO 推送

  1. 登录百度站长平台。

  2. 获取链接提交 Token。

  3. 设置 -> SEO设置 中开启 SEO。

  4. 填写百度 Token。

  5. 配置推送 Cron。

插件会按任务周期扫描已发布文章并推送 URL。

7.3 支付订单状态同步

  1. 设置 -> 支付设置 中配置 同步订单状态定时任务

  2. 插件会查询 PAYING 状态订单。

  3. 支付成功后激活访问授权。

  4. 支付失败后撤销或标记授权状态。

  5. 查询超时或未知状态时保留原状态,等待下次同步。

8. 下载信息块

下载信息块用于把资源下载地址渲染成统一卡片,适合网盘资源、源码包、附件下载。

8.1 配置下载源

配置位置:设置 -> 下载设置

可配置:

  • 浅色模式选择器

  • 深色模式选择器

  • 下载源列表

  • 每个下载源的图标

默认下载源包括:

下载源

百度云网盘

阿里云网盘

蓝奏云网盘

123云盘

夸克网盘

腾讯微云

GitHub

Gitee

Onedrive

GoogleDrive

天翼云盘

移动云盘

8.2 插入下载信息块

  1. 打开文章编辑器。

  2. 插入 下载信息 节点。

  3. 填写下载来源、文件名、下载链接、提取码。

  4. 保存文章。

前台会渲染为下载卡片,包含:

  • 下载源图标

  • 文件名

  • 来源名称

  • 提取码

  • 跳转下载按钮

8.3 兼容说明

  • 如果 Markdown 渲染器转义了自定义标签,插件会尝试还原。

  • 如果内容里已有下载卡片但缺少全局样式,插件会补注入样式。

  • 附件来源使用内置 附件 图标兜底,避免空图标。

9. 自定义弹窗

自定义弹窗用于公告、活动推广、提示确认、Cookie 提示等前台展示场景。

9.1 创建弹窗

配置位置:设置 -> 自定义弹窗设置

  1. 添加弹窗。

  2. 填写唯一弹窗 ID。

  3. 开启弹窗。

  4. 配置挂载路径。

  5. 选择位置、遮罩、模板。

  6. 填写标题、内容、图片和按钮文案。

  7. 配置按钮动作、自动关闭时间、显示间隔。

9.2 挂载路径规则

规则

含义

/

首页

/archives/**

所有文章详情页

/links

友链页

/?p=*

带指定查询参数的页面

每行一个路径规则,任意一条命中即显示。

9.3 按钮动作

可用动作:

tools.popup.cancel(this)
tools.popup.confirm(this)
tools.popup.close(this)
tools.popup.open('弹窗ID')
tools.popup.openAndClose('弹窗ID', this)

注意:弹窗 ID 保存后不建议修改。你要是改了,历史显示间隔记录、按钮动作引用、DOM 标识都可能跟着乱,这锅不该让用户背。

10. 随机图与图片代理

10.1 随机图

配置位置:设置 -> 随机图设置

  1. 开启随机图。

  2. 添加图片类型名称,例如 风景

  3. 填写类型标识,例如 scenery

  4. 为该类型配置一个或多个 API 地址。

调用方式:

GET /apis/tools.muyin.site/v1alpha1/image/random?type=scenery 

不传 type 时,从所有已配置接口里随机选择。

在 Markdown 中使用:

![随机图](/apis/tools.muyin.site/v1alpha1/image/random?type=scenery) 

10.2 图片代理

接口:

GET /apis/tools.muyin.site/v1alpha1/image/proxy?url=图片地址 

适合场景:

  • 外部图片防盗链

  • 文章中引用公网图片

  • 微信同步前统一处理图片访问

使用示例:

![图片](/apis/tools.muyin.site/v1alpha1/image/proxy?url=https://example.com/image.jpg) 

安全限制:

  • 仅允许 HTTP/HTTPS

  • 拦截内网地址

  • 拦截本机地址

  • 限制重定向次数

  • 设置超时与响应类型校验

11. 模板与样式定制

配置位置:设置 -> 模板设置

可定制:

模板

用途

验证码访问模板

验证码限制阅读前台展示

密码访问模板

密码输入前台展示

支付访问模板

付费解锁前台展示

登录访问模板

登录提示与授权提示

评论访问模板

评论后可见提示

每类模板支持:

  • 使用内置模板

  • 启用自定义 CSS/JS

  • 完全自定义 HTML/CSS/JS

  • 开启 PJAX 兼容

建议先用内置模板跑通业务,再做自定义。上来就手搓 HTML/CSS/JS,出了问题你连是业务错还是样式错都分不清,费劲巴拉还不体面。

12. 常见问题排查

12.1 限制阅读不生效

优先检查:

  • 当前用户角色是否在免校验角色中

  • 文章或页面注解是否已启用限制阅读

  • 限制区域是否选错

  • 指定内容模式下是否正确插入限制节点

  • 主题是否缓存了旧内容

12.2 付费按钮可见但无法支付

优先检查:

  • PluginPayment 是否启用

  • 支付设置 是否开启支付

  • 支付渠道映射是否完整

  • 当前选择的支付渠道是否被服务端允许

  • 免登录支付是否先完成邮箱验证

12.3 微信公众号回调失败

优先检查:

  • 公众号后台服务器地址是否正确

  • Token 是否和插件配置一致

  • EncodingAESKey 是否同时在插件和公众号后台配置

  • 站点外部域名是否可被微信服务器访问

12.4 微信同步失败

优先检查:

  • 文章是否已发布

  • 是否存在发布快照

  • 摘要是否为空或超过 54 字

  • 封面图是否可访问

  • 内容图片是否为公网可访问地址

  • 微信公众号 appId/appSecret 是否正确

12.5 关键词回复不命中

优先检查:

  • 规则是否启用

  • 匹配模式是否正确

  • 正则表达式是否有效

  • 优先级是否被其他规则抢先命中

  • 默认回复是否覆盖了预期行为

12.6 弹窗不显示

优先检查:

  • 弹窗是否启用

  • 挂载路径是否命中当前页面

  • 显示间隔是否还没到

  • 是否配置为只显示一次

  • 主题是否启用 PJAX 导致脚本未重新执行

12.7 随机图或图片代理异常

优先检查:

  • 随机图功能是否启用

  • 类型标识是否拼错

  • 外部 API 是否可访问

  • 图片代理目标是否为公网地址

  • 目标地址是否返回图片类型

继续阅读

全部归档
【友链自助提交插件】介绍
【友链自助提交插件】介绍

本文档面向 Halo 站点管理员和主题使用者,介绍“友链自助提交插件”的核心功能、典型配置方式和完整使用流程。 插件目标很直接:让访客可以在前台自助提交或修改友链,站长在后台集中审核,并通过验证码、评论门槛、反链校验、邮件通知和定时维护,减少重复沟通和人工检查。说白了,就是别再让“交换友链”变成私信、邮件、评论区到处乱飞的手工作坊。

评论

友链提交
请认真填写以下信息,谢谢!
(请填写完整的网址,例如:https://www.example.com)
(贵站展示本站链接的页面地址,一般是友链页面,填写后将自动验证友链关系有效性)
(用于抓取文章)
(用于接收通知)