Commit graph

22 commits

Author SHA1 Message Date
wangzhuc
0871162634 feat: visual AI overhaul — style anchoring, typed illustrations, 9-provider fallback
- Add visual anchor extraction after cover confirmation for consistent inline images
- Introduce 6 illustration types (infographic/scene/flowchart/comparison/framework/timeline) with structured prompt templates
- Expand image providers from 3 to 9: add DashScope, MiniMax, Replicate, Azure OpenAI, OpenRouter, Jimeng
- Support multi-provider auto-fallback via `image.providers` config (backward-compatible)
- Update SKILL.md Step 6 and environment check for new capabilities

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 23:51:53 +08:00
wangzhuc
5ed39b4e44 feat: improve image relevance — entity anchoring + cover-first flow
SKILL.md Step 6 restructured:
- 6.1: extract 3-5 concrete entities from article before prompting
- 6.2: generate cover only (1 API call, test direction early)
- 6.3: validate cover (interactive: ask user; auto: self-check entities)
- 6.4: batch inline images using cover's style for consistency

visual-prompts.md:
- Add "entity anchoring" hard rule: every prompt must include ≥2 article
  entities; ban vague terms as sole subject ("科技感", "未来感")
- Add anti-pattern → good-pattern examples
- Inline images must reuse cover's style description for consistency

Addresses #9

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:03:33 +08:00
wangzhuc
87c4a7d293 feat: effect feedback loop, evergreen topics, merged search, content quality checks
- Topic selection: add historical effect analysis (framework/strategy/title
  performance weighting when stats available), add 2-3 evergreen topics
  alongside trending ones
- Step 3: merge material collection and content enhancement into single
  search pass, with framework-specific search strategies
- Step 5: split verification into writing quality (A) and content quality (B),
  add checks for hook strength, quote density, angle sharpness per framework
- Fix exemplar category mapping for new frameworks (opinion → hot-take,
  retrospective → story-emotional)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:20:17 +08:00
wangzhuc
45c020727b feat: add content enhancement strategies and 2 new frameworks
- Add content-enhance.md with 4 strategies matched by framework type:
  angle discovery (hot-take/opinion), density boost (pain-point/list),
  detail anchoring (story/retro), real-feel injection (comparison)
- Add 2 new frameworks: pure-opinion (F) and retrospective (G), now 7 total
- Integrate Step 3.3 content enhancement into SKILL.md pipeline
- Remove parameter optimization loop (low ROI, deprioritized)
- Update README: reframe from anti-AI detection to content quality

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 16:20:17 +08:00
wangzhuc
792aec4101 refine: optimize exemplar seeds with data-driven segment selection
Replace 5 seed segments sourced from weaker articles (score 47-57)
with segments from the highest-scoring articles (score 32-37):

- Opening: add 国内+日本留学 label-contrast opening (stddev 45.7)
- Opening: add 长期主义骗局 belief-then-shatter opening
- Emotional: add 国内+日本留学 温水煮青蛙 stagnation segment
- Closing: replace 人夫约会指南 (57.1) with 庞氏骗局 (36.7)
- Closing: replace 天才在左 (51.7) with 穷人没教育 (33.0)

All replacements maintain pattern diversity while upgrading to
segments from data-proven most-human articles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:32:10 +08:00
wangzhuc
79edadd72e fix: make closing style content-driven instead of persona-fixed
- Rename closing_style → closing_tendency in all 5 personas, making it
  a soft preference rather than a hard constraint
- Add closing variation rule + 6 closing patterns table to writing-guide.md
- Step 4.5: LLM judges best closing from content; checks history.yaml
  last 3 articles to avoid repeating the same closing_type
- Step 8.1: record closing_type in history.yaml for dedup

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 23:07:09 +08:00
wangzhuc
d2b87c489c feat: add universal exemplar seeds for users without articles
Seeds demonstrate anti-AI structural patterns (sentence variance, real
negative emotion, self-correction, abrupt closings) without imposing a
specific writing style. Step 4.4 falls back to seeds when the user's
exemplar library is empty.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 22:53:37 +08:00
wangzhuc
885cae8e7d feat: add SICO-style exemplar extraction system for few-shot writing
- New script: scripts/extract_exemplar.py
  Extracts style fingerprints from human-written articles (opening hook,
  emotional peak, transition/self-correction, closing) with statistical
  analysis (sentence stddev, vocab temperature, negative ratio, paragraph CV).
  Auto-detects category, supports batch import.

- SKILL.md: Add Step 4.4 exemplar injection
  Loads matching exemplars by category before writing, injects segments
  as few-shot style examples in the prompt.

- learn_edits.py: Auto-grow exemplar library
  After user edits, auto-extracts the final version into the exemplar
  library if humanness_score <= 50.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 22:32:02 +08:00
wangzhuc
344f7509f1 feat: structured edit learning with typed patterns and confidence scoring
learn_edits.py: patterns now have type/key/description/rule fields,
confidence auto-computed from occurrences + recency with 30-day decay.
--summarize --json outputs aggregated patterns sorted by confidence.

learn-edits.md: playbook.md format changed from free text to structured
YAML rules with confidence levels. Rules with confidence ≥ 5 become
hard constraints in Step 4, < 5 are soft references, < 2 get pruned.

SKILL.md Step 4: playbook priority now confidence-gated.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 20:23:34 +08:00
wangzhuc
4fbbd185ca refactor: restructure writing-guide from action-based to detection-signal-based
Reorganize anti-AI rules into 3 tiers mapped to detector signals:
- Tier 1 (Statistical): sentence variance, vocab temperature, paragraph
  rhythm, emotion polarity, adverb density, style drift
- Tier 2 (Linguistic): banned words, broken sentences, unexpected words,
  coherence breaking
- Tier 3 (Content): real data anchoring, specificity, density waves,
  dimension randomization

New rules added: emotion polarity distribution (1.4), adverb density
control (1.5), inter-paragraph style drift (1.6), unexpected word
usage (2.3). Each rule now references the detection signal it counters.

writing-config.example.yaml updated with corresponding new parameters.
SKILL.md Step 5 checklist aligned to new structure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 18:48:44 +08:00
wangzhuc
5cb1f99ecf 修复首次使用者模拟发现的 5 个卡点
#1: {skill_dir} 显式定义(24处引用,从未声明)
#2: 行为声明新增"Onboard 例外"(交互式不受全自动约束)
#4: WebSearch 不可用时告知用户 AI 检测通过率会降低
#5: Step 8a history.yaml 不存在则创建
#7: learn-edits.md 引导用户从微信编辑器粘贴 final 版本

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 01:14:19 +08:00
wangzhuc
b80baa4c73 修复 7 个闭环审查问题
#1 HIGH: 用户给选题时跳到 Step 4 → 改为跳到 Step 3(保留素材采集)
#2 MEDIUM: writing-guide.md "Step 3.75" → "Step 3b"(2处)
#3 MEDIUM: history.yaml 新增 writing_persona 字段记录
#4 MEDIUM: 声明优先级 playbook > persona > writing-guide
#5 LOW: onboard.md 新增 tone → persona 自动映射表
#6 LOW: 错误处理表新增 persona 文件不存在的降级
#7 LOW: 错误处理表新增 WebSearch 降级

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 01:05:05 +08:00
wangzhuc
3f84dc837d 写作人格朱雀 benchmark 数据更新
5 个人格全部经过朱雀实测,结果写入各 persona yaml 注释:
- midnight-friend: 39% 人工 / 10% AI(最优)
- warm-editor: 10% 人工 / 33% AI
- industry-observer: 10% 人工 / 40% AI(含 0.06 最低片段)
- sharp-journalist: 0% 人工 / 72% AI(需编辑锚点)
- cold-analyst: 0% 人工 / 74% AI(需编辑锚点)

核心发现:个人声音浓度与人工特征比例几乎线性相关。
onboard.md 人格选择表新增朱雀实测列。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 00:58:47 +08:00
wangzhuc
ddcf15796f 新增写作人格系统:5 个预设人格,像选排版主题一样选写作风格
基于优化 loop 实测(R5 朱雀 39% 人工/10% AI),将验证过的写作模式
抽象为可选的"写作人格"预设,用户在 style.yaml 中一行配置即可:

personas/midnight-friend.yaml — 深夜好友(已验证,39% 人工)
personas/industry-observer.yaml — 行业观察者(待验证)
personas/sharp-journalist.yaml — 锐评记者(待验证)
personas/warm-editor.yaml — 温暖编辑(待验证)
personas/cold-analyst.yaml — 冷静研究员(待验证)

每个人格定义:语气浓度、数据呈现方式、情绪弧线、段落节奏、
不确定性表达模板、破句风格、禁止项。

SKILL.md Step 4 新增 4b 加载写作人格步骤。
Onboard 新增写作人格选择。
style.example.yaml 新增 writing_persona 字段。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 00:48:34 +08:00
wangzhuc
78e8fd666e SKILL.md 结构重构:571行→273行,学习 gstack 模式
拆分:
- Onboard → references/onboard.md
- 学习飞轮 → references/learn-edits.md
- 效果复盘 → references/effect-review.md
SKILL.md 只保留主管道(写文章)+ 错误处理。

重编号:
- 去掉 0, 2.5, 3.5, 3.75, 7.5 等补丁式编号
- Step 1-8 连续编号,子步骤用 a/b/c

新增行为声明区(学习 gstack preamble 模式):
- 角色、模式、降级原则一次性声明
- 完成协议:DONE / DONE_WITH_CONCERNS / BLOCKED / NEEDS_CONTEXT
- 辅助功能用 读取: references/xxx.md 按需加载
- frontmatter 新增 allowed-tools

结构:11 个 section header(原 34 个),Agent 认知负荷大幅降低。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 00:01:04 +08:00
wangzhuc
1b8f0e6bc6 定位调整:高质量初稿生成器 + 编辑锚点 + 学习飞轮
基于朱雀实测数据(纯AI生成0%人工vs人机协作52-70%人工),
调整WeWrite定位为"高质量初稿+最小化人工编辑"模式:

- Step 4b 新增编辑锚点:在2-3个关键位置插入 <!-- ✏️ --> 标记,
  引导用户在最有效的位置加入个人色彩
- Step 8 诚实告知AI检测现状,引导用户3-5分钟个性化编辑
- 学习人工修改升级为"核心飞轮":越用越省事
- writing-guide.md 新增编辑锚点章节,解释为什么锚点是设计不是缺陷

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 23:42:38 +08:00
wangzhuc
59aa215f12 新增 Step 3.75 素材采集:真实信息锚定是通过 AI 检测的关键
根据朱雀AI检测对比分析,通过检测的文章核心特征是"建立在真实外部
信息源之上"——具名来源、可验证数据、真实引述。纯 LLM 生成的
"假细节"(编造数据/虚构场景)在 token 概率分布上仍然是 AI 的。

改动:
- SKILL.md 新增 Step 3.75:WebSearch 采集 5-8 条真实素材
- Step 4b 写作要求必须锚定真实素材,禁止编造
- writing-guide.md 新增"最重要的一条":真实信息锚定优先级最高
- 自检清单前置第 0 项:真实信息锚定检查 + 零编造检查

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 23:15:14 +08:00
wangzhuc
40bc8a1ceb 修复排版升级与 workflow 的兼容问题 + 更新 README
兼容修复:
- style-template.md 主题列表从 4 → 16,新增 gallery 提示
- writing-guide.md "客户" → "用户"(单用户模式残留措辞)
- SKILL.md description 新增主题画廊/容器语法触发词
- SKILL.md Step 4 新增容器语法说明(:::dialogue/timeline/callout/quote)
- SKILL.md Step 7 新增 converter 自动修复说明(CJK/脚注/暗黑/列表)
- SKILL.md Step 8 新增"看看有什么主题"/"换主题"用户操作
- SKILL.md Onboard 主题选问新增 gallery 命令提示
- wechat-constraints.md 新增第 8 节"WeWrite 自动修复"
- README 完整更新:排版引擎章节、16 主题分类表、容器语法示例、gallery 命令

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 22:58:32 +08:00
wangzhuc
dd1de0d1e9 重构为单用户模式:去掉多客户架构 + 新增 Onboard/环境检查 + 修复 10 项问题
架构转变:从代运营多客户模式改为开源单用户模式。
- 去掉 clients/ 目录,style.yaml/history.yaml 扁平化到 skill root
- Step 1 简化(不再提取客户名,直接读 style.yaml)
- 新增 Step 0 环境检查(config/依赖/API 配置,降级标记传递到后续 Step)
- Onboard 改为首次设置流程(交互式问答 + 支持"用默认的直接写")
- 3 个脚本去掉 --client 参数,路径扁平化
- 修复 10 项 workflow 问题(降级传递、历史写入、wechat-constraints 引用等)
- evals 更新为单用户模式的 3 个场景
- 新增 style.example.yaml 作为默认模板

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 22:36:36 +08:00
wangzhuc
ffcc186578 升级去AI痕迹体系:3层→7层反检测 + 维度随机化 + 逐层验证
针对朱雀AI检测,将 writing-guide.md 的去AI痕迹从表层词汇处理
扩展为7层深度反检测体系(词汇温度梯度/句法层/信息密度层/
连贯性打破层/具体性注入层/情绪弧线/维度随机化),并在 SKILL.md
中配套增加 Step 4a 维度随机化机制和 Step 5b 逐层验证流程。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 21:58:16 +08:00
wangzhuc
ec4a646359 Rename media-agent → WeWrite
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 22:18:38 +08:00
wangzhuc
1ab34fa450 Initial release — 公众号文章全流程 AI Skill
热点抓取 → 选题 → 框架 → 写作 → SEO → 视觉AI → 排版 → 微信草稿箱,
一句话触发完整流程。适用于 Claude Code skill 格式。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 22:16:18 +08:00