Typecho 等平台插件开发与二开：功能设计、接口实现、发布与版本管理要点。
简介CommentAI 是一个 Typecho 博客的 AI 智能评论回复插件。核心功能自动生成评论回复三种工作模式可选（自动回复、人工审核、仅建议）支持通义千问、OpenAI、DeepSeek、Kimi 等模型设置支持上下文感知回复支持敏感词过滤和频率限制支持回复延迟支持触发条件设置支持AI标识显示安装环境要求Typecho 1.2.0 - 1.3.0PHP 7.0+（需要 curl、json、mbstring 扩展）MySQL 5.7+ 或 SQLite 3.0+AI 服务 API Key安装步骤上传 CommentAI 文件夹到 /usr/plugins/ 目录后台「控制台」→「插件」→ 启用「CommentAI」插件自动创建数据库表创建失败则手动执行**install.sql文件配置基础配置插件开关启用/禁用插件回复模式全自动：AI 生成后直接发布人工审核：生成后需人工审核仅建议：仅作参考，不发布管理员 UIDAI 回复使用的用户身份，默认为 1AI 平台配置支持平台阿里云百炼：国内访问快，价格实惠OpenAI：质量高，需国际网络DeepSeek：性价比高Kimi（月之暗面）：国产大模型自定义：支持 OpenAI 兼容接口API 配置API Key：必填，在对应平台获取API 地址：可选，留空使用默认模型名称：如 qwen-plus、gpt-4o-mini、deepseek-chat、moonshot-v1-8kPrompt 配置系统提示词定义 AI 的角色和回复风格：你是一位友好、专业的博主。根据读者评论生成恰当的回复。 要求： 1. 语气自然、亲切 2. 针对评论内容给出有价值的回应 3. 对提问给出明确答案 4. 回复长度 50-150 字 5. 使用中文回复上下文信息包含文章标题包含文章摘要（增加 Token 消耗）包含父级评论高级配置温度参数0.0-0.3：确定性强0.4-0.7：平衡（推荐）0.8-1.0：创造性强最大 Token 数建议 200-500敏感词过滤每行一个敏感词频率限制每小时最大调用次数，0 为不限制回复延迟延迟多少秒回复，0 为立即回复（推荐）建议 30-120 秒显示设置AI 标识显示：在回复末尾添加标识（推荐，可自定义）不显示：看起来像人工回复触发条件仅对已审核的评论回复（推荐）忽略垃圾评论（推荐）忽略引用和 Trackback（推荐）仅对文章的第一条评论回复自动排除管理员评论使用工作流程读者发表评论插件检查触发条件延迟指定时间（如果配置了）调用 AI 生成回复根据模式处理管理面板访问：后台 → AI评论回复功能统计卡片：显示各状态数量状态筛选：查看不同状态的回复队列列表：查看详细信息操作按钮：发布、拒绝、重新生成、查看原评论工具栏刷新：重新加载数据清理旧记录：删除 30 天前的记录插件设置：跳转到配置页面测试连接：测试 AI 服务最佳实践提升回复质量优化系统提示词明确角色定位详细描述风格设定长度范围合理配置上下文技术博客：启用标题和摘要生活博客：仅启用标题调整温度参数技术问答：0.3-0.5创意内容：0.7-0.9控制成本设置频率限制优化 Token 消耗选择合适模型使用人工审核模式安全建议保护 API Key配置敏感词保持透明故障排查插件激活失败检查数据库权限确认数据库类型AI 回复未生成检查插件是否启用检查触发条件设置检查频率限制确认不是管理员评论API 调用失败验证 API Key测试网络连接检查 API 地址确认模型名称检查账户余额查看日志日志位置：/usr/plugins/CommentAI/runtime.logtail -f /path/to/typecho/usr/plugins/CommentAI/runtime.log卸载后台禁用插件删除插件文件夹（可选）删除数据库表：DROP TABLE IF EXISTS `typecho_comment_ai_queue`;下载地址Github：[hide]https://github.com/BXCQ/CommentAI[/hide]
CategoryBatchManager - Typecho后台文章分类批量管理插件
插件简介CategoryBatchManager 是一款 Typecho 后台文章分类批量管理插件，主要功能：在 文章管理列表 中提供批量操作：“移动到分类…”：将选中文章的分类替换为所选分类；“添加分类…”：在原有分类基础上追加新分类；“移除分类…”：从文章已有分类中移除某些分类。在文章列表每一行的 “分类”列 尾部增加一个小的 “分类” 链接：点击可快速为单篇文章调整分类。整体操作基于 AJAX 完成，避免整页刷新，提升后台管理效率。环境要求Typecho：版本 1.2.1PHP：版本 7.0.0 及以上（兼容 PHP 8.0）插件在激活时会自动检查当前环境版本，如果版本过低，会在后台插件页给出明确错误提示，防止在不兼容环境中运行。安装步骤将插件代码放入 Typecho 的插件目录：路径结构如下：usr/ plugins/ CategoryBatchManager/ Plugin.php Action.php登录 Typecho 后台 → 控制台 → 插件，找到：插件名称：CategoryBatchManager（文章分类批量管理）点击 “启动” 插件：如果 PHP / Typecho 版本不满足要求，会直接提示：CategoryBatchManager 需要 PHP 7.0 或更高版本CategoryBatchManager 需要 Typecho 1.2.1符合要求则启动成功。功能使用说明1. 批量分类操作打开后台：控制台 → 文章 → 所有文章。在列表顶部/底部的 “选中项” 下拉菜单中，你会看到新增的 3 个选项：“移动到分类…”“添加分类…”“移除分类…”使用步骤：勾选需要操作的多篇文章（左侧复选框）。点击其中一个批量分类操作（例如“移动到分类…”）。页面会弹出一个分类选择弹窗，特点：列出所有分类，按照层级缩进展示，支持子分类；顶部带有 搜索框，输入可筛选分类；支持多选分类（按住 Ctrl/多次勾选）。选择好目标分类后点击 “确定”：插件会通过 AJAX 请求 /action/category-batch；后台更新 table.relationships 中 cid-mid 的分类关系；前端会直接更新列表中对应文章的“分类”列，无需刷新整页。三种操作的具体逻辑：移动到分类（move）对选中文章：先删除该文章所有“分类”关联（仅限 metas.type = 'category' 的关系），再写入你新选择的分类。适用于“文章从 A 版块整体迁移到 B 版块”。例如：将此三篇文章从实践教程移动到性能测试添加分类（add）在当前已有分类基础上追加你新选择的分类；已存在的关系不会重复添加。适用于“批量为一批文章增加一个额外分类”。例如：为飞牛nas分类下的三篇文章添加环境配置分类移除分类（remove）仅删除你选中的那些分类与文章的关系；未勾选的其它分类不受影响。适用于“批量清理某个分类下的文章归属”。例如：移除上面加的环境配置分类2. 单篇文章快速分类修改在 文章列表的“分类”列 中，每一行分类的后面会有一个小的 灰色“分类” 链接（字体较小）：点击这一行的小“分类”链接：插件会自动读取当前这一篇文章所属的分类（解析该单元格内原有的分类链接 URL 中的 category=mid 参数）。弹出与批量操作相同的分类选择弹窗。弹窗内会 预先勾选该文章当前的分类。在弹窗中重新勾选你想要的分类，然后点击 “确定”：对该篇文章执行 “移动到分类” 操作，即覆盖原分类关系（可单选可多选）。列表中的这一行“分类”列会立即更新。这个功能特别适合对少数文章进行微调，而不必进入 write-post.php 编辑页面。3. 批量分类刷新计数在 分类管理页面（manage-categories.php） 的顶部左侧会自动出现一个 "刷新分类计数" 按钮：位置：分类管理页面顶部左侧，紧挨着现有的操作按钮样式：蓝色按钮 .btn btn-s，与 Typecho 后台风格一致功能：遍历数据库中所有分类（type='category'）重新统计每个分类下已发布文章的数量更新 table.metas 表中对应的 count 字段权限与安全所有批量操作都基于 Typecho 的后台权限体系：仅当用户已登录并且具备 编辑及以上权限（$user->pass('editor', true)）时，才允许调用批量分类接口。后端接口路径：POST /action/category-batch参数：do=batchop=move|add|removecid[]：文章 ID 列表mid[]：分类 ID 列表插件只会操作 metas.type = 'category' 的关系，不会影响标签等其它 metas。常见问题看不到新增的批量菜单项？确认已启动 CategoryBatchManager 插件；确认当前页面是 manage-posts.php（文章管理列表），插件只在这个页面注入 JS/HTML；清理浏览器缓存后再试。分类弹窗里没有任何分类？检查后台是否已经创建了分类；插件通过 \Widget\Metas\Category\Rows 获取分类数据，与编辑文章页面的分类列表是同一来源。操作后分类没变？看浏览器控制台是否有 AJAX 请求报错；检查当前登录用户是否拥有 editor 以上权限。下载地址[hide]Github:https://github.com/BXCQ/CategoryBatchManager迅雷云盘：https://pan.xunlei.com/s/VOjPLgIL7aT8KHwit5tGQu9SA1?pwd=umje#[/hide]
为什么需要插件监控？作为 Typecho 博客的站长，你是否遇到过以下困扰：插件过多导致性能下降：安装了太多插件，不知道哪些在拖慢网站速度数据库臃肿：插件创建的数据表越来越多，数据库变得臃肿不堪内存占用不明：不知道哪些插件占用了大量内存资源插件管理混乱：忘记哪些插件已启用，哪些插件长期闲置PluginMonitor 插件正是为解决这些问题而设计的。核心功能系统信息监控PHP 版本检测：实时显示服务器 PHP 版本信息内存使用监控：当前内存使用量、峰值内存、内存限制数据库大小统计：分别显示插件数据库占用和总数据库大小插件数量统计：已启用/已安装插件数量对比插件状态监控启用状态：清晰显示每个插件的启用/禁用状态版本信息：显示插件版本号和作者信息文件统计：统计每个插件的文件数量空间占用：精确计算每个插件占用的磁盘空间描述信息：显示插件的功能描述智能数据库分析表类型识别：自动区分系统表和插件表存储引擎：显示每个表的存储引擎类型数据行数：统计表中的数据行数表大小：精确计算每个表占用的存储空间安装与使用下载地址[hide]https://github.com/BXCQ/PluginMonitor[/hide]启用插件登录 Typecho 后台进入「控制台」->「插件」找到「插件监控工具」并启用启用后在后台管理菜单中会出现「插件监控」选项使用环境Typecho 版本：1.2.1PHP 版本：8.0 及以上数据库：MySQL配置选项自动刷新设置不自动刷新：手动刷新，节省服务器资源5秒/10秒/30秒/60秒：根据需求设置自动刷新间隔显示选项显示未启用的插件：选择是否在列表中显示未启用的插件数据库表显示范围：仅显示插件创建的表（默认）显示所有表（系统+主题+插件）实际使用效果系统概览使用插件后，可以在一个页面看到：PHP 版本：8.0.15内存使用：45.2MB / 512MB峰值内存：67.8MB插件数据库占用：2.3MB数据库总大小：15.7MB已启用/已安装数量：12 / 25插件列表每个插件都会显示详细信息：插件名称：ModernAdmin - 一个美化 Typecho 后台的插件版本：1.5.1作者：璇状态：已启用文件数：47占用空间：2.1MB数据库表分析插件表：显示插件创建的数据表系统表：Typecho 核心表（comments、contents、metas 等）表大小：精确到字节的存储空间统计界面设计特色响应式设计桌面端：完整的表格显示，信息一目了然移动端：自适应布局，关键信息优先显示深色模式：支持系统深色模式，护眼更舒适用户体验优化固定列宽：防止内容过长影响布局状态标识：用颜色区分插件启用状态悬停提示：鼠标悬停显示详细信息一键刷新：手动刷新按钮，实时更新数据总结PluginMonitor 插件为 Typecho 博客管理带来了全新的体验：全面监控：系统、插件、数据库三位一体监控 直观显示：清晰的数据展示和状态标识 智能分析：自动识别插件表和系统表 性能优化：帮助发现和解决性能问题 开源免费：MIT 协议，完全开源 如果你是 Typecho 博客的站长，强烈推荐安装这个插件。它不仅能让用户更好地了解博客的运行状态，还能帮助优化性能，提升用户体验。本文由 PluginMonitor 插件作者撰写，如有问题欢迎在评论区反馈。
概述FriendsRSS 是一款专为 Typecho 博客系统设计的智能友链 RSS/Atom 聚合插件。它能够自动检测、解析和聚合您友链博客的最新文章，通过多种展示方式（短代码、API接口、RSS输出、前台页面）让您的博客成为友圈动态的聚合中心。插件功能核心功能友链来源集成：从 Typecho links 表的指定分类读取友链，自动参与聚合。兼容性增强：当指定分类不存在时，自动获取所有友链，完美兼容只有一种友链的主题博客。排除功能：支持配置排除检测的博客网址，每行一个，支持部分匹配。RSS 自动检测：采用"三轮检测"策略（常用路径/feed和/feed/ → HTML 解析 → 其他常见路径），并对检测结果进行 10天缓存（RSS地址相对稳定）。定时检测功能：支持配置定时检测RSS地址间隔（默认240小时/10天），RSS地址缓存时间自动与定时检测间隔保持一致。定时解析功能：支持配置定时解析间隔（默认6小时），提供独立的定时任务脚本，支持命令行和HTTP调用。手动配置 RSS：后台提供"选择友链 + 输入 RSS 地址"的表单，保存到 rss_config.json 作为覆盖与纠偏。短代码功能：在任意文章或页面中使用 rss 短代码来显示友链RSS聚合内容，支持 limit 参数控制显示文章数量。多格式支持：兼容 RSS 2.0 / Atom 1.0 / RSS 1.0，解析标题、链接、作者、摘要与发布时间等字段。文章聚合与排序：为每个博客限制抓取数量，并按发布时间 倒序 排列，支持聚合总数上限。缓存与并发保护：聚合结果持久化缓存，内置 锁文件 防止并发重复任务；可读取已有缓存以快速展示。日志记录：记录检测、解析与网络状态，便于排查异常与性能问题。输出功能RSS订阅地址：/action/friends-rss?do=rss - 生成标准RSS 2.0格式的聚合订阅源API接口地址：/action/friends-rss?do=page - 返回JSON格式的聚合文章数据前台展示页面：/action/friends-rss?do=pageview - 美观的前台展示页面，支持响应式设计[collapse status="false" title="示例图片查看"][/collapse]管理界面统计卡片：显示友链数量、文章数量、最后更新时间、已配置RSS数量等统计信息操作卡片：定时检测RSS地址：显示当前检测间隔和下次执行时间，提供"立即执行"按钮定时解析RSS内容：显示当前解析间隔和下次执行时间，提供"立即执行"按钮添加RSS地址：手动配置友链RSS地址的表单界面访问地址区块：显示所有可用的访问地址和友链分类信息友链与文章列表：显示友链列表和最新聚合文章，支持RSS配置状态标识日志显示区域：实时显示操作日志，支持自动滚动到最新内容短代码功能基本用法：在任意文章或页面中使用 rss 短代码来显示友链RSS聚合内容参数支持：支持 limit 参数控制显示文章数量块状设计：使用简洁美观的块状设计，包含博客信息、文章标题、摘要等响应式布局：自动适配移动端设备，优化显示效果网络与兼容性优化请求优化：优先使用 cURL，请求超时与重定向受控内容清理：自动清理与修复常见 XML/文本问题、摘要长度截断错误处理：完善的异常处理和日志记录机制并发保护：使用锁文件防止重复任务执行缓存策略：智能缓存管理，支持缓存统计和清理定时任务功能独立脚本：提供 cron.php 独立定时任务脚本HTTP调用：支持通过HTTP请求触发定时任务状态管理：记录定时任务执行状态和下次执行时间安全验证：支持密钥验证防止未授权访问Ajax功能实时检测：支持SSE（Server-Sent Events）实时显示RSS检测进度批量操作：支持批量检测RSS地址和清除缓存进度反馈：实时显示操作进度和结果错误处理：完善的错误处理和用户反馈机制安装与配置将插件文件夹上传到 usr/plugins/ 目录。在 Typecho 后台启用插件 FriendsRSS。在插件设置页配置友链来源、每个博客抓取文章数、聚合总数上限与缓存时间等参数。Github地址：[hide]https://github.com/BXCQ/FriendsRSS[/hide]配置参数说明友链分类：指定需要聚合的友链分组。兼容性说明：Handsome主题：填写"ten"获取全站链接，填写"one"获取内页链接，填写"good"获取推荐链接其他主题：通常留空即可，插件会自动获取所有友链当指定分类不存在时，插件会自动获取所有友链，确保兼容性排除检测的博客网址：每行一个网址，支持部分匹配。例如：example.com - 排除所有包含example.com的友链https://blog.example.com - 排除特定博客留空表示不排除任何友链每个博客文章数：每个博客抓取与展示的文章数量限制。最大文章数：聚合后的文章总数上限。定时解析间隔：定时解析友链RSS的间隔时间（小时），默认6小时，设置为0表示禁用。文章缓存时间会自动与定时解析间隔保持一致。定时检测间隔：定时检测友链RSS地址的间隔时间（小时），默认240小时（10天），设置为0表示禁用。RSS地址缓存时间会自动与定时检测间隔保持一致。启用前台展示：是否开放前台聚合页与 RSS 输出。使用方法检测 RSS：在后台点击"定时检测RSS地址"卡片中的"立即执行"按钮，自动为友链站点识别 RSS/Atom 地址并保存。定时检测：在后台点击"定时检测RSS地址"，按配置的间隔时间自动检测友链RSS地址。可在宝塔面板计划任务重添加shell脚本# 使用 curl 访问触发更新，-s 表示静默模式，> /dev/null 丢弃输出 curl -s "https://www.example.com/action/friends-rss?do=cron" > /dev/null 2>&1 # 或者打印一下时间，方便看日志（可选） echo "FriendsRSS Cron Executed at $(date)"手动添加：在"添加 RSS 地址"区域选择目标友链并填写正确的订阅地址后保存。聚合文章：点击"定时解析RSS内容"，按时间排序聚合最新文章并写入缓存。访问输出：RSS订阅地址：/action/friends-rss?do=rssAPI接口地址：/action/friends-rss?do=page（需在设置中启用）前台展示页面：/action/friends-rss?do=pageview（需在设置中启用）性能与稳定性超时控制：为单次请求与连接设置合理超时并限制重定向次数。并发保护：使用锁文件/状态标记避免重复聚合任务并减少服务器压力。分轮检测：优先常用路径，其次 HTML 解析，最后其他常见路径以提升成功率与速度。缓存策略缓存类型缓存时间说明RSS地址缓存与定时检测间隔一致RSS地址相对稳定，与定时检测间隔同步，减少重复检测文章内容缓存与定时解析间隔一致确保定时解析有意义，避免缓存过期后立即重新解析失败结果缓存1小时避免重复请求失败的RSS源，减少服务器压力定时策略配置项默认值说明定时解析间隔6小时定时解析友链RSS的间隔时间，设置为0表示禁用文章缓存时间自动同步与定时解析间隔保持一致，确保定时解析有意义定时检测间隔240小时（10天）定时检测友链RSS地址的间隔时间，设置为0表示禁用RSS地址缓存时间自动同步与定时检测间隔保持一致，减少重复检测实际效果缓存过期时重新执行定时任务执行时缓存刚好过期，获取最新内容设计思路：以"逻辑一致性"为核心，确保定时任务与缓存时间同步，提升用户体验和系统效率。RSS短代码使用基本用法在任何文章或页面中使用 rss 短代码来显示友链RSS聚合内容，使用简洁的块状设计：rss默认显示10篇最新文章，使用块状设计。或者rss limit="5"只显示5篇最新文章。显示内容每个文章块包含：博客信息头部：博客名称、作者信息、发布时间文章标题：可点击跳转到原文文章摘要：自动截取的文章概要（200字符以内）参数说明limit类型: 数字默认值: 10说明: 显示文章的数量注意不要放置多个，会重复显示。设计特点块状设计简洁美观：每篇文章独立成块，清晰区分信息完整：包含博客、作者、时间、标题、摘要视觉层次：合理的间距和颜色搭配悬停效果：鼠标悬停时显示阴影效果响应式设计移动端优化：自动适配小屏幕设备布局调整：移动端下头部信息垂直排列字体缩放：移动端下适当调整字体大小注意事项缓存机制: 短代码使用缓存机制，文章更新可能有延迟性能考虑: 建议在高流量站点限制显示数量（limit参数）样式兼容: 短代码样式已针对常见主题优化，如有冲突可自定义CSS安全性: 所有外部内容都经过HTML转义处理错误处理与兼容性超时处理：如果你的友链过多且开启了CDN，可以在CDN中设置超时时间，从默认的30s到60s或者更高。网络异常与 HTTP 错误：会被记录并跳过，继续处理其他源。XML 内容清理：在解析前进行清理，尽量兼容 RSS 2.0、Atom 1.0 与 RSS 1.0 常见格式。扩展要求：建议启用 cURL、SimpleXML 等常用扩展并确保插件对缓存目录拥有写入权限。更新日志日期版本更新类型变更内容2025/8/31v2.2.1缓存机制修复• 缓存机制修复：修复缓存机制导致RSS配置无法及时更新的问题：增加配置文件时间戳检查，当配置文件比缓存文件更新时自动强制刷新缓存，确保能读取到最新的手动配置RSS地址• 调试信息增强：增强RSS配置读取调试信息：添加详细的配置文件读取日志，特别针对特定友链配置状态的检查和记录，便于问题排查• 思路：以"缓存一致性"为核心，确保配置文件更新后能及时生效，提升手动配置RSS的可靠性2025/8/31v2.2.0配置文件修复• 配置文件修复：修复RSS配置文件和缓存目录缺失导致的配置读取失败问题：在构造函数中自动创建rss_config.json文件和缓存目录，确保系统正常运行• 错误处理完善：完善错误处理机制：增加文件读取、JSON解析和缓存操作的详细错误日志记录，改进后台RSS配置保存逻辑• 思路：以"健壮性优先"为核心，确保插件在各种环境下都能正常工作，提升系统稳定性2025/8/25v2.1.6定时检测RSS功能• 定时检测RSS功能：新增定时检测RSS功能：支持配置定时检测RSS地址间隔（默认240小时/10天），RSS地址缓存时间自动与定时检测间隔保持一致• 定时检测界面：管理界面优化：新增"定时检测RSS地址"操作卡片，显示当前检测间隔和下次执行时间• 按钮简化：移除重复的"手动检测"按钮，只保留"立即执行"按钮，避免功能重复• 缓存策略：缓存策略优化：RSS地址缓存时间从固定7天改为与定时检测间隔同步，提升系统一致性• 短代码文档：新增RSS短代码使用说明，包含基本用法、参数说明、使用示例和设计特点• 思路：以"逻辑一致性"为核心，确保定时检测与RSS地址缓存同步，提升用户体验和系统效率2025/8/25v2.1.0RSS地址检测• RSS地址检测：新增RSS地址检测功能：自动检测友链博客的RSS地址，支持多种常见RSS路径，提供手动添加功能• 管理界面重构：管理界面重构：新增RSS地址管理、检测日志显示、定时任务设置等功能模块• 缓存机制优化：缓存机制优化：RSS地址缓存24小时，RSS内容缓存可配置，提升系统性能• 思路：以"自动化检测"为核心，减少手动配置工作量，提升用户体验2025/8/25v2.1.5友链分类兼容• 友链分类兼容：友链分类兼容性增强：当指定分类不存在时，自动获取所有友链，完美兼容只有一种友链的主题博客• 排除功能：新增排除功能：支持配置排除检测的博客网址，每行一个，支持部分匹配，提供更灵活的友链管理• 分类统计界面：管理界面优化：新增"可用分类"统计卡片，在访问地址区域显示所有可用的友链分类及当前使用状态• 配置界面优化：配置界面优化：友链分类设置项默认值改为空，添加详细的兼容性说明，帮助用户正确配置不同主题的友链• 思路：以"最大兼容性"为核心，确保插件能在各种Typecho主题环境下正常工作，提升用户体验2025/8/25v2.1.4日志显示修复• 日志显示修复：修复日志显示错误：将"用时20s"等错误显示修正为实际请求用时，使用microtime()精确计算请求耗时• 日志自动滚动：管理界面体验优化：日志显示区域自动滚动到最新内容，无需手动滚动查看最新日志• 策略文档：新增缓存策略和定时解析策略表格说明，更直观地展示系统设计思路2025/8/25v2.1.3缓存策略优化• 缓存策略优化：缓存策略优化：RSS地址缓存时间从24小时延长至7天（更符合RSS地址相对稳定的特点），文章内容缓存时间自动与定时解析间隔保持一致，移除独立的缓存时间设置项• 定时解析功能：新增定时解析功能：支持配置定时解析间隔（默认6小时），提供独立的定时任务脚本，支持命令行和HTTP调用• 配置界面简化：简化配置界面：移除"缓存时间"设置项，避免用户困惑，定时解析间隔设置中说明缓存时间会自动同步• 思路：以"逻辑一致性"为核心，确保定时解析与缓存时间同步，提升用户体验和系统效率2025/8/25v2.1.2界面优化• 缓存时间优化：RSS缓存设置优化：将缓存时间单位从秒改为天，默认值从360000秒（100小时）调整为10天，更符合用户使用习惯• 移除超时设置：移除请求超时设置项：删除未使用的timeout配置项，简化插件设置界面• 界面名称优化：管理界面名称优化：将"检测友链RSS"改为"检测友链RSS地址"，"定时解析控制"改为"定时解析RSS内容"，"前台展示页面"改为"前台接口地址"，"预览页面"改为"前台展示页面"• 思路：以"用户体验优化"为核心，简化配置项，统一命名规范，提升界面友好度2025/8/25v2.1.1管理界面优化• 预览页面地址：新增预览页面地址：在访问地址区域添加 /action/friends-rss?do=pageview 预览链接• 管理界面优化：管理界面优化：将定时解析控制块替换解析RSS功能，移除定时任务设置说明，简化操作流程• 移除预览页面块：移除预览页面块：简化管理界面，减少冗余展示区域• 错误日志显示：新增错误日志显示：在管理页面中显示 error.log 日志内容，便于问题排查• 思路：以"简化操作 + 增强监控"为核心，提升管理效率和问题诊断能力2025/8/24v2.0.4UI布局优化• UI布局优化：后台"添加 RSS 地址"区域 UI 调整：输入框与选择框长度比例优化（输入 65% / 选择 30%），取消选择框固定高度，移动端响应式更佳• select对齐修复：解决 Typecho 默认 select 固定高度 28px 导致与输入框不对齐的问题• 思路：表单布局采用 flex，优先保障主要输入区可用性与可读性，减少视觉噪点2025/8/24v2.0.3管理面板重构• 管理面板重构：管理面板重构：新增统计卡片、操作卡片与访问地址区块；友链与文章列表支持状态徽标，信息呈现更直观• 最后更新修复：修复"最后更新"在无缓存时显示 1970 的问题，改为显示"暂无"• 思路：采用 模块化卡片布局，将"检测/解析/添加"动作解耦，提升可维护性与扩展空间2025/8/23v2.0.2锁文件机制• 锁文件机制：新增聚合任务 锁文件 机制；提供缓存清理与缓存统计；聚合结果持久化读取，页面可直接消费缓存• 并发解析修复：修复并发解析导致缓存文件被覆盖/损坏的偶发问题；修复缓存为空时解析流程可能抛错的情况• 思路：从"实时拉取"转为 缓存优先 的数据策略，后台按需触发解析，降低对外部源的耦合与压力2025/8/23v2.0.1三轮RSS检测• 三轮RSS检测：引入 三轮 RSS 自动检测；为检测结果设置 24 小时缓存；细化请求超时与重定向限制，并记录响应头• 链接解析修复：修复部分站点 HTML 中相对链接解析错误；修正 Content-Type 判断大小写不一致导致的识别失败• 思路：采用"快速路径优先 → HTML 解析 → 兜底常见路径"的分轮策略，先提升成功率与速度，再做细化校验2025/8/23v2.0.0解析器升级• 解析器升级：解析器升级：支持 RSS 2.0 / Atom 1.0 / RSS 1.0；清理与截断描述文本；新增 rss_config.json 用于手动配置；按发布时间倒序聚合并限制总量• XML解析修复：修复特殊字符、BOM 与控制字符导致 XML 解析失败的问题；增强 HTML 实体修复• 思路：以"可靠解析"为核心：先清理再解析，最大化容错；将必要的清洗逻辑前置，保证数据质量2025/8/23v1.5.0RSS输出功能• RSS输出功能：提供聚合 RSS 输出 与可选 前台展示页面；后台展示最近文章与来源信息• 时间排序修复：修复文章缺失时间时排序不稳定，统一回退到当前时间• 思路：以 /action/friends-rss 为统一入口，降低主题/路由差异带来的接入成本2025/8/23v1.4.0多源聚合功能• 多源聚合功能：支持多源聚合与发布时间排序；可配置"每博客文章数"与"聚合总数"• 内存优化：优化大列表处理的内存开销，改为先按需切片再渲染• 思路：将"数量限制"前移到聚合阶段，减少后续处理成本2025/8/23v1.3.0摘要截断功能• 摘要截断功能：自动 截断摘要，保证列表简洁可读• HTML清理修复：修复未清理 HTML 标签导致的样式外溢问题• 思路：以摘要优先，保证信息密度与浏览效率2025/8/23v1.2.0手动添加RSS功能• 手动添加RSS功能：后台新增"手动添加 RSS"能力，为自动检测失败站点提供纠偏• JSON读写修复：修复首次保存配置时空文件读取异常，增强 json 读写容错• 思路：自动检测与 人工纠偏 并行，提高覆盖率与准确度2025/8/23v1.1.0性能参数配置• 性能参数配置：增加缓存时间、重定向上限与超时等基础性能参数配置• 超时设置修复：修复部分环境下超时设置不生效的问题• 思路：坚持"可控超时"原则，保证失败快速返回与系统整体可用性2025/8/23v1.0.0初始版本• 初始版本：初始版本：多源 RSS/Atom 聚合、后台基础管理与展示• Bug：无• 思路：提供最小可用集合，优先打通"来源 → 解析 → 聚合 → 展示"的闭环
插件介绍AiChat是一款专为Typecho博客设计的AI聊天插件，它可以让您轻松地在博客中添加一个AI对话界面。该插件具有以下特点：美观的聊天界面，支持Markdown渲染完美适配PC端和移动端支持深色模式支持本地存储聊天记录注册用户可在多设备间同步对话历史支持一键复制对话内容兼容主流Typecho主题（本文以Handsome主题为例）安装步骤1. 下载插件首先，您需要下载AiChat插件。您可以通过以下方式获取：迅雷网盘下载：[hide]https://pan.xunlei.com/s/VOkBx1ymbfLEA9sPSHIvIwNpA1?pwd=vb9b#[/hide]下载完成后，您将得到一个名为AiChat.rar的压缩包。2. 上传并解压插件将下载好的压缩包解压，您会得到一个AiChat文件夹。将这个文件夹上传到您的Typecho博客的/usr/plugins/目录下。然后将ai-chat.php文件放置在handsome主题目录下。3. 激活插件登录到您的Typecho后台，进入"控制台 > 插件"页面，找到"AiChat"插件，点击"启用"按钮激活插件。配置插件1. 基本配置激活插件后，点击"设置"按钮进入插件配置页面：在配置页面中，您需要填写以下信息：AI API接口地址：默认为https://api.deepseek.com/v1/chat/completions，您也可以使用其他兼容的API接口AI API Key：您的API密钥，可以从相应的AI服务提供商获取AI 模型：默认为deepseek-chat，也可以根据您的需求选择其他模型温度参数：控制AI回复的随机性，值越高回复越多样，默认为0.7最大回复长度：控制AI回复的最大token数量，默认为2000填写完成后，点击"保存设置"按钮。2. 创建聊天页面配置完插件后，您需要创建一个独立页面来展示AI聊天界面：进入Typecho后台的"管理 > 创建 > 创建页面"填写页面标题，如"AI聊天"在"自定义模板"下拉菜单中选择"AI聊天"点击"发布页面"按钮使用体验1. 界面展示创建完成后，访问您刚才创建的页面，您将看到一个精美的AI聊天界面：界面主要包括以下部分：顶部提示区：显示使用说明和当前登录状态聊天区域：展示对话内容输入区域：输入您想问的问题功能按钮：包括发送按钮、清空对话按钮和查看历史记录按钮（仅登录用户可见）2. 功能特点2.1 一键复制当您将鼠标悬停在任何一条消息上时，会出现一个复制按钮。点击该按钮可以一键复制该条消息的内容，非常方便引用或分享。2.2 聊天记录同步游客用户：聊天记录会保存在浏览器的本地存储中，清除浏览器数据后将丢失注册用户：聊天记录会同时保存在服务器，可以在任何设备登录账号后通过"查看历史记录"按钮加载2.3 清空对话如果您想开始新的对话，可以点击右上角的清空按钮，系统会询问确认后清空当前的对话记录。3. 深色模式适配AiChat插件完美适配深色模式，当您的博客切换到深色模式时，聊天界面也会自动切换到相应的深色样式。常见问题解答1. 为什么我看不到"AI Chat Plugin"模板选项？如果您在创建页面时没有看到"AI Chat Plugin"模板选项，可能是因为：插件没有正确安装或激活您的主题不完全兼容解决方法：尝试禁用后重新启用插件，或者联系插件作者获取支持。2. 为什么AI回复很慢或者失败？可能的原因包括：API密钥配置错误网络连接问题API服务商限流或额度用尽解决方法：检查API配置，确保网络连接稳定，或者考虑更换API服务商。3. 如何自定义聊天界面样式？如果您想进一步自定义聊天界面的样式，可以通过修改主题的CSS文件或使用自定义CSS插件来实现。主要的CSS类名包括：.ai-chat-container：整个聊天容器.ai-chat-messages-area：消息显示区域.ai-chat-input-area：输入区域.message.user：用户消息.message.bot：AI回复消息总结通过AiChat插件，您可以轻松地为Typecho博客添加一个功能强大、界面美观的AI聊天功能。无论是用于回答访客问题，还是作为博客的特色功能，它都能为您的网站增添不少亮点。希望本教程对您有所帮助！如果您在使用过程中遇到任何问题，欢迎在评论区留言或者联系插件作者获取支持。
ModernAdmin 是一款 Typecho 后台管理美化插件，基于 Microsoft Fluent Design 设计理念，提供数据可视化和系统监控功能。后台美化 | 数据统计 | 多主题支持 | 响应式设计 | 系统监控[tabs][tab name="产品概述" active="true"]插件特点界面优化基于 Fluent Design 设计语言，提供现代化的后台界面视觉体验。主要功能简单易用：安装启用即可使用，无需复杂配置数据统计：提供图表形式的网站数据统计多主题色：支持5种主题色和深浅模式切换响应式：适配桌面、平板、手机等设备系统监控：实时显示服务器状态信息功能对比功能特性系统默认普通美化插件ModernAdmin界面设计传统样式基础美化Fluent Design数据可视化基础数字简单图表ECharts图表服务器监控无无实时系统状态主题定制无1-2种5种主题+深浅模式移动端适配基础响应部分适配响应式设计更新维护官方更新不定期持续更新技术支持社区有限QQ技术支持[/tab][tab name="功能特色"]主要功能模块1. 主题系统5种主题色：蓝色、绿色、紫色、橙色、红色 深浅模式：支持自动切换和手动切换 实时切换：主题更改后页面元素同步更新 统一适配：菜单、图表、按钮等元素保持一致2. 数据统计网站概要：文章、评论、分类、标签等基础统计 日历热力图：按日期显示文章发布活跃度 标签统计：显示TOP15热门标签分布 图表类型：折线图、饼图、雷达图、柱状图 时间范围：支持全部、半年、3个月、1个月、7天3. 服务器监控资源监控：CPU、内存、磁盘使用率显示 系统信息：PHP版本、数据库、操作系统 自动刷新：每3秒更新一次数据 配置信息：文件上传限制、最大执行时间等4. 界面优化操作便捷：文章标题点击查看，快速编辑功能 动画效果：悬停和点击时的视觉反馈 响应式设计：适配桌面、平板、手机设备 菜单优化：移动端菜单响应问题修复5. 配置选项页面排除：可指定特定页面不受插件影响 菜单定制：支持置顶常用菜单项 统计设置：自定义网站开始日期 动画控制：可调节界面动画效果6. 移动端适配触摸优化：针对触摸设备的操作优化 菜单修复：解决移动端菜单点击无反应问题 布局适配：小屏幕设备的界面适配 性能优化：移动端加载和运行优化[/tab][tab name="效果预览"]🖼️ 界面展示🎨 主题色效果界面效果展示[collapse status="false" title="蓝色主题效果图（默认）"]保持原有功能不变，仅对界面进行美化[/collapse][collapse status="false" title="绿色主题效果图"][/collapse][collapse status="false" title="紫色主题效果图"][/collapse][collapse status="false" title="橙色主题效果图"][/collapse][collapse status="false" title="红色主题效果图"][/collapse]🌙 深浅模式对比日间模式参考上面的几种颜色主题夜间模式📊 统计面板展示网站概要面板现代化卡片式布局核心数据统计一目了然最新文章和评论快速访问网站统计面板发布趋势图表和日历热力图服务器状态面板实时系统资源监控圆形进度条直观显示详细的系统环境信息3秒间隔自动刷新移动端适配手机端使用说明手机端菜单响应问题已修复触摸操作针对性优化图表在小屏幕设备上正常显示支持横竖屏切换交互优化界面交互改进操作响应速度优化悬停动画效果页面跳转逻辑优化支持键盘快捷操作使用说明界面展示：截图为实际使用效果，安装后界面与展示一致。主题切换：可在后台设置中切换5种主题色，支持深浅模式。移动端支持：手机端菜单响应问题已在v1.2.6版本修复，移动设备可正常使用。[/tab][tab name="安装配置"]📦 安装部署系统要求Typecho 版本：推荐 1.2.1PHP 版本：推荐 7.4 或 8.0服务器环境：Apache/Nginx安装步骤获取插件：购买并下载 ModernAdmin 插件压缩包上传文件：解压后将 ModernAdmin 文件夹上传至 /usr/plugins/ 目录启用插件：在 Typecho 后台 → 插件管理 → 启用 ModernAdmin基础配置：进入"美化设置"完成初始化配置🔧 配置指南基础设置主题外观主题色选择：在"美化设置"中选择符合品牌调性的主题颜色深浅模式：设置默认模式或跟随系统偏好统计时间范围：选择数据统计的时间跨度（全部/半年/3个月/1个月/7天）网站信息开始日期设置：配置网站运营开始时间，格式支持 YYYY-MM-DD 或 YYYY/M/D统计范围说明：系统会根据设置自动调整统计说明文字高级配置页面管理排除页面路径配置（如主题后台设置）： /admin/options-theme.php菜单定制置顶二级菜单配置（格式：菜单名称|链接路径 或 菜单名称）： 撰写新文章|write-post.php 插件管理|plugins.php 网站概要 服务器状态🔄 更新维护版本更新备份当前插件配置和自定义设置下载最新版本覆盖原文件清理浏览器缓存（Ctrl+F5 或 Cmd+Shift+R）检查配置项是否需要重新设置故障排除检查文件权限是否正确（建议 755/644）确认是否与其他插件存在冲突查看浏览器控制台错误信息尝试禁用其他插件后重新测试📱 新增管理面板1. 网站概要面板访问路径：Typecho 后台 → 控制台 → 网站概要主要功能：核心数据统计卡片（文章、评论、分类、标签）最新文章列表（含独立查看和编辑按钮）最新评论列表（支持跳转到具体评论位置）访客总数统计（基于文章浏览量智能计算）发布趋势图表和日历热力图2. 服务器状态面板访问路径：Typecho 后台 → 控制台 → 服务器状态主要功能：实时系统资源监控（CPU、内存、磁盘）服务器运行时长和当前时间PHP 环境详细信息数据库版本和配置信息文件上传限制和执行时间限制3秒间隔自动刷新[/tab][tab name="技术规格"]🛠️ 技术架构前端技术栈设计语言：Microsoft Fluent Design SystemCSS 框架：现代化 CSS3 + CSS VariablesJavaScript：原生 ES6+ + AJAX图表库：ECharts 5.x（本地化部署，无需外部 CDN）动画引擎：CSS Transitions + Transforms图标系统：Fluent/MDL2 图标库后端集成数据接口：RESTful API 设计缓存机制：智能缓存策略，提升加载速度安全防护：XSS 防护 + CSRF 令牌验证错误处理：完善的异常捕获和日志记录数据库优化：高效的 SQL 查询和数据聚合性能优化加载优化资源文件版本控制，避免缓存问题CSS/JS 文件压缩，减少传输体积图片资源 SVG 矢量化，支持高分辨率显示懒加载机制，按需加载图表组件本地化资源部署，减少外部依赖运行优化AJAX 异步更新，避免页面刷新防抖节流机制，优化交互响应内存管理优化，防止内存泄漏兼容性检测，确保跨浏览器稳定运行🔒 安全特性权限验证：严格的用户权限检查数据过滤：输入数据的安全过滤和验证SQL 注入防护：使用预处理语句防止 SQL 注入文件安全：上传文件类型和大小限制代码审计：定期安全代码审计📱 响应式设计断点设计桌面端：≥1200px - 多列网格布局，充分利用屏幕空间平板端：768px-1199px - 自适应调整，保持最佳显示效果手机端：≤767px - 单列布局，优化触摸操作适配特性弹性网格系统，自动适应不同屏幕尺寸触摸友好的交互设计高分辨率屏幕优化横竖屏切换适配移动端导航栏优化🎨 设计系统色彩系统5种主题色：蓝色、绿色、紫色、橙色、红色深浅模式自动适配CSS 变量统一管理实时主题切换支持动画系统分层动画时长：全局 0.3s，交互 0.2s，快速响应 0.15s流畅的动画曲线：cubic-bezier(0.25, 0.46, 0.45, 0.94)悬停效果：上移 + 缩放 + 阴影聚焦效果：缩放 + 主题色边框 + 光晕[/tab][tab name="版本历程"]版本更新记录v1.5.1 (2025-08-15)智能平衡：修复v1.5.0中子菜单无法显示的问题，实现主菜单跳转与子菜单展开的完美平衡双击逻辑：父菜单项首次点击展开子菜单，二次点击跳转到主页面兼容优化：完全兼容原生Typecho菜单系统，不破坏现有展开/收起机制智能判断：准确识别有子菜单的父菜单项，避免误判和意外跳转用户体验：🌙美化设置、登出等所有菜单项现在都能正常显示和操作v1.5.0 (2025-08-15)重大重写：完全重写菜单处理系统，彻底解决控制台、撰写、管理、设置四个主菜单点击无反应问题全新策略：基于链接文本内容而非复杂的DOM结构判断，避免parent/child类误判特殊优化：对四个主菜单项（控制台、撰写、管理、设置）使用强制跳转机制统一处理：移除移动端和桌面端分离逻辑，使用统一的事件处理系统增强调试：每个链接分析过程完整记录，便于问题定位和后续优化性能提升：清理并重新绑定事件监听器，避免事件冲突和重复绑定v1.4.4 (2025-08-15)关键修复：精确修复菜单parent类判断逻辑，解决桌面端所有菜单项被误判为父菜单的问题改进父菜单项判断：同时检查parent类和下一个元素是否为child类（真正的子菜单）完善调试信息：显示hasParentClass、hasChildMenu、nextSibling等详细判断过程统一移动端和桌面端判断逻辑，确保一致的菜单行为修复普通菜单项（如控制台、撰写等）无法正常跳转的问题v1.4.3 (2025-08-15)移动端专项修复：重写移动端菜单事件处理逻辑，专门针对触摸设备优化新增移动端触摸事件支持，使用touchstart和touchend事件替代click事件为每个菜单链接独立绑定触摸事件，确保在移动端100%响应添加触摸视觉反馈，点击时显示背景色变化增强用户体验分离桌面端和移动端事件处理逻辑，避免跨设备冲突增强调试日志，显示设备类型、事件类型和处理状态v1.4.2 (2025-08-15)紧急修复：彻底解决菜单点击无反应问题，采用多重修复策略添加通用链接修复机制，直接为每个菜单链接绑定点击事件优化事件处理逻辑，桌面端和移动端统一处理增强链接跳转检测，支持多种链接格式的强制跳转添加详细的调试日志，便于问题诊断和排查移除设备检测限制，确保所有设备都能正常使用菜单功能v1.4.1 (2025-08-15)重大修复：完全重写菜单点击事件处理逻辑，彻底解决控制台、撰写等菜单项点击无反应问题修复置顶菜单功能，新增置顶菜单项渲染支持，可在后台配置置顶常用菜单优化事件处理机制，避免与原生Typecho菜单系统冲突简化移动端菜单处理逻辑，使用事件委托方式统一处理所有菜单项点击增强链接跳转逻辑，确保普通菜单项能够正常跳转而不被阻止改进调试信息，添加控制台日志便于问题排查v1.4.0 (2025-08-15)修复移动端菜单无反应问题，彻底解决手机端点击菜单无响应的bug移动端交互优化，增强触摸设备的事件处理和菜单展开功能JavaScript兼容性修复，解决ModernAdmin与原生Typecho菜单的冲突问题新增README文档说明控制台自动跳转问题的解决方案优化移动端事件捕获，确保菜单在所有设备上正常工作增加防重复绑定和异常处理机制v1.3.5 (2025-08-13)最新文章显示优化，增加独立的查看和编辑按钮顶部导航栏高度设置完善，修复子菜单定位问题夜间切换按钮位置智能优化服务器状态页面进度条视觉增强网站概要页面统计卡片支持点击跳转v1.3.4 (2025-08-13)最新文章跳转优化，统一跳转逻辑夜间切换按钮位置智能定位新增置顶二级菜单功能配置v1.3.3 (2025-08-13)日夜间切换按钮移动到美化设置按钮左侧服务器状态页面圆形进度条线条增粗最新文章链接样式优化隐藏页脚版权功能增强，支持第三方插件页面检测v1.3.2 (2025-08-13)动态日历配色系统，支持 GitHub 标准绿色配色最新评论智能跳转到具体评论位置服务器状态实时监控优化，更新频率调整为1秒滚动条样式主题色适配服务器状态面板支持AJAX实时数据更新v1.3.0 (2025-08-12)新增网站概要管理面板，包含数据统计卡片最新文章和评论列表展示功能统计卡片支持直接跳转到对应管理页面用户总数统计功能集成v1.2.9 (2025-08-12)访客统计功能集成响应式设计全面优化日历热力图 GitHub 风格完善隐藏仪表盘"官方最新日志"功能v1.2.6 (2025-08-12)服务器监控面板正式发布实时系统资源监控功能上线（CPU、内存、磁盘使用率）系统运行时长和负载显示移动端菜单响应问题初步修复open_basedir环境兼容性优化v1.2.0 (2025-08-12)多主题色系统上线，支持5种主题色统计时长范围可配置（全部/半年/3个月/1个月/7天）统计面板优化，适配一屏显示主题色实时切换支持网站开始日期配置功能v1.1.5 (2025-08-12)统计图表本地化部署，移除外部 CDN 依赖响应式布局全面优化ECharts 库本地化，提升加载速度排除页面路径配置功能v1.1.4 (2025-08-12)ARIA 无障碍访问支持兼容性问题修复Mica效果CSS样式系统v1.1.3 (2025-08-12)侧栏导航系统重构（已在后续版本中移除）基础交互优化深色主题预加载机制v1.0.0 (2025-08-12)Fluent Design 设计语言引入夜间模式系统建立核心美化功能实现插件架构搭建完成基础CSS变量系统建立版本更新统计版本发布日期更新类型主要内容v1.5.12025-08-15智能平衡子菜单显示问题修复v1.5.02025-08-15重大重写菜单处理系统完全重写v1.4.42025-08-15关键修复菜单parent类判断逻辑修复v1.4.32025-08-15专项修复移动端菜单触摸事件优化v1.4.22025-08-15紧急修复菜单点击问题彻底修复v1.4.12025-08-15重大修复菜单点击无反应问题修复v1.4.02025-08-15重大修复移动端菜单问题修复v1.3.52025-08-13功能优化文章显示和导航优化v1.3.42025-08-13界面调整导航栏优化和菜单配置v1.3.32025-08-13视觉优化按钮位置和页脚功能v1.3.22025-08-13功能增强日历配色和AJAX更新v1.3.02025-08-12重大更新网站概要管理面板v1.2.92025-08-12功能集成访客统计和日志隐藏v1.2.62025-08-12重大更新服务器监控面板v1.2.02025-08-12重大更新多主题色和配置系统v1.1.52025-08-12性能优化图表本地化和排除功能v1.1.42025-08-12界面增强无障碍和Mica效果v1.1.32025-08-12系统优化导航重构和预加载v1.0.02025-08-12初始版本基础功能框架[/tab][tab name="常见问题"]一、在服务器状态页面遇到图中类似问题的解决办法1.在宝塔站点目录关闭防跨站攻击(open_basedir)。2.在PHP管理中的禁用函数中删除system、exec和shell_exec。二、强烈建议使用typecho1.2.1版本和php8.0版本。[/tab][/tabs]购买说明[scode type="green"]价格为15/人插件将持续更新维护，购买后可随时更新最新版[/scode][scode type="yellow"]小本买卖，不求购买，只求别倒卖或传播！不支持退款！[/scode]购买流程：1.先直接扫描购买方式中的二维码或者通过转账方式支付费用（如果有问题可以售前咨询），付款时备注一下联系方式QQ2.然后通过下面的联系方式联系我（备注一下「购买 ModernAdmin 后台插件」），看到后会立即响应申请和处理，通过QQ发送给你插件的相关文件676567473支付方式，选择任意一个即可最后插件如有安装或使用问题，可在评论区发出或私聊对插件的美化和优化建议，也请在评论区提出感谢选择 ModernAdmin，让我们一起打造更美好的 Typecho 后台体验！
SleepData 插件是一个用于在 Typecho 博客系统中记录、存储和分析个人睡眠数据的工具。它解决了部分健康应用（如 OPPO 健康）数据封闭、无公开 API 的问题，允许用户将数据掌握在自己手中。核心问题与解决方案许多健康应用（例如 OPPO 健康）不提供公开的 API 接口，也无法将数据同步到 Google Fit 等开放平台，导致用户的健康数据完全封闭，难以进行统一管理和长期分析。本插件通过提供一个独立的数据录入和存储系统来解决此问题。用户可以通过截图 OCR 识别、手动录入或 API 调用等方式，将睡眠数据保存在自己的服务器上，从而实现数据的自主掌控和长期追踪。工作流程整个数据处理流程从用户手机端的健康应用开始，经过前端的 OCR 识别与数据提交，再到服务器端的处理与存储，最后通过不同的页面进行展示。插件特性数据自主可控: 所有数据存储在用户自己的服务器上。双重存储: 同时保存到数据库和 JSON 文件，保证数据安全。OCR 自动录入: 通过识别截图，简化数据输入过程。API 支持: 开放 API 接口，方便进行二次开发或批量导入。自适应存储: 自动检测服务器环境，寻找可写目录，无需手动配置。双重配置: 支持后台配置和文件配置两种方式，提高灵活性。Handsome 主题集成: 与 Handsome 主题无缝集成，支持顶部导航栏和侧边栏展示。使用指南1. 安装插件从源码地址下载插件压缩包。解压后，将文件夹重命名为 SleepData。上传 SleepData 文件夹到 Typecho 的 usr/plugins 目录下。登录 Typecho 后台，进入"控制台" -> "插件"，找到"SleepData"并启用。2. 配置插件启用插件后，点击"设置"进入配置页面。API 访问令牌: 设置一个足够复杂的字符串作为 API 访问的密钥。这是保证数据安全的关键。此令牌有两种配置方式，系统会优先使用方法一：方法一（推荐）: 直接在后台设置页面填写并保存。方法二（备用）: 编辑插件目录下的 data_config.php 文件，修改 API_ACCESS_TOKEN 的值。3. 数据录入方式一：OCR 识别上传（推荐）这是最便捷的方式，尤其适用于从手机健康 App 录入数据。在浏览器中打开插件目录下的 https://博客地址/sleep-data-uploader/index.html 文件。填写您的 API 地址 和 访问令牌 （一次填写后浏览器会记住）。点击"拍照识别"或"选择截图"按钮，上传您在健康 App 中截取的睡眠数据图片。系统会自动识别图片中的数据并填充到表单中。核对无误后，点击"发送数据"。方式二：手动输入如果 OCR 识别有误或没有截图，可以选择手动填写所有睡眠数据，然后点击"发送数据"。方式三：通过 API 上传对于有开发能力的用户，可以通过 POST 请求直接向 API https://博客地址/usr/plugins/SleepData/simple-api.php 提交数据。请求体为 JSON 格式，需包含access_token及所有睡眠数据字段。4. 查看数据后台查看: 在 Typecho 后台的插件设置页面，会直接展示最近 50 条睡眠记录。独立页面查看: 访问 https://博客地址/usr/plugins/SleepData/view-data.php 可以查看 JSON 文件中的所有数据记录。数据库查看: 在数据库中的typecho_sleep_data表中查看所有数据记录。根目录查看: 在根目录下的temp/sleep_data.json文件中查看所有数据记录。5. 在 Handsome 主题中展示睡眠数据展示一：添加到顶部导航栏效果展示添加代码到主题的headnav.php文件中。[collapse status="false" title="php代码，放在nav navbar-nav hidden-sm的ul中"][hide] <path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path> 睡眠统计 今日睡眠 本周平均 本月平均 累计睡眠 平均入睡 本周最晚 质量最佳 质量最差 睡眠趋势 加载中... [/hide][/collapse][collapse status="false" title="JS代码，添加到/header前面"][hide] [/hide][/collapse]展示二：添加到侧边栏效果展示添加代码到主题的sidebar.php文件中。[collapse status="false" title="php代码，放在博客信息的上下即可"][hide] <?php if (class_exists('SleepData_Plugin')): ?> <?php _me("今日睡眠") ?> <?php $sleepData = SleepData_Plugin::getTodaySleepData(); if ($sleepData): ?> <?php echo htmlspecialchars($sleepData['sleep_score']); ?> 分 <?php echo date('m月d日', strtotime($sleepData['date'])); ?> 总睡眠 <?php $totalSleep = ($sleepData['deep_sleep_minutes'] ?? 0) + ($sleepData['light_sleep_minutes'] ?? 0) + ($sleepData['rem_sleep_minutes'] ?? 0); echo SleepData_Plugin::formatMinutesToDuration($totalSleep); ?> 睡眠时段 <?php echo substr($sleepData['sleep_time'], 0, 5); ?> - <?php echo substr($sleepData['wake_up_time'], 0, 5); ?> 深睡 <?php echo SleepData_Plugin::formatMinutesToDuration($sleepData['deep_sleep_minutes']); ?> 浅睡 <?php echo SleepData_Plugin::formatMinutesToDuration($sleepData['light_sleep_minutes']); ?> 快速眼动 <?php echo SleepData_Plugin::formatMinutesToDuration($sleepData['rem_sleep_minutes']); ?> <?php else: ?> 手表没戴或者没电了，暂无今日睡眠数据 <?php endif; ?> <?php endif; ?>[/hide][/collapse]最后插件使用过程中有任何问题，欢迎在评论区留言。插件Github地址：[hide]https://github.com/BXCQ/SleepData[/hide]网盘下载：[hide]https://pan.xunlei.com/s/VOWWC8KD7Vl3QiqIDGk4xnk-A1?pwd=z8h6#[/hide]
WeFootStep：微信运动步数同步到Typecho博客的完整解决方案
1. 项目概述WeFootStep 是一个 Typecho 插件，它能够将用户的微信运动步数同步到您的 Typecho 博客并在前端展示。本项目由 Typecho 插件（后端）和微信小程序（前端）两部分组成。通过这两部分的协同工作，实现了微信运动数据的采集、传输、存储和展示的完整流程。1.1 功能特点步数同步：通过微信小程序安全地获取并同步微信运动步数。数据统计：在导航栏提供今日步数、周/月平均、累计步数和最佳纪录等统计功能。历史图表：以图表形式直观展示历史步数变化趋势。后台管理：支持在后台查看和管理已同步的步数记录。高度自定义：支持将步数模块显示在侧边栏、页脚或主题任意自定义位置。安全可靠：严格遵循微信官方加密和验证机制，确保数据安全。1.2 技术架构2. 安装与配置2.1 插件安装从 GitHub 下载 WeFootStep 项目的 ZIP 压缩包并解压。将解压后得到的 WeFootStep 文件夹上传到您 Typecho 博客的 /usr/plugins/ 目录下。在 Typecho 后台管理界面的“控制台” > “插件”中，找到 WeFootStep 并启用它。2.2 插件配置启用插件后，点击“设置”进入配置页面：微信小程序 AppID / AppSecret：（必填） 填写您的小程序 AppID 和 AppSecret。显示样式与位置：选择步数在前台的显示样式（如进度条、文本）和位置（侧边栏、页脚或自定义）。卸载时是否删除数据：建议保留数据，除非您确定不再需要历史步数记录。2.3 微信小程序配置WeFootStep 目录中包含的 miniprogram 文件夹是小程序的前端项目。创建小程序：如果您还没有小程序，请先在 微信公众平台 注册并创建一个。获取凭证：在“开发” > “开发管理” > “开发设置”中，找到并记录您的 AppID 和 AppSecret。开启接口权限：在“开发” > “开发管理” > “接口设置”中，务必手动开启“微信运动步数”接口权限。配置服务器域名：在“开发” > “开发管理” > “开发设置” > “服务器域名”中，将您的博客域名添加到 request合法域名 列表中。这是小程序能成功请求到您博客的必要前提。配置小程序代码：使用“微信开发者工具”导入 miniprogram 文件夹。打开 pages/index/index.js 文件，将第 8 行的 url 修改为您博客的同步接口地址。地址必须是公网可访问的 HTTPS 地址。//... url: 'https://博客地址/index.php/action/wefootstep?do=sync', //... //如果这个有问题，可以改成https://博客地址/index.php/action/WeFootStep?do=sync上传和预览：在微信开发者工具中，点击“上传”将代码上传到微信后台，然后设置为“体验版”供自己或朋友测试使用。3. 使用方法3.1 博客端数据展示自动显示：如果您在插件设置中选择了“侧边栏”或“页脚”，插件会自动在相应位置显示。自定义位置：如果选择“自定义位置”，您需要在主题的模板文件（如 sidebar.php, footer.php 或 header.php）中，在您希望展示步数的地方添加以下调用代码：<?php WeFootStep_Plugin::render(); ?>或者使用 HTML 注释作为标记（适用于不方便修改 PHP 的场景）： 导航栏统计：导航栏的步数统计功能是自动集成的，启用插件后即可在前台看到效果。3.2 小程序端数据同步小程序支持两种同步方式：自动同步：每次打开小程序时，它会自动尝试从微信服务器获取最新步数并同步到您的博客。手动同步：可以随时点击界面上的“同步步数”按钮来触发一次同步。成功同步后，小程序界面会显示“同步成功”的提示，同时您的博客前端数据也会刷新。4. 功能与接口4.1 后台管理插件在 Typecho 后台的“独立页面”菜单旁增加了一个“微信步数”管理面板，您可以在此：查看所有已同步的步数历史记录。对特定日期的步数记录进行编辑或删除。4.2 API 接口WeFootStep 提供了两个核心的 API 接口：POST /index.php/action/wefootstep?do=sync：小程序专用接口，用于接收小程序发送的加密步数数据并执行同步操作。GET /index.php/action/wefootstep?do=getStepData：前端专用接口，用于为导航栏的统计模块提供格式化的 JSON 数据。5. 主题集成：以 Handsome 主题为例本教程将指导您如何直接修改 Handsome 主题，在顶部导航栏中添加一个交互式的微信运动步数统计面板，契合主题所有颜色且支持夜间模式，具体参考本站顶部。此方法比创建新文件更稳定。5.1 第一步：修改 headnav.php 文件定位文件：用编辑器打开 Handsome 主题的 headnav.php 文件。该文件位于主题目录的 component 文件夹下：/usr/themes/handsome/component/headnav.php。添加HTML面板：在文件中搜索 class="dropdown pos-stc，找到如下图所示的列表项 ( )。紧跟在这整个 标签的后面，添加以下代码，这是步数统计面板的 HTML 结构：[collapse status="false" title="展开查看代码"] <polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline> <polyline points="17 6 23 6 23 12"></polyline> 步数统计 今日步数 本周平均 本月平均 累计步数 最佳记录 最差记录 步数趋势 加载中... [/collapse]添加依赖库和脚本：滚动到 headnav.php 文件的最底部，在 标签的正上方，粘贴以下所有代码。这部分代码包含了面板运行所需的 ECharts、FontAwesome 图标库以及数据处理和图表渲染的 JavaScript 脚本。[collapse status="false" title="展开查看代码"] [/collapse]代码说明：这段代码直接在页面内查询数据库并渲染数据，不依赖外部AJAX请求，性能更好且更稳定。同时，它会自动检查 WeFootStep 插件是否启用，如果未启用，会在面板中给出提示，避免网站出错。6. 同步问题排查指南同步失败是初期配置时最常见的问题。请遵循以下步骤进行排查：6.1 第一步：小程序端自查打开微信开发者工具，在“控制台(Console)”中查看是否有错误信息。控制台错误信息可能原因解决方案request:fail url not in domain list请求的博客地址未被添加到小程序的合法域名中。登录微信公众平台，在“开发” > “开发设置” > “服务器域名”中，将您的博客域名（如 https.blog.example.com）添加到 request合法域名。request:fail timeout请求超时。可能是您的服务器响应慢，或网络连接不佳。检查服务器性能和网络状况。确保博客地址可以从公网快速访问。[AppID] is not a valid official account插件设置中的 AppID 或 AppSecret 填写错误。仔细核对插件设置中的 AppID 和 AppSecret 是否与微信公众平台上显示的完全一致，注意不要有空格。其他网络错误 (如 404, 500)小程序发出的请求未能被服务器正确处理。这是服务器端的问题，请跳转到 第二步 进行排查。6.2 第二步：服务器端排查如果小程序端没有明确的配置错误，问题通常出在服务器或 Typecho 插件端。问题现象可能原因解决方案请求返回 404 Not Found1. Typecho 未能正确处理 Action 路由。2. 服务器（Nginx/Apache）的伪静态/重写规则配置不正确。1. 确认插件已正确启用。2. 检查 Typecho “设置” > “永久链接”是否启用，并确认服务器已配置了伪静态规则。对于 Nginx，请确保有类似 if (!-e $request_filename) {rewrite ^(.*)$ /index.php$1 last;} 的配置。 3.检查后台的地址重写是否开启。4.检查文件名是否正确（大小写）。请求返回 500 Internal Server ErrorPHP 代码执行出错。查看服务器的 PHP 错误日志。这是定位问题的最有效方法。错误日志会明确指出是哪个文件的哪一行代码出了问题。请求有响应但内容为空，或提示“解密失败”session_key 获取失败或解密过程出错。1. 再次确认 AppID 和 AppSecret 绝对正确。2. 确保您的服务器可以正常访问微信的 API 服务器 (api.weixin.qq.com)，没有被防火墙或网络策略阻挡。数据同步了，但前端不显示1. 博客或 CDN 缓存导致页面未更新。2. 插件显示位置配置不正确或主题不兼容。1. 清理您博客、CDN 或浏览器的缓存。2. 确认插件设置中的显示位置。如果使用“自定义位置”，请检查调用代码是否已正确添加到主题文件中。特别检查伪静态，地址重写，无误后可以删除插件重新上传并测试！！！如果以上步骤均无法解决问题，可以通过qq联系我，并附上你在排查过程中收集到的错误信息。7. 工作原理详解7.1 数据同步流程用户授权：用户在微信小程序中授权允许获取微信运动数据。获取凭证：小程序通过 wx.login() API 获取微信用户的临时登录凭证 code。获取步数：小程序通过 wx.getWeRunData() API 获取已加密的微信运动数据 encryptedData 和初始向量 iv。发起请求：小程序将 code、encryptedData 和 iv 一同发送到您在插件中配置的 Typecho 博客后端 API 接口。服务端验证：Typecho 插件后端接收到请求后，将 code、AppID 和 AppSecret 发送给微信认证服务器，换取用户的 session_key。使用 session_key 和 iv 对 encryptedData 进行 AES-128-CBC 解密。数据入库：解密成功后，从中提取步数和日期，并验证数据水印。验证通过后，将步数数据存入 Typecho 数据库的 typecho_we_foot_step 表中。前端展示：博客前端通过插件提供的函数或 API 接口，从数据库读取步数数据，并根据您的配置进行展示和统计。7.2 安全机制数据加密：微信运动数据全程使用 AES-128-CBC 算法加密传输。身份验证：使用有时效性的临时登录凭证 code 和 session_key 机制，确保请求来自合法用户和小程序。数据水印：解密后的数据包含小程序 appid 水印，用于校验数据的完整性和来源，有效防止数据被篡改或伪造。8. 技术实现概览组件文件及功能插件核心Plugin.php: 插件主文件，负责安装/卸载、路由注册、钩子绑定、后台菜单和前端资源加载。Action.php: API 请求处理器，负责数据同步和数据查询接口的逻辑。Widget.php: 前端渲染器，负责生成步数模块的 HTML 和提供给主题调用的公共方法。manage.php: 后台管理页面，用于展示和管理步数列表。edit.php: 后台编辑页面，用于修改单条步数记录。小程序miniprogram/: 包含小程序的所有前端代码 (app.js, pages/, app.json 等)。9. 其他9.1 联系与支持如果有什么使用问题或者改进建议，可在此评论区留言或加入QQ群825038573Github下载地址：[hide]https://github.com/BXCQ/WeFootStep[/hide]本文档由璇编写，最后更新于2025年12月
Typecho高级IP访问控制插件：自动拉黑和频率限制
前言前段时间给博客加了一个访客统计才发现有好多采集IP等，特点就是：一秒读一个页面，两分钟就把我网站所有页面、标签、文章都访问了个遍，还有广东的更过分，多个ip同时访问等，总之不像是真人访问的。然后我就找了一个Typecho黑名单拦截的插件，十年前的BlockIP，作者就已经很久没更新了。我就想要是自动拦截并加入黑名单的应该很好用，于是就进行了改造。改造期间我在知乎问了一下这个情况，知道了一个叫长亭雷池的，但是它里面的智能防护太严格，甚至把我自己的后台的编辑文章，外观设置等很多行为都进行检测拦截，然后设置了白名单效果也不太好。可能完美的设置需要升级或者我还没弄明白。所以就继续改造。到现在自己也内测了几周，感觉没什麽问题了，就整理出这个AdvancedBlockIP。由于拦截依据和频率等检测出于我自己的看法经验，可能效果欠佳，希望各位能够在Github提Issues或者在评论区提出 ::aru:cheer::介绍在当今互联网环境下，网站安全变得越来越重要。恶意爬虫、暴力破解、垃圾评论等问题时刻威胁着我们的网站。今天给大家介绍一款强大的Typecho安全插件——高级IP访问控制插件，它能够智能识别并拦截各种网络威胁。插件预览后台控制面板被拦截效果（可自定义html）插件特色功能智能防护模式插件默认启用智能模式，不需要复杂配置就能自动识别以下威胁：威胁类型检测机制自动处理频率异常1秒内访问5个不同URL5秒内访问10次及以上10秒内访问20次及以上60秒内访问60次及以上自动加入黑名单并标记UA异常检测可疑的用户代理识别爬虫工具、脚本程序等自动加入黑名单并标记来源异常识别包含攻击关键词的来源页面自动加入黑名单并标记行为模式异常分析访问行为，发现自动化攻击模式自动加入黑名单并标记精确的IP规则匹配支持多种IP地址格式，满足不同场景需求：规则类型格式示例说明单个IP192.168.1.100精确匹配单个IP地址IP范围192.168.1.1-50匹配指定范围内的IP单个通配符192.168.1.*匹配最后一段的所有IP多个通配符192.168.*.*匹配多段的所有IPCIDR格式192.168.1.0/24匹配指定网段的所有IP行内注释192.168.1.100 # 备注支持在规则后添加注释自动化管理自动黑名单：智能检测触发时自动将威胁IP加入黑名单分类标记：按检测类型自动标记【频率异常】【UA异常】【来源异常】【行为异常】访问间隔控制：防止过于频繁的访问请求实时日志记录：详细记录所有拦截事件可视化统计：24小时趋势图表，一目了然安装及更新步骤[scode type="green"]将插件文件解压到Typecho的插件目录：/usr/plugins/AdvancedBlockIP/在Typecho后台的"控制台 → 插件"页面找到"AdvancedBlockIP"，点击激活激活后插件会自动创建数据表，默认已选择智能模式，基本上可以直接使用直接用新版本覆盖掉旧版本即可[/scode]配置建议工作模式选择模式适用场景特点智能模式大多数网站黑白名单同时生效自动识别威胁推荐使用黑名单模式开放性网站默认允许访问仅拦截指定IP白名单模式内部系统默认拦截访问仅允许指定IP黑名单处理方式处理方式适用场景效果完全禁止访问恶意攻击IP彻底拦截黑名单IP显示拦截页面限制访问频率爬虫、采集器限制访问间隔减轻服务器压力访问间隔设置默认值：10秒高流量网站：5-7秒个人博客：15-20秒注意：此设置仅影响黑名单IP的访问频率限制调试模式记录详细的运行日志到服务器error_log包含IP访问记录、规则匹配过程、智能检测触发原因等建议仅在排查问题时开启，避免日志文件过大"访问过频"和"频率异常"详细介绍插件提供了两种不同的频率控制机制，它们有着不同的使用场景和工作原理：两种频率控制机制对比特性访问过频（Rate Limiting）频率异常（Frequency Anomaly）适用对象仅黑名单中的IP所有非白名单IP工作模式黑名单处理模式为"限制访问频率"时生效智能模式下自动生效实现原理检查访问间隔是否小于设定值基于行为模式分析，检测异常访问模式检测方式简单时间间隔检测多维度分析（访问次数、URL数量等）触发条件访问间隔小于设定值（默认10秒）1秒内访问2个不同URL5秒内访问3次及以上10秒内访问6次及以上特殊处理黑名单IP限制更严格（间隔为普通设置的10%）自动将IP加入黑名单，记录检测类型和时间处理方式临时拦截访问，不加入黑名单永久加入黑名单并拦截实现函数isAccessTooFrequent()checkFrequencyAnomaly()配置方式可在插件设置中调整固定规则，不可配置日志标记"黑名单频率限制""智能检测：频率异常"使用场景数据采集程序限速监控但不完全封禁的IP合法但高频访问的用户暴力破解攻击恶意爬虫和扫描器自动化攻击工具DDoS攻击尝试两种机制的协同工作这两种机制在插件中协同工作，形成了两层防护：第一层防护（频率异常检测）：主动识别恶意行为自动将威胁IP加入黑名单提供持久性的保护第二层防护（访问过频控制）：对已知威胁IP实施访问频率控制防止黑名单IP过度消耗服务器资源允许合法但频繁的访问以受限方式进行这种双层防护设计使得插件能够既有效拦截真正的威胁，又不会过度影响正常但频繁的访问需求。插件工作流程访问检测优先级（从高到低）白名单检查 - 最高优先级，直接放行黑名单检查 - 第二优先级完全禁止模式：直接拦截频率限制模式：智能检测 → 频率控制模式处理智能模式：仅智能检测，通过后直接放行白名单模式：非白名单直接拦截黑名单模式：记录访问并放行详细工作流程图┌───────────────────┐ │ 访问请求开始 │ └────────┬──────────┘ │ ▼ ┌───────────────────────┐ 是 ┌───────────────┐ │ 检查IP是否在白名单 ├────────────►│ 直接放行 │ └────────┬──────────────┘ └───────────────┘ │ 否 ▼ ┌───────────────────────┐ 否 ┌───────────────────────┐ │ 检查IP是否在黑名单 ├────────────►│ 检查当前工作模式 │ └────────┬──────────────┘ └───────────┬───────────┘ │ 是 │ ▼ ▼ ┌───────────────────────┐ ┌───────────────────────────────┐ │ 检查黑名单处理模式 │ │ 智能模式 │白名单模式│黑名单模式│ └────────┬──────────────┘ └─────┬─────┴────┬────┴────┬────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌───────────┐ 完全禁止 ┌───────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │选择处理方式├───────────►│ 拦截访问 │ │智能检测 │ │ 拦截访问│ │记录放行 │ └─────┬─────┘ └───────────┘ └────┬────┘ └─────────┘ └─────────┘ │限制频率 │ ▼ ▼ ┌─────────────────────┐ 否 ┌─────────────────┐ 是 ┌─────────────┐ │ 检查访问是否过于频繁 ├───────────────►│ 检测到威胁行为? ├───────►│ 加入黑名单 │ └────────┬────────────┘ └─────────────────┘ └──────┬──────┘ │是 │ ▼ ▼ ┌─────────────────────┐ ┌─────────────────────┐ │拦截访问(访问过频) │ │ 拦截访问(智能检测) │ └─────────────────────┘ └─────────────────────┘控制台功能控制台页面位于后台"控制台"菜单下的"IP防护控制台"，提供以下功能：功能区块内容作用统计概览今日拦截数总计拦截数自动加黑名单数快速了解安全状况趋势图表24小时拦截趋势图直观展示安全态势拦截原因各类拦截原因统计分析威胁类型分布活跃IP拦截次数最多的IP识别持续攻击源详细日志完整拦截记录分页浏览一键清空删除本页日志深入分析安全事件更新日志v2.4.1 (2025-10-09) - 重要安全更新🔧 修复：修复白名单模式下白名单为空时拦截所有IP的严重问题，避免管理员被锁在外面🔧 修复：修复 navBar() 函数参数错误导致的后台无法访问问题🛡️ 新增：管理后台访问自动放行机制，所有访问 /admin/、admin.php、/action/ 等后台路径的请求将自动放行，确保管理员始终可以访问后台⚡ 优化：大幅放宽智能模式频率检测阈值，减少对正常用户的误判：1秒内访问限制：从2个不同URL提升到5个URL5秒内访问限制：从3次提升到10次10秒内访问限制：从6次提升到20次新增60秒内访问60次的长期频率检测🔒 安全：白名单模式下若检测到白名单为空，插件将自动放行所有IP并记录警告日志，防止误配置导致网站无法访问📝 改进：增强调试日志输出，添加更多检测细节，便于排查问题✅ 稳定性：修复了可能导致插件启用后拦截所有IP的多个潜在问题v2.4.0 (2025-08-13)新增：User-Agent白名单功能，支持完整匹配和部分匹配新增：User-Agent白名单与智能检测模式无缝集成，优先级最高新增：User-Agent白名单支持注释功能，便于管理和维护优化：智能检测流程，白名单User-Agent自动跳过异常检测v2.3.3 (2025-07-22)修复：解决了访问记录表中的主键冲突错误，避免出现"Duplicate entry for key PRIMARY"错误日志优化：重构了访问记录处理逻辑，现在为每个IP仅保留最新的访问记录新增：数据库结构修复工具，可自动修复并优化表结构优化：记录访问历史时增加了错误处理和异常捕获机制改进：表结构优化，正确设置了主键和唯一索引v2.3.2 (2025-07-11)修复：修复了因插件首次激活或配置不存在时，访问网站会导致程序崩溃的致命错误。v2.3.1 (2025-07-10)修复：修复了在IP防护控制台中，手动添加的黑名单条目不显示添加时间戳的问题。修复：修复了禁用再启用插件后，已保存的配置（黑名单/白名单）无法在设置页面正确显示的问题。修复：修复了在IP防护控制台删除黑名单条目后，由于换行符处理不当导致列表格式错乱的问题。优化：通过在多个关键位置（header, footer, handle等）增加钩子，增强了IP拦截功能的触发几率，确保其在各种场景下都能可靠生效。v2.3.0 (2025.06.23)新增：全新的“IP防护控制台”，提供可视化界面，方便用户实时查看和管理黑名单、白名单、拦截日志和访问日志。新增：日志分页功能，优化大量日志查看体验。修复：修复了插件在Typecho 1.2.1及PHP 8.0+环境下后台菜单不显示的问题。新增：引入兼容适配器，解决了新版Typecho的类命名空间问题。版本更新对比版本更新时间主要新增功能主要优化内容v2.4.12025.10.09管理后台自动放行误拦截修复频率检测优化白名单模式安全修复后台访问保护v2.3.32025.07.22数据库修复工具主键冲突修复访问记录逻辑重构表结构优化错误处理增强v2.3.22025.07.11-BUG修复修复因插件首次激活、配置尚未存在时，访问网站前台会导致程序崩溃的问题v2.3.12025.07.10-BUG修复修复删除IP后格式错乱问题v2.3.02025.06.23兼容性增强后台菜单项修复适配器改进旧版Typecho支持v2.2.02025.06.06调试模式IP规则匹配机制优化智能检测改进频率异常检测精度增强UA和Referer检测增强安全隐患修复代码重构v2.1.02025.05.13访问间隔控制功能黑名单处理模式选择独立安全控制台24小时拦截趋势图日志记录机制改进统计信息显示优化性能和稳定性提升v2.0.02025.04.05智能检测模式多种IP规则格式支持自动黑名单功能实时日志记录24小时统计图表控制台管理界面-v2.4.1 最新版详细更新内容 (2025.10.09)类别更新内容说明修复白名单模式拦截所有IP问题修复了白名单模式下白名单为空时会拦截所有IP（包括管理员）的严重问题修复navBar函数参数错误修复了导致后台无法访问的函数参数问题新增管理后台自动放行新增管理后台路径检测，自动放行所有后台访问，确保管理员不会被误拦截优化频率检测阈值放宽大幅放宽智能检测阈值，减少误判：1秒/5个URL，5秒/10次，10秒/20次，60秒/60次安全白名单为空保护白名单模式下若白名单为空，自动放行并记录警告，防止管理员被锁在外面改进调试日志增强增加更多检测细节日志，便于问题排查v2.3.3 详细更新内容 (2025.07.22)类别更新内容说明修复主键冲突错误修复了访问记录表中的主键冲突问题，解决"Duplicate entry for key PRIMARY"错误优化访问记录逻辑重构重构了访问记录处理，为每个IP仅保留最新的一条访问记录，提高查询效率新增数据库修复工具新增控制台中的"修复数据库结构"功能，可一键修复数据表问题优化错误处理机制增强了记录访问历史时的错误捕获和处理机制，提高稳定性优化表结构改进优化数据表结构，正确设置主键和索引，提高性能和稳定性v2.3.2 详细更新内容 (2025.07.11)类别更新内容说明修复致命错误修复修复了插件首次激活或配置不存在时，访问网站会导致程序崩溃的问题v2.3.1 详细更新内容 (2025.07.10)类别更新内容说明修复黑名单删除BUG修复了在控制台删除黑名单条目后，列表文本格式错乱的问题优化列表处理逻辑增强了对列表空行和空格行的处理，提高了程序健壮性v2.3.0 最新版详细更新内容 (2025.06.23)类别更新内容说明修复PHP 8.0兼容性优化修复了在PHP 8.0环境中使用插件的兼容性问题修复Typecho 1.2.1支持确保插件与Typecho 1.2.1版本完全兼容优化后台控制台菜单修复改进了控制台菜单项的添加方式，解决404错误优化类加载适配器增强增强了与各种环境的兼容性，降低报错概率修复插件激活/停用修复修复了多个与插件生命周期相关的问题优化错误处理机制改进改进了错误处理，提供更详细的错误信息v2.2.0 更新内容 (2025.06.06)类别更新内容说明优化IP规则匹配机制优化改进规则解析机制，正确处理行内注释，提高匹配准确性优化智能检测改进调整频率异常检测阈值，降低误判率优化频率异常检测精度增强优化检测算法，提高识别准确率优化UA和Referer检测增强更新特征库，改进异常检测逻辑新增调试模式新增可选的调试日志记录，便于排查问题修复安全隐患修复修复多处潜在的安全漏洞优化代码重构优化核心检测流程，提升执行效率和稳定性使用建议阶段建议操作说明初次使用添加白名单选择智能模式避免自己被拦截获得全面保护日常维护定期查看日志清理过期记录了解安全状况优化数据库性能遇到问题开启调试模式检查规则配置获取详细日志排查配置错误性能优化合理设置间隔定期清理日志根据流量调整减少数据库负担推荐配置工作模式：智能模式（自动识别威胁）黑名单处理：根据需要选择完全禁止或频率限制访问间隔：10秒（仅影响黑名单IP）监控要点智能检测：重点关注自动拉黑的IP黑名单管理：定期检查黑名单中的IP日志维护：定期清理过期日志白名单维护：及时将重要IP加入白名单常见问题Q: 如果误拦截了正常用户怎么办？ A: 将该IP添加到白名单或者手动从黑名单中删除即可，白名单优先级最高。Q: 插件会影响搜索引擎收录吗？ A: 不会，插件内置了对主流搜索引擎爬虫的识别和保护。Q: 可以同时使用多种工作模式吗？ A: 智能模式已经整合了黑白名单功能，推荐直接使用智能模式。Q: 日志会不会越来越多占用空间？ A: 可以在控制台页面一键清空历史日志，或者定期清理。总结最新版本v2.4.1是一次重要的安全更新，修复了可能导致管理员被锁在外面的严重问题，并大幅优化了智能检测的准确性。通过新增管理后台自动放行机制和放宽频率检测阈值，插件在保护网站安全的同时，显著降低了对正常用户的误判。v2.3.3解决了IP访问记录表中的主键冲突问题，优化了数据库结构。无论你是个人博客还是商业网站，这款插件都能为你提供可靠的安全保护。有使用问题或者改进建议请在评论区提出 ::aru:cheer::Github地址：[hide]https://github.com/BXCQ/AdvancedBlockIP[/hide]
在博客设计中，标签云是一个既实用又能增加视觉吸引力的元素。向大家介绍一款专为Typecho博客Handsome主题打造的3D标签云插件——ColorfulTags，我二次开发后的，因为原版无效果。这款插件不仅可以让你的标签展示更加生动，还能为你的博客增添现代感和专业度。插件介绍ColorfulTags是一款基于SVG技术的彩色3D标签云插件，它通过SVG和现代JavaScript技术，实现了真实的三维旋转效果。与传统的2D标签云或伪3D效果相比，它能够提供更加真实的空间感和互动体验。标签云会自动旋转，同时响应鼠标移动，当鼠标悬停在标签上时，标签会放大并高亮显示。每个标签都会根据选择的颜色风格随机分配颜色，使整个标签云看起来更加丰富多彩。特色功能1. 真实3D效果插件使用SVG技术实现了真实的三维旋转效果，标签会均匀分布在一个虚拟的球体上，通过透视和缩放效果，呈现出真实的3D感。这种效果不仅仅是视觉上的平面旋转，而是真正的空间立体展示。2. 多彩标签风格插件提供了四种颜色风格，满足不同设计需求：深色系：以深蓝、深紫、深红等颜色为主，适合白色或浅色背景的网站明亮系：鲜艳的蓝色、绿色、橙色等高饱和度颜色，适合任何背景粉彩系：柔和的粉色、淡蓝、薄荷绿等浅色调，适合清新风格的网站高对比度：强烈的红色、紫色、黄色等高对比度颜色，使标签更加醒目3. 响应式设计插件会自动适应不同屏幕尺寸，在桌面端、平板和手机上都能呈现最佳效果。特别是在移动端，标签云会调整大小和行为，保证良好的用户体验。4. 无缝PJAX支持对于使用PJAX技术的Handsome主题，插件提供了完美的支持。当页面通过PJAX切换时，标签云效果不会丢失，保持连贯的用户体验。5. 自定义配置插件提供了多项可自定义的参数，包括：3D旋转速度调整颜色风格选择标签云容器和标签选择器自定义开启/关闭3D效果PJAX支持设置安装使用安装步骤到仓库下载将解压后的文件夹重命名为ColorfulTags上传到网站的/usr/plugins/目录进入Typecho后台 → 插件管理 → 找到「ColorfulTags」→ 启用插件根据需要调整插件参数参数设置在插件设置页面，你可以调整以下参数：是否启用3D效果：默认为"是"，如果设置为"否"，将只显示彩色标签而没有3D效果3D旋转速度：默认值为1，可以根据喜好调整，建议在0.5-2之间颜色风格：选择标签的配色方案是否启用PJAX：如果你的主题使用了PJAX，请选择"是"标签云容器选择器：默认为#tag_cloud .tags，根据主题可能需要调整标签选择器：默认为#tag_cloud .tags a，根据主题可能需要调整效果展示安装并启用插件后，你的标签云将从普通的平面布局变成动态的3D球形布局。标签会根据所选颜色风格呈现不同的颜色，并在球体上均匀分布。当你的鼠标移动时，3D球体会跟随鼠标旋转，当鼠标悬停在特定标签上时，该标签会放大并高亮显示。点击标签可以跳转到对应的标签页面，就像普通标签云一样。技术实现ColorfulTags插件使用了多种现代前端技术：SVG技术：用于创建和操作3D效果中的标签元素现代JavaScript：使用ES6+语法，实现更加简洁高效的代码requestAnimationFrame：代替传统的setInterval，提供更加流畅的动画效果CSS3转换和过渡：实现标签的平滑过渡和变换效果响应式设计：使用媒体查询和相对单位，适应不同屏幕尺寸插件核心采用了黄金分割螺旋算法来分布标签，确保标签在3D空间中均匀分布，避免堆叠和重叠问题。常见问题解答1. 标签云不显示或显示异常？检查标签云容器选择器和标签选择器是否正确检查主题是否有特殊的CSS规则覆盖了插件样式尝试禁用其他可能冲突的插件2. 3D效果不流畅？降低旋转速度参数值检查浏览器是否支持SVG和现代CSS特性如果标签数量过多，可能会影响性能，建议控制标签数量3. 颜色效果不明显？确认选择了适合网站背景的颜色风格检查是否有其他CSS规则覆盖了标签颜色尝试在自定义CSS中添加!important提高样式优先级兼容性浏览器兼容性：支持所有现代浏览器（Chrome, Firefox, Safari, Edge等）主题兼容性：专为Handsome主题优化，但也可兼容大部分Typecho主题插件兼容性：与大多数Typecho插件兼容，如与其他标签云插件冲突，请禁用其中一个总结ColorfulTags插件为Typecho博客特别是Handsome主题带来了现代化的标签云展示效果。它不仅提升了博客的视觉体验，还增强了用户与标签的互动。通过简单的安装和配置，你就能让你的博客标签焕发新生。插件由璇(blog.ybyq.wang)二次开发，如有问题或建议，欢迎在评论区留言或在GitHub仓库提交issue或PR。 原插件仓库：https://gitee.com/invelop/Typecho-ColorfulTags-For-Handsome新版仓库地址：[hide]https://github.com/BXCQ/ColorfulTags[/hide]