本地多平台内容创作技能
1. 技能定位
做过内容的人,大概都遇到过这样的下午:产品稿终于写完,接着又被拆成小红书、公众号、抖音和知乎四份;每个平台都要换一套说法,真正有价值的思考反而被“改格式”耗掉了。更麻烦的是,尚未发布的产品信息、客户反馈和营销计划,交给云端接口总让人不太踏实。
该 Skill 的出发点很简单:把一份素材转换成适合不同中文内容平台发布的成稿,尽量替创作者省下重复劳动,把时间还给选题、判断和与读者交流。底层使用本地部署的 Qwen2.5-7B-Instruct OpenVINO INT4 模型,模型由常驻服务进程复用,适合高频改写和批量创作。
定位也很明确:不替作者说话,不把所有文字都变成一个腔调。素材里的事实、人的经验和品牌的分寸仍然最重要;模型只负责把同一件事换一种更合适的表达方式,最后发布前仍应由人读一遍、改一遍。
在实际工作里,下面这些场景最适合交给该 Skill:
- 产品说明、产品更新、发布稿 → 小红书种草笔记;
- 任意文章、素材或纪要 → 公众号深度文章;
- 研报摘要、活动信息、产品卖点 → 抖音短视频脚本;
- 技术博客、问题描述、研究材料 → 知乎专业回答;
- 任意文本 → 按用户给定语气、长度和结构进行自定义改写或润色。
当用户要求把私有材料留在本机、断网创作,或要求使用英特尔 AI PC/OpenVINO 时,优先使用本技能。不要把核心生成改为云端大模型,也不要为了追一个热点而上传素材。能不能联网,不应决定一份内部材料能不能按时交付。
2. 触发与输入边界
2.1 该 Skill 能帮忙解决什么
能帮上的,主要是三种常见的“内容工作”:一稿多发时反复改格式,临时赶稿时从零搭结构,以及内部资料不能出网时仍然需要快速形成初稿。该 Skill 先给出一份可编辑的底稿,不承诺一键替代选题、采访、事实核验或最终审稿。
2.2 适合触发的请求
中文请求中出现“写、改写、重写、适配、转成、种草、润色、仿写、生成脚本、整理成推文”等动作,并且目标是中文社交平台内容时,通常应触发本技能。英文请求中的 write、craft、adapt、repurpose、rewrite、generate 具有同样含义。
2.3 素材输入
固定入口接受一段直接传入的文本,或一个本地文件路径。当前客户端支持:
.txt、.md:按 UTF-8 读取;.docx:读取文档段落(需要已安装python-docx);- 其它文件:仅在能够按纯文本 UTF-8 读取时尝试;
- 直接文本:作为命令的第一个参数传入。
素材为空时应直接报错并停止。素材超过 8000 个字符时,客户端会提示并截取前 8000 个字符再生成;需要完整处理长文时,应先分段,再分别调用本技能。
不要把密码、访问令牌、个人身份信息等无关秘密写入提示词。即使启用联网增强,素材本身也不会随网络请求发送。
3. 唯一调用入口
只能通过 scripts\\run.ps1 调用,不要直接运行 client.py、server.py 或其它内部脚本:
scripts\\run.ps1 "<素材文本或本地文件路径>" --platform <平台> [选项]
常用示例:
# 产品说明改写为小红书种草笔记
scripts\\run.ps1 "产品说明内容..." --platform xiaohongshu
# 会议纪要改写为公众号文章,并指定专业语气
scripts\\run.ps1 "C:\\notes\\meeting.md" --platform wechat --tone professional
# 研报摘要改写为较短的抖音脚本
scripts\\run.ps1 "研报摘要..." --platform douyin --length short
# 技术材料改写为知乎回答并植入关键词
scripts\\run.ps1 "技术博客内容..." --platform zhihu --keywords "OpenVINO,AI PC"
# 纯本地模式,完全跳过热点请求
scripts\\run.ps1 "内部产品资料..." --platform xiaohongshu --enhance offline
# 供其它技能或编排器调用的机器模式
scripts\\run.ps1 "素材..." --platform wechat --json
# 只查看结果结构和管道契约,不启动模型
scripts\\run.ps1 --schema
# 模型下载中断后的续传
scripts\\run.ps1 --continue
--schema 不需要素材,也不会加载模型;其它正常创作调用必须提供非空素材和 --platform(客户端默认值为 xiaohongshu,编排器应显式传入平台)。
4. 参数说明
| 参数 | 是否必需 | 可用值或格式 | 作用 |
| --- | --- | --- | --- |
| 第一个参数 | 正常创作必需 | 文本或文件路径 | 提供素材;支持 .txt、.md、.docx |
| --platform | 建议显式提供 | xiaohongshu、wechat、douyin、zhihu、custom | 选择目标平台;分别对应小红书、公众号、抖音、知乎和自定义风格 |
| --tone | 否 | professional、casual、humorous、warm 或自定义中文描述 | 指定语气;未指定时,公众号/知乎默认专业严谨,其它平台默认轻松活泼 |
| --length | 否 | short、medium、long | 控制长度:短篇不超过约 300 字,中篇约 300–800 字,长篇约 800–1500 字 |
| --keywords | 否 | 逗号分隔的关键词 | 要求自然植入关键词,不应机械堆砌 |
| --avoid | 否 | 逗号分隔的词语 | 指定标题和正文必须回避的违禁词、极限词或品牌禁用词,可配合 content-guard 形成复检回环 |
| --enhance | 否 | auto、online、offline | 选择混合智能模式,默认 auto;详见第 6 节 |
| --json | 否 | 开关 | 机器模式:标准输出只保留结果 JSON,诊断信息写入标准错误 |
| --schema | 否 | 开关 | 输出结果 JSON Schema 和命名管道协议后退出,不安装模型、不启动服务 |
| --continue | 否 | 开关 | 恢复被中断的模型下载 |
5. 各平台写作要求
平台模板只是起点,不是套话生成器。无论投到哪里,都先把素材读懂,再决定语气和结构;不能凭空补充素材中没有的事实、价格、性能、资质或用户评价。
5.1 共同的“去模板感”原则
- 少用“在这个快节奏的时代”“不得不说”“相信大家都”等可以套在任何文章上的开场白,直接从素材里最具体、最有用或最有冲突的细节写起;
- 不把“高效、便捷、极致、颠覆、全方位”等空泛形容词当作卖点,优先说明谁在什么情况下遇到了什么问题,以及这份素材能解决到哪一步;
- 不伪造第一人称体验、用户评价、测试数据或“亲测”结论。素材没有体验证据时,使用客观描述,并明确哪些内容需要人工补充;
- 句子长短可以有变化,段落不要整齐得像宣传册;但不能为了口语化而堆叠网络梗、感叹号或表情符号;
- 保留素材中的人情味、行业术语和说话习惯。用户给了具体人物、时间、地点或现场细节时,应优先使用这些细节,让读者感到“有人在这里经历过”,而不是只看到结论;
- 交付前提醒作者通读一遍:删掉重复观点,核对数字和专有名词,把不符合本人语气的句子改回自己的话。
| 平台值 | 成稿方向 | 默认写作重点 |
| --- | --- | --- |
| xiaohongshu | 小红书种草/测评笔记 | 前置吸引点,口语化表达,适度使用表情符号,突出体验、适用人群和行动建议,附话题标签 |
| wechat | 公众号深度文章 | 观点清楚、逻辑完整,用小标题分段,专业但易读,避免短视频式碎片化表达 |
| douyin | 抖音短视频脚本 | 明确画面、口播、字幕和可选背景音乐建议,前三秒设置吸引点,节奏紧凑、便于拍摄 |
| zhihu | 知乎专业回答 | 先给结论,再分层论证;区分事实、推断和个人建议,必要时标明数据来源,不夸大结论 |
| custom | 自定义内容 | 依据素材和用户在 --tone、--length 及自然语言中提出的格式要求生成 |
关键词应融入上下文;如果关键词与素材事实冲突,应优先保持事实准确并在结果中说明无法强行植入的部分。--avoid 中的词不仅不能原样出现,也应尽量避免明显变体和同义的夸大表达。
6. 混合智能与隐私边界
本技能的“本地核心”与“可选增强”严格分离:
- 本地核心:素材读取、提示词构造、模型推理、JSON 解析和最终结果组装全部在本机完成;模型准备完成后,推理服务端不再访问网络。
- 可选增强:仅在
auto或online模式下请求百度实时榜、微博热搜等公开热点榜 GET 接口,提取话题风向作为参考,不照抄热词。 - 隐私保证:热点请求的 URL 和请求体不包含用户素材、生成正文、账号信息或个性化数据;素材和生成内容永不因增强而出机。
三种模式的行为如下:
| 模式 | 行为 | 失败时处理 |
| --- | --- | --- |
| auto(默认) | 联网时拉取公开热点;失败后尝试最近缓存 | 无可用缓存时静默降级为纯本地,核心创作继续 |
| online | 优先要求拉取最新公开热点 | 端点失败、超时(约 3 秒)或解析失败时发出告警,然后降级交付,不阻断创作 |
| offline | 完全跳过网络请求 | 始终纯本地,隐私级别最高 |
结果中的 增强.模式 会透明记录实际行为:online 表示本次成功拉取,cache 表示使用缓存,offline 表示没有使用云端信息。热点只用于把握话题风向,不能替代素材事实,也不能成为编造内容的依据。注意:offline 只关闭热点增强;首次运行若本地尚未有模型,仍需先完成一次 ModelScope 模型下载和转换。
7. 输出格式与互操作
正常调用默认输出人类可读的 JSON 字符串;使用 --json 时,标准输出必须只有这一份结果 JSON,过程状态和诊断统一写到标准错误,便于其它技能稳定解析。
结果包含以下字段:
{
"平台": "xiaohongshu",
"标题": "主标题",
"备选标题": ["备选标题一", "备选标题二"],
"正文": "适配目标平台的完整正文",
"标签": ["#话题一", "#话题二"],
"字数": 486,
"耗时": "4.2s",
"模型": "Qwen2.5-7B-Instruct-ov-int4",
"增强": {
"模式": "online|cache|offline",
"来源": "热点端点名称",
"热词数": 0,
"说明": "仅公开热词出网查询,素材与生成内容均不出机"
}
}
平台、标题、正文、标签、字数、耗时、模型、增强 是稳定字段。模型偶尔无法输出合法 JSON 时,服务端会保留原始生成文本作为 正文,并将标题、备选标题和标签置为空数组或空字符串,避免整次调用丢失。
完整结果 Schema 和命名管道协议以 PROTOCOL.md 及 scripts\\run.ps1 --schema 的实时输出为准。协议版本为 1.1。
8. 运行架构与生命周期
run.ps1 是唯一入口,负责硬件检测、安装/校验环境并转发参数。客户端是短生命周期进程,负责读取素材、拉取可选增强、连接服务并格式化结果;服务端是长生命周期进程,负责下载和常驻模型、监听命名管道以及执行推理。
这里选择客户端和服务端分开,并不是为了把项目写得复杂,而是因为每次都重新加载 7B 模型太浪费时间。第一次启动可以耐心等一会儿;模型留下来之后,后面的改写才不会让人一直盯着进度条等。
命名管道地址为 \\\\.\\pipe\\local-content-craft,认证密钥由技能名称生成。每次调用遵循“一次连接、一次请求、一次响应、关闭连接”,支持四种操作:status、request、schema、shutdown。
首次运行可能需要下载约 15 GB 的原始模型权重,再转换/加载为本地 OpenVINO INT4 模型;客户端最长等待约 45 分钟,并会显示 starting、downloading、loading、running 等状态。下载中断时使用 --continue 续传,不要删除部分缓存后重新开始。
服务优先尝试 GPU 推理,GPU 不可用或加载失败时自动回退 CPU。稳态内存需求约 6 GB;设备不满足 Intel AI PC/GPU/NPU 条件时,入口脚本可能直接提示不支持。模型加载成功后会常驻,后续请求无需重复加载。
9. 环境与故障处理
环境由 scripts\\install-env.ps1 自动准备:使用技能自带的 bin\\uv.exe 创建 Python 3.11 虚拟环境,并安装 requirements.txt 中的 OpenVINO、optimum-intel、transformers、modelscope、python-docx 等依赖。优先使用阿里云镜像,失败后回退公共 PyPI。
第一次使用时遇到下载、编译或加载提示并不奇怪,模型毕竟比一份普通文稿重得多。先看清当前状态,再决定是等待、续传还是切换 CPU;不要因为一次网络抖动就把已经下载的缓存全部删掉。
常见状态和处理方式:
素材内容为空:检查第一个参数是否缺失,或文件是否为空。未找到 Python 环境:重新运行入口,让脚本创建或修复专用虚拟环境。模型下载超时:查看网络和磁盘空间,随后运行scripts\\run.ps1 --continue。初始化失败或 GPU 加载失败:查看状态诊断;若硬件允许,服务会自动尝试 CPU。.docx无法读取:确认虚拟环境已安装python-docx,或先将文档导出为.txt/.md。- 增强端点不可用:无需重试核心生成;使用
--enhance offline可明确关闭网络,auto会自动降级。
退出码约定:0 表示成功,1 表示参数或业务错误,3 表示模型下载超时(可用 --continue 续传)。
10. 与合规技能组合
需要发布或对外投放时,推荐使用以下闭环:
素材
→ local-content-craft(--json 生成)
→ content-guard 合规检查
→ 未通过时,将待回避词通过 --avoid 回灌重写
→ content-guard 复检
→ 人工确认事实、链接和品牌口径后交付
编排器位于项目根目录的 content-factory.ps1。本技能只负责内容生成与格式适配,不替代法律审核、平台最终审核或人工事实核验;对于广告法极限词、医疗/金融等高风险表述,必须保留合规检查和人工复核。
合规不是把文章改得冷冰冰,而是让读者知道哪些是事实、哪些是判断、哪些还需要证据。宁可少一句夸张的承诺,也不要让一篇急着上线的稿子透支读者的信任。
11. 维护与扩展约定
- 模型、虚拟环境名称、内存需求、服务超时和增强缓存策略维护在
info.json; - 公开热点端点维护在
enhance.json,解析器只允许提取公开榜单词条; - 对外字段、退出码、管道操作和兼容性维护在
PROTOCOL.md; scripts\\run.ps1的文件名和调用方式是稳定接口,不要重命名或绕过;- 修改提示词或字段时,必须同步检查 JSON 解析、
--json纯净输出以及与content-guard的--avoid回环。
任何新增联网能力都必须先明确数据边界、超时和失败降级方式;不得把用户素材、生成内容或隐私数据发送到第三方服务。维护时优先保证“能离线完成、出错能说明、结果可人工修改”,不要为了追求看起来更聪明而牺牲可控性。
Scan to join WeChat group