PbootCMS AI 文章自动生成后台功能说明
一、功能概述
本次为 PbootCMS 后台新增了“AI 生成文章”功能,用于在后台批量生成新闻/文章内容,并自动写入 PbootCMS 内容表。
当前版本支持:
- 后台手动批量生成文章
- 生成结果默认保存为“待发布”
- 每篇文章正文不少于 500 字
- 支持按栏目生成文章
- 支持输入多个主题/关键词,一行一个主题
- 支持留空主题,由系统围绕所选栏目自动生成
- 支持设置默认生成数量
- 支持生成进度条,逐篇显示成功/失败结果
- 支持 DeepSeek 和 MiniMax 模型切换
- 支持分别配置不同模型服务的 API 地址和 API Key
- 支持关闭 SSL 验证,解决 phpStudy/Windows 环境证书链问题
当前版本不包含定时发布功能,生成后的文章统一为待发布,需要后台审核后再发布。
二、后台入口
后台入口位于:
内容管理 -> 文章内容 -> AI 生成文章
实际新增入口按钮在文章内容管理页面中。
三、主要文件
本功能涉及以下文件:
-
apps/admin/controller/content/AiArticleController.php- AI 文章生成后台控制器
- 负责读取配置、保存配置、调用 AI 接口、生成文章、写入数据库
-
apps/admin/model/content/AiArticleModel.php- AI 文章生成数据模型
- 负责读取/保存配置、读取栏目、检测重复标题、写入文章
-
apps/admin/view/default/content/aiarticle.html- 后台 AI 文章生成页面
- 包含生成表单、模型设置表单、进度条和结果列表
-
apps/admin/view/default/content/content.html- 文章内容管理页面
- 增加 AI 生成文章入口按钮
-
config/route.php- 增加后台路由:
admin/AiArticle => admin/content.AiArticle
四、后台配置项
配置数据保存到 PbootCMS 的 ay_config 表中。
新增或使用的配置项如下:
| 配置项 | 说明 |
|---|---|
ai_article_model |
当前使用模型,可选 deepseek-v4-flash、deepseek-v4-pro、minimax |
deepseek_api_key |
DeepSeek API Key |
deepseek_base_url |
DeepSeek API 地址,默认 https://api.deepseek.com |
minimax_api_key |
MiniMax API Key |
minimax_base_url |
MiniMax API 地址,默认 https://api.minimaxi.com/v1 |
deepseek_ssl_verify |
是否开启 SSL 验证,默认关闭 |
ai_article_default_scode |
默认生成栏目 |
ai_article_default_count |
默认生成数量 |
ai_article_min_words |
最低字数,系统强制不低于 500 |
ai_article_author |
文章作者 |
ai_article_source |
文章来源 |
ai_article_prompt |
系统提示词 |
说明:真实 API Key 不应写入代码或文档,只在后台表单中保存。
五、模型切换逻辑
后台模型设置中支持三个选项:
deepseek-v4-flashdeepseek-v4-prominimax
切换逻辑如下:
| 选择模型 | 使用 API Key | 使用 API 地址 | 实际请求模型 |
|---|---|---|---|
deepseek-v4-flash |
deepseek_api_key |
deepseek_base_url |
deepseek-v4-flash |
deepseek-v4-pro |
deepseek_api_key |
deepseek_base_url |
deepseek-v4-pro |
minimax |
minimax_api_key |
minimax_base_url |
MiniMax-M2.7 |
前端页面中,选择 DeepSeek 模型时显示 DeepSeek 地址和 Key;选择 MiniMax 时显示 MiniMax 地址和 Key。
六、文章生成流程
- 管理员进入“AI 生成文章”页面。
- 选择发布栏目。
- 输入生成数量。
- 输入最低字数,最低不能小于 500。
- 输入主题/关键词,一行一个;也可以留空。
- 点击“开始生成”。
- 前端按文章数量逐篇请求
generateOne。 - 每生成完成一篇,进度条更新一次。
- 成功生成的文章写入
ay_content表。 - 页面显示每篇文章的生成结果。
生成文章默认字段:
status = 0- 待发布
sorting = 255gtype = 4isfront = 0visits = 0likes = 0oppose = 0
七、AI 返回内容要求
系统要求 AI 只返回 JSON,字段如下:
{
"title": "文章标题",
"subtitle": "副标题",
"keywords": "关键词",
"description": "摘要描述",
"tags": "标签",
"content": "<p>正文内容</p>"
}
其中 title 和 content 为必填字段。
正文内容会进行安全清理,只保留以下 HTML 标签:
pbrh2h3h4strongbemulolliblockquote
如果 AI 返回纯文本,系统会自动按段落转为 <p> 标签。
八、MiniMax 适配说明
MiniMax Token Plan 的 API Key 使用 OpenAI 兼容接口:
https://api.minimaxi.com/v1/chat/completions
由于 MiniMax 的部分模型可能在返回内容中包含 <think>...</think> 思考内容,系统已做兼容处理:
- MiniMax 请求时增加
reasoning_split = true - 解析返回内容时自动清理
<think>...</think> - 自动清理 Markdown JSON 代码块
- 自动从返回文本中提取 JSON 对象
这样可以避免“MiniMax 返回 JSON 解析失败”的问题。
九、DeepSeek SSL 说明
phpStudy/Windows 环境中可能出现以下错误:
SSL certificate problem: self signed certificate in certificate chain
后台提供“SSL 验证”选项,默认关闭。
如果服务器证书链正常,可以开启 SSL 验证;如果本地 phpStudy 环境仍报证书错误,建议保持关闭。
十、失败处理
生成失败时,页面会显示失败主题和原因。
常见失败原因:
- 当前模型未配置 API Key
- API 地址填写错误
- API Key 无效或余额不足
- AI 接口返回 HTTP 错误
- AI 返回内容不是有效 JSON
- AI 返回缺少
title或content - 文章正文字数不足 500 字
- 文章标题已存在
- 写入数据库失败
十一、数量与进度条
生成数量以页面“生成数量”为准。
实现方式为前端循环逐篇请求:
/admin/AiArticle/generateOne
每完成一篇,进度条按以下公式更新:
当前进度 = 当前完成篇数 / 总篇数 * 100%
这样可以避免一次性批量请求等待时间过长,也能让管理员看到实时进度。
十二、当前限制
当前版本仍有以下限制:
- 不包含定时发布功能
- 不包含服务器计划任务自动生成
- 不自动发布文章
- 不自动配图
- 不自动生成缩略图
- 不自动调用搜索引擎或采集外部资料
- MiniMax 当前统一使用
MiniMax-M2.7作为实际请求模型
如后续需要每天自动生成 N 篇,可以在现有 generateOne 或 generate 逻辑基础上增加服务器计划任务入口。
十三、建议使用流程
- 先在“模型设置”中配置模型、API 地址和 API Key。
- 保存设置。
- 在“AI生成文章”中选择栏目。
- 先测试生成 1 篇。
- 确认内容质量正常后,再批量生成多篇。
- 到文章内容列表中审核待发布文章。
- 人工确认后再发布。

# 基于PbootCMS二次开发版
需要获取的私信我或看评论区。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)