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

Tools 工具箱是一个面向 Halo 的综合增强插件,核心能力分为六类:
主要入口:
2. 安装与基础配置

2.1 安装前检查
安装前先确认:
Halo 版本
>= 2.24.0已安装并启用
LywqPluginCore >= 2.3.0如需付费访问,已安装并启用
PluginPayment >= 3.0.0站点外部访问地址配置正确,公众号回调、图片同步、百度推送都会用到
2.2 启用插件
进入
控制台 -> 插件。上传或安装
Tools工具箱。点击启用。
进入
设置页面,先完成基本配置。
2.3 基本设置
配置位置:控制台 -> 插件 -> Tools工具箱 -> 设置 -> 基本设置
2.4 支付设置
配置位置:设置 -> 支付设置
开启
是否开启支付。如需匿名购买,开启
是否开启免登录支付。配置支付宝、微信支付渠道映射。
设置订单状态同步 Cron。
设置支付成功自动刷新页面频率。
注意:付费访问依赖 PluginPayment。支付渠道没配好,前台按钮长得再漂亮也只是个摆设,别指望它自己会收钱。
3. 内容工具管理后台

入口:控制台 -> 工具 -> 内容工具管理
当前管理后台包含三个标签页:
3.1 付费访问订单
可筛选:
内容类型:文章、页面
支付状态:未支付、支付中、支付成功、支付失败
排序:支付时间、创建时间
可操作:
打开关联文章或页面
删除未完成或失败订单
支付成功订单不可删除
3.2 公众号关键词回复
关键词回复规则是插件的一等资源,不是设置项里一坨 JSON。它支持:
多关键词
启用/停用
精确、前缀、包含、正则匹配
优先级
文本回复、图文回复
命中次数与最近命中时间
3.3 公众号草稿
公众号草稿页用于管理从微信端拉取的草稿列表,可执行:
按发布状态筛选
发布草稿
删除草稿
批量删除草稿
打开原文链接
4. 限制阅读与付费访问

限制阅读适用于文章和页面,支持全文隐藏或指定区域隐藏。
4.1 支持的访问模式
4.2 开启全文限制
打开文章或页面编辑页。
找到
注解设置 -> 限制阅读(工具箱提供)。选择访问模式。
限制区域选择全部内容。按访问模式补充配置,例如密码、金额、角色、会员等级。
保存内容。
4.3 开启指定内容限制
在编辑器中保留公开可见的正文。
插入
限制阅读分割或限制阅读内容节点。将需要隐藏的内容放入限制节点之后或节点内部。
在注解设置中将
限制区域选择为指定内容。保存并到前台验证。
编辑器扩展节点:
4.4 验证码访问教程
在
设置 -> 验证码设置中选择验证码类型、长度、有效期。配置二维码引导图和提示文案。
如使用公众号获取验证码,开启
微信公众号获取验证码,配置关键词和回复模板。在文章/页面注解中选择
验证码访问。前台访问时输入验证码,校验通过后解锁。
4.5 密码访问教程
在文章/页面注解中选择
密码访问。填写访问密码。
可选填写
密码访问框 DIY 内容。保存后密码会加密为
pwd:前缀形式。再次编辑时插件会自动解密回填。
4.6 付费访问教程
安装并启用
PluginPayment。在
设置 -> 支付设置中开启支付。配置可用支付渠道。
如允许未登录访客购买,开启免登录支付。
在文章/页面注解中选择
付费访问。填写金额,单位为元。
保存并前台测试支付流程。
付费访问链路:
访客访问内容。
插件显示付费模板。
登录用户直接发起支付;匿名用户需先验证邮箱。
支付成功后生成访问授权。
后续访问以授权记录为准,不靠浏览器里一个“看起来像缓存”的东西糊弄。
4.7 登录访问教程
在注解中选择
登录访问。授权来源可选:
用户角色
会员等级
如不选择任何角色,表示所有登录用户可访问。
会员等级模式需要会员插件提供等级数据。
4.8 评论访问教程
在注解中选择
评论访问。保存内容。
访客提交评论。
评论通过审核后,访客可查看受限内容。
5. 微信公众号同步

该功能用于把 Halo 已发布文章同步到微信公众号草稿,减少复制、粘贴、重新排版这些人工活。
5.1 前置配置
配置位置:设置 -> 微信公众号对接设置
填写:
wechatAppIdwechatAppSecret令牌(Token)可选:
EncodingAESKey
如果填写 EncodingAESKey,微信公众号后台也要启用安全模式。插件和公众号后台加密配置不一致,消息回调会直接失败,别问,问就是微信不惯着你。
5.2 同步文章到公众号草稿
进入
控制台 -> 文章。找到已发布文章。
点击操作菜单中的
同步至微信公众号。在弹窗中检查或编辑:
标题
作者
摘要
封面图
原文链接
同步内容
文章主题
评论开关
点击预检。
预检通过后同步到微信公众号草稿。
到
内容工具管理 -> 公众号草稿中发布或删除草稿。
5.3 同步前预检规则
插件会检查:
文章是否已发布
是否存在发布快照
摘要是否为空
摘要长度是否超过 54 字
封面图是否可访问
内容图片是否需要补全为绝对地址
内容长度是否接近微信公众号限制
下载信息块、限制阅读节点是否已降级为回原文提示
5.4 微信内容渲染规则
5.5 发送官方预览
同步弹窗支持选择预览接收用户并发送微信公众号官方预览。适合正式发布前给运营或作者确认排版。
6. 微信公众号互动与关键词回复

公众号功能分两层:
接入层:处理微信服务器验证和消息回调。
业务层:关注回复、关键词回复、文章搜索、友链提交、瞬间提交、验证码获取、评论通知。
6.1 配置公众号服务器地址
在微信公众号后台配置服务器地址:
https://你的域名/apis/tools.muyin.site/v1alpha1/wechat/oa Token 使用插件设置中的 令牌(Token)。
6.2 关注自动回复
配置位置:设置 -> 微信拓展设置 -> 关注自动回复
支持:
文本消息
图文消息
图文消息需要配置标题、描述、封面图、跳转链接。
6.3 关键词回复
配置位置:内容工具管理 -> 公众号关键词回复
创建规则时填写:
关键词列表
匹配模式:精确、前缀、包含、正则
优先级
回复类型:文本或图文
回复内容
匹配优先级:优先级大的先命中;优先级相同则按创建时间处理。
6.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 工具箱通过插件调度器注册三类任务:
7.1 文章定时发布
在
设置 -> 文章拓展设置中开启文章定时发布。配置 Cron 表达式。
在文章编辑页注解中开启
是否定时发布(工具箱提供)。设置未来发布时间。
保存文章。
到达时间后,插件自动发布文章并清理任务记录。
7.2 百度 SEO 推送
登录百度站长平台。
获取链接提交 Token。
在
设置 -> SEO设置中开启 SEO。填写百度 Token。
配置推送 Cron。
插件会按任务周期扫描已发布文章并推送 URL。
7.3 支付订单状态同步
在
设置 -> 支付设置中配置同步订单状态定时任务。插件会查询
PAYING状态订单。支付成功后激活访问授权。
支付失败后撤销或标记授权状态。
查询超时或未知状态时保留原状态,等待下次同步。
8. 下载信息块

下载信息块用于把资源下载地址渲染成统一卡片,适合网盘资源、源码包、附件下载。
8.1 配置下载源
配置位置:设置 -> 下载设置
可配置:
浅色模式选择器
深色模式选择器
下载源列表
每个下载源的图标
默认下载源包括:
8.2 插入下载信息块
打开文章编辑器。
插入
下载信息节点。填写下载来源、文件名、下载链接、提取码。
保存文章。
前台会渲染为下载卡片,包含:
下载源图标
文件名
来源名称
提取码
跳转下载按钮
8.3 兼容说明
如果 Markdown 渲染器转义了自定义标签,插件会尝试还原。
如果内容里已有下载卡片但缺少全局样式,插件会补注入样式。
附件来源使用内置
附件图标兜底,避免空图标。
9. 自定义弹窗

自定义弹窗用于公告、活动推广、提示确认、Cookie 提示等前台展示场景。
9.1 创建弹窗
配置位置:设置 -> 自定义弹窗设置
添加弹窗。
填写唯一弹窗 ID。
开启弹窗。
配置挂载路径。
选择位置、遮罩、模板。
填写标题、内容、图片和按钮文案。
配置按钮动作、自动关闭时间、显示间隔。
9.2 挂载路径规则
每行一个路径规则,任意一条命中即显示。
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 随机图
配置位置:设置 -> 随机图设置
开启随机图。
添加图片类型名称,例如
风景。填写类型标识,例如
scenery。为该类型配置一个或多个 API 地址。
调用方式:
GET /apis/tools.muyin.site/v1alpha1/image/random?type=scenery 不传 type 时,从所有已配置接口里随机选择。
在 Markdown 中使用:
 10.2 图片代理
接口:
GET /apis/tools.muyin.site/v1alpha1/image/proxy?url=图片地址 适合场景:
外部图片防盗链
文章中引用公网图片
微信同步前统一处理图片访问
使用示例:
 安全限制:
仅允许 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 是否可访问
图片代理目标是否为公网地址
目标地址是否返回图片类型
评论