2026年10月

Surl 外链管理插件 · 使用说明

适用版本:v1.2 | 环境:Typecho 1.2+ / 1.3,PHP 7.4+(兼容 8.3)
简单介绍:把站点所有外部链接统一管理起来 —— 每条链接一个固定跳转地址 + 二维码,改目标不换码,前台自带链接导航页,写文章时一键插入。

一、安装与启用

  1. 解压 Surl.zip,将 Surl 文件夹上传至站点 usr/plugins/ 目录
  2. 进入 控制台 → 插件,找到「Surl 外链管理」,点击启用

    • 启用时自动创建数据表、注册路由与后台面板
  3. 从 v1.0/v1.1 升级:直接覆盖插件文件夹后,先禁用再启用一次即可

    • 禁用时插件会自动备份配置,重新启用时自动恢复,无需重新设置(数据表与链接数据全程保留)

二、基本使用流程

后台新增外链 → 获得固定跳转地址 / 二维码 → 印刷 / 发布 / 文中引用
     ↑                                            ↓
后台随时修改目标网址 ←—— 二维码与旧链接始终有效 ——← 用户访问 /go/别名/
  1. 新增外链:控制台 → 外链管理 → 填写标题、分类、标签、外链网址 → 「新增并生成二维码」
  2. 获取地址:列表中复制该链接的跳转地址(如 https://你的域名/index.php/go/plan-001/),或点击二维码查看大图下载
  3. 修改目标:随时点「编辑」更换目标网址 —— 跳转地址和二维码都不变,已印出的二维码永远指向最新内容
  4. 删除外链:点「删除」并确认。注意:删除后该跳转地址与二维码立即失效

三、跳转方式设置

进入 控制台 → 插件 → Surl → 设置:

  • 直接跳转(默认):访问跳转地址后立即 302 到目标,适合日常使用
  • 提示页跳转:先展示品牌中转页(标题、说明、目标地址、「立即跳转」按钮),N 秒后自动跳转。适合想展示品牌、或希望用户明确感知"正在离开本站"的场景

    • 「提示页停留时间」:自动跳转秒数
    • 「中转页标题文字」:支持 %s 占位符,如 即将前往:%s;留空默认「正在为您跳转:链接标题」
    • 「中转页提示文字」:留空默认「您即将离开本站,前往外部链接」

每条链接的访问次数会在后台列表自动累计。

四、撰写文章时使用(撰写页面板)

在 撰写文章 / 撰写页面 页面右侧(选项栏下方)可看到「链接库」面板:

┌ 链接库 ─────────────────────────┐
│ [搜索标题/别名/分类/标签/网址] [搜索] │
│  医疗险A计划        [插入] [删除]  │
│  意外险B计划        [插入] [删除]  │
│ [+ 新建外链]                     │
└────────────────────────────────┘
  1. 插入已有链接:点「插入」,Markdown 链接 [标题](跳转地址) 会插入到编辑器光标处
  2. 边写边建:点「+ 新建外链」展开表单,填标题与网址(分类/别名/标签可选),保存后即可插入
  3. 清理:不再需要的链接可直接在面板删除(有确认提示)
为什么插入的是 index.php/go/... 而不是真实网址?
这是插件的核心价值:文章中的链接走站内跳转,日后在后台修改目标网址,所有已发布文章的跳转目标即时更新,且每条链接都有访问统计。

五、前台链接导航页

启用后自动开通,无需配置:

  • 总览页:https://你的域名/index.php/surl/(开启伪静态后为 /surl/)
  • 分类页 / 标签页:从导航栏或后台「分类 / 标签」页签获取地址
  • 搜索:页面顶部搜索框,或地址栏加 ?q=关键词

页面元素:

  • 顶部品牌栏 + 分类导航栏(各分类带数量角标,当前分类高亮)
  • 链接卡片:左侧标题/分类/标签信息,右侧二维码;支持「复制链接」与「访问链接」
  • 二维码点击查看大图

手机端:分类收进右上角菜单按钮(点开抽屉选择分类),搜索收进搜索按钮;链接卡片与大屏一致保持左右排列,不会变成难读的纵向长条。

切换主题:插件设置 →「前台主题」→ 青绿 / 橙红 / 白净,保存即时生效。

六、二维码说明

  • 二维码内容是站内跳转地址,不是目标网址:

    • 改目标网址 → 二维码不变,已印制的继续有效
    • 改别名 → 跳转地址变化,二维码随之变化(编辑弹窗中有提示,请谨慎)
  • 后台每条链接、每个分类页、每个标签页都提供二维码(小图点击看大图)
  • 重要:切换「伪静态」设置会改变跳转地址形式(index.php/go/… → go/…),已有二维码内容随之改变。如二维码已印刷分发,请保持伪静态设置不变

七、伪静态

插件设置中的「伪静态」与 Typecho「设置 → 永久链接」保持一致即可:

  • Typecho 未开启伪静态:插件选「关闭」,地址带 index.php
  • Typecho 已开启伪静态:插件选「开启」,地址更简洁(/go/别名/、/surl/)

八、常见问题(FAQ)

Q1:启用了,前台地址 404?
确认访问地址是否与「伪静态」设置匹配(未开伪静态时要带 index.php);确认 Typecho「设置 → 永久链接」保存过一次(重写规则已生成)。

Q2:禁用插件会丢数据吗?
设置项「禁用插件时」默认保留数据表,链接数据与配置都安全(配置还会自动备份)。选「删除数据表」则数据无法恢复,请慎重。

Q3:升级插件怎么操作?
覆盖插件文件夹 → 禁用 → 启用。配置自动恢复,链接数据保留。

Q4:别名可以自定义吗?
可以。新增或编辑时填写即可,全站唯一(如 plan-001);留空则自动生成。中文别名同样支持(地址自动编码)。

Q5:撰写页面板没显示?
确认页面是「撰写文章 / 撰写页面」页;升级覆盖文件后需禁用再启用一次插件(重新注册面板钩子)。

Q6:一个外链可以属于多个分类/标签吗?
分类是单值(每条链接一个分类),标签是多值(逗号分隔多个)。

Q7:跳转地址会被搜索引擎收录吗?
不会。跳转地址输出 noindex, nofollow,中转页同样设置,不影响站点 SEO。

Q8:能用于印刷物料吗?
可以,这正是插件的设计场景:二维码指向固定的站内跳转地址,活动页地址变更时后台改一下即可,物料无需重印。

附:设置项速查

设置项位置何时改
前台主题(青绿/橙红/白净)插件设置想换前台配色
伪静态插件设置Typecho 永久链接开启后同步(注意二维码影响)
每页显示条数插件设置后台列表很长时
跳转方式 / 停留时间 / 中转页文案插件设置需要"离开提示"或品牌展示时
禁用插件时(删表/保留)插件设置通常保持默认「保留数据表」

Surl 外链管理插件 · 功能清单

适用版本:v1.2(Typecho 1.2+ / 1.3,PHP 7.4+,兼容 PHP 8.3)
插件定位:站内统一管理外部链接 —— 别名跳转、访问统计、二维码生成、前台链接导航页、撰写页一键插入


一、外链管理(后台面板)

控制台入口:控制台 → 外链管理(仅管理员可见)

1.1 新增外链

字段必填说明
标题✓外链名称,如「XX保险产品详情」
分类—输入框自动补全已有分类,支持新建
别名—留空自动生成(如 plan-001);全站唯一,重复时提示更换
标签—多个标签用逗号分隔,自动补全已有标签
外链网址✓需以 http:// 或 https:// 开头,格式校验

1.2 外链列表(每页条数可在设置中调整,默认 20)

  • 展示列:标题 / 分类 / 别名与跳转地址 / 标签 / 外链网址 / 访问次数 / 二维码 / 操作
  • 支持关键词搜索(匹配标题、别名、分类、标签、网址)与分类筛选
  • 操作:编辑(弹窗修改全部字段)、删除(二次确认,提示二维码将失效)

1.3 编辑弹窗

  • 修改目标网址:二维码保持不变,已印出的二维码依然有效
  • 修改别名:跳转地址与二维码随之变化(页面有明确提示)

1.4 分类页签 / 标签页签

  • 分别列出全部分类、标签:名称 / 外链数 / 前台页面地址 / 二维码

1.5 二维码

  • 每条链接、每个分类页、每个标签页均可生成二维码
  • 列表内小图,点击弹出大图
  • 二维码内容为站内跳转地址(/go/别名/),目标网址后续更换不影响二维码

二、外链跳转

  • 跳转地址:http://站点/index.php/go/别名/(开启伪静态后为 http://站点/go/别名/)
  • 访问计数:每次跳转自动 +1,后台列表可见
  • 防搜索引擎索引:跳转地址输出 X-Robots-Tag: noindex, nofollow
  • 两种跳转方式(后台可选):

    • 直接跳转(默认):302 重定向到目标网址
    • 提示页跳转:展示品牌中转页,停留 N 秒后自动跳转,页面含醒目「立即跳转」按钮(青绿渐变),可自定义标题文字(支持 %s 标题占位符)与说明文案
  • 不存在的别名返回 404

三、前台链接导航页(v1.2 全新独立外壳)

3.1 页面与路由

页面地址(未开启伪静态)地址(开启伪静态)
总览页(全部链接)/index.php/surl//surl/
分类页/index.php/surl/category/分类名//surl/category/分类名/
标签页/index.php/surl/tag/标签名//surl/tag/标签名/
搜索/index.php/surl/?q=关键词/surl/?q=关键词
  • 搜索匹配:标题 / 别名 / 分类 / 标签 / 网址
  • 中文分类、标签名地址自动 URL 编码,可直接访问

3.2 页面结构

  • 顶部栏:站点品牌 + 搜索框 + 图标按钮
  • 分类导航栏:横向展示「全部 + 各分类」(带外链数量角标),当前项高亮
  • Hero 区:页面标题与描述
  • 链接卡片:主信息(标题、分类、标签、简介区)+ 二维码左右并排;含「复制链接」按钮(点击反馈"已复制")与「访问链接」按钮
  • 二维码点击弹出大图,Esc 关闭

3.3 响应式

断点分类导航搜索卡片布局
大屏(>767px)横向导航栏完整显示顶部搜索框完整显示左右布局
小屏(≤767px)收纳为菜单按钮,点击展开抽屉(全部链接 + 各分类,当前项高亮,可点击跳转)收纳为搜索按钮,点击展开搜索条保持与大屏一致的左右布局(仅缩小二维码与内边距)
  • 两个抽屉互斥展开,Esc 可关闭;小屏无横向滚动溢出

3.4 三套前台主题

主题标识风格
青绿teal(默认)青绿渐变头部 + 浅色页面,清新专业
橙红orange橙红渐变头部,热情醒目
白净plain纯白头部,极简素雅
  • 切换即时生效,全站前台页面(总览/分类/标签/搜索)统一换肤

3.5 文案去品牌化(v1.2)

  • 前台所有页面不再出现「外链」字样,以「链接导航」「全部链接」「访问链接」「搜索链接」等中性文案呈现

四、撰写页面板

在撰写文章与撰写页面编辑页的右侧栏(与自定义字段同区域)注入「链接库」面板:

  • 搜索:按标题 / 别名 / 分类 / 标签 / 网址实时检索已有链接
  • 新建:展开表单即可新建链接(标题、分类、别名、标签、外链网址),无需跳转后台

    • 别名重复、网址格式错误均有即时错误提示
  • 删除:列表内可直接删除链接(二次确认)
  • 插入:点击「插入」按钮,在编辑器光标处插入 [标题](站内跳转地址) Markdown 链接

    • 文章中使用跳转地址:后续在后台修改目标网址,已发布文章无需改动,跳转目标即时更新
    • 插入按钮有「已插入」反馈;列表重渲染(搜索/新建/删除后)仍可正常插入

五、插件设置(后台「设置」中的插件配置)

设置项默认值说明
前台主题青绿前台配色:青绿 / 橙红 / 白净(v1.2 新增)
伪静态关闭开启后跳转与前台地址去除 index.php;切换会改变二维码内容,已印制的二维码请谨慎操作
每页显示条数20后台外链列表分页大小
跳转方式直接跳转直接跳转 / 提示页跳转
提示页停留时间3 秒提示页跳转方式下停留秒数
中转页标题文字空支持 %s 占位符(替换为链接标题),留空使用「正在为您跳转:%s」
中转页提示文字空留空使用「您即将离开本站,前往外部链接」
禁用插件时保留数据表保留 / 删除(删除后数据无法恢复)

六、可靠性与安全

  • 配置自动备份恢复:禁用插件时自动备份全部配置,重新启用时自动还原,升级插件无需重新配置
  • 数据表独立(typecho_surl_links),禁用是否删表由设置项控制
  • 后台动作(增删改查)仅管理员可操作,请求带安全 Token 校验
  • 所有输出经 HTML 转义,中转页跳转地址 JSON 安全注入,无 XSS 注入面
  • 跳转地址、中转页均对搜索引擎 noindex/nofollow,避免 SEO 权重流失

AI 创作助手 (AiAssistant)使用方法

在后台撰写文章/页面时,右侧会出现一个 AI 对话框:输入内容后可让 AI 制作标题、正文、摘要、标签,并一键推送到对应的输入框;也支持自由对话。兼容 PHP 8.3+,适配 Typecho 1.3 正式版。

一、安装

  1. 将 AiAssistant 文件夹上传至 Typecho 站点的 usr/plugins/ 目录(或后台「控制台 → 插件 → 上传」安装 zip 包)。
  2. 后台「控制台 → 插件」中找到 AI 创作助手,点击 启用。
  3. 点击插件下方的 设置,配置模型服务商与 API Key(见下文)。
要求:PHP 8.3 及以上;服务器可访问外网(调用大模型接口需要出网权限);建议开启 cURL 扩展(未开启时插件自动降级为 stream 方式请求)。

二、配置模型(插件设置面板)

服务商选择(下拉框)

按推荐优先级排列:

国内 · 免费(优先推荐,注册即用)

服务商默认模型API Key 获取地址说明
智谱 GLMglm-4.5-flashhttps://open.bigmodel.cnflash 系列模型免费,注册即可用;新模型(如 glm-5.3-flash)可在「模型名称」覆盖
讯飞星火litehttps://console.xfyun.cnSpark Lite 免费;密钥填控制台的 APIPassword

国内 · 其他

服务商默认模型API Key 获取地址
阿里通义千问qwen-flashhttps://bailian.console.aliyun.com (新用户有免费额度)
DeepSeekdeepseek-chathttps://platform.deepseek.com
字节豆包doubao-seed-1-6-flashhttps://console.volcengine.com/ark (模型名可填接入点 ID ep-xxxx)
百度千帆ernie-speed-128khttps://console.bce.baidu.com/qianfan
月之暗面 Kimimoonshot-v1-8khttps://platform.moonshot.cn

国外大厂

服务商默认模型API Key 获取地址
OpenAIgpt-4o-minihttps://platform.openai.com
Anthropic Claudeclaude-3-5-haiku-latesthttps://console.anthropic.com
Google Geminigemini-2.0-flashhttps://aistudio.google.com

自定义接口(两类)

  • 【自定义】OpenAI 兼容接口:适用于各类中转站、OneAPI、Ollama、LM Studio 等任何兼容 chat/completions 的服务。
  • 【自定义】Anthropic 格式接口:Claude 系中转。

自定义时需填写:接口地址(完整 chat completions 地址)、API Key、模型名称。

其他设置项

设置项默认值说明
API Key空所选内置服务商的密钥
模型名称空留空用内置默认;服务商出新模型时可在此覆盖
温度 temperature0.70~2,越大越发散
单次最大 Token2048生成长度的上限
请求超时(秒)60调用模型接口的超时时间
写作语言中文AI 输出所用语言
角色设定(persona)空追加到系统提示词,例如「你是资深科技博主,文风幽默」
摘要自定义字段名excerptTypecho 没有内置摘要框,生成的摘要写入这个自定义字段;SEO 主题一般用 description,按你主题的要求修改
正文推送方式追加「追加」= 推送时保留原正文;「替换」= 推送时经确认后覆盖全文

配置完成后保存,回到「管理 → 撰写新文章」即可看到右侧的 AI 对话框。

三、撰写页功能

打开「管理 → 撰写文章」(独立页面同样支持),右侧出现 AI 创作助手 面板:

快捷按钮(生成后自动推送)

  1. 标题:根据你输入的主题/要求 + 当前正文,生成一个博客标题 → 自动填入 标题框。
  2. 正文:根据输入的主题生成 Markdown 正文 → 自动写入 正文编辑框(空正文直接写入;已有内容按设置的「追加/替换」方式处理)。
  3. 摘要:根据当前正文生成约 100 字摘要 → 自动写入 自定义字段(默认 excerpt,字段不存在时自动新建一行;无正文时会提示先写正文)。
  4. 标签:根据当前正文提取 3~8 个标签 → 自动加入 标签框(独立页面无标签框时会提示)。

自由对话

下方输入框输入任意内容,回车(或点「发送」)即可与 AI 对话,例如:

  • 「帮我把正文改写得更口语化,先给我第一段」
  • 「围绕这个主题列一个大纲」
  • 「给这篇文章想 3 个不同风格的标题」

每条 AI 回复下方都有四个按钮:推送标题 / 推送正文 / 推送摘要 / 推送标签,点击即可将回复内容填入对应输入框。

其他

  • 面板可点击「—」收起,收起后通过右上角蓝色「AI 助手」按钮再次展开(状态会记住)。
  • 面板头部显示当前服务商与模型,点击可跳转到插件设置。

四、常见问题

Q: 提示「请先在 控制台-插件-AI创作助手-设置 中保存服务商与密钥」?
A: 未保存插件配置,去设置面板填好 Key 并保存。

Q: 提示「API Key 无效或无权限 (xxx 401)」?
A: 检查 Key 是否填错、是否选择了对应服务商;智谱/星火等需在官网开通模型服务。

Q: 摘要写到哪了?前台怎么显示?
A: 写入文章自定义字段(默认 excerpt)。主题模板中可用 $this->fields->excerpt 输出;如主题使用 description 字段做 SEO,把设置里的字段名改为 description 即可。

Q: 想用本地 Ollama / LM Studio?
A: 选择「【自定义】OpenAI 兼容接口」,地址填 http://127.0.0.1:11434/v1/chat/completions(Ollama),Key 随意填,模型名填本地模型(如 qwen2.5:7b)。

Q: 豆包/千帆调用报 404?
A: 模型名不对。豆包可填接入点 ID(ep-xxxx),千帆确认已开通对应模型;均可在设置「模型名称」中覆盖。


安全说明:AJAX 端点要求登录且为投稿人及以上权限,并校验 Typecho 表单令牌(防 CSRF);API Key 保存在站点数据库配置中,仅后台服务端使用,不会输出到页面。

Simple 主题功能特点与使用文档

版本:Simple 3.0.4 | 适配:Typecho 1.3+ PHP 8.3+ | 作者:迷你日志

Simple 是一款基于「Simple 2.3」深度改造的青绿色扁平风格 Typecho 主题,可以配合typecho手机客户端迷你日志APP来使用,单栏自适应布局,内置亮 / 暗双主题、多级分类菜单、SEO / GEO 优化等实用功能,开箱即用、无外部依赖。

一、功能特点

1. 界面与视觉

  • 青绿扁平设计:以青绿色(#0f9d8f)为主色的扁平化界面,卡片式文章列表,视觉清爽。
  • 亮 / 暗双主题:

    • 右上角按钮一键切换亮色 ⇄ 暗色,选择保存在访客浏览器(localStorage)中;
    • 后台可设默认模式:跟随系统(自动)/ 始终亮色 / 始终暗色;
    • 未手动选择时自动跟随系统 prefers-color-scheme,且系统偏好变化实时响应。
  • 自适应布局:860px 单栏内容区,桌面 / 平板 / 手机全设备适配;移动端顶栏自动折叠为汉堡菜单抽屉。
  • 节日氛围装饰:支持「喜庆」(飘灯笼动画)与「悲哀」(灰度)两种节日模式,默认关闭。
  • 尊重动画偏好:自动响应系统「减弱动态效果」设置。

2. 导航菜单

  • 多级分类菜单:父分类自动聚合子分类,展示展开箭头。
  • PC 端:鼠标悬停父分类即展开二级下拉菜单,箭头同步转为朝上。
  • 移动端:点击箭头展开二级分类、箭头转为朝上;再次点击收起、箭头恢复朝下。已彻底禁用移动端悬停转向(防止触屏点击后箭头停在转向状态),交互只由点击控制。
  • 当前页高亮:首页、分类、页面、文章所在分类自动高亮。
  • 自定义菜单项:后台可追加自定义 <li> 导航项(如外链)。
  • 孤儿子分类保护:父分类被删除时,孤儿子分类自动平铺到菜单,不丢失入口。

3. 文章功能

  • 列表缩略图:优先取自定义字段「缩略图」,为空自动取正文第一张图;带总开关。
  • 文章置顶推荐:后台填入置顶文章 cid,首页顶部展示推荐位。
  • 阅读量统计:文章页显示阅读次数,基于 Cookie 防重复计数,首次访问自动建库字段(MySQL / SQLite 均兼容)。
  • 图片懒加载:正文图片懒加载占位,配合 InstantClick 无刷新换页。
  • 外链新窗口打开:正文外链自动加 target="_blank" rel="noopener nofollow"。
  • 上一篇 / 下一篇:卡片式导航,无上下篇时优雅降级。
  • 猜您喜欢:相关文章列表(不足时自动补充随机文章)。
  • 打赏功能:文章页底部微信 / 支付宝二维码展开按钮,可开关。

4. 评论功能

  • 评论者归属地:显示评论者 IP 归属省份,支持关闭 / 本地内置 IP 库(qqwry.dat,速度快)/ 太平洋网络接口(更精准)三种模式。
  • 头像加速:Gravatar 头像国内镜像源可选(Cravatar / WeAvatar / loli.net / 极客族);QQ 号邮箱自动走 QQ 头像。
  • 评论 @ 回复:回复自动带 @ 对方,被回复者处于审核状态时显示「审核中」标记。
  • 作者标识:作者评论自动带「作者」徽标。
  • 回复兜底:Typecho 原生回复脚本缺失时自动启用主题内置兜底实现,回复 / 取消回复始终可用。
  • 原生反垃圾:保留 Typecho 原生评论令牌校验,冲突时可临时关闭。

5. SEO / GEO 优化

  • SEO 增强:自动输出规范化 description / keywords、Open Graph、Twitter Card;首页描述与关键词可自定义。
  • 结构化数据(JSON-LD):自动输出 WebSite / BlogPosting / BreadcrumbList,帮助搜索引擎理解页面。
  • GEO 模块(AI 收录优化):面向 AI 搜索与大模型引擎的优化——robots 放宽快照限制(max-snippet:-1 等);后台带一键「GEO 自检」按钮,实抓首页验证放宽是否生效。
  • 文章页摘要卡片:文章顶部展示「内容速览」摘要卡片(可开关),摘要取自定义字段「摘要」,为空时自动截取正文。

6. 性能与其他

  • InstantClick 预加载:无刷新换页,静态资源可选本地 / Staticfile / BootCDN / 自定义地址。
  • HTML 压缩:可开启前台 HTML 压缩输出,自动跳过 <pre>、<textarea> 与 <nocompress> 区域。
  • 搜索面板:点击放大镜展开搜索框,支持 Esc / 点击外部关闭。
  • 返回顶部:右下角圆形按钮,实时显示阅读进度百分比,平滑滚动。
  • 页脚耗时显示:页脚显示页面渲染耗时;底部代码位可放统计 / 备案信息。
  • 无第三方依赖:所有 JS / CSS 随主题自带,无需外网 CDN 即可正常运行。

二、安装与启用

  1. 在 Typecho 后台进入 控制台 → 外观;
  2. 点击 上传外观,选择本主题压缩包 simple.zip 上传并启用;
    (或手动解压 simple.zip,将 simple 文件夹上传至站点 usr/themes/ 目录)
  3. 进入 控制台 → 外观 → 设置外观,按需填写配置并 保存设置。
环境要求:Typecho 1.3,PHP 8.3+(需 pdo_sqlite / mysqli / pdo_mysql 任一数据库扩展,mbstring、curl 扩展推荐开启)。

三、后台设置项说明

进入 控制台 → 外观 → 设置外观,设置项分组如下:

分组设置项说明
基础站点 LOGO 地址留空则显示站点标题文字
基础站点 Favicon 地址留空使用站点默认 favicon.ico
基础文章置顶推荐置顶文章 cid,半角逗号或空格分隔
基础菜单导航自定义项追加自定义导航,按 <li> 格式书写
基础默认配色模式跟随系统 / 始终亮色 / 始终暗色(访客可自行覆盖)
基础节日氛围正常 / 悲哀 / 喜庆
基础HTML 压缩压缩前台 HTML 输出,遇异常可关闭
基础评论者归属地关闭 / 本地内置 IP 库 / 网络接口
打赏打赏功能 + 微信 / 支付宝二维码地址文章页底部展示打赏二维码
文章列表列表缩略图缩略图总开关
广告与统计文章页顶部 / 底部代码、底部代码可放广告、统计、备案信息
镜像加速静态资源镜像源 / 自定义地址InstantClick 脚本来源,默认本地
镜像加速Gravatar 头像镜像源Cravatar / WeAvatar / loli / 极客族
SEOSEO 增强 / 首页描述 / 首页关键词 / 结构化数据见上文 SEO 说明
GEOGEO 模块 / 摘要卡片开关 / GEO 自检按钮AI 收录优化与自检

四、菜单与二级分类使用方法

  1. 在 管理 → 分类 中创建分类:先创建父分类(如「技术」),再创建子分类并在「父级分类」中选择该父分类(如「前端开发」「后端开发」);
  2. 主题导航自动生成层级:

    • PC(鼠标设备):悬停父分类展开二级下拉菜单,移开自动收起,箭头随悬停转向;
    • 手机 / 平板触屏:点击父分类右侧箭头展开二级分类(箭头转为朝上),再次点击收起(箭头恢复朝下);点击分类文字仍然直接跳转分类页。
  3. 无子分类的分类项不显示箭头;子分类「菜单缩略名 / slug」用于导航高亮判断。

五、文章自定义字段

编写文章时,编辑框下方的 自定义字段 区域提供两个字段:

字段说明
摘要展示在文章页顶部摘要卡片(「内容速览」),同时作为 SEO description 的优先来源;留空则自动截取正文
缩略图文章列表右侧缩略图地址;留空自动取正文第一张图片

六、常见问题(FAQ)

Q1:手机端点二级分类箭头没反应?
确认浏览器窗口宽度 ≤760px 时菜单已通过汉堡按钮展开;请清掉浏览器缓存的旧版 style.css / theme.js(本版本号已升为 3.0.4,正常更新主题后自动失效旧缓存)。

Q2:HTML 压缩开启后页面异常?
关闭「HTML 压缩」;或在需要保留原样的区域用 <!--<nocompress>--> 与 <!--</nocompress>--> 包裹。

Q3:评论归属地显示不准确?
本地模式使用内置 IP 库(精准到省级),需要更精确可切换「网络(太平洋接口)」模式。

Q4:阅读量没加一?
同一访客对同一文章的多次浏览基于 Cookie 去重,属正常行为。

Q5:如何临时关闭评论反垃圾令牌校验?
外观设置 → 评论原生反垃圾 → 临时关闭(仅建议与其他功能冲突时使用)。

Q6:GEO 自检提示无法抓取首页?
部分服务器禁止自请求(curl 本机),不影响前台 robots meta 的正常输出,可忽略该项。


Simple 3.0 系列:青绿扁平改造、多级分类菜单、移动端搜索、亮暗双主题、SEO / GEO 模块、镜像加速、阅读量统计等(见「功能特点」)。配合TpEnhance插件、AiAssistant插件和Surl插件使用,支持迷你日志APP客户端使用,风格搭配,运行快速。

TpEnhance 插件功能清单

TpEnhance 是一款 Typecho 功能增强套件,整合六大实用模块。全部模块的开关、配置与日常管理均整合在插件设置页内,以选项卡形式分组展示,互不干扰。

模块核心功能
系统加速头像国内源加速、正文静态库国内 CDN 替换、图片 CDN 图库(8 类图床 + 撰写页面板)
搜索优化百度收录推送(独立开关)、五合一站点地图(独立开关)、SEO 增强、结构化数据(JSON-LD)、GEO(AI 收录优化)、GEO 自检
邮件推送SMTP 评论通知(新评论通知作者 / 回复通知被回复者)、测试邮件、发送日志、自定义模板
登录限制半小时失败次数限制、失败日志记录与清理
评论过滤昵称 / 邮箱 / 网址 / IP / 敏感词 / 日文 / 长度等多维反垃圾策略
页面缓存Redis / Memcached 页面加速、一键清空

一、系统加速模块

三类加速能力各自拥有独立开关,可任意组合,互不影响。

1.1 头像加速(开关)

  • 加速头像源:Cravatar(推荐)、WeAvatar、极族、Loli 镜像四个国内源,另支持自定义源(模板占位符 {md5} / {size} / {rating} / {default})。
  • QQ 头像特判(开关):纯数字 @qq.com 邮箱自动显示对应 QQ 头像。
  • 关闭开关后自动回退系统默认 Gravatar 官方源,主题无需修改。
  • 与 Simple 3.0 主题(v3.0.5+)无缝接入,主题评论头像自动走加速通道。

1.2 静态库加速(开关)

  • 开启后自动识别正文中引用的 jsDelivr / cdnjs / unpkg / code.jquery.com 四类公共库地址,替换为所选国内 CDN。
  • 目标 CDN 库:Staticfile(七牛云)、BootCDN(Bootstrap 中国)、奇舞团 360 帕米图、ZStatic,另支持自定义 CDN(模板占位符 {lib} / {ver} / {file})。
  • 内置 19 个常用库白名单(jQuery、jQuery UI、Bootstrap、Popper、Font Awesome、Vue、Axios、Moment、ECharts、Swiper、Chart.js、highlight.js、clipboard.js、animate.css、Lodash、dayjs、three.js、D3、Leaflet),库名自动归一化(如 cdnjs 的 twitter-bootstrap → bootstrap)。
  • 白名单外的 URL 一律保持原样,不做任何替换,避免错误改写。
  • 文件名严格校验(拒绝路径穿越与非法字符),关闭开关后正文原样输出。

1.3 图片 CDN 与 CDN 图库(开关)

  • 开启后后台「撰写文章 / 撰写页面」侧栏出现 CDN 图库面板,上传图片直接写入所选图床并返回外链;关闭则使用系统自带的文件上传管理。
  • 8 类图床服务商:

    • 国内大厂:阿里云 OSS、腾讯云 COS、七牛云 Kodo、又拍云 USS
    • 国外大厂:Cloudflare R2、AWS S3、GitHub 仓库(支持自定义 API 域名,兼容 GitHub Enterprise,可配 jsDelivr / raw 回退)
    • 自定义接口:PUT 二进制 / POST multipart 两种上传方式,自定义请求头、附加字段、响应地址(点路径取值)、访问域名与删除接口
  • 图库面板功能:上传(点击 / 拖拽 / 多选)、改名、删除、复制外链、连通测试(一键上传测试图并自动清理)。
  • 友好提示机制:服务商不支持删除时仅提示「已移出图库(云端文件需手动清理)」,不报错;上传失败(网络 / 凭证 / 超限)时提示服务商返回的具体原因。
  • 安全限制:仅允许 jpg / png / gif / webp / svg / bmp / ico / avif 八类图片(按文件内容探测真实类型);单文件 10MB 上限;重名文件自动加随机后缀;按年月子目录归档。

二、搜索优化模块

2.1 百度收录推送(独立开关)

  • 独立开关:在搜索优化模块内单独控制百度推送功能的启停,关闭后 SEO 增强、结构化数据、GEO、站点地图等其它功能不受任何影响。
  • 填入百度站长平台(搜索资源平台)的接口调用地址后,发布文章 / 页面时自动推送新链接。
  • 支持手动分组批量推送:按「分组 URL 数」自动分组,逐组发送并查看结果。
  • 推送日志(成功 / 失败、响应详情)完整记录,支持分页浏览。

2.2 站点地图(五合一,独立开关)

  • 独立开关:关闭后全部站点地图地址返回 404,不再对外暴露;重新开启立即恢复,不影响搜索优化模块其它功能。
  • 自动生成并按内容类型拆分:

    • sitemap.xml —— 站点地图索引
    • post_sitemap.xml —— 文章
    • page_sitemap.xml —— 独立页面
    • cate_sitemap.xml —— 分类
    • tag_sitemap.xml —— 标签

后台设置页可直接点击访问各地图地址;站点地图附带 XSL 样式,浏览器可读。未开启伪静态时地址形如 /index.php/sitemap.xml。

2.3 SEO 增强(开关)

  • 输出规范化的 description / keywords meta:

    • 文章页:优先取自定义字段 ai_description → ai_summary → 正文自动摘要;关键词优先 ai_keywords → 文章标签。
    • 首页:使用「首页描述 / 首页关键词」配置,留空回退系统站点描述。
    • 列表页(分类 / 标签 / 搜索 / 归档):自动生成页面摘要。
  • 输出 Open Graph 全套标签(og:site_name / og:title / og:description / og:type / og:url)与 Twitter Card。
  • 分享图优先取正文第一张图片,可通过「默认分享图」配置兜底图。
  • 启用后自动接管前台 head 输出,避免与系统默认 meta 重复。

2.4 结构化数据 JSON-LD(开关)

  • 输出 Schema.org 结构化数据,帮助搜索引擎理解页面:

    • WebSite(全站,含站点描述)
    • BlogPosting(文章页:标题、发布 / 修改时间、作者、发布者、语言)
    • BreadcrumbList(文章页面包屑:首页 → 分类 → 文章)

2.5 GEO 模块(AI 收录优化,开关)

  • 面向 AI 搜索 / 大模型引擎优化,robots meta 放宽快照限制:
    index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1
  • 配套一键 GEO 自检:在设置页点击按钮即可实抓首页逐项检测(模块开关、robots meta 放宽状态),输出结论(要求管理员登录)。
  • 与主题的「文章页顶部摘要卡片」显示开关相互独立、互不影响。

三、邮件推送模块(SMTP)

3.1 通知机制

  • 新评论 → 邮件通知文章作者(作者本人评论不重复通知)。
  • 评论被回复 → 邮件通知被回复的评论者(自己回复自己不发送)。
  • 两个场景均有独立开关,可分别启用 / 关闭。

3.2 SMTP 配置

  • 支持服务器地址、端口、加密方式(SSL / TLS / 不加密)、认证开关、发件邮箱、授权码密码、发件人名称。
  • 授权码密码留空保存时自动保留原值,无需重复填写。
  • 发件人名称留空时使用站点标题。
  • 内置 PHPMailer 6.9.1(独立命名空间),兼容 PHP 8.3+,连接超时 8 秒不阻塞评论流程。

3.3 测试邮件

  • 设置页填入收件邮箱,一键发送测试邮件验证配置正确性;发送结果即时提示并记录日志。

3.4 邮件模板

  • 内置两套青绿色系 HTML 模板(作者通知 / 回复通知)。
  • 支持在设置页粘贴自定义 HTML 模板(多行文本框),可用变量:
模板变量
作者通知{blogUrl} {blogName} {author} {permalink} {title} {text} {ip}
回复通知以上全部,另含 {replyAuthor} {replyText} {commentUrl}

3.5 发送日志

  • 全部发送记录(收件人、主题、结果、错误信息、时间)独立分页展示,与搜索优化推送日志分表显示、互不混淆。

四、登录限制模块

  • 半小时内同一账号登录失败达到设定次数后,暂时拒绝新的登录尝试,防暴力破解。
  • 登录失败日志完整记录(用户名、密码、IP、时间),支持清空与勾选删除,独立分页。

五、评论过滤模块(智能反垃圾)

对提交中的评论执行多维检查,命中规则可配置「标记待审 / 直接拒绝」等处理方式:

检查维度说明
游客评论指定页面指定 slug 的独立页面禁止游客评论
内容含文章标题常见于采集垃圾评论
IP / 邮箱 / 网址 / 昵称黑名单换行分隔的屏蔽词列表
日文内容 / 日文昵称拦截日文垃圾评论
昵称长度 / 昵称为网址拦截机器特征昵称
非中文评论 / 内容长度按需启用
禁止词汇 / 敏感词汇命中后按配置处理

六、页面缓存模块

  • 支持 Redis 与 Memcached 两种驱动(自动检测扩展)。
  • 缓存页面 HTML,命中后直接返回,显著降低动态请求压力。
  • 发布 / 编辑内容、评论变动等事件自动精准清缓存;设置页支持一键全站清空。

TpEnhance 插件使用说明

一、环境要求

项目要求
Typecho1.3 及以上
PHP8.3 及以上(需 pdo_mysql / pdo_sqlite 等常规扩展;邮件使用 SSL 时需 openssl;CDN 图库上传需 curl 扩展)
主题配合Simple 3.0 主题(v3.0.5 及以上)已在 <head> 内置接入点并接入头像加速,安装即生效;其他主题需按「七、其他主题接入」手动接入

二、安装与启用

  1. 将 TpEnhance 文件夹上传(或解压)至站点目录 usr/plugins/,保持目录名大小写为 TpEnhance(加速模块的驱动类按原始大小写加载,切勿改成全小写)。
  2. 进入后台 → 控制台 → 插件,找到 TpEnhance,点击「启用」。
  3. 启用成功后点击「设置」,进入插件设置页。设置页顶部为模块选项卡:

    系统加速 | 搜索优化 | 邮件推送 | 登录限制 | 评论过滤 | 页面缓存

    点击选项卡切换模块;各模块的开关、配置项、状态卡片与日志均在对应页签内。修改任意开关后,请点击页面底部「保存设置」使配置生效。

  4. 每个模块都有独立的「启用 / 关闭」总开关,关闭后该模块所有功能停止工作,但不影响其他模块;模块内部还有细分开关(如百度推送、站点地图、头像、静态库、图片 CDN),可按需精调。
  5. 配置保护:禁用插件时自动备份全部配置,重新启用时自动恢复,无需重新填写;升级覆盖插件目录也不会丢失配置。

三、系统加速模块配置

打开「系统加速」选项卡。设置页顶部状态卡实时显示三类加速能力的开关状态与图库文件统计;「图床连通测试」卡可一键验证图床配置(上传一张测试图后自动删除)。

3.1 头像加速

  1. 打开「【头像加速】是否使用加速头像源」开关。
  2. 「头像源」选择:Cravatar(推荐) / WeAvatar / 极族 / Loli 镜像;也可选「自定义源」,并填写地址模板,可用占位符:

    • {md5} —— 邮箱 MD5 值
    • {size} —— 头像尺寸
    • {rating} —— 分级
    • {default} —— 默认头像
  3. 「QQ 号邮箱使用 QQ 头像」开关:开启后 数字@qq.com 形式的邮箱自动显示 QQ 头像。
  4. 关闭此开关后自动回退系统默认 Gravatar 官方源(国内访问可能较慢)。

3.2 静态库加速

  1. 打开「【静态库加速】是否调用国内公共 CDN 库」开关。
  2. 「公共 CDN 库」选择:Staticfile(七牛云) / BootCDN / 奇舞团 360 帕米图 / ZStatic;也可选「自定义 CDN」并填写模板,占位符:{lib}(库名)、{ver}(版本)、{file}(文件名)。
  3. 保存后,正文中引用的 jsDelivr / cdnjs / unpkg / code.jquery.com 公共库地址会自动替换为所选国内 CDN(仅限 jQuery、Bootstrap、Vue、ECharts 等 19 个内置白名单库;白名单外的链接一律不动)。

3.3 图片 CDN 与 CDN 图库

  1. 打开「【图片 CDN】是否启用图库」开关。
  2. 「图床服务商」选择并填写对应凭证:
服务商需填写的关键参数
阿里云 OSS(国内)Bucket 外网域名、AccessKeyId、AccessKeySecret;可选自定义访问域名(绑定 CDN 后使用)
腾讯云 COS(国内)Bucket 访问域名、SecretId、SecretKey;可选自定义访问域名
七牛云 Kodo(国内)Bucket 名、AK、SK、绑定域名;空间地区不同时可选上传加速地址
又拍云 USS(国内)Bucket 名、操作员、操作员密码、绑定域名
Cloudflare R2(国外)Endpoint、Bucket、AK、SK;区域固定 auto
AWS S3(国外)Endpoint、Bucket、AK、SK、Region
GitHub 仓库(国外)Token、仓库(owner/repo)、分支、存放目录;API 域名可自定义(兼容企业版);可自动拼接 jsDelivr / raw 外链
自定义接口上传 URL({key} 占位)、请求方式(PUT / POST)、文件字段名、请求头、附加字段、响应取值路径、访问域名、删除 URL 与删除请求头
  1. 开启后进入「撰写文章 / 撰写页面」,右侧栏出现 CDN 图库面板:

    • 上传:点击按钮选择文件,或直接把图片拖入面板;支持多选队列上传,逐个显示进度与结果。
    • 改名:仅修改图库中的显示名称,不影响云端文件与外链。
    • 删除:同时删除云端文件与图库记录;若所选服务商不支持删除接口(如只读图床),会提示「已移出图库,云端文件需手动清理」,不会报错。
    • 复制:一键复制图片外链,可直接粘贴到编辑器。
  2. 关闭此开关后,撰写页面板消失,上传图片走系统自带的文件上传管理功能;已上传的图库记录与云端文件均保留。
  3. 图床连通测试:在设置页「图床连通测试」卡点击按钮,自动上传一张 1×1 测试图并立即清理,成功即提示「连接成功」;失败时提示服务商返回的具体原因(401 凭证错误、413 超限、429 频率限制等均已汉化)。

四、搜索优化模块配置

打开「搜索优化」选项卡:

4.1 百度收录推送(独立开关)

  1. 「百度收录推送」开关:默认启用;关闭后发布文章不再推送百度,且手动批量推送入口隐藏并提示,搜索优化模块的其它功能(SEO 增强、结构化数据、GEO、站点地图)不受影响。
  2. 登录 百度站长平台 - 搜索资源平台 → 普通收录 → API 推送,复制接口调用地址。
  3. 粘贴到「【百度收录】接口调用地址」并保存。此后发布文章 / 页面会自动推送。
  4. 批量推送:在「百度收录推送状态」卡片中查看全站可推送链接总数与分组数,选择组号点击「发送分组 URL」。

4.2 站点地图(独立开关)

  1. 「站点地图」开关:默认启用;关闭后全部 sitemap 地址返回 404,开启后立即恢复。
  2. 启用后无需配置,直接访问:

    • https://你的域名/sitemap.xml(未开伪静态则前面加 /index.php)
    • post_sitemap.xml / page_sitemap.xml / cate_sitemap.xml / tag_sitemap.xml

    建议将 sitemap.xml 提交至百度、必应、Google 等站长平台。

4.3 SEO 增强(开关:启用 / 关闭)

  • 「首页描述」「首页关键词」:留空时首页描述回退使用系统设置中的站点描述;关键词留空则不输出首页 keywords。
  • 「默认分享图」:填写一张图片完整地址,页面无图时作为 Open Graph / Twitter Card 的兜底分享图;留空则不输出。

4.4 结构化数据(JSON-LD)(开关:启用 / 关闭)

启用后自动输出 WebSite / BlogPosting / BreadcrumbList 结构化数据,无需配置。可用 Google 富媒体测试工具 验证。

4.5 GEO 模块(AI 收录优化)(开关:启用 / 关闭)

  • 启用后首页与文章页 robots meta 输出:index,follow,max-snippet:-1,max-image-preview:large,max-video-preview:-1。
  • 点击「运行 GEO 自检」按钮,系统实抓首页并逐项检测(模块开关、robots 放宽状态),输出结论(需管理员登录本站)。
  • 主题侧的「文章页顶部摘要卡片」(Simple 主题外观设置中)显示开关与本模块独立,可自由组合。
兼容说明:Simple 3.0 主题 v3.0.4 起,原主题内的「SEO 增强 / 结构化数据 / GEO 模块」设置项已迁移至本插件;主题「外观设置」仅保留「文章页顶部摘要卡片」。由旧版升级时,请在本插件中重新确认各项开关。

五、邮件推送模块配置

打开「邮件推送」选项卡:

5.1 获取 SMTP 参数

以常用邮箱为例(需在邮箱服务商设置中开启 SMTP 并生成授权码,授权码即「SMTP 密码」):

服务商SMTP 服务器端口加密
QQ 邮箱smtp.qq.com465SSL
163 邮箱smtp.163.com465SSL
腾讯企业邮smtp.exmail.qq.com465SSL
Gmailsmtp.gmail.com465 / 587SSL / TLS
阿里企业邮smtp.qiye.aliyun.com465SSL

5.2 填写配置

  1. 「SMTP 服务器地址」「SMTP 端口」「加密方式」「SMTP 认证」按上表填写。
  2. 「发件邮箱」填写用于登录 SMTP 的邮箱账号;「SMTP 密码 / 授权码」填写服务商生成的授权码(已填写后留空保存不会丢失,保留原值)。
  3. 「发件人名称」留空则使用站点标题。
  4. 保存设置后,状态卡片会显示当前配置摘要(服务器、加密方式、发件人)。

5.3 通知开关

  • 「新评论通知文章作者」:文章收到新评论时邮件通知作者;作者本人发表评论不重复通知。
  • 「回复通知被回复者」:评论被回复时邮件通知被回复的评论者;自己回复自己不发送。

5.4 发送测试邮件

在「发送测试邮件」卡片填入你常用的邮箱 → 点击按钮 → 出现「测试邮件已发送」提示即配置正确。请到收件箱(注意垃圾箱)确认。

5.5 自定义邮件模板(可选)

两套内置模板为青绿色系 HTML。需要自定义时,把完整 HTML 粘贴到对应多行文本框,可用变量见「TpEnhance-功能清单.md」第 3.4 节。留空即使用内置模板。

5.6 邮件推送日志

所有发送记录(含测试邮件)在「邮件推送日志」卡片分页展示;失败记录附带错误信息,便于排查授权码错误、连接超时等问题。

六、登录限制 / 评论过滤 / 页面缓存

  • 登录限制:「半小时内允许尝试登录失败的次数」按需填写(默认 15);日志卡片支持清空与勾选删除。
  • 评论过滤:各检查维度默认关闭(none),按需选择处理动作并填写对应词表;保存即生效。
  • 页面缓存:选择 Redis / Memcached 驱动并填写连接参数;「禁用时是否删除数据表」决定禁用插件时是否保留日志表。缓存异常时点击「清空页面缓存」。

七、其他主题接入(非 Simple 主题)

在主题的 header.php 的 <head> 内(系统 $this->header() 调用之后)加入:

<?php \Typecho\Plugin::factory('TpEnhanceHead')->call('render', $this); ?>

建议同时抑制系统默认的重复 meta(在 $this->header(...) 参数中追加 description=&keywords=&social=):

<?php $this->header('description=&keywords=&generator=&template=&pingback=&wlw=&xmlrpc=&rss1=&atom=&social='); ?>

评论头像加速(可选接入):在主题输出头像处使用:

$url = '';
if (class_exists('\TypechoPlugin\TpEnhance\Accel')) {
    $url = \TypechoPlugin\TpEnhance\Accel::avatarUrl($mail, $size, 'G', 'mp', false);
}
// $url 非空用加速地址,为空回退主题原有头像逻辑

未启用插件时,以上调用零输出、零开销。

八、常见问题

Q1:测试邮件提示认证失败(Could not authenticate)?
授权码错误或未开启 SMTP 服务。请到邮箱服务商设置中重新生成授权码,注意区分「登录密码」与「授权码」。

Q2:评论提交时页面变慢?
发信为同步发送(超时 8 秒),SMTP 服务商响应慢时会稍有等待;确认网络与服务器端口后即可恢复正常。

Q3:前台没有 SEO meta 输出?
依次检查:① 搜索优化模块总开关是否开启;② 「SEO 增强」子开关是否启用;③ 主题 <head> 中是否有 TpEnhanceHead 接入调用(Simple 3.0 v3.0.4+ 已内置)。

Q4:sitemap.xml 404?
① 检查「站点地图」独立开关是否开启;② 未开启伪静态时请访问 /index.php/sitemap.xml;③ 或在后台「设置 - 永久链接」开启伪静态后使用根路径。

Q5:禁用插件会丢数据吗?
禁用时可分别选择是否保留「推送 / 邮件日志表」与「登录日志表」,默认保留;插件配置(全部模块设置)在禁用前自动备份,重新启用时自动恢复,不会丢失。

Q6:图库上传失败提示「拒绝访问」?
检查图床凭证(AK/SK 或 Token)是否正确、Bucket 是否有写权限;GitHub 方式需 Token 具有 repo 写权限。上传失败时面板会显示服务商返回的具体原因。

Q7:图库删除时提示「云端文件需手动清理」?
当前图床服务商未提供删除接口(或自定义接口未填写删除 URL),系统仅移除图库记录,云端文件不会报错也不会被误删;可填写删除接口后恢复自动删除。

Q8:静态库替换后有些链接没变?
只有内置白名单内的 19 个公共库会被替换;白名单外的库(或非四类来源站点)保持原样,属于保护机制。

Q9:关闭图片 CDN 图库后图片去哪了?
面板消失后撰写页走系统自带上传管理;已上传到图床的文件与外链不受影响,可重新开启图库面板查看。

九、升级与卸载

  • 升级:备份 usr/plugins/TpEnhance/ 目录 → 上传新版覆盖 → 配置自动保留(无需重新保存)。
  • 卸载:后台禁用(配置自动备份,按需选择是否删除数据表)→ 删除插件目录;重新上传启用后配置自动恢复。

TpEnhance v1.2 · 与 Simple 3.0 主题配套使用,效果更佳!

一个很具体的麻烦

写博客这件事,发布只是其中一环。真正消耗人的是发布之后:一条评论躺在待审核里等你判断,一篇稿子有个错别字要改,想发张手机上刚拍的照片却得先传到电脑再上传图床,后台地址在手机上打开、缩放、找输入框,五分钟过去了还没开始干活。

Typecho 的后台是为桌面浏览器设计的。它在那儿很好,但没人规定你必须在那儿用它。

「迷你日志APP」就是为这个缺口做的:一款 Android / iOS 原生 App,通过标准 XML-RPC 协议直连你自己的 Typecho 站点,把日常最高频的那几件事——写、改、审、传、看——搬到手机上重做一遍交互。

迷你日志APP-01.png

它不是网页套壳

第一版需求评审时我们就否掉了 WebView 方案。把后台网页塞进一个 App 外壳,得到的只是"能打开",不是"能用":表格横向溢出、日期控件弹不出、点一下等三秒白屏。

所以这是一款原生渲染的应用,底部六个模块对应六件具体的事:

迷你日志APP-02.png

概览负责回答"现在需要我做什么"。最新文章数、页面数、评论总数、待审评论四格数字直接可点,点待审就跳到那批评论前面;下面挂五条最近更新,右侧一个"编辑"直达正文;站点地址、管理员、XML-RPC 端点、当前主题、未读通知收在一张信息卡里。下拉刷新,全站数据重新拉一遍。

内容是列表页该有的样子。文章与页面分两个 Tab,状态筛选(全部 / 已发布 / 草稿 / 待审 / 私密)、分类 Chip、关键词搜索三层过滤叠在一起。点开批量管理后逐条勾选、全选、一次删除——处理一批垃圾旧稿的时候,这比在网页后台一个个点快得多。

撰写是这个 App 花心思最多的地方。除了标题和正文,它把 Typecho 那些散落在各处的字段收进一个面板:摘要、别名、分类、标签、访问密码、是否允许评论、是否接收 trackback、发布时间。分类填了个不存在的名字会自动创建,不用先回后台建。写完有四种落库方式可选:立即发布、存草稿并提交到站点、只存本机草稿不上站、更新已有内容。第三种尤其有用——在地铁上写的半成品可以先留在手机里,回到电脑前再决定要不要发。

工具栏给的是 Markdown 语法插入(加粗、斜体、引用、代码、链接、插图),符合手写习惯;同时提供预览,用与前台一致的排版检查效果。

评论支持按状态筛选和搜索,单条可以回复、通过、转审核、标垃圾、删除,也能批量处理。手机上判断一条评论是不是广告通常很快——它不需要你读完,只需要看一眼作者名和开头几个字。

媒体是图片的两条路之一:走站点媒体库。相册选图、上传、复制链接、重命名、删除,缩略图网格展示,可按文件名搜索,可在"仅图片"和"全部文件"之间切换。

管理分发其余入口:多站点切换、分类标签、成员、外观主题、各类设置。

顺手解决的两个长期痛点

迷你日志APP-03.png

图床。 App 内置多云对象存储适配层,支持阿里云 OSS、腾讯云 COS、七牛云、又拍云、AWS S3、Cloudflare R2 六家。国内厂商排在前面,有官方默认值的字段自动预填,其余留空由你填。配好之后有一个独立的图床文件管理页:目录浏览、按名搜索、只看图片、上传到指定目录、重命名、批量删除。写文章时插图可以直接从图床挑,不必每次复制粘贴 URL。

备份。 这是很多移动端工具会漏掉的一环。迷你日志把站点连接信息、本机草稿、书架收藏、通知记录、压测历史、偏好设置、图床密钥、锁校验值全部纳入备份范围,账号密码与附件二进制可以单独勾选是否包含,超过单文件上限自动分卷。恢复时分两种:只覆盖本机数据,或者顺带把内容回写到站点(按标题与日期查重后发布)。换手机这件事因此变成"导出一个文件、导入一个文件",而不是重装 App 后从零配置。

隐私这条线画得很硬

所有业务数据存在手机本机。 没有我们的服务器,没有账号体系,没有任何内容统计上报。App 发出网络请求只有两个去向:你自己的博客站点,和你自己配置的图床。卸载即清除。

需要跨设备迁移时靠上面那个备份文件,由你自己保管、自己传递。

另外一层保护是给"手机递给别人"这种场景准备的:应用锁。4 位以上密码,支持指纹或面容解锁,可以开启切到后台自动上锁,并选择延时档位——立即、30 秒、1 分钟、5 分钟、15 分钟、1 小时。选 5 分钟的意思是,短暂切出去回个消息不会被拦,但放下手机半小时后再回来需要解锁。也可以随时手动锁定。

有一件事我们选择说清楚

有些能力我们没有做,而且做不到。

迷你日志APP-04.png

Typecho 的标准 XML-RPC 协议不覆盖主题切换、成员增删改、插件开关、个人资料修改,也不提供服务端分页与搜索。这些不是"下个版本补上"的问题,而是接口层面就没有开放。

我们的处理方式是:不做假动作。成员页给你只读列表,外观页告诉你当前主题和可用页面模板,个人资料纯只读,分类改名走"删除后重建",搜索与分页在客户端本地完成。App 启动时会探测你这个站点实际提供了哪些方法,不支持的模块显示明确的空态说明,而不是转圈报错或者摆一个点了没反应的按钮。

概览页那个九项能力徽标就是这个探测结果的外显:文章、页面、评论、分类、标签、用户、媒体、设置项、模板外观,绿勾表示可用。你可以一眼看出自己的站点能配合这个 App 做到什么程度。

坦白讲,这比假装全能需要多一点勇气,但我认为值得。一个工具说自己不能做什么,你才敢相信它说自己能做什么。

还有两个不那么正经的功能

前台阅读与书架。 除了管理后台,它也是个阅读器:站内搜索、最新列表、直接打开站点网页。看到好的文章可以加入书架,正文会被完整保存到本机,之后离线可读——通勤路上没有信号的时候,这就是个私人杂志。

压力测试。 藏在管理页深处,进入需要密码。它能批量写入 10 到 1000 篇带标记的文章,用来验证站点承载:数量、每篇间隔(不限 / 200ms / 500ms / 1000ms)、直接发布或以草稿写入都可以选,全程进度可见、随时中断,连续失败会自动止损。历史记录留下成功数、失败数、耗时和错误明细。跑完之后按"压测数据"标记一键清理,不留残余。

这个功能的真实用途是:换了新主机或者调优了缓存之后,想知道到底扛不扛得住,又不想专门去装 JMeter。

谁适合用它

如果你的博客是自己维护的 Typecho 站点,并且你有过下面任意一个念头,这个 App 大概率合你的意:

  • 想在外面随手改掉文章里的错别字
  • 觉得手机上开后台网页是一种折磨
  • 希望评论能在两分钟内被处理掉而不是攒一周
  • 介意任何第三方知道你在写什么
  • 需要一个能真正导出的备份,而不是一句"数据都在云上请放心"

反过来,如果你要的是在手机上切换主题、管理用户权限、开关插件,那么请直接用桌面后台——这类操作依赖的接口本来就不存在,任何声称能在手机上完成的同类工具都值得你多问一句它是怎么做到的。

获取

Android 与 iOS 安装包下载地址见官网下载区,联系方式与反馈渠道一并列在那里。首次使用请先确认站点已开启 XML-RPC,然后在「连接 Typecho 站点」填入站点地址与管理员账号,点「测试并连接」——伪静态和 index.php 两种端点形式会自动探测并回退重试,成功后自动完成能力探测,之后就可以开始写了。

下载地址:https://tp.minirizhi.com/

本工具是独立开发的第三方 Typecho 客户端,与 Typecho 官方无关。你的内容始终只属于你的站点。

更新日志

  1. V0.11.9 - 2026.10.7增加AI辅助创作。
  2. V0.10.0 - 2026.10.6APP发布。