Alias Generator
基于LLM APIs生成WordPress文章别名
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/hellohupc/alias-generator/archive/refs/heads/master.zip概述
alias-generator 是一个 WordPress 插件,它借助大语言模型(LLM)的能力自动生成文章别名。用户可以通过配置页面设置 LLM API 参数,自定义提示模板,并测试 API 连接。该插件支持在文章列表页面为单篇文章或批量生成文章别名,同时在文章编辑页面的固定链接旁提供一键生成按钮。
功能特性
- LLM API 配置:提供专门的配置页面,允许用户设置 LLM API 的相关信息。
- 自定义提示模板:支持用户根据需求自定义用于生成文章别名的提示模板。
- API 连接测试:具备
Test API Connection功能,方便用户验证配置是否正确。 - 单篇及批量生成:在文章列表页面提供
generate alias按钮,支持单篇和批量生成文章别名。 - 编辑页快捷生成:在文章编辑页面的固定链接旁提供
Generate Alias按钮,编辑文章时可直接点击生成别名,无需返回列表页操作。
安装步骤
- 下载
alias-generator插件压缩包。 - 登录 WordPress 后台,导航到
插件->添加新插件。 - 点击
上传插件,选择下载的压缩包并上传。 - 上传完成后,点击
激活插件。
使用方法
配置 LLM API
- 登录 WordPress 后台,在侧边栏找到
Alias Generator菜单并点击。 - 在配置页面中,填写 LLM API 的相关信息,如 API 密钥、端点等。
- 自定义
Prompt Template,根据需要调整生成别名的提示内容。 - 点击
Test API Connection按钮测试配置是否成功。若连接成功,会显示成功提示;若失败,则显示错误信息。
生成文章别名
单篇生成
- 进入
文章->所有文章页面。 - 找到需要生成别名的文章,点击
generate alias按钮。 - 稍等片刻,文章的别名将自动生成并保存。
编辑页快捷生成(v1.1 新增)
- 进入文章的编辑页面(
文章-> 点击文章标题进入编辑)。 - 在页面顶部的固定链接区域找到
Generate Alias按钮。 - 点击按钮,别名将自动生成并更新固定链接,按钮恢复后即可看到结果。
批量生成
- 在
文章->所有文章页面,勾选需要生成别名的文章。 - 在顶部的批量操作下拉菜单中选择
生成别名。 - 点击
应用按钮,插件将批量为选中的文章生成别名。
模型适配说明(重要)
本插件通过 POST /v1/chat/completions 调用大模型,把模型返回的 message.content 经过 WordPress sanitize_title() 处理后作为文章别名(slug)。因此模型选择直接决定插件能否正常工作,并非所有模型都适用。
插件对模型的核心要求
-
非推理(Non-reasoning / Instruct)模型优先 插件只读取
message.content,不读取reasoning_content。推理/思考模型(带 thinking、reasoning、Hy3、V4-Pro 等)会先用reasoning_content输出长篇思考过程,message.content可能为空。 -
max_tokens必须覆盖最终输出 默认max_tokens = 120。推理模型若思考过程超过 120 token,会触发finish_reason = length,此时message.content为空 → 插件判定失败 → 后台显示"模型不可用"。- 非推理模型:120 token 足够输出一个 slug。
- 推理模型:需把
max_tokens调到 2000 以上,否则必然失败。
-
指令遵循能力强 插件提示词要求"只输出 slug,不要其它内容"。模型若输出解释性文字、Markdown、多选项,经
sanitize_title()处理后会变成冗长无意义的垃圾 slug。 -
速度快、单次输出短 生成 slug 是高频小任务,适合轻量快速模型,不适合大参数稠密模型。
-
中文理解准确(若标题含中文) 中文标题需要翻译/音译为英文 slug,模型必须能正确理解中文语义。中文非母语的模型可能直接输出拼音串,对 SEO 无价值。
推荐配置
| 参数 | 推荐值 | 原因 |
|---|---|---|
| API Provider | ModelScope 或 Custom |
OpenAI 兼容接口 |
| Model Name | 见下方推荐表 | 非推理、快、中文好 |
| Temperature | 0.2 |
slug 需要确定性,降低随机性 |
| Max Tokens | 60–120(非推理)/ 2000+(推理) |
非推理模型 120 足够 |
ModelScope(魔搭)适配模型实测
接口:https://api-inference.modelscope.cn/v1/chat/completions
测试提示词为插件默认 slug 提示词,max_tokens=120,temperature=0.2,中文标题实测。
✅ 推荐使用(非推理,默认 120 token 即可正常工作)
| 模型 id | 特点 | 实测延迟 | 输出示例 |
|---|---|---|---|
Qwen/Qwen3-Next-80B-A3B-Instruct |
首选。MoE 架构 80B 总参/3B 激活,速度等同小模型;中文母语,翻译忠实 | ~0.5s | ai-is-transforming-our-lifestyle |
mistralai/Mistral-Large-Instruct-2407 |
英文强,但中文偶发拼音串,稳定性差 | ~2s | ai-changing-our-lifestyle(有时输出拼音) |
Qwen/Qwen3-235B-A22B-Instruct-2507 |
稳定,输出拼音 slug | ~0.5s | ren-gong-zhi-neng-gai-bian-sheng-huo-fang-shi |
Qwen/Qwen3-Coder-30B-A3B-Instruct |
稳定,输出拼音 slug | ~0.5s | ren-gong-zhi-neng-gai-bian-wo-men-de-sheng-huo-fang-shi |
deepseek-ai/DeepSeek-V3.2 |
稳定,输出英文 slug | ~1s | ai-shenghuo-fangshi-bianhua |
首选
Qwen/Qwen3-Next-80B-A3B-Instruct:速度最快(~0.5s)、中文翻译最准、输出最干净、批量生成最稳。
⚠️ 可用但为推理模型(必须把 max_tokens 调到 2000+)
| 模型 id | 风险 |
|---|---|
Qwen/Qwen3.5-397B-A17B / Qwen3.5-122B-A10B |
思考链长,120 token 必空 |
Qwen/Qwen3-235B-A22B-Thinking-2507 / Qwen3-30B-A3B-Thinking-2507 |
同上 |
Qwen/Qwen3-235B-A22B(base) |
同上 |
❌ 不可用 / 不推荐(插件场景下失败)
| 模型 id | 失败原因 |
|---|---|
Tencent-Hunyuan/Hy3 |
返回 choices:null(插件默认模型,务必更换) |
deepseek-ai/DeepSeek-V4-Flash |
120 token 内只思考不输出,finish=length 空 |
deepseek-ai/DeepSeek-V4-Pro |
空 / choices:null,不稳定 |
ZhipuAI/GLM-5.2 |
思考烧光 token,content 为空 |
ZhipuAI/GLM-4.7-Flash |
choices:null |
stepfun-ai/Step-3.5-Flash / Step-3.7-Flash |
推理烧光 token |
MiniMax/MiniMax-M1-80k |
把 <think> 标签当正文输出 → 生成垃圾 slug |
MiniMax/MiniMax-M3 |
choices:null |
Qwen/Qwen3-8B / 14B / 30B-A3B / 30B-A3B-Instruct-Think 等 |
choices:null 或不可用 |
meituan-longcat/LongCat-Flash-Lite |
choices:null |
Qwen/Qwen3-32B / 4B、GLM-5 / 5.1、MiniMax-M2.5 / M2.7、nex-agi/Nex-N2-Pro、XiaomiMiMo/MiMo-V2-Flash、LLM-Research/Llama-4-*、moonshotai/Kimi-K2.5 |
HTTP 400 |
如何排查"模型不可用"
- 先换非推理模型:把 Model Name 改为
Qwen/Qwen3-Next-80B-A3B-Instruct,Max Tokens 保持 120,重新测试。 - 若必须用推理模型:把 Max Tokens 调到 2000 以上。
- 查看服务器日志:插件失败时会写
error_log,关键词[Alias Generator]。Unexpected or empty response即模型返回空 content;API HTTP error即接口报错(400/429 等)。 - 注意限流:ModelScope 免费档有 429 限制,批量生成时建议降低并发或加间隔。
截图说明
图 1:LLM API 配置页面
图 2:LLM API 高级配置页面
图 3:LLM API 功能测试
图 4:文章列表功能按钮
常见问题解答
测试 API 连接失败怎么办?
- 检查 API 密钥是否正确,有无拼写错误或过期。
- 确认 API 端点地址是否正确。
- 检查网络连接是否正常,是否可以访问该 API。
点击按钮没有反应怎么办?
- 尝试清除浏览器缓存并刷新页面(Ctrl+F5 / Cmd+Shift+R)。
- 打开浏览器开发者工具(F12)Console 面板,检查是否有 JavaScript 错误。
- 确认 API 配置是否正确,API 密钥是否已设置。
批量生成别名没有反应怎么办?
- 确保已经勾选了需要生成别名的文章。
- 检查 API 连接是否正常,可通过
Test API Connection功能再次验证。 - 若文章数量较多,可能需要等待一段时间,请耐心等待。
贡献与反馈
如果你在使用过程中遇到问题,或者有任何建议和想法,欢迎通过 GitHub 提交 issue。同时,也欢迎你为该项目贡献代码,提交 pull request。
许可证
本插件由 helloHupc 开发,采用 GNU General Public License v2(GPLv2)许可。详细的许可条款请查看 LICENSE 文件。