Xuan's blog - 插件开发
type: channel
link: https://blog.ybyq.wang/category/plugin-development/
description: Typecho 等平台插件开发与二开：功能设计、接口实现、发布与版本管理要点。
items: CommentAI - Typecho博客AI智能评论回复插件
items: CategoryBatchManager - Typecho后台文章分类批量管理插件
items: PluginMonitor - Typecho 插件监控工具
items: FriendsRSS - Typecho友链RSS自动订阅展示插件
items: Typecho handsome 博客添加AI聊天功能 - AiChat插件
items: ModernAdmin - Typecho 全后台美化插件
items: Typecho handsome 睡眠记录数据展示插件 - SleepData
items: WeFootStep：微信运动步数同步到Typecho博客的完整解决方案
items: Typecho高级IP访问控制插件：自动拉黑和频率限制
items: Typecho博客3D彩色标签云插件（Handsome主题优化版）

CommentAI - Typecho博客AI智能评论回复插件
type: item
date: 2026-01-25T20:25:49+08:00
description: 简介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后台文章分类批量管理插件
type: item
date: 2026-01-19T21:34:00+08:00
description: 插件简介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。常见问题看不到新增的批量菜单项？确认已启动 CategoryBat…

PluginMonitor - Typecho 插件监控工具
type: item
date: 2025-10-09T23:57:00+08:00
description: 为什么需要插件监控？作为 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自动订阅展示插件
type: item
date: 2025-08-25T16:18:00+08:00
description: 概述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 - 排除特定…

Typecho handsome 博客添加AI聊天功能 - AiChat插件
type: item
date: 2025-08-18T21:35:00+08:00
description: 插件介绍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 全后台美化插件
type: item
date: 2025-08-11T23:43:00+08:00
description: 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统计范围说明：系统会根据设置…

Typecho handsome 睡眠记录数据展示插件 - SleepData
type: item
date: 2025-07-31T23:41:00+08:00
description: 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_e…

WeFootStep：微信运动步数同步到Typecho博客的完整解决方案
type: item
date: 2025-07-15T23:57:00+08:00
description: 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 主题，在顶部导航栏中添加一个交互式的微信运动步数统计面板，契合主题所有颜…

Typecho高级IP访问控制插件：自动拉黑和频率限制
type: item
date: 2025-06-23T19:35:00+08:00
description: 前言前段时间给博客加了一个访客统计才发现有好多采集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()配置方式可在插件设置中调整固定规则，不可配置日志标记"黑名单频率限制""智能检测：频率异常"使用场景数据采集程序限速监控但…

Typecho博客3D彩色标签云插件（Handsome主题优化版）
type: item
date: 2025-06-16T23:50:00+08:00
description: 在博客设计中，标签云是一个既实用又能增加视觉吸引力的元素。向大家介绍一款专为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仓库提交is…