做独立站或者个人博客的朋友,应该都有过这种体验:白天要上班,晚上回来还要憋文章。想保持日更,但灵感这东西不是说有就有,硬憋出来的内容自己都懒得看,更别提用户和搜索引擎了。
笔者之前也一直卡在这个瓶颈期,直到我把 DeepSeek API 接入了自己的网站后台,配合一套精心调校的提示词(Prompt),才算是真正把双手解放了出来。现在网站基本是无人值守状态,每天自动产出内容,搜索引擎收录也快了不少。
今天不聊虚的,直接把笔者踩坑后跑通的完整流程掰开揉碎分享给你。这套方案不需要你懂多高深的编程,只要照着下面的步骤走,今晚你就能看到第一篇文章自动发布。
一、动手前,你需要准备的几样东西
💡 推荐阅读:Nginx 反向代理总报 502?HTTPS 证书续签又失败?这份排坑实战笔记请收好
工欲善其事,必先利其器。在写代码之前,先把基础设施备齐,别等代码写完了才发现缺东少西。
- 一个可用的域名:这是你网站的招牌,建议选择正规注册商,避免后续备案或解析出幺蛾子。
- 一台靠谱的云服务器:别贪便宜选那种超售严重的小鸡,API调用和定时任务非常吃网络稳定性。笔者目前用的是稳定运行的云服务商,线路优化得好,跑脚本几乎不延迟。
- DeepSeek 的 API Key:去官网注册账号,在控制台创建一个 API Key。记得保存好,这玩意只显示一次,丢了要重新生成。
- Python 3.8+ 环境:因为我们要用到
requests库和定时框架,服务器上要装好 Python 环境。
二、核心逻辑:让网站“自己”写文章
💡 延伸阅读:个人博客卡成PPT?云服务器别乱买!4核4G主流机型真实性能与性价比横评
很多人以为接入API就是简单地调用接口,其实不然。要实现全自动,你的流程得闭环:定时触发 -> 生成内容 -> 写入数据库 -> 发布上线。
这里笔者建议用 WordPress 作为内容载体,因为它有成熟的 REST API,我们不需要去改数据库,直接通过接口就能发布文章,非常安全。
第1步:安装依赖库
登录你的服务器终端,先升级 pip 并安装必要的库:
# 升级pip
python3 -m pip install --upgrade pip
# 安装请求库和定时任务库
pip install requests schedule
第2步:编写核心调用脚本
在 /home/auto_blog/ 目录下新建一个 auto_post.py 文件,这段代码负责向 DeepSeek 发送提示词,并接收返回的文章内容。
import requests
import json
# 配置你的 DeepSeek API Key
API_KEY = "sk-你的密钥"
API_URL = "https://api.deepseek.com/v1/chat/completions"
def generate_article(topic):
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# 这里就是核心提示词,决定了文章质量
prompt = f"""
你是一位资深科技领域博主。请围绕"{topic}"写一篇深度文章。
要求:
1. 字数控制在800字左右。
2. 开头要有吸引力,结尾要有总结。
3. 使用自然的段落分隔,不要使用markdown符号。
4. 语言风格专业但不生硬。
"""
payload = {
"model": "deepseek-chat",
"messages": [{"role": "user", "content": prompt}],
"temperature": 0.8
}
response = requests.post(API_URL, headers=headers, json=payload)
data = response.json()
# 提取返回的正文内容
content = data["choices"][0]["message"]["content"]
return content
注意:这里的 temperature 参数建议设置在 0.7-0.9 之间,太低会显得机械,太高容易跑偏。
第3步:对接 WordPress 自动发布
文章生成后,我们需要通过 WordPress 的 REST API 把内容传上去。在你的网站后台开启“固定链接”为文章名格式,然后使用 Application Password(应用密码)进行授权。
import base64
def publish_to_wp(title, content):
# 你的网站地址和后台账号
wp_url = "https://你的域名/wp-json/wp/v2/posts"
user = "你的用户名"
password = "你的应用密码"
# 生成 Basic Auth 头
token = base64.b64encode(f"{user}:{password}".encode()).decode()
headers = {
"Authorization": f"Basic {token}",
"Content-Type": "application/json"
}
data = {
"title": title,
"content": content,
"status": "publish" # 直接发布,如果想先预览可改为 "draft"
}
response = requests.post(wp_url, headers=headers, json=data)
if response.status_code == 201:
print("文章发布成功!")
else:
print("发布失败:", response.text)
第4步:设置定时任务
脚本写好了,接下来就是让它“自己跑”。如果你用的是 Linux 服务器,推荐使用 Crontab,比 Python 里的 schedule 库更稳定,不会因为进程挂掉而停摆。
# 编辑定时任务
crontab -e
# 每天凌晨6点执行一次自动发布脚本
0 6 * * * /usr/bin/python3 /home/auto_blog/auto_post.py >> /home/auto_blog/cron.log 2>&1
注意 /usr/bin/python3 要替换成你服务器上实际的 Python 路径,可以用 which python3 查询。
三、避坑清单:这些雷笔者替你踩过了
💡 深度技术指南:Docker 搭建私有 Git 仓库总失败?这几个高频报错和排查思路,帮你一次搞定
这套流程虽然简单,但有几个细节不注意,很容易让你在深夜抓狂。
| 常见问题 | 原因分析 | 解决方案 |
|---|---|---|
| API请求超时 | 服务器网络无法访问外网,或DNS解析慢 | 更换服务器DNS为 8.8.8.8,或检查防火墙出站规则 |
| 文章发布格式错乱 | 返回内容包含 Markdown 符号,而主题不支持 | 在提示词中明确要求“不要使用任何标记语言”,或在前端用 markdown 解析 |
| 定时任务不执行 | 脚本中引用了相对路径,导致找不到文件 | 脚本内所有文件操作全部使用绝对路径 |
四、进阶玩法:让内容更懂SEO
如果你不满足于“能发”,还想要“收录快”,那就在提示词里加上 SEO 要求。比如让 AI 自动生成 Meta Description 和关键词,然后通过 WordPress 的 Yoast SEO 插件字段写入。
# 在发布时增加 meta 字段
data = {
"title": title,
"content": content,
"status": "publish",
"meta": {
"rank_math_title": title,
"rank_math_description": "这里放AI生成的描述"
}
}
这样发布出来的文章,自带 SEO 配置,省去了后续手动优化的功夫。搜索引擎爬虫来抓取时,就能快速识别你的主题和摘要。
五、写在最后
这套系统笔者已经稳定跑了几个月,每天雷打不动产出高质量原创内容。虽然前期搭建花了一个晚上,但长期来看,省下的时间成本是巨大的。
如果你也是个人站长,建议尽早把这类重复性劳动交给 API 去处理。记住,AI 不是替代你思考,而是帮你把“写”这个动作自动化,而你真正要做的,是定好方向、调好提示词。
好了,教程就到这里。如果你在搭建过程中遇到任何报错,欢迎在评论区留言,笔者看到后会第一时间帮你排查。
相关技术专题与延伸阅读
- Nginx 反向代理总报 502?HTTPS 证书续签又失败?这份排坑实战笔记请收好
- 个人博客卡成PPT?云服务器别乱买!4核4G主流机型真实性能与性价比横评
- Docker 搭建私有 Git 仓库总失败?这几个高频报错和排查思路,帮你一次搞定
- 买服务器前必看:云服务器参数到底怎么看?一文讲透CPU、内存、带宽那些事儿
📦 【资源免费领】本文全套实操配置文件与避坑手册下载
本文涉及的全套 Docker Compose 配置文件、服务器运维避坑清单及 AI 提效指令库已完整打包,可免费极速转存:
💡 提示:推荐使用手机【夸克网盘 App】打开保存,新用户首月免费赠送 1TB 超大空间与免流量极速下载特权。