博客写完不想手动拆成朋友圈、微博、领英、邮件列表?用 Ollama 本地 AI 一键生成 4 种风格版本,数据不出本机,完全免费。
你有没有这种感觉:写一篇博客花了大半天,结果发出去只有几个人看。
发朋友圈,太长了。发微博,字数超了。发领英,风格不对。抄邮件列表,又不想每次都重新写。
于是你手动拆了一遍——改了语气、删了内容、调整了结构。一个下午就这么没了。
今天做一个本地文章改写器。一篇博客丢进去,自动输出 4 个版本:朋友圈短文案、微博精简版、领英专业版、邮件列表版。全程在本地跑,不用上传任何内容到第三方服务。
项目背景
内容复用是个普遍痛点。你认真写了一篇长文,但不同平台的用户习惯完全不同:
- 朋友圈:3-5 行,口语化,带 emoji
- 微博:280 字以内,抓眼球
- 领英:专业语气,1-2 段,强调价值
- 邮件列表:完整摘要 + 阅读引导
人工改写一遍费时费力,而且容易失去原文的精髓。
用本地 AI 做这件事,有两个优势:内容不上传、风格可定制。跑在自己的机器上,改 prompt 就能调风格,比在线工具灵活得多。
技术选型
| 组件 | 选型 | 理由 |
|---|---|---|
| 大模型 | Ollama + qwen2.5:7b | 中文能力强,本地运行免费 |
| 备选模型 | Ollama + llama3.2 | 英文内容表现更好 |
| 交互方式 | 终端 CLI | 零配置,直接跑 |
| 输入输出 | Markdown / TXT | 通用格式,方便编辑 |
不需要数据库,不需要 Web 框架。纯 Python 脚本,跑在任意有 Ollama 的机器上。
实现步骤
第一步:安装 Ollama 和模型
# 安装 Ollama(如果还没装)
curl -fsSL https://ollama.com/install.sh | sh
# 拉取中文能力强的模型
ollama pull qwen2.5:7b
8GB 内存的机器够用。如果内存充足,可以换 qwen2.5:14b,改写质量会更好。
第二步:安装 Python 依赖
pip install ollama
就一个包。
第三步:写改写脚本
新建 article_rewriter.py:
import ollama
import sys
import json
from pathlib import Path
def rewrite_article(text: str, platform: str) -> str:
"""根据平台类型改写文章"""
prompts = {
"wechat_moments": """你是一个内容改写助手。把下面这篇文章改写成适合微信朋友圈发布的短文案。
要求:
- 3-5 行,每行不超过 20 字
- 口语化,像在跟朋友聊天
- 可以适当加 emoji
- 开头要有吸引力,让人想点全文
- 结尾引导点击原文链接
只输出改写后的文案,不要解释。
文章:
{text}""",
"weibo": """你是一个内容改写助手。把下面这篇文章改写成适合微博发布的短文案。
要求:
- 280 字以内
- 开头第一句要抓眼球
- 保留文章最核心的 1-2 个观点
- 口语化,有态度
- 可以加 1-2 个相关话题标签
只输出改写后的文案,不要解释。
文章:
{text}""",
"linkedin": """你是一个内容改写助手。把下面这篇文章改写成适合领英发布的帖子。
要求:
- 专业但不生硬的语气
- 1-2 段,每段 3-5 句话
- 强调这篇文章对职场人的实用价值
- 可以用"分享一个心得"开头
- 结尾加一个开放式问题引发讨论
只输出改写后的文案,不要解释。
文章:
{text}""",
"email": """你是一个内容改写助手。把下面这篇文章改写成适合邮件列表发送的预览内容。
要求:
- 标题行:简洁有力,激发点击欲
- 开头:一句话概括今天内容的核心价值
- 中间:3-5 个要点,用短句列出
- 结尾:引导点击阅读完整文章
- 整体语气:友好、专业、像老朋友来信
只输出改写后的内容,格式如下:
标题:[标题]
预览:[一句话预览]
正文:[要点列表]
引导:[点击阅读引导语]
文章:
{text}"""
}
prompt = prompts.get(platform)
if not prompt:
available = ", ".join(prompts.keys())
raise ValueError(f"未知平台类型。可用类型:{available}")
response = ollama.chat(
model="qwen2.5:7b",
messages=[{"role": "user", "content": prompt.format(text=text)}]
)
return response["message"]["content"]
def main():
if len(sys.argv) < 2:
print("用法: python article_rewriter.py <文章文件路径> [平台]")
print("")
print("平台类型:")
print(" wechat_moments - 微信朋友圈")
print(" weibo - 微博")
print(" linkedin - 领英")
print(" email - 邮件列表")
print("")
print("示例:")
print(" python article_rewriter.py my-article.md")
print(" python article_rewriter.py my-article.md weibo")
sys.exit(1)
input_file = sys.argv[1]
platform = sys.argv[2] if len(sys.argv) > 2 else None
# 读取文章
text = Path(input_file).read_text(encoding="utf-8")
# 决定要改写的平台
if platform:
platforms = [platform]
else:
platforms = ["wechat_moments", "weibo", "linkedin", "email"]
# 逐个平台改写
results = {}
for p in platforms:
print(f"\n正在改写为 {p} 风格...")
try:
results[p] = rewrite_article(text, p)
print(f"✓ {p} 完成")
except Exception as e:
print(f"✗ {p} 失败: {e}")
results[p] = f"(生成失败)"
# 保存结果
output_dir = Path(input_file).parent / "rewritten"
output_dir.mkdir(exist_ok=True)
output_file = output_dir / f"{Path(input_file).stem}_versions.json"
with open(output_file, "w", encoding="utf-8") as f:
json.dump(results, f, ensure_ascii=False, indent=2)
print(f"\n结果已保存到: {output_file}")
# 同时输出到单独文件,方便复制
for p, content in results.items():
single_file = output_dir / f"{p}.md"
single_file.write_text(content, encoding="utf-8")
if __name__ == "__main__":
main()
第四步:准备一篇待改写文章
随便写一篇文章,保存为 my-article.md,或者直接复用已有的博客文章。
第五步:运行改写
# 改写全部平台
python article_rewriter.py my-article.md
# 只改写微博版本
python article_rewriter.py my-article.md weibo
# 改写朋友圈版本
python article_rewriter.py my-article.md wechat_moments
运行后,输出目录结构如下:
rewritten/
├── my-article_versions.json # 全部结果汇总
├── wechat_moments.md # 朋友圈版本
├── weibo.md # 微博版本
├── linkedin.md # 领英版本
└── email.md # 邮件列表版本
第六步:调整 prompt 优化效果
如果某次生成的效果不够理想,直接改 prompt 就行。比如觉得朋友圈版本太正式:
# 修改 prompts["wechat_moments"] 中的要求部分
# 把 "口语化" 改成 "像发朋友圈一样随意"
# 加一句 "不要用太书面化的词"
改完保存,重新运行即可,不需要改代码逻辑。
运行效果
输入一篇关于 “如何用 Python 自动化日常办公” 的博客文章,各平台输出效果如下:
朋友圈版本:
最近发现个神器,用 Python 写了几个小脚本,每天早上自动处理邮件、整理文件、生成日报。
以前这些事儿要折腾一上午,现在一键搞定。
有同样困扰的朋友可以参考这篇文章 👇 [原文链接]
微博版本:
Python 自动化办公到底有多香?
我写了 3 个脚本,把每天重复的邮件处理、文件整理、日报生成全自动化了。以前一上午的活,现在 5 分钟搞定。
关键是不用学很深,会写循环和调 API 就够了。
具体方法在文章里,手把手教。 #Python #办公自动化 #效率提升
领英版本:
最近花了一个月时间,把日常工作中重复性最高的几件事用 Python 自动化了。
最大的收获不是省了时间,而是重新思考了哪些工作值得人来做。那些规则明确、重复频率高的任务,完全可以让程序代劳。
如果你也在做类似的事情,欢迎聊聊你的经验。
邮件列表版本:
标题:我用 3 个 Python 脚本,把每天一上午的重复工作压缩到了 5 分钟
预览:自动化办公不是遥不可及的概念,几个小脚本就能开始。
正文要点:
- 脚本一:自动整理收件箱,按项目分类
- 脚本二:从数据库导出日报,一键生成 HTML
- 脚本三:定时清理临时文件,释放磁盘空间
引导:点击下方链接,查看完整教程和代码。
优化方向
脚本跑通之后,还有几个方向可以继续扩展:
批量改写:一个目录下扔进 10 篇文章,一次生成全部平台的 10 套文案,适合定期做内容规划的博主。
风格记忆:把每次人工修改后的版本存下来,下次改写时参考,让 AI 逐渐学习你的个人风格。
配图建议:改写完成后,让 AI 根据文案风格推荐合适的配图类型(扁平插画、实拍图、数据图表),再自动从现有素材库里挑选。
定时发布:结合 cron 或 GitHub Actions,每周五下午自动把所有本周文章改写一遍,下周一按平台分批发布。
多模型对比:同时用 qwen2.5 和 llama3.2 改写,对比两个版本,选更好的那个。
核心思路很简单:一篇好内容值得被好好利用。用本地 AI 做这件事,省钱、隐私、还能反复调教到满意为止。
你平时都怎么把一篇文章分发到多个平台?有没有更省事儿的办法?
这篇文章对你有帮助吗?