Install
openclaw skills install own-style-writer通用自有文风写作 skill。用于用户要求“按我的文章风格写”“学习某个目录里的文风”“把风格素材和本次写作素材分开处理”“从本地 PDF/DOCX/PPTX/Excel/HTML/文本等素材提炼文风并写文章”时。它会主动询问哪些目录用于学习写作风格、哪些材料只用于本次写作内容,优先在用户同意上传后用 MinerU 转换文档,也可回退内置 MarkItDown 离线转换;默认先生成风格画像、素材摘要和文章大纲,待确认后才写正文。
openclaw skills install own-style-writerOwn Style Writer 是一个“学习指定文章风格,再按本次素材写作”的 skill。它不内置固定作者人格、固定口癖或默认语料。每次写作都必须以用户当次提供的风格素材为最高文风依据。
Inspired by khazix-writer, but contains no khazix-writer persona, corpus, prompts, or runtime dependency.
触发后先问清楚,不要把“风格素材”和“写作素材”混为一谈:
MINERU_API_KEY?如果用户没有 MinerU key,提示:
如果你想使用 MinerU 精准解析,需要先获取 API Key:
https://mineru.net/apiManage/docs
没有 key 也可以继续:
1. 尝试 MinerU 轻量解析 API,适合 10MB / 20 页以内文件,受 IP 限频影响;
2. 或使用内置 MarkItDown 做本地离线转换。
写作素材不参与文风学习,除非用户明确说“也参考这些素材的风格”。
优先转换策略:
MINERU_API_KEY:使用 MinerU 精准解析 API,默认模型 vlm,可用 MINERU_MODEL_VERSION 覆盖。转换入口:
powershell -ExecutionPolicy Bypass -File scripts/run_prepare_workspace.ps1 `
-StyleDir "D:\writing\my-style-samples" `
-ContentDir "D:\writing\topic-materials" `
-OutputDir "D:\writing\workspace\.own-style-writer" `
-Recursive
允许上传到 MinerU 时增加:
-AllowUpload
macOS/Linux/WSL:
scripts/run_prepare_workspace.sh "/path/to/style-samples" "/path/to/topic-materials" --recursive --allow-upload
也可直接运行 Python:
python3 scripts/prepare_writing_workspace.py \
--style-dir "/path/to/style-samples" \
--content-dir "/path/to/topic-materials" \
--output-dir "/path/to/output/.own-style-writer" \
--converter auto \
--recursive
转换脚本保留可复查产物:
style/converted/*.mdstyle/corpus.mdcontent/converted/*.mdcontent/corpus.mdstyle_corpus.mdcontent_corpus.mdmanifest.jsonconversion_errors.jsonmanifest.json 每条记录包含 role、source、output、status、extension、bytes、characters、converter、converter_mode、error。
后续由 Agent 生成:
style_profile.md:只从 style/corpus.md 提炼文风。content_brief.md:只从 content/corpus.md 和用户粘贴/口述内容提炼事实素材。outline_review.md:结合文风画像和写作素材生成待确认大纲。draft.md:用户确认大纲后才生成。quality_report.md:检查文风贴合、素材使用和事实风险。manifest.json,确认转换成功率和失败项。style/corpus.md,参考 references/style_profile_template.md 生成 style_profile.md。content/corpus.md,参考 references/content_brief_template.md 生成 content_brief.md。references/writing_principles.md,把通用章法原则翻译成当前题材可用的结构建议。references/outline_review_template.md 生成 outline_review.md,展示给用户确认。style_profile.md、content_brief.md 和已确认大纲写 draft.md。references/quality_check_template.md 生成 quality_report.md。默认停在大纲确认阶段,不要第一轮直接写完整正文,除非用户明确说“跳过大纲确认,直接写”。
无论参考风格是什么,写作时都要保留基本章法和逻辑底线。生成 outline_review.md 前阅读 references/writing_principles.md,并检查:
这些原则是写作质量建议,不是固定文风。不要把所有文章写成机关文稿;要把原则转译为当前题材、用户需求和风格语料适用的表达方式。如果风格语料故意采用特殊结构,优先尊重用户风格,同时在大纲或质检里提示它可能带来的结构风险。
提炼文风时不要只总结主题内容,要写成可执行约束。重点观察:
不要写“语言生动”这种泛泛评价;要写“每个核心判断后通常跟一个短句解释,并用口语转折把节奏拉回来”这类可执行规则。
写正文时严格依据 style_profile.md、content_brief.md 和已确认的 outline_review.md:
quality_report.md,说明哪些风格特征已对齐、哪些事实仍需人工确认。MinerU 精准解析需要 MINERU_API_KEY。设置示例:
$env:MINERU_API_KEY="你的key"
[Environment]::SetEnvironmentVariable("MINERU_API_KEY","你的key","User")
export MINERU_API_KEY="你的key"
内置 MarkItDown 位于 vendor/markitdown。首次需要 fallback 到 MarkItDown 时,scripts/bootstrap_markitdown.py 会自动创建可复用 Python runtime,并按文件类型安装所需依赖。
默认 runtime 位置:
%LOCALAPPDATA%\own-style-writer\runtime~/.cache/own-style-writer/runtime如果不能写用户缓存目录,设置 OWN_STYLE_WRITER_RUNTIME 到一个可写目录。