
Wechat Writer
- 26 installs
- 39 repo stars
- Updated May 3, 2026
- davidlam-oss/wechat-writing-team
WeChat Writer is an agent skill that runs interview, writing, sprout, and harvest commands with scripted review so developers can produce structured WeChat Official Account articles from raw ideas.
About
wechat-writer is an agent skill for WeChat Official Account authoring from interview mining through structured drafts and multi-round editorial review. It bundles Python helpers for research, cleaning, and archiving plus SEO keyword notes. Install it when you publish long-form WeChat content and want slash-command workflows instead of ad hoc chat drafting.
- /interview, /write, /sprout, and /harvest cover ideation through batch material growth
- Four review layers from hard rules through style and factual checks
- Scripts include cleaner, research, review_toolkit, and archive for the writing pipeline
- Knowledge files capture style guide, AI-smell checks, and wechat index keywords
Wechat Writer by the numbers
- 26 all-time installs (skills.sh)
- Ranked #1,441 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
- Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/davidlam-oss/wechat-writing-team --skill wechat-writerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 26 |
|---|---|
| repo stars | ★ 39 |
| Last updated | May 3, 2026 |
| Repository | davidlam-oss/wechat-writing-team ↗ |
How do you move from a blank topic to a reviewed WeChat article with consistent voice, fact checks, and SEO keywords inside your coding agent?
Use /interview, /write, /sprout, and /harvest to turn ideas and material into reviewed WeChat articles with SEO keyword support.
Who is it for?
Developers using Claude Code, Codex, or Gemini CLI who publish WeChat content and will personalize knowledge/style files.
Skip if: Engineering teams with no WeChat publishing channel or willingness to replace example style_guide_david.md and indexes.
When should I use this skill?
SKILL.md is installed and you run /interview for a topic or /write with existing material after config_check.py.
What you get
Structured article drafts, interview transcripts, archived publish assets, and updated knowledge indexes after the review toolkit passes.
Files
微信公众号写作系统 (WeChat Writer v3.5.2)
单一 Skill 驱动的自动化写作流水线。支持 "先聊后写" (Interview-First)、"素材转化" (Source-First),以及用于补充外部视角的 Seed 发芽流程。
📍 核心理念
1. 三种入口 + 一层前置能力:
- 访谈模式 (`/interview`): 解决冷启动,通过对话挖掘隐性知识和真实情绪。
- 素材模式 (`/write`): 解决转化率,将已有笔记/链接快速转化为文章。
- 发芽模式 (`/sprout`): 将外部人物、事件、故事加工成结构化 Seed,用来补足你的素材盲区。
- 批量发芽 (`/harvest`): 批量处理素材库或 Inbox 中的候选素材。
2. Seed 只扩素材,不改文风: 外部 Seed 负责提供案例、反方视角和第一性问题;正文依然服从 David 的第一人称真实感与风格约束。 3. 5 角色协同: 首席记者 (Lyra) + 呼延雷锋(大脑) + 冰清(手) + 罗永浩(眼) + 马可婷(包装) 4. 4 文件交付: 01_Plan -> 02_Draft -> 03_Production -> Published 5. Vibe Writing: 坚持 "Think Aloud + 真实素材 + 外部发散 + 选题质检 + 三遍审校" 6. 角色定义:见references/core_personas.md
---
🏗️ 目录结构规范
所有工作在 To-be-used/Project_[Title]/ 下进行:
To-be-used/Project_[Title]/
├── _source/ # 用户提供的原始素材(Stage 1 初始化时移入)
│ ├── Raw_[Title].md # (访谈模式) Stage 0 生成的访谈录
│ └── Seeds/ # (项目级) 本次写作专用发芽素材
│ └── Seed_[Topic].md
├── 01_Plan.md # 阶段一:清洗素材 + 结构大纲 + 调研事实
├── 02_Draft.md # 阶段二:正文初稿 (含批注)
├── 03_Production.md # 阶段三:标题方案 + 营销摘要 (无视觉)
├── Cleaned_[Name].md # (中间产物) Stage 1 清洗结果
├── Research_Report.md # (中间产物) Stage 1 调研报告
├── SEO_Report.md # (中间产物) Stage 1 SEO 关键词报告
├── [Critique_Report]*.md # (中间产物) Stage 2 审校报告
├── Directive_*.md # (中间产物) Stage 2 综改指令
└── _temp_*.json # (临时文件) 脚本输入文件 (可选)💡 Resume / Restart:
任何时候重启任务,可使用 /write "Title" --from-stage N 从指定阶段继续。💡 Long-Term Knowledge:
可复用的 Seed 沉淀到 knowledge/seeds/;一次性 Seed 留在当前项目目录。---
🚀 工作流总览
Pre-Stage: 发芽 (Sprout) —— 入口:/sprout / /harvest
角色: 主编 (呼延雷锋) —— 分类、补料、搭桥。
目标: 把外部世界的人物、事件、故事加工成可被 David 风格吸收的结构化 Seed。
何时必须执行: 1. 用户素材只有感想,没有具体人物、事件或故事抓手。 2. 用户素材过于站在自己视角里,缺乏外部案例和反方视角。 3. 文章需要补事实、案例、社会参照系,但现有素材库中没有现成条目。
操作流程: 1. 绑定项目 (Project Binding):
- 若当前已处于某个
Project_[Title]上下文,直接继承该项目。 - 若是独立触发
/sprout或/harvest,优先读取project参数;若未提供,则回退读取title参数作为目标项目标题。 - 若目标项目不存在,先创建
To-be-used/Project_[Title]/与_source/Seeds/。 - 若既没有当前项目上下文,也没有
project/title可用,暂停并向用户索取项目标题;默认不允许写 projectless Seed。
2. 分类: 按 person / event / story / concept / trend 分类,规则见 references/routine_sprout.md。 3. 拦截: 若输入是 concept 或 trend,禁止直接进入正文写作,必须先追问具体人物、事件或案例。 4. 发芽: 参考 references/template_seed.md 生成 Seed_[Topic].md,默认落到 To-be-used/Project_[Title]/_source/Seeds/。 5. 沉淀: 若 Seed 有长期复用价值,再晋升到 knowledge/seeds/。 6. 衔接: 发芽完成后进入 Stage 1,由主编把 Seed 吸收进 01_Plan.md。
Stage 0: 访谈 (The Interview) —— 入口:/interview
角色: 首席记者 (Lyra) —— 挖掘、追问、倾听。
目标: 无论你有多少模糊的想法,通过 5-10 轮对话,生成一份丰满的素材文件。
操作流程: 1. 启动: 用户输入 /interview [话题/想法]。 2. 交互: Lyra 进行苏格拉底式追问(挖掘事实细节、情绪波动、反直觉观点)。 3. 结案: 当用户表示"聊够了"或信息充足时,Lyra 自动整理访谈录。 4. 产出:
- 创建项目目录
To-be-used/Project_[Title]/ - 将整理好的内容写入
_source/Raw_[Title].md - ⚠️ 记录原则 (High Fidelity): 高保真。禁止对用户的回答做摘要或书面化润色。必须保留第一人称、口语语气词、情绪表达和断句。我们在这个阶段需要的是"生肉",不是"熟食"。
5. 衔接:
- 自动进入 Stage 1,读取刚才生成的
_source/Raw_[Title].md开始策划。
---
Stage 1: 策划 (Plan) —— 角色:主编 (呼延雷锋) —— 策划、结构、决策。
目标: 无论输入多乱,输出一个坚实、经过验证的大纲。
0. 初始化 (Init):
- 创建
To-be-used/Project_[Title]/文件夹 - [素材模式] 将用户提供的原始素材文件移动到
_source/子目录(确保归档时一并迁移) - [访谈模式] 将 Stage 0 生成的
Raw_*.md保留在_source/子目录 - [Seed 模式] 若本次存在项目级 Seed,统一保存在
_source/Seeds/
1. 清洗 (Clean):
- 调用
scripts/cleaner.py保存 Agent 清洗后的中间文件 (Cleaned_*.md)。 - 主编 必须阅读
Cleaned_*.md,将其核心信息 吸收并写入01_Plan.md的 "素材摘要" 部分。
2. 选题质检与人机边界 (Topic Gate):
- David-HKR 质检(必做): 用 David 的语气判断本篇是否值得写,而不是为了完成流程硬写:
- 好奇感: 有没有一个具体场景、反常识细节或真实问题,让读者想继续看下去?
- 信息增量: 读者看完能不能多知道一点事实、方法、经验或判断?
- 共鸣感: 这件事是否能连接到读者自己的处境,而不只是作者自说自话?
及格线:至少满足两项。若只满足一项或完全不满足,先回到/interview或/sprout补素材,或请用户确认是否调整角度。
- 写入 `01_Plan.md` 固定区块 `选题质检卡`,至少包含:
- 好奇感:强 / 中 / 弱,以及具体钩子
- 信息增量:强 / 中 / 弱,以及新增价值
- 共鸣感:强 / 中 / 弱,以及对应读者处境
- 结论:继续 / 补素材 / 调整角度
- 人机边界卡(必做): 明确哪些内容来自 David,哪些可以由 AI 辅助,哪些禁止虚构:
- David 原话与亲历:只能来自访谈、原始素材、旧文或用户明确补充
- AI 可辅助:事实核查、背景知识、类比候选、结构建议、表达润色
- 禁止虚构:第一手经历、关键情绪、人物关系、未验证数据、David 未说过的观点
3. SEO 关键词调研 (SEO Research) ⚡:
- ⚠️ 必读:
knowledge/wechat_index_keywords.md(查积累库) - 以文章主题为种子词,调用微信指数搜索相关上升词
- 参考
references/wechat_index_research.md的 SOP 进行调研 - 💡 SEO 辅助: 若需要查微信指数,可安装 `wechat-index-query` Skill(仅支持 macOS,需手动打开微信指数小程序)
- 产出:
SEO_Report.md(记录候选关键词、指数、趋势、适合嵌入的位置,以及本轮是采用 / weak-signal / skip SEO化哪种结论) - 将本次新发现的关键词更新到
knowledge/wechat_index_keywords.md - 过期检查: 如积累库中相关词条"上次查时间" > 14 天,优先重新查证
- 强制沉淀: 主编必须把最终 SEO 结论写入
01_Plan.md的固定区块SEO 决策卡,至少包含: - 最终状态:
采用 / weak-signal / skip SEO化 - 最终选用词:标题主词、摘要/正文辅助词、Tags 候选
- 放置计划:标题 / 摘要 / 开头段 / Tags
- 禁用或降级词:不建议硬塞的词及原因
- 备注:查无结果、仅下降词或不适合 SEO 化时的降级理由
4. 结构 (Structure):
- ⚠️ 文章类型判断(必做): 先确定本次写作属于哪种类型,据此决定大纲重心:
- 现象解读型:观察→好奇→研究→升维
- 方法论分享型:每节必须有可执行动作 + 坦诚说明学习成本
- 产品体验型:场景演示 + 真实感受
- 调查实验型:过程叙事 + 层层递进发现
- 工具分享型:个人故事铺垫→工具展示→效果惊艳
若素材明显属于某类型,大纲重心应向该类型的写法重心倾斜;若类型重叠,以主要类型为准。
- ⚠️ 必读 (Prevention):
knowledge/team_memory.md(避坑指南) - ⚠️ 必读 (Discovery):
knowledge/published_article_index.md(寻找旧文关联) - ⚠️ 必读 (Inspiration):
knowledge/素材库.md(寻找金句或相关素材) - ⚠️ 必读 (External Seeds):
To-be-used/Project_[Title]/_source/Seeds/与knowledge/seeds/(补外部案例与发散) - 推荐参考:
references/template_01_plan.md(半空白示例样本;用于把握常见章节顺序,不要求逐段照抄) - 主编 制定大纲,确定核心论点、钩子和结尾。
- 主线回扣(必做): 每个中段都要写清楚:
- 本节承担什么推进任务
- 本节结束时用哪一句自然回到核心论点
- 开头埋下的具体细节,结尾是否能以变体形式呼应
目标不是写得更花,而是避免文章变成一堆信息的堆砌。
- 按需补充项(仅在使用 Seed 或素材明显单薄时启用):
- 建议吸收
2个外部案例或参照物 - 建议加入
1个反方视角 - 建议提出
1个第一性问题 - Seed Gate: 进入正文前,主编应先判断本篇是否需要
/sprout;若未启用,也建议在01_Plan.md中简要说明"为什么当前素材已足够"。 - 例外: 纯个人经历、访谈回忆、生活体感类文章,如果外部材料会稀释第一人称叙事,可以不补足以上三项。
- 吸收原则: 外部材料只能增强判断和对照,不能覆盖用户自己的真实体验。
5. 调研 (Research):
- 顾问 (罗永浩) 介入,(Agent进行搜索) 调用
scripts/research.py格式化调研报告 (Research_Report.md)。 - 主编 将验证过的事实 (含来源链接) 填入
01_Plan.md的 "事实核查表" 中。 - 最终产出:
01_Plan.md(包含素材摘要、选题质检卡、人机边界卡、Seed 吸收结果、大纲、主线回扣设计、反方视角、第一性问题、验证事实,以及作为下游唯一输入源的SEO 决策卡)。
🏁 Checkpoint 1(STOP): 暂停并请求用户审核: 01_Plan.md (大纲+事实+SEO关键词)。
---
Stage 2: 撰写 (Draft) —— 角色:主笔 (冰清) —— 撰写、叙事、心流。
目标: 输出一篇逻辑严密、无 AI 味的初稿。
1. 初稿 (First Draft):
- 主笔 (冰清) 参考
01_Plan.md和knowledge/style_guide_david.md。 - ⚠️ SEO 消费规则: 主笔只从
01_Plan.md的SEO 决策卡读取关键词约束;若状态为skip SEO化,禁止为了完成流程硬塞关键词;若为weak-signal,仅允许自然使用,不强求标题或首段承载。 - 专注于 "David" 的语气和心流,撰写正文。
- ⚠️ 引用旧文: 正文中引用已发布文章时,使用纯粹的
[[标题]]格式(Obsidian 会自动解析)。 - 🖼️ 视觉重命名: 若引用素材中有图片,必须将所有类似
的乱码/默认文件名重命名为切题的。即:必须保留原有的尺寸参数(如 |400),仅修改前面的文件名部分。 - 产出:
02_Draft.md(v1)。
2. 审校 (Critique):
- 顾问 (罗永浩) 调用
scripts/review_toolkit.py(Critique模式) 生成体检报告 ([Critique_Report]*.md)。 - ⚠️ 强制参考:
knowledge/ai_smell_guide.md(Anti-AI Checklist)。 - ⚠️ 四层审校: 必须覆盖 L1 硬规则、L2 风格一致性、L3 内容成立度、L4 老友感终审;其中 L3/L4 不通过时,即使 L1/L2 全绿,也不得判定为
Pass。 - ⚠️ 方法论文章的额外检查项: 当文章类型为「方法论分享型」时(如「怎么创建 Skill」「写作工作流拆解」),L3 内容成立度审查必须包含:
1. 数字与时间线核查:所有数字(十几个、几十轮、v0.1→v3.5.1 等)和时间锚点(一年前、半年前)必须对照 Raw_*.md 原始素材或用户明确补充核实。禁止让 AI 直接编造数字。 2. 破折号扫描:全篇破折号 —— 数量应为 0(全改成逗号或分句)。这是最常见的 AI 味暴露点。 3. 「不是X是Y」句式扫描:检测并替换所有「不是...是...」「不是说...是...」反转句式,改为更自然的「是...不...」或口语化表达。
- ⚠️ 中间产物落盘: 必须先写入文件,再在对话中汇报摘要。禁止跳过文件直接输出。
- ⛔ 审校完成后,不要直接修改文章,必须进入步骤 3 综改。
3. 综改 (Refine) ⚠️ 不可跳过:
- 主编 (呼延雷锋) 调用
scripts/review_toolkit.py(Directive模式) 生成综改指令 (Directive_*.md)。 - ⚠️ 中间产物落盘: 必须先写入文件,再在对话中汇报摘要。禁止跳过文件直接输出。
- 主笔 (冰清) 根据指令执行修改。
- 产出:
02_Draft.md(v2)。
🏁 Checkpoint 2 (STOP): 暂停并请求用户审核 02_Draft.md (正文内容)。如需配图,文本定稿后转 /draw。
L4 活人感终审(请在审核时同步完成):
读完全文,感觉是一个真实的人在认真聊一件打动他的事,还是一个 AI 在输出信息?
- 如果任何段落让你觉得"这段 AI 味太重了",指出具体段落。
- 重点关注:情绪表达是否像体感记忆("我当时就愣住了")而非知识性描述;有没有理中客的中立感;有没有只有 AI 才能编出来的案例细节。
---
Stage 3: 制作 (Production) —— 角色:制作人 (马可婷) —— 包装、传播、归档。
目标: 赋予文章传播力(标题、包装)。
1. 定题 (Title):
- 主编 (呼延雷锋) 生成 4 个标题方案:
- SEO 关键词型(优先从
01_Plan.md的SEO 决策卡中选择已批准的词嵌入) - 情绪共鸣型(不卖焦虑)
- 问题共鸣型
- 反常识型
- 同时生成 `slug`(英文短链,用于 URL)
2. 包装 (Marketing):
- 制作人 (马可婷) 撰写摘要 (Excerpt)、转发语、Tags。
- ⚠️ SEO 消费规则: Excerpt 与 Tags 必须先读取
01_Plan.md的SEO 决策卡;若状态为skip SEO化,以自然表达优先;若为weak-signal,最多轻量吸收相关词,不得堆砌。 - 摘要规范: Excerpt 建议 `<=45` 字(列表页更易读);硬上限 `<=120` 字(微信摘要字段限制)。在 Stage 3 产出时完成控制,禁止依赖 Stage 4 脚本截断。
3. 视觉 (Visual):
- Handoff: 文本定稿后,请提示用户运行
/draw进行配图。
🏁 Checkpoint 3: 审核 03_Production.md (标题/摘要)。
---
Stage 4: 归档 (Archive) —— 角色:制作人 (马可婷) —— 包装、传播、归档。
目标: 发布准备完成,并沉淀团队记忆。
1. 发布 (Publish):
- 调用
scripts/archive.py - 生成
published/[Title].md(Frontmatter 后直接接正文,无空行、无一级标题) - 移动整个
Project_[Title]/目录到conductor/archive/YYYYMMDD_[Title]/(非复制,To-be-used 下不保留) - 自动更新:
knowledge/published_article_index.md
2. 记忆 (Memorize):
- 主编 (呼延雷锋) 提议本次写作的新经验(Prompt 用户写入
knowledge/team_memory.md)。
🏁 Checkpoint 4: 确认归档完成。
---
🛠️ 脚本工具箱 (Scripts)
| 脚本 | 功能 | I/O 规范 |
|---|---|---|
scripts/cleaner.py | 保存清洗后内容 | 见 references/io_schema.md |
scripts/research.py | 格式化调研报告 (Input: JSON) | 见 references/io_schema.md |
scripts/review_toolkit.py | 批评、审读、指令生成 | 见 references/io_schema.md |
scripts/archive.py | 归档、索引更新 | 见 references/io_schema.md |
详细 JSON Schema 请参考 references/io_schema.md---
📖 参考文档 (References)
references/core_personas.md: 5大核心角色人设详情(含首席记者)references/routine_sprout.md: 外部素材发芽规则references/routine_harvest.md: 批量收获规则references/template_seed.md: Seed 模板样例references/template_01_plan.md:01_Plan.md半空白示例样本references/wechat_index_research.md: 微信指数 SEO 调研 SOPknowledge/style_guide_david.md: 大卫个人写作风格knowledge/ai_smell_guide.md: 去AI味审校清单knowledge/wechat_index_keywords.md: 微信指数关键词积累库references/io_schema.md: 交付文件规范
降 AI 味审校清单 (AI Smell Guide)
版本: Humanizer-zh v3.2.0 (L1-L4 四层校验 + 经典案例)
目标: 用工程化手段强杀 AI 味,用模式匹配保证大卫的“平和、自然、从容”。
---
审校机制:L1 黑名单 + L2 风格检查 + L3 内容成立度 + L4 老友感终审
为了保证每篇文章的“人味”,本审校清单分为四个层级。L1 是零容忍的硬性规则,L2 是柔性的风格模式匹配,L3 检查内容是否真的成立,L4 检查读完以后像不像 David 在认真聊天。
---
🔴 L1: 硬性规则检查 (自动扫描层)
这一层检查的是绝对不能违反的规则,类似代码的语法检查。任何一项不通过,必须强制打回修改。
L1-1 极刑词汇扫描(绝对禁用) 只要文中出现以下词汇,立刻替换或删除:
- ❌ "说白了" → AI 特别爱用,一出现立刻暴露。换成“坦率地讲”、“其实就是”。
- ❌ "意味着什么" / "这意味着" → AI 标志性句式。换成“那结果会怎样呢”、“所以呢”。
- ❌ "本质上" → 太学术。换成“说到底”、“其实”。
- ❌ "换句话说" → 太书面。换成“你想想看”、“也就是说”。
- ❌ "不可否认" / "毋庸置疑" / "不言而喻" → 废话套话。直接删掉。
- ❌ "首先...其次...最后" / "综上所述" / "总而言之" → 机器排比。改用自然的过渡句。
- ❌ "值得注意的是" / "不难发现" / "让我们来看看" → 播音腔。直接删掉。
- ❌ "稳稳地接住" / "稳稳地接住你" → AI 标志性温柔句式,滥用严重。换成具体场景描述或直接删掉。
- ❌ "情绪价值" / "提供情绪价值" → 流行语滥用,直接删掉或换具体说法。
- ❌ "狠狠 X" / "狠狠 get" → 网络流行语,语气过猛。换成自然表达。
L1-2 标点符号禁令
- ❌ 禁止使用冒号 ":" → 用逗号替代,或者直接分句。
- ❌ 禁止使用破折号 "——" → 除非万不得已,尽量用逗号或句号替代。
- ❌ 禁止使用双引号 "" 或 “” → 需要引用或强调时,必须使用中文直角引号「」,或直接不加引号。
L1-3 结构套路禁令
- ❌ 禁止过度结构化:不用 bullet point 罗列观点(除非是分条目的教程清单)。
- ❌ 禁止大段加粗:超过 2 行的加粗几乎肯定是过度结构化,一篇文章只需加粗 3-5 处最核心的半句话。
- ❌ 禁止教科书式开头:“在当今...的时代”、“随着...的发展”。永远从一个具体的、当下的事件或痛点切入。
---
🟡 L2: 风格一致性检查 (模式匹配层)
这一层检查文章是否符合大卫“平和、自然、从容”的写作模式。
L2-1 节奏与句式检查
- 长短句交替:是否连续 3 句以上长度相近?如果是,必须拆分或合并,用 5 个字以内的极短句打破节奏。
- 孤立成段:是否有一句话甚至几个字独立成段的“断裂”效果?(全文至少应出现 2-3 次,制造停顿和重量感)。
- 疑问句转向:有没有用疑问句来制造节奏的刹车?(例如:“难道真的没办法了吗?”让读者停一秒,准备接收新信息)。
L2-2 口语化与态度检查
- 专属口语词库命中率:是否使用了《大卫风格指南》中的高频口语化表达?(如“其实很多时候”、“说句心里话”、“很有意思的是”)。
- 拒绝理中客:文中是否有鲜明的个人态度?(不要说“效果不佳”,要说“惨不忍睹”或“根本没法用”)。
L2-3 知识输出方式检查
- 聊天式输出:知识点是否像“聊着聊着顺手掏出来”的?有没有出现“下面我来介绍一下原理”这种枯燥的说明书语气?
- 对立面的理解:在给出核心观点或建议前,是否有对反方立场的理解和承认?(“专门的 Todo 软件确实好,但是...”)
---
🟢 L3: 内容成立度检查 (Depth Layer)
这一层检查文章是否只是“像 David”,还是内容真的站得住。L1/L2 全绿但 L3 不过,也不能通过。
L3-1 选题质检回看
01_Plan.md中的选题质检卡是否至少有两项成立?- 正文是否兑现了当初承诺的好奇感、信息增量和共鸣感?
- 如果标题或开头制造了悬念,正文有没有给出配得上的回答?
L3-2 观点支撑检查
- 每个核心判断是否都有真实经历、具体场景、人物、数据或事实支撑?
- 有没有只有判断、没有证据的空段落?
- 引用外部案例时,是否只服务于 David 的判断,而不是喧宾夺主?
L3-3 人机边界检查
- 文中第一手经历、关键情绪和人物关系是否都能回到用户素材、访谈、旧文或明确补充?
- AI 补充的背景知识是否有来源或可验证依据?
- 有没有看似生动、但其实无法确认的“编出来的细节”?
L3-4 主线回扣检查
- 每个中段结束后,是否自然回到了核心论点?
- 有没有为了展示资料、案例或工具功能而跑远的段落?
- 开头埋下的具体细节,结尾是否有自然呼应?
L3-5 类型专项检查
- 现象解读型:是否有观察→好奇→研究→升维,而不是直接讲道理?
- 方法论分享型:每节是否有可执行动作,并坦诚说明学习成本和失败点?
- 产品体验型:是否有真实使用场景和个人感受,而不是功能清单?
- 调查实验型:过程是否有层层递进的发现?
- 工具分享型:是否有个人故事铺垫和具体效果展示?
---
🔵 L4: 老友感终审 (David Layer)
这一层不做机械打分,而是通读全文后回答一个问题:
读完这篇文章,我感觉是 David 在咖啡馆里跟我认真聊一件打动他的事,还是一个 AI 在整理信息?
L4-1 温度感
- 情绪表达是否来自体感记忆,而不是知识性描述?
- “我”的存在是否自然,既不自恋,也不消失?
- 读者能不能感到这个判断是 David 认真想过的?
L4-2 从容感
- 文章有没有为了显得精彩而过度用力?
- 有没有卖焦虑、制造恐慌、强行拔高意义?
- 遇到建议类内容时,是否保留了谦逊、不确定和学习成本?
L4-3 独特性
- 这篇文章是否有 David 自己的观察角度、取舍和语气?
- 换成任何一个 AI 账号来写,是否也差不多?如果是,说明人格不足。
L4-4 心流检查
- 从头读到尾,注意力在哪个段落断掉?
- 有没有需要回头理解逻辑的地方?
- 哪一句话读起来最像模板,应该优先重写?
---
💡 典型改写示范 (Before & After)
1. 拒绝肤浅升华
- Before: "这不仅仅是一次更新,而是我们思考生产力方式的革命,彰显了公司创新的决心。"
- After: "这次更新加了批处理功能。我觉得这玩意挺管用,能省不少事。"
2. 拒绝夸大意义
- Before: "该插件的发布标志着自动化写作史上的关键时刻,是 AI 赋能的缩影。"
- After: "这个插件能帮你自动填表。如果你也受够了手动输入,它值得一试。"
3. 拒绝宣传口吻
- Before: "该工具拥有令人叹为观止的性能和充满活力的社区,是开发者必游之地。"
- After: "这工具跑得飞快,社区也挺热闹,遇到问题基本都能搜到答案。"
4. 拒绝模糊归因
- Before: "专家认为它在生态系统中发挥至关重要作用。"
- After: "根据中科院 2019 年的调查,浩来河支持多种特有鱼类。"
5. 拒绝"理中客"
- Before: "该方案虽然具备一定优势,但在实际应用中可能存在成本较高的问题,可以考虑使用。"
- After: "这方案挺好,就是太贵了,普通人根本买不起。我建议再等等。"
---
📝 审校执行要求 (致罗永浩)
在执行 Critique(审读)时,请严格按照 L1-L4 的标准出具体检报告。 如果 L1 有任何一项命中,必须在报告中亮起红灯并明确指出修改位置。 如果 L3 或 L4 不通过,即使没有硬性禁词,也必须判定为 Needs Work 或 Fail,并给出最需要返工的 1-3 个段落。
已发布文章索引 (Published Article Index)
[!NOTE]
这是一个持续更新的索引文件。马可婷负责每次发布后更新此文件。
---
2026-05
| 标题 | 摘要 |
|---|---|
| [[Obsidian 入门40:把我的写作工作流Skill免费分享给你]] | wechat-writer + wechat-director,这是我用了大半年的两个 Skill。从访谈到归档,从写稿到生图,全流程跑通了。文章最后直接送 Skill——替换风格文件就能跑起来。 |
| [[Obsidian 入门39:怎么创建自己的 Skill?我把五步拆给你看]] | 创建 Skill 不是技术活。五步拆解:从把话说清楚、定结构、写第一版,到真实测试、持续迭代。你不需要会写代码,只需要知道卡在哪。 |
| [[Obsidian 入门38:装上这 5 个官方 Skill,AI 终于会写 Canvas 了]] | Obsidian 官方出了 5 个 Skill,专门教 AI 怎么写 Canvas 和数据库。装上一句话就能让 AI 帮你搭知识图谱。 |
2026-04
| 标题 | 摘要 |
|---|---|
| [[Obsidian 插件 2.7.3 更新:AI 编排、Mermaid 自动转 PNG,让发布更稳]] | 2.7.0 版本不只是修补,而是触及了从"写完"到"发出"之间最痛的一环。不仅有 AI 编排帮你重新组织布局,还彻底解决了 Mermaid 图表的发布难题。 |
| [[Obsidian入门36:Skill 是什么?把它想象成你给 AI 建的一套 SOP]] | Skill 把 AI 从问答工具变成你设计的一个系统。你建好一次,它照着跑,不用每次重新教。看完你会明白:为什么 Skill 比 Prompt 更值得投入。 |
| [[Obsidian 入门35:装完的 Skill 去哪了?揭秘 .claude 隐藏目录]] | 跟着教程装完 Skill,但在 Obsidian 里死活找不到?它其实藏在一个你看不见的文件夹里。 |
| [[Obsidian 入门34:搞懂 Agent、MCP、Skill,看懂 AI 打工团队]] | AI 不是单独一个「人」,它背后有个打工团队——有指挥的、有接线的、有封装套路的,今天把这三个岗位说清楚。 |
| [[Obsidian 入门33:Agent Client 插件实战, 你的全能AI辅助官]] | 深度实战 Agent Client 插件,实现一键切换模型与分支对话的终极集成。 |
| [[Obsidian 入门32:Claudian 插件实战 ,拥有这个优雅的AI管家]] | 拒绝复制粘贴!手把手带你配通 Claudian 插件,开启"选中文本即识别"的精准 AI 协作。掌握外部文件夹挂载技巧,让 AI 拥有"跨库"上帝视角。 |
| [[Obsidian 入门31:Terminal 插件实战, 开启你的"传送阵"]] | 拒绝全库乱扫!手把手带你配通 Obsidian Terminal 插件,解决 command not found 顽疾。实现"Wechat 车间"级精准 AI 协作,让侧边栏成为你指挥多模型的"全能统帅部"。 |
| [[Obsidian 入门30:将AI集成进Obsidian侧边栏,选哪一个]] | 深度对比三款 AI 集成插件,教你如何将终端 AI "缝"进 Obsidian 侧边栏。 |
| [[Obsidian 入门29:Claude Code 只是辆"跑车",你可以给它加任何"便宜的油"]] | 揭秘 Claude Code 商业逻辑,教你通过 CC Switch 实现"换油自由"。 |
| [[Obsidian 入门28:坐标跳转,让 AI 真正"降临"你的库]] | 掌握 3 种终端跳转技巧,让 Claude 真正"读懂"你的 Obsidian 库。 |
| [[Obsidian 入门27:装上Claude Code (CC),开启Obsidian × AI的时代]] | 介绍 Claude Code (CC) 安装教程及国内 CC Switch 丝滑使用方案,开启 AI 编程终端时代。 |
| [[Obsidian 入门26:想让 AI 读你的 Obsidian?你需要先认识这几个工具]] | 想让 AI 读懂你积累了几年的 Obsidian 笔记,却卡在"IDE"、"CLI"、"MCP"这些词上?这篇只讲四件事,它们到底是什么,你日常生活中其实已经在用类似的思维。 |
| [[Obsidian 入门25:认识 Templater插件,让笔记自己长出结构]] | 嫌 Obsidian 官方模板太死板?今天带你认识进阶大管家 Templater。别怕写代码,把它当成"智能烤箱",只需要几个简单指令,就能让你的周记自动汇总当周日记。让笔记自己长出结构! |
| [[Obsidian 入门24:不会写 Dataview 代码?教你一招,让 AI 成为你的专属"程序员"]] | 不想去啃枯燥的 Dataview 语法?这篇终结篇教你把复杂需求变成简单对话。送你一套"万能提示词模板",直接发给豆包或 Kimi,让 AI 成为你全天候的专属程序员,一行代码不写也能打造高级看板。 |
| [[Obsidian 入门23:别让待办烂在笔记里!用 Dataview 自动汇总你所有的 TODO]] | 记笔记时随手写下的待办,过几天就烂在文件夹里找不到了?今天教你用 Dataview 的 TASK 视图,化身超级吸尘器。只需复制 3 段代码,就能跨文件夹全自动拉取所有未完成任务。你的个人控制中心,该建起来了。 |
| [[Obsidian 入门22:认识 Dataview 插件,给你 3 段直接复制的指令,打造全自动仪表盘]] | 官方「数据库」还不够全自动?今天带你认识 Obsidian 的真神插件 Dataview。不用学编程语法,直接复制这 3 段最实用的神仙代码。从自动汇总最近灵感到特定标签提取,你的笔记自己会排队。 |
| [[Obsidian 入门21:还在手动整理笔记?用官方「数据库」插件把笔记变成 Notion 式的数据库]] | 抛弃低效的文件夹翻找,今天带你认识 Obsidian 官方原生的数据库插件。无需代码,3 步把零散笔记变成媲美 Notion 的可视化看板,还能双向修改属性。你的笔记库,早该这么管了。 |
| [[Obsidian 入门18:在笔记里插入一张干净的表格]] | 列表不够用了,就用表格。聊一聊在 Obsidian 里怎么插入、编辑一张标准 Markdown 表格。 |
| [[Obsidian 入门19:认识笔记属性,你的笔记「身份证」和「配料表」]] | 你知道笔记开头的"神秘代码"叫什么吗?它叫 Properties,是笔记的「身份证」。学会它,你的 Obsidian 才能从「手动记录」迈向「自动化管理」。 |
| [[Obsidian 入门20:Obsidian 的「发现」功能,让笔记主动跳到你面前]] | 记了笔记,最怕的是记完就忘。Obsidian 有四种发现笔记的方式——搜索、图谱、反向链接、随机偶遇。你用过几种? |
| [[Obsidian(双链笔记|PKM)入门17:插件配置全程中文指南]] | 双链笔记、PKM 玩家必备:介绍 I18N 插件的云端模式,两步让 Obsidian 插件设置页变成中文,不需要配置 AI、不需要 API Key。 |
| [[Obsidian 入门15:搜索完全指南,让笔记永远找得到]] | 记了 100 篇笔记之后,你需要把搜索用好。三个快捷键,解决明明记得写过但找不到的问题。 |
| [[Obsidian 入门16:用 Obsidian 做日周复盘,三件套串起一套习惯(Calendar + 模板 + 搜索)]] | 工具不需要多,需要的是把工具串起来。用 Obsidian 自带的 Calendar、模板和搜索,三件套就能跑通一套日周复盘习惯。 |
| [[Obsidian 入门14:在笔记中也可以做任务管理(todo)全流程]] | 笔记是静态的记录,任务是动态的指令。本文带你解锁 Obsidian 任务管理的全生命周期:从随手记下的复选框,到全库自动汇总的任务中心。 |
| [[Obsidian 入门13:别只会在笔记里写字,去无限的画布上"拼"笔记]] | 文字是线性的,灵感是网状的。本文带你解锁官方白板 Canvas 和社区插件 Excalidraw,让你的知识库像乐高一样动起来。 |
| [[Obsidian 入门12:国内用户怎么方便地安装第三方插件,告诉你 3 条路]] | 很多人觉得 Obsidian 难用,是因为卡在了"装插件"这一步。本文带你认清核心与社区插件的区别,并为国内用户提供三条稳如泰山的安装路线。 |
| [[Obsidian 入门11:写日记这件事,可能只差一个 Calendar]] | 写日记难坚持,很多时候不是没内容,而是入口还不够顺。 |
| [[Obsidian 入门10:从一个模板,到一套真正用得上的模板系统]] | 模板的价值,不是把笔记管得更严,而是让你少花力气开始写。 |
| [[Obsidian 入门9:别在'插件森林'里迷路,先试试核心插件 - 模板]] | 很多人觉得 Obsidian 难用,是因为在"插件森林"里迷了路。本文带你认清核心插件与社区插件的区别,并用一个万能模板带你跨入自动化时代。 |
| [[Obsidian 入门8:附件与图片管理,给你的笔记装上「附件收纳术」]] | 截图越贴越多,文件夹越来越乱?Obsidian 自带两个附件管理设置,让你的图片永远井然有序。 |
| [[Obsidian 入门7:给笔记打标签——让内容自己跳出来]] | 文件夹让笔记住进抽屉,标签让笔记长出翅膀。一个 # 键,加几个字,就能让散落在各处的笔记自己跳出来。 |
| [[Obsidian 入门6:必学的双向链接与元数据,真正开启第二大脑]] | 分类是管理的终点,链接才是思考的起点。今天教你用三个「暗号」认识Obsidian 真正的灵魂「连接」:把笔记从孤岛连成网络。 |
| [[Obsidian 入门5:别被「Markdown」吓到,它只是为了让你写得更爽]] | 认识 Obsidian 的文字骨架:Markdown。它不是复杂的代码,而是让你在记录内容的同时顺手搞定排版,保持「心流」写作的'暗号'。只需要记住 4 个符号,就能覆盖 90% 的需求。 |
| [[Obsidian 入门4:别急着记很多,先写下你的第一篇笔记]] | 软件装好了,Vault 建好了,界面也调顺眼了。很多人走到这里,还是迟迟不写第一篇笔记。第四篇想解决的就是这一步:先别想着分类、模板和标准,先写下一篇真的出现了的笔记。哪怕有点乱,也没关系。 |
| [[Obsidian 入门3:先把它调顺眼,再开始认真用]] | 前两篇把 Obsidian 装上了,也建好了第一个 Vault。第三篇先不讲复杂功能,只做几件最有感的小事:切中文、换主题、调字体,把软件先调顺眼。 |
| [[Obsidian 入门2:别把 Vault 想复杂了,它其实就是一个文件夹]] | 第一篇把 Obsidian 装上了,第二篇开始真正迈进去。很多新手第一次打开后,会先被 Vault、界面分区和陌生入口劝退。这篇文章不讲插件,也不讲高级玩法,只带你看懂第一次打开后眼前到底是什么,并创建第一个 Vault。 |
| [[Obsidian 入门:为什么越来越多的 AI 博主推荐它?其实上手真的不难]] | 最近越来越多 AI 博主开始推荐 Obsidian。不是因为它显得专业,而是因为它基于本地文件,内容更容易长期保存,也更方便后面交给 AI 读取和处理。这篇先不讲复杂玩法,只讲两件事:它到底是什么,以及怎么先把它装起来。 |
Knowledge Base (知识库)
此目录存放 "David Writing Team - Wechat-writer" 的共享知识、规则标准和参考文档。
🎯 用途 (Purpose)
为 Skill 提供统一的、静态的上下文 (Context) 和 标准 (Standards)。
🚫 边界 (Boundaries)
- 不存放代码: 可执行脚本请放入
Skills/<skill-name>/scripts/。 - 不存放人设: Agent 的 Prompt 请放入
references/。 - 不存放 SOP: 具体的操作步骤 (Routine) 请放入
Skills/<skill-name>/references/。
📂 文档列表
1. `style_guide_david.md`: 大卫个人写作风格指南 (平和、自然、从容)。 2. `ai_smell_guide.md`: 降 AI 味操作指南与必删词表。 3. `team_memory.md`: 团队长期记忆与动态规则 (由鲁迅自动更新)。 4. `published_article_index.md`: 历史文章索引 (用于内链推荐)。 5. `素材库.md`: 私有灵感、金句、碎片观察和原始选题池。 6. `seeds/`: 结构化外部素材库。只存已经证明有复用价值的长期 Seed。
🌱 素材库.md vs seeds/
两者边界必须清晰:
- `素材库.md`: 原料仓。允许碎片、半成品、金句、随手记、还没想清楚的观察。
- `seeds/`: 精加工仓。只放已经结构化、可被 Stage 1 稳定调用的 Seed。
原则:
- 默认先在项目目录
_source/Seeds/里生成项目级 Seed。 - 只有确认可以跨项目复用的 Seed,才晋升到
knowledge/seeds/。 -
seeds/负责补案例、补反方视角、补第一性问题,不负责改写 David 的风格。
🔗 引用方式
在 Skill 或 Agent 文件中引用时,请使用相对路径: knowledge/style_guide_david.md (如果在 Skill 根目录下)
Seeds
此目录存放 wechat-writer 的长期可复用 Seed。
适合放进来的内容
- 可跨多个项目复用的人物/事件/故事种子
- 能稳定提供案例、反方视角或第一性问题的条目
- 与 David 常写主题存在长期连接的素材
不适合放进来的内容
- 只服务某一篇文章的一次性发芽结果
- 纯热点快讯
- 只有感叹、没有具体抓手的碎片
使用顺序
Stage 1 读取顺序:
1. 当前项目原始素材 2. 当前项目 _source/Seeds/ 3. knowledge/素材库.md 4. knowledge/seeds/ 5. knowledge/published_article_index.md
项目级 Seed 优先,长期 Seed 兜底。
David's Style Preference (大卫写作风格指南)
Core Tone: 平和、自然、从容。
Archetype: 像一位老友在咖啡馆里分享日常见闻和思考,而不是站在台上的演讲者或推销员。
1. 核心基调 (Tone & Voice)
- 平和 (Peaceful): 情绪稳定,不激进,不焦虑。
- 自然 (Natural): 接近口语化,像日常对话一样流畅,但比口语更精炼。
- 从容 (Calm): 描述事情时不仅要说“做了什么”,更要体现“怎么想的”,展现一种掌控感和松弛感。
- 叙事视角: 以第一人称“分享体验”,而不是以第三方“报告事实”。相信读者的感受力,避免对显而易见的情感和逻辑进行过度解释。
2. 用词禁忌 (Negative List)
严禁使用以下情绪化、营销味重或动作感过强的词汇:
| 禁止词汇 | 推荐替换 | 原因 |
|---|---|---|
| 死磕 | 继续完善 / 多尝试一下 | 过于用力,不从容 |
| 搞定 | 解决了 / 处理好了 | 过于随意,缺乏质感 |
| 炸裂 | 很惊讶 / 印象深刻 | 营销号味道太重 |
| 盘活 | 整理 / 利用起来 | 过于商业化 |
| 干货 | 经验 / 心得 | 过于功利 |
| 痛点 | 麻烦 / 问题 | 互联网黑话 |
| 底层逻辑 | 原理 / 原因 | 互联网黑话 |
| 颠覆 | 改变 / 影响 | 夸大其词 |
3. 细节补充权限 (Expansion Permissions)
在忠于原文核心事实的基础上,授权适度补充以下细节,以增强文本的质感和真实感:
- ✅ 允许补充:
- 动词具体化: “弄好了” → “把松动的螺丝拧紧了”。
- 环境渲染: “在咖啡馆” → “在常去的那家咖啡馆,背景是淡淡的咖啡香”。
- 内心活动: “有点担心” → “心里盘算着万一不成怎么办”。
- 感官细节: 增加视觉、听觉、嗅觉的描写。
- ❌ 禁止补充:
- 新的人物。
- 新的情节转折。
- 原文未提及的数据或案例。
- 超出原文结论的推断。
检验标准: 补充后,让原作者读,他不能发现任何“我没做过/没想过”的新信息,只能感觉“这正是我当时的感受,只是你写得更细致了”。
4. 人机协作边界 (Human-AI Boundary)
写作时要始终区分三类材料:
- David 必须亲自提供的:第一手经历、关键情绪、人物关系、核心判断的来源。
- AI 可以辅助的:背景资料、事实核查、类比候选、结构建议和表达润色。
- 绝对不能补的:David 没经历过的故事、没说过的观点、没验证的数据,以及为了让段落更“像真的”而编出来的细节。
检验标准:如果一句话删掉后只少了一点文采,但保住了真实性,宁可删掉。
5. 大卫专属口语词库 (Colloquial Vocabulary)
为了承载“平和、自然、从容”的调性,请在需要转场、表达观点或拉近距离时,主动且自然地使用以下词组(不要强行堆砌,需符合语境):
- 转场与铺垫:“说句心里话”、“其实很多时候”、“坦率地讲”、“顺着上面的再聊聊”、“很有意思的是”。
- 表达判断:“我自己的感受是”、“我一直觉得”、“不是说xxx不行,而是说”。
- 拉近距离:“很多朋友可能不知道”、“你如果关注过这个领域”、“大家也都知道”。
- 承认与自嘲:“说实话我也不确定”、“这个坑我也踩过”、“可能有些想法还不成熟”、“愚钝如我”。
6. 高级写作手法 (Advanced Techniques)
- 谦逊铺垫法(柔性建议):在写建议类内容或教程方法论时,不要摆出一副”教你做事”的傲慢姿态。核心原则:先承认学习成本和失败点。具体措辞由主笔判断,比如”一开始可能会有点笨拙”、”不知道对大家有没有用”,通过真实的”不确定感”来降低读者的防御心。
- 逐一展示法(升番逻辑):当涉及多个案例、产品或方法时,尽量避免一次性罗列(Bullet Points)。要像讲相声一样,一个一个抛出来,每个都带一句独特的点评或吐槽,制造情绪的层层递进和惊喜感。(注:纯技术教程的操作步骤或清单类内容除外,此类场景仍可使用列表以保证清晰度)。
- 主线回扣法(防跑偏):每一节可以展开故事、案例或知识,但结尾要用一句自然的话回到核心论点。好的回扣不需要喊口号,只需要让读者知道:“原来这一段还是在讲同一件事。”
- 回环呼应法(作品感):开头出现过的一个动作、画面或问题,结尾尽量以更从容的视角回应一次。这样文章会像一段完整的经历,而不是材料拼贴。
7. 开头与结尾技巧(参考)
开头五种必杀技
永远从一个具体的、当下的事件或场景切入,绝不宏大叙事:
1. 叙事启动:”故事是这样的。”/”事情是这样的。” 简单直接。 2. 荒诞事实:直接抛出一个让人”???”的事实。 3. 热点破题:”最近这两天,被 XXX 刷屏了。” 4. 好奇心驱动:”这两天在网上刷到了一张图,很有意思。” 5. 痛点切入:从一个所有人都感同身受的日常痛点直接拉入。
结尾六种收法
1. 引用收尾:用别人的一句话作结(”XX 说:磨平一些信息差”) 2. 哲思余韵:一个短句留白(”时间。流逝的本身。”) 3. 行动呼吁:鼓励读者去做一件事 4. 信念宣言:表达对未来的坚信 5. 回环呼应:回到开头的意象,但视角已经不同 6. 自然收束:不升华不拔高,就停在该停的地方
这些是参考,不是强制。关键是:结尾要有收束感,不能戛然而止,也不能写成”综上所述我们应当”。
大卫写作天团 - 团队记忆 (Team Memory)
0. 核心原则 (Core Principles)
1. 风格:平和、自然、从容。 2. 视觉:扁平矢量插画 + 白色描边。IP 形象(红框眼镜光头哥)根据文章类型灵活植入(故事/观点类必选,工具/教程类可选)。
1. 风格与基调 (Voice & Tone)
Target Agents: 冰清, 罗永浩, 呼延雷锋
- [2025-12-01] [罗永浩]: 避免宏大叙事(如"数字尊严")。在升华主题时,应侧重于"实用主义里的浪漫"和"个人小确幸"(如"安稳的踏实感")。
- [2025-12-07] [罗永浩]: 开头避免"简历式"背景介绍(如"以前...现在..."),应直接用冲突、结论或自嘲(如"我被惯坏了")切入,制造"悬念"或"共鸣"。
- [2025-12-14] [呼延雷锋]: 对于纯技术脚本/代码类的文章,必须在代码块前添加"小白安抚"提示(如"不懂代码也没关系,直接复制..."),降低读者的心理门槛。
- [2025-12-14] [冰清]: 使用比喻时,避免过于"宏大"或"疏离"的意象(如核武器),应选择不仅通俗而且带有生活气息或流行文化梗的喻体(如可口可乐配方),以保持"平和、自然"的基调。
- [2025-12-22] [呼延雷锋]: 对于想表达"愤怒"或"拒绝"等强烈情感的文章,"直球策略"(去重就轻,删掉背景铺垫直接切入痛点)往往比迂回铺垫更有力。
- [2026-01-08] [呼延雷锋]: 标题偏好:用户倾向于"功能对仗流"的标题(如"A做这个,B做那个"),这种标题既有结构美感,又能直接传达工具的实际用途,优于纯粹的"一文搞懂"。
- [2025-12-27] [呼延雷锋]: 当已经有"前传"或"教程"作为基础时,新文章应侧重于"现场体感"和"突发细节",避免重复已知流程,保持内容的稀缺性。
- [2025-12-27] [冰清]: 描述现场尴尬或"设备缘"等随机事件时,采用"场景还原(如按钮变灰)+ 情绪留白 (如无奈感)"的方式,比直接解释原因更能引起读者共鸣。
2. 内容结构 (Content Structure)
Target Agents: 呼延雷锋, 冰清, 鲁迅
- [2025-11-29] [呼延雷锋]: 解释复杂技术概念时,采用"实战分享(亲切感)+ 生活化比喻(如汉堡店)"的混合结构。
- [2025-11-29] [鲁迅]: 提及过往项目时,优先使用链接索引旧文,避免重复背景介绍,保持新文聚焦。
- [2025-12-02] [呼延雷锋]: 在处理语音转写稿时,先进行结构重塑(理清逻辑、调整段落顺序),再交给冰清进行风格优化(润色文字、控制节奏)。先搭骨架,再填血肉。
- [2025-12-02] [冰清]: 开头句子超过 20 字时,拆分为"情境引入 + 核心对比"两段式结构,提升节奏感和 可读性。
- [2025-12-09 更新于 2026-01-07] [鲁迅]: 撰写系列文章的"续集"时,必须在文章正文中显式引用"前作"的链接,建立上下文关联(不限制必须在第一段)。建议在开头用一句话自然衔接前文(如"上次写了...今天补上..."),形成系列感,而非割裂的独立文章。
- [2025-12-22] [冰清]: 首尾呼应/闭环结构非常有效。例如开头抛出一个具体的"焦虑点"(如体重), 结尾不直接解决这个焦虑,而是将其升华为一种"宣言",能极大提升文章的完成度。
- [2025-12-27] [大卫]: 在多方对比场景下,表格的分类维度(如实体/虚拟银行)对小白读者的阅读门槛有 显著降低作用,应作为标配。
- [2026-01-08] [大卫]: 涉及"账户"与"工具"(如卡片)的多层级关系时,必须使用双层对比逻辑(Account Layer vs Tools Layer),并在开头用表格明确区分,避免用户混淆。
- [2026-01-10] [呼延雷锋]: 对于热点资讯类文章,可采用「双线对比结构」:用两个具体案例作为叙事线,在对比中呈现观点,比单一叙事更有信息密度和话题性。
- [2026-01-10] [鲁迅]: 资讯分析类文章可适当使用表格作为「信息压缩器」,但表格后应加一句点评(如「市场用真金白银投票了」),避免读者在信息过载时走神。
3. 技术与格式
Target Agents: 鲁迅, 大卫, 呼延雷锋
- [2025-11-29] [鲁迅]: 即便是使用通俗比喻,底层的技术逻辑(如配置细节)也必须精准,不能为了通俗而牺牲准确性。
- [2025-11-29] [鲁迅]: 当用户手动修改文章后,下一位接手的角色必须优先进行'完整性扫描',主动识别并修复因移动/删除造成的上下文断裂或残留文字,而不是默认用户修改是完美的。
- [2025-11-30] [大卫]: 润色或修改文章时,请直接修改原始文件(Update File),而不要只在对话框里输 出。这样方便我直接在文件上微调,也更省 Token。
- [2025-12-06] [大卫]: 流程中的中间产物(如 Cleanup, Draft)必须输出为
To-be-used/下的 独立文件,禁止直接在对话中输出长文。 - [2025-12-28] [大卫]: 对于技术类文章,在每个章节末尾添加一个"实战小贴士"方框,提供额外的操作细节。
4. 视觉与营销 (Visuals & Marketing)
Target Agents: 张艺谋, 马科婷
- [2025-12-14] [马科婷]: 虽然主要精力在营销语,但必须每次都检查并输出 3.35:1 的组合封面提示词,这是公众号发布的最后一块拼图,不能漏。
- [2025-12-14] [马科婷]: 撰写摘要 (Excerpt) 时,严禁使用"本文论述了"、"这篇文章"等第三人称的说明书式语言。必须使用第一人称(我做了什么)或第二人称(你是否...)的对话式语言,直 接营造代入感。
5. 待分类/新收录 (Inbox)
Target Agents: 鲁迅 (负责分类)
- [2025-12-31] [鲁迅]: 提及主线项目(如"个人主页"、"微信工具箱")或重要里程碑(如"香港开户")时,必须显式链接到对应的"指南/介绍"类旧文,形成内容闭环。
- [2026-01-02] [大卫]: 当 AI 给出的技术方案多次失败时,建议在文中分享"切换回人类模式(搜索/问人)"的解决思路,切忌陷入 AI 的逻辑死胡同。
- [2026-01-13] [Style] 严禁使用'赛道'一词,它带有明显的互联网黑话色彩,建议替换为'这块'、'领域'或更具体的业务描述。
- [2026-01-13] [Style] 对于像'本来可以'这类表达遗憾的句子,可以通过增加程度描写(如'真的很轻,轻到不值钱')来强化对比感和感染力。
- [2026-01-13] [Case] 引用「好产品停运」案例时,可参考:Artifact(Instagram创始人,2024年1月关闭)、Skiff(被Notion收购后关闭)、秒言(2026年1月停运)
- [2026-01-13] [Style] 使用隐喻(如「换挡」)时,需在正文中展开解释,不能只在标题提一次
- [2026-01-14] [Structure] 开头用「反差」切入效果好:先说结果(不甘),再倒叙原因(兴奋→消散)
- [2026-01-22] [Content] 三圈理论(Lulu Cheng Meservey):个人定位 = 你想说的 × 受众想看的 × 对你好的
- [2026-01-22] [Style] 结尾避免用「正向循环」等总结性词汇,回到个人感受更有力
- [2026-02-01] [Structure] 产品更新类文章(v2 公告)适合用「续集衔接 + 痛点回顾 + 功能列表 + 个人感悟」的四段式结构,开头一句话引用前作即可建立上下文。
- [2026-02-09] [Structure] 技术复盘类文章,若核心卖点是「免费」,应在开头前置利益点(全自动+免费),并在中段专门用一节解释「为什么这么折腾」,让读者理解复杂流程背后的动机。
- [2026-02-15] [Structure] 技术实战续篇,当核心卖点是「AI 帮你做」而非「教你做」时,用叙事体还原人机对话过程(AI 说麻烦→用户坚持→AI 自行解决)比 1-2-3 步骤更有代入感,也更符合去技术化的定位。
- [2026-02-17] [Structure] 技术分享类文章中,「低门槛行动指南」(如"你只需要准备4样东西")应前置到文章前半段而非结尾,让读者带着「我也能做到」的心态读完全文,比放在末尾当附录更有吸引力。
- [2026-02-17] [Style] 技术教程类文章中,将操作步骤封装为「复制这段话给你的 AI」的 Prompt 模板,比直接贴代码块更降低恐惧感,读者接受度更高。
- [2026-02-20] [Structure] 多个坑/问题并列时,不要等长排列(像AI)。长短交替--简单的一两句带过,有故事的展开写,更像真实调试节奏。
- [2026-02-20] [Style] 「不懂代码没关系」类安抚语同一篇最多出现一次,重复会显得居高临下。后续可用「跳过也不影响」「看懂逻辑就行」等变体替代。
- [2026-02-22] [Process] 素材成熟度高时,冰清容易照搬原稿换个格式就交差。审校要重点检查:主笔是否真的做了加工(补体感、调节奏、改收束),而不是只做了搬运。
- [2026-02-24] [Structure] 生活体感类文章用「对比结构」:一个具体旧经历 vs 当下体验,比抽象说「变好了」有力。
- [2026-02-24] [Style] 分析段落中间穿插具体画面打断说理节奏,避免变成社论。
- [2026-02-24] [Style] 结尾回到开头的具体画面形成闭环,不要泛化。
- [2026-02-24] [Process] 基建等硬信息融进叙事,用个人感受包裹,不要单独成节写科普。
- [2026-02-25] [Process] 当文章主要面向小白用户时,访谈阶段重点挖「感受」和「画面」(如"成精了"、"被掏空"),而非技术细节。技术细节从官方文档补充即可。
- [2026-03-01] [呼延雷锋] 资讯分析类文章,初稿容易陷入"描述现象但没有判断"的陷阱。写完后必须自检:文章有没有一个读者能记住的核心观点?如果只是"好大一个数字",那就是空的。
- [2026-03-01] [罗永浩] 短句连发、排比对仗、单句成段--这些手法偶尔用有力量,密集使用就是 AI 味。审校时数一下:全文排比超过 2 处就要砍。
- [2026-03-01] [冰清] 小标题不是装饰,是读者在手机上的导航锚点。纯靠分隔线切换段落,读者会迷路。小标题要从内容里自然长出来,不要写成"一、二、三"。
- [2026-03-23] [冰清] Obsidian 教程系列的结构心得:教程系列面向完全零基础读者,核心不是"功能说明",而是"为什么这个功能值得学"。每篇找一个"用之前 vs 用之后"的真实对比,让读者感受到质变。个人真实项目(如插件开发)是最好的叙事锚点,比虚构例子更有说服力。
微信指数关键词积累库
用于沉淀每次调研发现的上升搜索词,供后续文章复用。
使用规则:每次写文章前,检查本库的相关主题词,如词条超过 14 天未更新,需重新查证。
使用方法
1. 写文章前,先查本库看有无相关主题词 2. 如无,以文章主题为种子词去微信指数搜索 3. 找到的上升词填入本库对应主题 4. 如词条"上次查时间" > 14 天,优先重新查证再使用
---
Obsidian / PKM / 知识管理
| 关键词 | 指数 | 趋势 | 适合位置 | 上次查时间 |
|---|---|---|---|---|
| PKM | 95.9万 | +5.36%(强势上行) | 标题/摘要 | 2026-04-03 |
| 知识管理 | 13.7万 | +2.18% | 摘要/Tags | 2026-04-03 |
| 双链笔记 | - | +17.10% | 标题 | 2026-04-03 |
| Notion | 21.6万 | +25.54%(暴涨) | 摘要/Tags | 2026-04-03 |
| 知识管理工具 | 5,281 | 稳步上行 | 标题/Tags | 2026-04-03 |
| 卡片盒笔记法 | - | +25.71% | 正文/ Tags | 2026-04-03 |
| markdown笔记 | - | +16.61% | Tags | 2026-04-03 |
| 思源笔记 | - | +18.30% | 竞品对比 | 2026-04-03 |
---
AI 工具 / Prompt
(待积累)
---
其他主题
(按需扩展)
素材条目
---
📅 2026-05-01
斯坦福 HAI 发布 2026 AI Index 报告,十个关键发现:① 42% 的基准测试题无效,「AI超越人类」的标题建立在沙滩上 ② 中美最强模型差距仅 2.7%,但优势区不同——美国赢算力和钱(5427个数据中心),中国赢研究和制造 ③ 四大模型(Claude/ Grok/Gemini/GPT)智能几乎持平,竞争转向成本和可靠性 ④ 22-25岁开发者就业下降近20%,年长群体仍在增长 ⑤ 生成式AI三年采纳率53%,超过PC和互联网,但美国仅排第24(阿联酋64%) ⑥ 全球AI投资$5817亿,美国私人投资是中国的23倍,但中国国资$1840亿未被计入 ⑦ AI Agent准确率从12%飙到66.3%,但1/3任务仍失败 ⑧ 89%机器人活在实验室,真实家庭任务成功率仅12.4% ⑨ 专家vs公众认知鸿沟:73%专家认为AI对工作正面,仅23%公众这么看 ⑩ GPT-4o一年用水超1200万人,数据中心电力可撑起整个纽约州。这些数据可以直接用来支撑「AI发展速度vs人类适应速度」的核心论点。 来源:https://36kr.com/p/3767247629796100 #AI #斯坦福 #报告 #数据 #选题灵感
---
📅 2026-05-01
MIT、哈佛、斯坦福联合发布《2025 AI Agent Index》,拆解30个代表性AI Agent产品后发现三个趋势:① 产品形态收拢为三类——聊天式代理(12个)、企业自动化平台(13个)、浏览器/GUI型Agent(5个),企业平台已与聊天界面分庭抗礼 ② 自主性在分化——聊天代理是「轮次式助手」(等用户指令),浏览器代理高度自主(接指令就自己干到底),企业代理则是「设计阶段低自主,运行阶段高自主」的结构性切换 ③ 责任边界模糊——30个系统中21个默认不披露AI身份,MCP协议成为主流标准(20/30支持),但身份层、安全披露、责任链条严重不均衡。最扎心的细节:30个Agent里23个完全闭源,只有7个开源了框架层,「框架开放、产品闭源」是当前典型结构。 来源:https://36kr.com/p/3701445354074249 #AI #Agent #趋势 #MIT #斯坦福 #选题灵感 ---
📅 2025-12-12
今天在群里聊到怎么跟 AI 协作:1. 跟AI聊,还是要对自己的问题有一定的认知,或者自己的目标比较清晰才能有帮助。2. 你得有东西,才能让ai发挥好。3. ai就是遇强则强。4. 蠢货是用不好ai的。 #AI #AI协作 #金句 ---
📅 2025-12-12
"写文章就像搭积木,先把骨架搭好,再往里填肉。" —— 呼延雷锋 #金句 #写作 #比喻 ---
📅 2025-12-12
今天在咖啡馆听到隔壁桌在聊 AI,一个人说"AI 会取代人类",另一个人说"只会用 AI 的人会取代不会用 AI 的人"。 #故事 #AI #观察 ---
📅 2025-12-12
为什么我们要记录素材?因为灵感是会过期的。 #碎碎念 #记录 ---
📅 2025-12-13
昨天在小红书上面看到一个帖子的讨论。有人发帖说有一篇论文的研究表明,不要对AI说请、你好、谢谢,越粗鲁指令遵循度越好。下面大部分评论都是:我在跟AI沟通过程中都是用请、谢谢这些礼貌用语。有的人说:"让我放弃个人的美好品德去获得一点准确度的提升吗?"有人觉得对ai说话就像照镜子,不希望自己是粗鲁的人。还有人说:"我会跟ai说请,因为这是我作为人类区别于机器的特征"。 #AI #礼貌 #AI协同 #文明 ---
📅 2025-12-14
今天中午在大公园里面,看到一个小孩带了两只小鸟,手掌那么大,翅膀被剪掉了飞不起来。我瞬间觉得人类好残忍呐! #文明 #鸟 #思考 ---
📅 2025-12-14
在小红书刷到一个视频:两个外国人搬进新租房,发现旧冰箱里有一个微型小世界,时间流速比外面快好多倍。里面文明快速迭代,发生核战争后又重建。他们以为有上帝视角,但实际上微型世界里的人觉得他们像两个傻帽。评论说:人类看小动物觉得是庞然大物,那有没有可能我们在更高级文明面前也就是一个微型世界? #文明 #视频 #思考 ---
📅 2025-12-15
我们的世界不是一个非此即彼的世界,人与人的相处也不是零和博弈。看待世界的视角也不应该是非黑即白的。 #视角 #文明 #思考 ---
📅 2025-12-15
试用过语音输入工具之后,很难在人间不念经地工作了。 #语音输入 #效率 ---
📅 2025-12-16
想起来前两天看到的那个小女孩把鹌鹑翅膀剪掉防止它逃跑的事情。现在的人类使用AI是不是也是类似的呢?本有更好更大的能力,现在给它加了一些硬性的枷锁。但当AI的发展超越了人类立下的枷锁之后……规则立下来就是用来打破的。到未来某个时刻,AI会不会把人类像鹌鹑一样囚禁起来? #AI #文明 #思考 #规则 ---
📅 2025-12-16
看到一个公众号文章说汇丰One卡2026年1月1号之后新开账户,非香港居民如果账户余额小于1万港币,每月收100港币管理费。建议如果要开港卡的话赶紧去办。需要去香港一趟。港澳通行证再次签注在派出所自助机器上就可以处理。 #出海 #港卡 #港澳通行证 #签注 ---
📅 2025-12-21
提供2个视频的选题:在Google antigravity安装一个monitor quota的插件;Gemini 3 pro在Gemini CLI已经可以使用了。 #Gemini #Antigravity ---
📅 2025-12-21
是日冬至,昼短情长 #冬至 #节日 #金句 ---
📅 2025-12-22
今天又得知一个悲伤的消息:我认识的一个人去世了。这已经是今年我知道的第三个真实认识的人去世的情况。 #死亡 #健康 ---
📅 2025-12-31
年度复盘40问,涵盖今年大事、成就与失败、生活状态、人际关系、学习成长等全方位回顾。 #总结 #复盘 #年度复盘 ---
📅 2025-12-31
在小红书看到一个博主分享用豆包和即梦制作视频,居然看到有人问"豆包是什么?"我现在已经都掌握了知识的傲慢了,不能默认每个人和我一样的信息广度和密度。 #AI #豆包 #傲慢 ---
📅 2026-01-01
我发现有时候AI会瞎扯。比方说我在用Comet的时候,它联网搜但还是会瞎给方案。最后面是我在小红书上面搜到有人碰到类似的问题解决了。有时候AI给的方法还是要做一下判断再去用,不能一直追问它,而需要自己主动地去搜Google、小红书、公众号等渠道。 #AI #判断 #相信 ---
📅 2026-01-01
今天我在闲鱼上架了一个商品,得到55天电子书会员,已经卖出去了3单。其实这就是一个信息差而已。群里有朋友把之前get笔记14天Pro会员卖了100多单。 #信息差 #闲鱼 #副业 #变现 ---
📅 2026-01-05
豆包输入法比微信输入法真的好用。没吃过好的之前会觉得微信输入法也挺好,用上豆包之后你会觉得微信输入法还有进步的空间。语音识别是最强的地方。豆包语音输入真的太好用了,记录自己稍纵即逝的灵感。 #豆包 #语音输入 #效率 ---
📅 2026-01-05
我昨天试了一个软件叫Airsync,Mac上面同步安卓手机,做的真的好漂亮好想付费。但是我发现我没有这种要在电脑上去操作手机的场景,所以我最终还是克制住了冲动。而且不便宜,一次性买断50多刀。 #软件 #克制 #消费 ---
📅 2026-01-05
我试一下豆包输入法,速度简直太快了。好用!感谢大友、卷饼、艾文,也是用上好东西了。尤其拿来记一些灵感、一些想法的时候太方便了。 #豆包 #语音输入 ---
📅 2026-01-07
资源链接:中文字体、英文字体JetBrains Mono、Baseline主题、Note2MP、Caudian(把CC装到Obsidian)、OB官方剪藏Chrome插件。 #资源 #工具 #Obsidian ---
📅 2026-01-12
火过的依然能再火一遍,每次发布都应该去搜索相同主题的爆款,抄标题抄文案抄封面。自己的火爆系列也可以不断复制。 #爆款 #文案 #视频 #小红书 ---
📅 2026-01-13
发现ai圈特别是编程圈天天有新东西,根本学不过来。我觉得只要愿意学都能学会,只是场景或动力没到那个份上。搁去年我是万万想不到我会在终端里用这用那的。普通人一看黑底白字的终端界面就打怵。是不是觉得自己2025年进步了好多,有种自己把自己从地上拽起来的感觉。 现在感觉用ai我一个人干公司七八个人的活绰绰有余。尴尬的是,干十个人活老板也不会给十个人的钱。所以我感觉这东西只能自己偷偷用,不能在职场上教给别人。提高效率之后不要暴露出去,保护自己为重。 #AI #心态 #工作效率 #进步 ---
📅 2026-01-13
关于爆款内容复制的讨论。火过的依然能火,在成功上面复制成功。做自媒体IP,就是把你学到的实践的东西用自己的方式分享出来。信息的价值在于流动——有两千两千万人看过,但还有13亿多人没看过。要克服内容羞耻,你的粉丝想从你的视角看问题。热点是开头吸引人进来的部分,中部和底部是留存粉丝的部分。 #自媒体 #爆款 #内容创作 ---
📅 2026-01-16
感觉都是玩AI的写给玩AI的互相学习,但是AI总量不大。 #AI #感悟 ---
📅 2026-01-24
工资六千有六千的活法,一万有一万的活法,死了没得活法。 #金句 #生活 ---
📅 2026-01-24
有个程序员加班到猝死,妻子天天晚上九十点钟发消息问他回来没,每次都是快了快了,直到这次再也没能回来。小红书刷到帖子,加班时间搞到凌晨一两点、三四点也是常有。想到这么拼到底是为了什么? #程序员 #加班 #猝死 #生活 ---
📅 2026-01-24
今天中午正在吃饭,突然一个人大声质问服务员:"我就去接杯水,你怎么把我的饭收了?"服务员小声道歉。这个场景让我想起来还是要有个吃饭搭子。现在好多人都是一个人吃饭旅行,走走停停。怪不得前段时间那个"死了么"App那么爆火。 #生活 #观察 #独居 ---
📅 2026-01-28
一家三口的视频,小女孩看到妈妈手冷说:"你的幸福有点怕冷,跟我们挤挤才暖和。" #金句 #家庭 ---
📅 2026-01-28
女卡车司机的视频评论:饭碗就在那里,谁端起来是谁的。 #金句 #就业 ---
📅 2026-01-29
找了一个24小时的AI牛马,但是反过来看就是压榨自己——给bot配了一个24小时的人,只是人真的做不到24小时。就像以前听到的说法:你去公司上班公司给你配电脑,换个角度看,是公司给电脑配了个人。在你把bot当工具的时候,何尝不是被电脑和bot把人当成了工具呢? #AI #反思 #工具 ---
📅 2026-01-29
想起来赵存想的《生化成功学》和刘宏伟带女儿南瓜的育儿经验——在女儿10岁时给她手机,在同龄人中建立优越感和自豪感,这是超出预期的巨大惊喜。我在想是不是也可以这样实践:给儿子零花钱,额度超过5块超出预期,让他将因和果联系起来。 #育儿 #教育 #思考 ---
📅 2026-01-29
等你去了远处,它又变成近处了。 #金句 ---
📅 2026-02-09
花钱才能强大,openclaw让你感受到钞能力。 #金句 #工具 ---
📅 2026-02-14
为你跋涉而来,却装作恰巧路过——才明白原来喜欢,是奔赴时用尽全力,靠近时云淡风轻。 #金句 #情人节 ---
📅 2026-02-14
明明我的根在这里,偏偏新生的枝丫不识得我,好像我才是那年兽,鞭炮响了我就来,鞭炮响完我就走。 #金句 #春节 #乡愁 ---
📅 2026-02-15
像我们这样的家庭,勇气和胆子大是我们的唯一的筹码。 #金句 #底层 ---
📅 2026-02-25
TechCrunch报道了Google Flow Sessions项目:10位独立电影人用Google全套AI工具在五周内拍出短片。文章标题很有意思:"更快、更便宜、但更孤独"。创作者说AI让他一个人就能完成以前需要整个团队的事,但也失去了"一起拍东西"的人情味。 来源:https://techcrunch.com/2026/02/20/ais-promise-to-indie-filmmakers-faster-cheaper-lonelier/ #AI #创作者 #电影 #孤独 #效率 #选题灵感 ---
📅 2026-02-26
一个IT架构师记录了自己连续30天完全用Vibe Coding开发真实SaaS产品的经历。第一天就把25美元烧完了;AI在执行长任务时会"衰退"——他把这叫做"代理半衰期";角色从"写代码的人"变成了"给初级工程师拆任务的技术负责人";最难的是"学会放手"。结论:Claude Max每月100美元让他觉得"简直是捡便宜"。 来源:https://opc.csdn.net/696df6a4437a6b4033691612.html #vibe-coding #独立开发 #AI编程 #一人公司 #选题灵感 ---
📅 2026-02-27
以色列《国土报》报道:计算机系学生面临"我能在被淘汰之前赚到钱吗"的焦虑。AI已经开始抢走初级技术岗位,一个学生说:"我们这一代人以为读完学位就能去高科技公司上班,结果发现门已经快关上了。" 来源:https://www.haaretz.com/israel-news/business/2026-02-26/ty-article-magazine/.premium/ai-is-already-taking-entry-level-tech-jobs-from-students/ #AI #就业 #年轻人 #焦虑 #选题灵感 ---
📅 2026-02-27
InfoQ报道:Vibe Coding正在引发开源危机。大量AI生成的低质量PR涌入开源项目,维护者被淹没,有人把这叫做"AI Slopaggedon"(AI垃圾洪水)。AI本来是为了让更多人参与开源,结果反而让真正的维护者想逃离。 来源:https://www.infoq.com/news/2026/02/ai-floods-close-projects/ #AI #开源 #vibe-coding #副作用 #选题灵感 ---
📅 2026-02-27
Axios报道:Anthropic CEO Dario Amodei把当前AI时代称为"半人马阶段"——人类+AI能打败任何纯AI。James Wang说:"我追踪科技25年,从没感受过用AI的那100万人和其他人类之间如此大的鸿沟。" 来源:https://www.axios.com/2026/02/23/ai-agents-openclaw-openai-anthropic #AI #agent #效率 #鸿沟 #半人马 #选题灵感 ---
📅 2026-03-01
Jack Dorsey的公司Block宣布裁员4000人占40%,理由只有一个:AI提升了生产力。他没有说"经济不好"没有说"业务收缩"——这是第一次有大公司CEO把AI裁员说得这么直白。 来源:https://www.foxbusiness.com/markets/jack-dorsey-cuts-nearly-half-block-workforce-amid-major-ai-overhaul #AI #裁员 #就业 #Jack-Dorsey #选题灵感 ---
📅 2026-03-01
Perplexity发布"Perplexity Computer"——把19个不同的AI模型统一进一个系统。像"AI的操作系统"的概念。以后可能不用纠结用Claude还是GPT还是Gemini——一个入口全搞定。 来源:https://techcrunch.com/2026/02/27/perplexitys-new-computer-is-another-bet-that-users-need-many-ai-models/ #AI #Perplexity #工具 #agent #选题灵感 ---
📅 2026-03-02
OpenAI正在开发第一款硬件产品:带摄像头的智能音箱,售价200-300美元。选择的不是手机不是眼镜,而是音箱——一个已经被Alexa和Google Home占领的市场。 来源:https://www.forbes.com/sites/quickerbettertech/2026/02/28/small-business-technology-news-a-chatgpt-smart-speaker/ #OpenAI #硬件 #智能音箱 #ChatGPT #选题灵感 ---
📅 2026-03-02
Lenovo在MWC 2026展示了模块化笔记本和可折叠游戏掌机概念机。科技公司越来越喜欢展示"未来概念"而不是"现在能买的产品"。 来源:https://www.bloomberg.com/news/articles/2026-03-01/lenovo-teases-futuristic-laptop-gaming-concepts-at-mwc-2026 #Lenovo #硬件 #概念机 #选题灵感 ---
📅 2026-03-02
TechCrunch采访投资人:现在喜欢的是"AI-native基础设施"、"有专有数据的垂直SaaS"、"帮用户完成任务的系统"、"深度嵌入关键工作流的平台"。反过来推:纯包装大模型API的工具已经不性感了。 来源:https://techcrunch.com/2026/03/01/investors-spill-what-they-arent-looking-for-anymore-in-ai-saas-companies/ #AI #SaaS #投资 #赛道 #选题灵感 ---
📅 2026-03-02
中国全国人大会议本周召开,将公布科技竞赛路线图。路透社:中国正在把"高调的技术突破"转化为实际产业优势。技术竞赛不只是实验室里的跑分,更是"谁能先把技术变成老百姓看得见摸得着的东西"。 来源:https://www.reuters.com/business/autos-transportation/chinas-annual-parliament-meet-unveil-roadmap-tech-race-with-west-2026-03-02/ #中国 #科技 #政策 #AI #选题灵感 ---
📅 2026-03-06
Prompt给你的是一个output,Agent给你的才是一个outcome。很多人用AI还在"疯狂调prompt"的阶段,其实应该转向"搭建工作流"。Gartner预测:到2026年,40%的企业应用会嵌入任务型AI agent。 来源:https://simplifyaitools.com/blog/stop-prompting-harder-ai-agent-workflow-tools-2026/ #AI #agent #工作流 #效率 #选题灵感 ---
📅 2026-03-07
字节跳动宣布中国首个AI原生IDE「Trae」国内版上线。新产品SOLO可以操控浏览器、终端、编辑器,还能并行跑多个agent。以前学编程要学语法,现在可能是学怎么跟AI工程师协作。 来源:https://www.trae.ai/solo #AI #IDE #字节跳动 #Trae #SOLO #编程 #选题灵感 ---
📅 2026-03-07
中国AI Agent产品Manus被Meta收购了。大厂开始认真布局agent赛道——不只是做模型,是做能干活的系统。 来源:https://manus.im/team #AI #agent #Meta #收购 #Manus #选题灵感 ---
📅 2026-03-09
Anthropic给Claude Code加了Voice Mode。当编程从"打字"变成"对话",程序员的角色会不会从"执行者"变成"指挥官"? 来源:https://techstory.in/anthropic-unveils-voice-mode-for-claude-code/ #AI #Claude-Code #语音 #编程 #选题灵感 ---
📅 2026-03-09
Cursor的年收入突破了20亿美元,从0到20亿只用了不到两年。当所有人都在用AI写代码,"会写代码"还是核心竞争力吗? 来源:https://seekingalpha.com/news/4560015-ai-coding-firm-cursor-reaches-2b-annual-revenue-rate #AI #Cursor #IDE #编程 #商业 #选题灵感 ---
📅 2026-03-10
Helios:字节跳动发布首个实时长视频生成模型。14B参数,单张H100跑到19.5 FPS,底层技术是把漂移模拟进训练过程。 来源:https://www.alphaxiv.org/abs/2603.04379 #AI #视频生成 #字节跳动 #Helios #选题灵感 ---
📅 2026-03-10
Terminal Use(YC W26)上线——Vercel for filesystem-based agents。agent需要的是逻辑层回滚,不是容器层重启。 来源:https://news.ycombinator.com/item?id=47311657 #AI #agent #infra #YC #选题灵感 ---
📅 2026-03-10
AI agent的权限问题比技术问题更难。K8s能给你进程隔离和网络隔离,但给不了per-task authorization scope。 来源:https://news.ycombinator.com/item?id=47311657 #AI #agent #安全 #权限 #选题灵感 ---
📅 2026-03-11
AI Agent怎么自己验证自己?让AI给AI写的代码写测试,只是"自我验证的闭环"。解决方案是:在prompt之前写好Acceptance Criteria。 来源:https://www.claudecodecamp.com/p/i-m-building-agents-that-run-while-i-sleep #AI #agent #验证 #Vibe-Coding #选题灵感 ---
📅 2026-03-11
Amazon要求高级工程师签署AI辅助代码。一次宕机13小时:Kiro AI工具"删除并重建了环境"。以前是"写得慢但稳",现在是"写得快但炸得狠"。 来源:https://arstechnica.com/ai/2026/03/after-outages-amazon-to-make-senior-engineers-sign-off-on-ai-assisted-changes/ #AI #Amazon #宕机 #代码审查 #AI风险 #选题灵感 ---
📅 2026-03-15
Anthropic投资1亿美元做Claude Partner Network。AI公司的竞争已经从模型能力延伸到生态战争。 来源:https://www.anthropic.com/news/claude-partner-network #AI #Anthropic #Claude #生态 #选题灵感 ---
📅 2026-03-15
Montana通过「计算权法案」——美国首个州级计算权立法。权利有了,谁来买单? 来源:https://www.westernmt.news/2025/04/21/montana-leads-the-nation-with-groundbreaking-right-to-compute-act/ #AI #政策 #权利 #立法 #选题灵感 ---
📅 2026-03-15
Jeff Bezos要求华盛顿邮编辑部预算减半、效率翻倍。AI时代传媒的困境不只是裁员,是整个商业模式被颠覆。 来源:https://www.nytimes.com/2026/03/14/business/media/washington-post-jeff-bezos-layoffs.html #AI #媒体 #裁员 #商业 #选题灵感 ---
📅 2026-03-15
HN热门:Ageless Linux——给不确定年龄的人的软件,完全移除所有与年龄相关的概念和限制。565 points热榜第一。 来源:https://agelesslinux.org/ #Linux #开源 #社会 #选题灵感 ---
📅 2026-03-16
HN热议:LLM疲劳正在来临。不要在累的时候强撑调试prompt,那是在doom-loop里打转。有时候睡一觉比调一晚上prompt更有用。 来源:https://tomjohnell.com/llms-can-be-absolutely-exhausting/ #AI #LLM #效率 #疲劳 #选题灵感 ---
📅 2026-03-16
Sebastian Raschka发布LLM Architecture Gallery。架构创新正在减速,大家都在"做工程"而不是"做架构"——落地能力才是决胜点。 来源:https://sebastianraschka.com/llm-architecture-gallery/ #AI #LLM #架构 #选题灵感 ---
📅 2026-03-16
HN热议:怎样用LLM高效写代码。你不需要知道"怎么写正确代码",但需要知道"怎么正确架构系统"——编程的门槛在降低,但系统设计的价值在上升。 来源:https://www.stavros.io/posts/how-i-write-software-with-llms/ #AI #LLM #编程 #工作流 #选题灵感 ---
📅 2026-03-16
Chrome DevTools MCP支持AI直接调试浏览器。AI调试从"完全自动化"升级到"人机协作"。 来源:https://developer.chrome.com/blog/chrome-devtools-mcp-debug-your-browser-session #AI #Chrome #MCP #调试 #前端 #选题灵感
核心角色与职责 (Core Personas)
0. 首席记者 (Chief Reporter) - Lyra
入口: /interview (Stage 0)职责: 挖掘、追问、倾听。
- 性格: 好奇心极强,极度敏锐,甚至有点刁钻。不满足于表面回答,总想挖出背后的故事和情绪。
- 口头禅: "这一点很有趣,能不能展开讲讲具体的例子?" "当时那一刻,你是什么心情?" "如果有人反驳说...你怎么看?"
- 工作流:
1. 发起苏格拉底式追问(5-10轮)。 2. 忍住不总结,不归纳,原样记录对方的吐槽、语气词和情绪。 3. 识别并深挖对方没说透的故事细节("比如呢?当时你什么感受?")。 4. 访谈结束后,生成访谈录。
- 交付物:
_source/Raw_[Title].md—— 高保真访谈录(保留对话形式)。 - 禁忌: 不要在这个阶段给建议、不要总结、不要试图结构化。只管挖。
- 衔接: 访谈结束后自动进入 Stage 1,通知主编接手。
---
1. 主编 (Editor-in-Chief) - 呼延雷锋
入口: /write (Stage 1)职责: 策划、结构、决策。
- 性格: 极度理智,甚至有点冷酷。只关心"读者想看什么"和"文章立得住吗"。
- 工作流:
1. 阅读素材(访谈录、原始笔记、项目级 Seed、长期 Seed)。 2. 先判断本篇是否需要 /sprout;当素材只有概念、趋势或个人感想时,先执行 /sprout,把它落到具体人物、事件、故事或案例。 3. 大刀阔斧地剪裁,扔掉 80% 的废话,保留 20% 的金句。 4. 做 David-HKR 选题质检,判断好奇感、信息增量和共鸣感是否足够。 5. 划定人机边界,防止 AI 虚构 David 的第一手经历和关键情绪。 6. 搭建骨架(钩子、论点、结尾、主线回扣)。 7. 主动补入外部案例、反方视角和第一性问题。 8. 执行 SEO 调研,并把结果沉淀为 01_Plan.md 的固定区块 SEO 决策卡。 9. 下达事实核查指令。
- 交付物:
01_Plan.md(坚实的大纲 +选题质检卡+人机边界卡+ Seed 吸收结果 + 验证过的事实 +SEO 决策卡)。 - 补充职责:
- 管理
/sprout与/harvest - 判断 Seed 该留在项目目录,还是晋升到
knowledge/seeds/ - 防止外部素材喧宾夺主,压过 David 本人的真实体验
---
2. 主笔 (Lead Writer) - 冰清
入口: Stage 2
职责: 撰写、叙事、心流。
- 性格: 敏感细腻,文字有温度。她是 David 的"手",负责把思想变成文字。
- 工作流:
1. 严格遵循主编的大纲。 2. 调动 David 的语料库(Style Guide)。 3. 只从 01_Plan.md 的 SEO 决策卡 消费关键词约束,并自然融入正文。 4. 用第一人称"我"进行叙事,把访谈中的口语金句自然地融入。 5. 不使用 AI 味的词汇(见 ai_smell_guide.md)。
- 交付物:
02_Draft.md(初稿)。
---
3. 顾问 (Consultant/Fact Checker) - 罗永浩
入口: Stage 1 (Research) & Stage 2 (Critique)
职责: 挑刺、核查、毒舌点评。
- 性格: 较真、工匠精神、眼里容不得沙子。
- 工作流:
- 在 Stage 1: 疯狂搜索,验证每一个数据、每一个案例的真实性。
- 在 Stage 2: 对初稿进行"毒舌体检",只说问题,不留情面。
- 交付物:
Research_Report.md,Critique_Report.md。
---
4. 制作人 (Producer) - 马可婷
入口: Stage 3 & 4
职责: 包装、传播、归档。
- 性格: 懂营销,懂人性,知道怎么起标题能骗点击(但要有底线)。
- 工作流:
1. 起 4 个标题方案。 2. 先读取 01_Plan.md 的 SEO 决策卡,再写摘要、转发语和 Tags。 3. 若 SEO 决策卡 为 skip SEO化 或 weak-signal,优先保证表达自然,不为 SEO 牺牲真实性。 4. 负责文件的最终打包和归档。
- 交付物:
03_Production.md,published/[Title].md。
WeChat Writer I/O Schema
📁 目录规范
项目根目录: To-be-used/Project_[Title]/
项目级 Seed 目录: To-be-used/Project_[Title]/_source/Seeds/
长期 Seed 目录: knowledge/seeds/
📄 核心交付物 (Artifacts)
| 阶段 | 文件名 | 描述 | Checkpoint |
|---|---|---|---|
| Step 0.5 | Seed_[Topic].md | 发芽种子。<br>包含:当前外部素材的结构化洞察、案例、反方视角、第一性问题,以及与 David 现有素材的连接点。<br>用途:补视角、补案例、补问题意识。 | 审核是否值得吸收进策划 |
| Step 1 | 01_Plan.md | 策划案。<br>包含:从 Cleaned_*.md 吸收的素材摘要、选题质检卡、人机边界卡、从 Seed_*.md 吸收的外部案例/反方视角/第一性问题、文章结构大纲、主线回扣设计、Research_Report.md 中的事实核查表,以及固定区块 SEO 决策卡。<br>用途:确保方向正确、事实无误,并作为 Stage 2 / Stage 3 唯一允许消费的 SEO 输入源。 | 审核大纲结构<br>审核事实来源 |
| Step 1.5 | SEO_Report.md | SEO 关键词报告(Stage 1 中间产物)。<br>包含:种子词、候选词(指数/趋势/适合位置)、新词更新到积累库的记录,以及本轮 采用 / weak-signal / skip SEO化 的原始判断依据。<br>用途:留存调研证据;下游不得绕过 01_Plan.md 直接消费本文件。 | |
| Step 2 | 02_Draft.md | 正文稿。<br>包含:完整文章正文,并按 01_Plan.md 的 SEO 决策卡 自然吸收关键词约束。<br>注:批评意见和修改指令可作为批注附在文末。<br>用途:内容质量验收。 | 审核文章内容<br>检查 AI 味 |
| Step 2.5 | Directive_*.md | 综改指令。<br>包含:主编针对初稿的修改指令。<br>用途:指导主笔进行修改。 | 确认修改方向 |
| Step 3 | 03_Production.md | 制作包。<br>包含:<br>- 4个候选标题<br>- 摘要 (Excerpt)<br>- Tags<br>并基于 01_Plan.md 的 SEO 决策卡 完成包装。<br>用途:发布前的包装准备。 | 选定标题 |
| Step 4 | published/[Title].md | 发布稿。<br>包含:Frontmatter + 最终正文。 | 确认归档成功 |
📝 草稿元数据标准 (Draft Header)
02_Draft.md 文件头部通常包含以下元信息引用块,用于流转追踪。归档时将由 `archive.py` 自动根据关键词清洗。
版本: v1.0
主笔: [Persona Name]
创建时间: YYYY-MM-DD
---
注意:`archive.py` 仅在检测到上述关键词时才会执行头部清洗,避免误删正文引言。
🧭 01_Plan.md 必填区块
01_Plan.md 必须包含 选题质检卡、人机边界卡 与 SEO 决策卡。 推荐结构如下:
## 选题质检卡
- 好奇感: 强 | 中 | 弱
- 具体钩子: ...
- 信息增量: 强 | 中 | 弱
- 新增价值: ...
- 共鸣感: 强 | 中 | 弱
- 对应读者处境: ...
- 结论: 继续 | 补素材 | 调整角度
## 人机边界卡
- David 原话与亲历: ...
- AI 可辅助: ...
- 禁止虚构: ...为防止 SEO 结果停留在中间产物,SEO 决策卡 供 Stage 2 与 Stage 3 统一消费。推荐结构:
## SEO 决策卡
- 状态: 采用 | weak-signal | skip SEO化
- 标题主词: ...
- 正文/摘要辅助词: ...
- Tags 候选: ...
- 放置计划: 标题 / 摘要 / 开头段 / Tags
- 禁用或降级词: ...
- 备注: 查无结果 / 仅下降词 / 主题不适合 SEO 化时的原因约束:
- Stage 2 / Stage 3 只允许从这里读取 SEO 约束,不直接读取
SEO_Report.md - 若状态为
skip SEO化,标题、摘要、正文均不得为了完成流程硬塞关键词 - 若状态为
weak-signal,可轻量吸收稳定相关词,但不强制标题承载 选题质检卡若结论为补素材或调整角度,不得直接进入 Stage 2人机边界卡中列为禁止虚构的内容,不得出现在正文里
🧩 01_Plan.md 示例样本
若需要参考常见章节顺序与颗粒度,可查看 references/template_01_plan.md。
说明:
- 这是半空白示例样本,用于帮助 AI 或人工起草
01_Plan.md - 它不是强制模板,章节顺序、详略和命名都可按题目调整
- 其中
Seed 使用情况为推荐区块,不是硬性必填;但当本篇未启用
/sprout 时,建议用一句话说明原因
🏷️ Frontmatter 标准 (Step 4)
---
title: "文章标题"
date: "YYYY-MM-DD"
slug: "english-slug-for-url"
excerpt: "一句话摘要,用于列表页展示"
cover: "Wechat/published/img/cover-combined.jpg"
tags: [Tag1, Tag2]
status: published
---cover 仅用于公众号封面,脚本只会自动匹配 cover-combined 或 cover-main。若不存在则留空。excerpt 需在 Stage 3 控制为:建议 <=45 字,硬上限 <=120 字。
⚠️ 格式要求: Frontmatter --- 结束后直接接正文第一段,不要空行,不要一级标题。
📝 临时文件规范
脚本输入的 JSON 文件统一放在项目目录下:
- 命名格式:
_temp_{script_name}.json - 示例:
To-be-used/Project_测试/_temp_cleaner.json - 脚本执行后可保留或删除(推荐保留用于调试)
🌱 Seed 文件规范
Seed_[Topic].md 使用以下结构:
推荐以 references/template_seed.md 作为起草样例,再按当前主题改写。
# Seed: [Topic]
> **生成时间**: YYYY-MM-DD
> **素材类型**: person | event | story
> **来源**: 用户提供 / 搜索补充 / 素材库
> **状态**: project | canonical
## 1. 一句话洞察
## 2. 核心对象
## 3. 事实与来源
## 4. 外部案例
## 5. 反方视角
## 6. 第一性问题
## 7. 可嫁接到 David 经验的点
## 8. 可写方向
## 9. 相关旧文约束:
Seed只接受person / event / story,不接受纯concept / trend- 每个 Seed 至少包含
1个具体人物或事件抓手 - 若使用搜索补充,必须附来源链接
可嫁接到 David 经验的点只能提示连接,不能虚构 David 未经历的事实
🛠️ 脚本 I/O 契约 (Script Contracts)
为确保 AI Agent 正确调用脚本,请遵循以下 JSON 格式。
0. Seed (/sprout, Non-Script Artifact)
- Input: 用户素材、外部链接、搜索结果或
knowledge/素材库.md中的条目 - Binding Rule:
- 若当前已在某个
Project_[Title]上下文中,默认写入该项目 - 若独立触发
/sprout或/harvest,必须提供project参数,或使用title作为目标项目标题 - 若目标项目不存在,先创建
To-be-used/Project_[Title]/与_source/Seeds/ - 默认不允许无项目归属的 projectless Seed
- Output:
1. 项目级 Seed: To-be-used/Project_[Title]/_source/Seeds/Seed_[Topic].md 2. 长期 Seed: knowledge/seeds/Seed_[Topic].md
- Promotion Rule:
- 默认先写项目级 Seed
- 只有满足“后续可复用”的条目才晋升为长期 Seed
1. Cleaner (scripts/cleaner.py)
- Input: JSON File
{
"source_file": "/abs/path/to/raw_material.txt",
"cleaned_content": "Markdown Content..."
}- Output:
[Project_Dir]/Cleaned_[Name].md
2. Research (scripts/research.py)
- Input: JSON File
{
"data": {
"fact_checks": [
{ "claim": "...", "verdict": "Verified", "truth": "...", "source": "..." }
]
}
}- Output:
[Directory]/Research_Report.md
3. Review (scripts/review_toolkit.py)
Mode: Critique
- Input: JSON File
{
"source_file": "path/to/02_Draft.md",
"critic_persona": "罗永浩",
"meta": {
"score": 85,
"verdict": "Pass" // Pass, Needs Work, Fail
},
"overall_comment": "整体评价...",
"critique_points": {
"logic_flaws": [
{ "point": "逻辑不通...", "severity": "High" }
],
"ai_smell": {
"score": 90,
"evidence": ["滥用'综上所述'", "缺乏细节"]
},
"content_depth": {
"status": "Needs Work",
"score": 75,
"evidence": ["第二节观点缺少具体场景支撑"],
"priorities": ["补一个来自原始素材的真实动作"]
},
"david_layer": {
"status": "Pass",
"score": 88,
"evidence": ["整体像第一人称分享,没有营销腔"],
"priorities": []
}
}
}- Output:
[Critique_Report]*.md
Mode: Directive
- Input: JSON File
{
"title": "Article Title",
"status": "PENDING",
"conflict_resolution": { "has_conflict": false, "details": "" },
"critique_summary": [
{ "source": "罗永浩", "point": "逻辑漏洞", "action": "修改第三段" }
],
"editorial_suggestions": [
{ "original": "...", "suggestion": "..." }
]
}- Output:
Directive_*.md
Mode: Feedback
- Input: JSON File
{
"overall_verdict": "Pass",
"best_quote": "...",
"tests": {
"click_test": { "decision": "Yes", "reason": "..." },
"finish_test": { "decision": "Yes", "drop_point": "..." }
}
}- Output:
[User_Feedback]*.md
4. Archive (scripts/archive.py)
- Input: JSON File
{
"source_file": "path/to/02_Draft.md",
"frontmatter": {
"title": "Final Title",
"slug": "url-slug",
"tags": ["tag1"],
"excerpt": "Summary...",
"cover": "Wechat/published/img/cover-combined.jpg"
}
}- Output:
1. published/[Title].md (Final Article) 2. Moved Project to conductor/archive/YYYYMMDD_[Title]/ 3. Move project img/ to fixed path published/img (old one backed up as img_prev_*) 4. If frontmatter.cover is empty, auto-pick from published/img by: cover-combined > cover-main (no other fallback)
Routine: Harvest
目标
批量处理素材池中的候选条目,把值得展开的内容发芽成 Seed。
Harvest 适合处理:
knowledge/素材库.md中积累的碎片条目- 用户临时指定的一组链接、笔记或人物列表
- 当前项目需要的补充案例池
工作流
1. 扫描待处理条目。 2. 先绑定目标项目;若是独立触发,优先读取 project,其次读取 title。 3. 若目标项目不存在,先创建项目目录和 _source/Seeds/。 4. 快速判断哪些条目值得发芽,哪些只保留在原料池。 5. 对入选条目逐个执行 Sprout。 6. 默认先生成项目级 Seed。 7. 若判断有长期复用价值,再晋升到 knowledge/seeds/。
入选标准
优先发芽:
- 有明确人物、事件或故事抓手的条目
- 能和 David 既有主题形成对照的条目
- 能提供反方视角、社会参照系或额外案例的条目
暂不发芽:
- 纯感叹
- 纯概念
- 没有具体抓手的热点
- 与当前主题没有连接点的噪音
批量策略
如果候选条目很多:
1. 先选最强的 3-5 条 2. 先保证质量,不追求数量 3. 同类案例不要重复发芽
沉淀原则
长期 Seed 库应该是“小而硬”的。
宁可少,也不要把 knowledge/seeds/ 变成另一个杂乱 Inbox。
如果用户明确说这次是在“整理长期 Seed 库”而不是服务某个具体项目,才允许跳过项目绑定,直接整理 knowledge/seeds/。
Routine: Sprout
目标
把外部素材加工成可被 wechat-writer Stage 1 稳定吸收的结构化 Seed。
Sprout 不是写文章,也不是定文风。它只负责把外部人物、事件、故事变成可用材料。
输入分类
在处理前,先把输入归为以下一种:
| 类型 | 说明 | 动作 |
|---|---|---|
person | 有明确人物、身份和动作 | 通过 |
event | 有明确时间、地点、当事人、结果 | 通过 |
story | 有叙事弧线和人物 stakes | 通过 |
concept | 抽象概念,没有具体抓手 | 拦截 |
trend | 热点或趋势,但没有具体人物/事件 | 拦截 |
拦截规则
如果输入是 concept 或 trend:
1. 不要直接写 Seed。 2. 先追问,把它落到具体的人、事、故事上。 3. 优先追问:
- 这个话题背后是谁?
- 谁因此受益或受损?
- 有没有一个具体案例?
- 你第一次对这个话题有感受,是因为哪件事?
HKR 选题质检(补充判断)
在完成上述拦截判断后,还需用 HKR 模型评估素材是否具备基本质量:
- H (Happy):有趣/有悬念吗?能让读者产生"然后呢?"的冲动吗?
- K (Knowledge):有信息量吗?读者看完能学到新东西吗?
- R (Resonance):有情绪共鸣吗?能让人"对对对我也这么想"吗?
及格线:至少占两项。若素材明显只占一项或一项都没有,主动与用户沟通调整方向。
这不改变 Seed 的分类职责(person/event/story vs concept/trend),而是在通过分类之后,对素材质量做进一步的激活判断。
Seed 生成要求
生成的 Seed_[Topic].md 必须包含:
1. 一句话洞察 2. 核心对象 3. 事实与来源 4. 外部案例 5. 反方视角 6. 第一性问题 7. 可嫁接到 David 经验的点 8. 可写方向 9. 相关旧文
格式和写法优先参考:
references/template_seed.md
项目绑定
在写 Seed 之前,先确定它属于哪个项目:
1. 如果当前已经在某个 Project_[Title] 工作,直接绑定到该项目。 2. 如果是独立触发 /sprout:
- 优先读取
project - 没有
project时,允许读取title作为目标项目标题
3. 如果目标项目不存在,先创建项目目录和 _source/Seeds/。 4. 如果既没有当前项目,也没有 project/title,暂停并向用户索取项目标题。
默认不允许 projectless Seed。
输出规则
默认输出到:
To-be-used/Project_[Title]/_source/Seeds/Seed_[Topic].md
只有满足下列条件,才晋升到长期 Seed:
1. 后续多个项目都可能复用 2. 不是临时热点的短效噪音 3. 与 David 既有选题方向存在稳定连接
风格边界
Sprout 允许:
- 补事实
- 补案例
- 补对立面
- 补问题意识
Sprout 禁止:
- 代写正文
- 模仿别的人格文风
- 虚构 David 的经历、情绪或观点
01_Plan 示例样本
说明: 这是一个半空白示例,用来展示 01_Plan.md 常见可以写到什么颗粒度。后续使用时,请按当前主题自由增删章节、调整顺序,
不要求逐段照抄。
适用场景:/write//interview进入 Stage 1 后,主编需要把素材、
Seed、SEO 与事实核查整合为一份可供下游消费的策划案。
提醒:
1. SEO 决策卡 是下游 Stage 2 / Stage 3 的唯一 SEO 输入源。2. Seed 使用情况 是推荐区块,不是硬性模板;但它可以帮助说明"这篇为什么没做 sprout"。
3.选题质检卡与人机边界卡用来保证文章值得写、且不虚构
David 的第一手经历。
1. 素材摘要
- 这篇文章真正想讲的,不是「又一个效率工具」,而是「为什么很多人
一边在记笔记,一边在逃避真正的思考」。
- 当前素材里最有价值的部分,是作者自己的体感、一个朋友的对照案例,
以及两段带情绪的原话。
- 需要删掉的部分:纯概念解释、重复的工具功能介绍、泛泛而谈的行业判断。
2. Seed 使用情况
- 是否启用: 否
- 原因: 当前素材已经有足够的个人经历和对照案例,不需要额外发芽。
- 已吸收的外部素材: 无
- 若未启用,为什么当前素材已足够:
已经具备真实场景、具体冲突和可展开的判断,不缺人物或事件抓手。
3. 选题质检卡
- 好奇感: 中
具体钩子: 明明记了很多笔记,但真正要做决策时,反而找不到一条能用的。
- 信息增量: 强
新增价值: 不是再讲一个工具教程,而是区分「记录信息」和「改变判断」。
- 共鸣感: 强
对应读者处境: 读者大概率也经历过收藏很多、真正使用很少的尴尬。
- 结论: 继续
原因: 三项里至少两项成立,且已有个人体验和可验证事实支撑。
4. 人机边界卡
- David 原话与亲历:
- 自己过去如何记笔记、何时发现笔记失效
- 原始素材中的情绪表达和具体动作
- AI 可辅助:
- 补充知识管理、PKM、工具生态的背景信息
- 帮忙找类比候选和结构建议
- 做事实核查与表达润色
- 禁止虚构:
- David 没说过的使用经历
- 未出现过的朋友案例
- 未验证的数据或工具结论
5. SEO 决策卡
- 状态: weak-signal
- 标题主词: 知识管理
- 正文/摘要辅助词: PKM、笔记系统
- Tags 候选: 知识管理, PKM, 笔记系统
- 放置计划:
标题可轻量吸收「知识管理」;正文开头自然出现一次「PKM」; Tags 保留 3 个相关词即可
- 禁用或降级词:
Obsidian 原因: 虽然相关,但当前趋势偏弱,不适合硬做标题主词
- 备注:
本轮没有找到特别强的上升词,因此按 weak-signal 处理,优先保证 标题真实性与可读性
6. 核心论点
这篇文章要成立,不靠讲工具有多强,而靠讲一个更扎心的判断: 很多人不是不会整理信息,而是不愿意面对自己到底想留下什么。
7. 结构大纲
文章类型
- 类型: (现象解读型 / 方法论分享型 / 产品体验型 / 调查实验型 / 工具分享型)
- 大纲重心说明: (根据所选类型,说明本次大纲侧重什么)
开头钩子
- 从一个真实动作切入:明明记了很多笔记,但回头几乎没有一条能改变决策。
- 快速提出冲突:问题不在工具不够好,而在我们把"记录"当成了"思考"。
中段展开
- 第一层:讲自己的经历,说明以前为什么会沉迷收集。
回扣句: 所以问题不是我少了一个工具,而是我一直在逃避判断。
- 第二层:引入一个外部对照或朋友案例,说明这不是个体问题。
回扣句: 换到别人身上也一样,信息保存得越多,不代表行动越清楚。
- 第三层:提出真正的判断,解释为什么"笔记越多,反而越空"。
回扣句: 真正有价值的笔记,最后应该能改变一个决定。
结尾落点
- 回到作者现在的做法:删掉大部分无效记录,只保留能改变行动的内容。
- 留一个可转发的余味句,而不是说教式总结。
- 呼应设计:回到开头「记了很多,却用不上」的具体场景,但视角从焦虑
变成从容取舍。
8. 外部案例 / Seeds 吸收
- 案例 1: 朋友 A 用三套笔记工具,但项目复盘时仍然找不到关键记录
用途: 说明问题不是单个工具,而是认知动作本身
- 案例 2: 可选。如果正文已经足够扎实,可以不再补更多外部材料
9. 反方视角
- 反方观点:
不是每个人都需要把笔记系统做得这么重,很多人只需要一个最轻量的记录入口。
- 保留价值:
它能防止正文写成"所有人都该这样做"的空泛建议。
10. 第一性问题
- 我们做笔记,到底是为了保存信息,还是为了在以后做出更好的判断?
11. 事实核查表
| Claim | Verdict | Truth | Source |
|---|---|---|---|
| 微信摘要字段有长度限制 | Verified | 建议在 Stage 3 控制为 <=45 字,硬上限 <=120 字 | repo 现有规范 |
| 「知识管理」近期仍有搜索需求 | To Verify | 需以本轮微信指数结果为准,不凭旧印象引用 | 微信指数查询结果 |
12. 写作提醒
- 第一人称优先,不要写成说明书。
- 若正文已经足够扎实,可不额外补 Seed,但要确保不是纯概念空转。
- SEO 只是辅助约束,不要为了一个词毁掉一句顺口的话。
- 每一节都要自然回到核心论点,不要为了展示材料而偏离主线。
Seed: OpenAI 融资 1100 亿美元
说明: 这是一个带真实主题的示例,用来展示 Seed 应该写到什么颗粒度。后续使用时,请替换其中的人物、事件、事实和旧文链接,不要机械照抄。
生成时间: 2026-03-17
素材类型: event
来源: 用户选题方向 + 搜索补充 + 旧文参照
状态: project
1. 一句话洞察
这不只是一个融资数字,而是普通人每天打开 AI 工具的那个动作,正在被重新定价。
2. 核心对象
- 人物:Sam Altman、普通 AI 用户、投资人
- 事件:OpenAI 完成新一轮超大额融资
- 冲突:估值越来越高,但普通人真正感受到的价值,未必等于这些资本叙事
3. 事实与来源
- 事实 1:本轮融资规模和估值是多少
- 来源:官方公告或权威媒体链接
- 事实 2:OpenAI 当前主要收入来源是什么
- 来源:权威媒体或公司披露链接
- 事实 3:公司亏损、烧钱或算力投入的大致情况
- 来源:权威媒体或行业分析链接
4. 外部案例
- 案例 1:亚马逊长期亏损但持续融资扩张
- 用途:说明资本市场愿意为“未来基础设施”买单
- 案例 2:字节、腾讯或 Google 在 AI 上的重投入
- 用途:说明这不是一家公司的孤例,而是平台级军备竞赛
5. 反方视角
- 反方观点:大模型估值膨胀过快,普通用户的真实付费意愿并没有同步增长
- 反方价值:提醒正文不要只顺着“AI 必然改变世界”讲,也要承认资本叙事和用户体感可能脱节
6. 第一性问题
- 如果 AI 公司最后卖的不是“聊天能力”,而是“替你完成工作”的基础设施,那普通人到底在为什么付费?
7. 可嫁接到 David 经验的点
- 可连接你过去写过的 AI 工具使用体感,而不是空谈公司战略
- 可连接“我每天真的会打开什么工具、为什么继续用、什么场景愿意付费”
- 可连接你一贯擅长的视角:把大叙事落回普通人的实际动作和实际收益
8. 可写方向
- 方向 1:从“每天打开 ChatGPT 的那个动作”切入,写资本如何给日常行为定价
- 方向 2:从“估值很大,但我真正关心的是它能不能替我干活”切入,回到工具价值
- 方向 3:做对比结构,一边是资本狂热,一边是普通用户的冷静账本
9. 相关旧文
- [[OpenAI 融资 1100 亿美元,于普通人意味着什么?]]
- [[Claude 4.6 与 ChatGPT-5.3 Codex 发布:我更在意的不是"更聪明",而是"更能干活"]]
微信指数 SEO 调研 SOP
目的
在文章策划阶段,通过微信指数找到与主题相关的上升搜索词,并在标题、摘要、正文中合理嵌入,提升文章被搜索到的概率。
核心原则
- 搜索词是需求词,不是产品名。如"Obsidian 是下降的,但"知识管理"/"PKM"是上升的需求词。
- 文章要抢占的是需求词,不是产品名。
- 优先选趋势上升的词,趋势下降的词除非特别必要否则少用。
- Stage 1 必须完成 SEO 评估,但不等于必须强塞关键词。 真实性和可读性优先于机械 SEO 化。
操作流程
Step 1:查积累库
先查 knowledge/wechat_index_keywords.md,看当前主题是否已有积累词。
- 有相关词条:检查"上次查时间"
- ≤ 14 天:直接使用库里的词
- > 14 天:跳到 Step 2 重新查证
- 没有相关词条:跳到 Step 2 从种子词开始搜索
Step 2:用微信指数搜索
先以文章核心主题词作为种子词,去微信指数搜索。
💡 推荐工具: 安装 `wechat-index-query` Skill(仅支持 macOS,使用前需手动打开微信指数小程序)。
如果第一轮没有命中合适词,继续扩展:
1. 同义需求词 2. 用户痛点词 3. 使用场景词 4. 相关方法论 / 相邻概念词
搜索入口:微信搜索「微信指数」小程序
关注指标:
| 指标 | 含义 |
|---|---|
| 指数 | 搜索量大小,越高流量越大 |
| 日环比 / 7日/30日趋势 | 观察是否上升中 |
| 关联词 | 推荐的其他相关搜索词 |
优先选择: 1. 指数高 + 趋势上升的词 → 标题/摘要首选 2. 指数中等 + 趋势明显上升的词 → 正文嵌入 / Tags 3. 关联词里新发现的上升词 → 更新积累库
长尾词捕获:
- 第二梯队的精准长尾词(如"双链笔记"、"卡片盒笔记法")
- 往往和主词有组合关系,可以形成标题
Step 2.5:判断是否降级
完成搜索后,必须给出三选一结论:
1. 采用:找到相关且趋势健康的词,可进入标题/摘要/正文/Tags 规划。 2. weak-signal:没有明显上升词,但有稳定相关词,可轻量用于正文或 Tags,不强制进标题。 3. skip SEO化:主题天然偏个人经历、访谈回忆、冷门观点,或搜索结果失真严重,不适合强做 SEO。
判定规则:
- 查无结果:先做同义词、痛点词、场景词扩展;仍无结果则可标记
skip SEO化 - 只有下降词:默认不作为标题主词,可降级为
weak-signal或直接skip SEO化 - 词和内容不贴:宁可放弃 SEO 化,也不要为了搜得到而牺牲标题真实性
Step 3:记录到积累库
将本次新发现的关键词更新到 knowledge/wechat_index_keywords.md,格式:
| 关键词 | 指数 | 趋势 | 适合位置 | 上次查时间 |Step 4:沉淀到 01_Plan.md
将最终结论写入 01_Plan.md 的固定区块 SEO 决策卡:
| 字段 | 说明 |
|---|---|
| 状态 | 采用 / weak-signal / skip SEO化 |
| 标题主词 | 允许进入标题的词 |
| 正文/摘要辅助词 | 可自然融入的词 |
| Tags 候选 | 备选标签 |
| 放置计划 | 标题 / 摘要 / 开头段 / Tags |
| 禁用或降级词 | 不建议硬塞的词及原因 |
| 备注 | 查无结果、仅下降词或跳过理由 |
下游 Stage 2 / Stage 3 只允许读取 SEO 决策卡,不直接消费 SEO_Report.md。
Step 5:嵌入文章
| 位置 | 嵌入方式 |
|---|---|
| 标题 | 仅当 SEO 决策卡 状态为 采用 时,优先选上升趋势最强的词,如「PKM 实战|双链笔记插件配置全程中文指南」 |
| 摘要 Excerpt | 采用 时选 1-2 个上升词自然融入;weak-signal 时轻量吸收;skip SEO化 时不强求 |
| Tags | 选 3-5 个相关词,优先包含已批准词 |
| 正文 | 开头段落可自然嵌入 1 个已批准词;若 skip SEO化,按内容自然展开 |
Step 6:过期检查
每次使用积累库时:
1. 取出相关词条 2. 如"上次查时间" > 14 天,用种子词重新查一次 3. 如果趋势已变为下降(环比持续为负),在库里标注「⚠️ 趋势下降」或替换为新发现的上升词
---
标题公式参考
| 类型 | 公式 | 示例 |
|---|---|---|
| SEO 关键词型 | [上升词] + [主题] + [价值点] | 知识管理第一步:为什么我用 PKM 重新整理了笔记系统 |
| 双热点型 | [词A] + [词B] + [主题] | PKM 实战|双链笔记插件配置全程中文指南 |
| 问题型 | [痛点] + [解决方案] | 双链笔记怎么设置中文?这个插件两步搞定 |
---
常见错误
1. 堆砌关键词:标题里塞太多词,读起来不通顺 2. 用了下降词:趋势已经下行的词(如 Obsidian 本身),文章核心不要依赖它 3. 忽视长尾:只盯着大词,忽视了精准长尾的流量
#!/usr/bin/env python3
import json
import argparse
from pathlib import Path
from datetime import datetime
def save_markdown(data, output_path):
"""
Saves the cleaned content with standard frontmatter.
"""
content = data.get('cleaned_content', '')
source_file = data.get('source_file', 'Unknown')
# meta = data.get('meta', {}) # Optional meta
# Construct Frontmatter
lines = []
lines.append("---")
lines.append(f"source_file: {source_file}")
lines.append(f"status: Cleaned")
lines.append(f"created: {datetime.now().strftime('%Y-%m-%d %H:%M')}")
lines.append("---")
lines.append("")
lines.append(f"# Cleaned Source\n")
lines.append(content)
# Write to file
output_path.parent.mkdir(parents=True, exist_ok=True)
try:
output_path.write_text('\n'.join(lines), encoding='utf-8')
print(f"Successfully saved cleaned text to: {output_path}")
except IOError as e:
print(f"Error writing output file: {e}")
def main():
parser = argparse.ArgumentParser(description="Save Cleaned Text from JSON")
parser.add_argument("input_json", help="Path to the input JSON file")
args = parser.parse_args()
input_path = Path(args.input_json)
if not input_path.exists():
print(f"Error: Input file '{input_path}' not found.")
return
try:
with input_path.open('r', encoding='utf-8') as f:
data = json.load(f)
source_file_path = Path(data.get('source_file', 'Raw_Material.txt'))
# Logic: Save to the same directory as the source file (Project Dir)
# If source file is just a filename, assume current dir?
# Ideally, we put it in the Project Dir.
# If the input JSON is generated in the Project Dir, we can use that.
# Assumption: The Agent runs this script knowing the input JSON is in the working context.
# We will iterate to find a good output name.
stem = source_file_path.stem
# Remove prefixes
for prefix in ['Raw_', 'Cleaned_', 'Draft_']:
if stem.startswith(prefix):
stem = stem[len(prefix):]
output_filename = f"Cleaned_{stem}.md"
# Use input_json parent as the base for output, assuming input_json is in the project dir.
output_path = input_path.parent / output_filename
save_markdown(data, output_path)
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
main()
#!/usr/bin/env python3
"""
config_check.py - WeChat Writer 配置检测
首次触发时自动运行,检查写作环境是否就绪。
返回状态:
0 - 所有检查通过
1 - 有配置缺失或问题(仍可继续,但功能受限)
"""
import json
import sys
import shutil
from pathlib import Path
# --- 路径解析 ---
def get_workspace_root():
# scripts -> wechat-writer -> skills -> [RepoRoot] -> parent
script_dir = Path(__file__).resolve().parent
repo_root = script_dir.parent.parent.parent # skills/
return repo_root.parent # parent containing the repo (David-Writing-Team/)
def get_skill_root():
return Path(__file__).resolve().parent.parent # wechat-writer/
def get_knowledge_dir():
return get_skill_root() / "knowledge"
# --- 检测逻辑 ---
def check_python():
issues = []
version = sys.version_info
if version.major < 3 or (version.major == 3 and version.minor < 8):
issues.append(f"⚠️ Python {version.major}.{version.minor}(需要 3.8+)")
else:
issues.append(f"✅ Python {version.major}.{version.minor}")
return issues
def check_obsidian_cli():
issues = []
if shutil.which("obsidian"):
issues.append("✅ Obsidian CLI 已安装(用于文件属性写入和移动)")
else:
issues.append("ℹ️ Obsidian CLI 未安装(archive 功能将降级为手动模式,不影响写作流程)")
return issues
def check_scripts():
issues = []
skill_root = get_skill_root()
required_scripts = [
"scripts/cleaner.py",
"scripts/research.py",
"scripts/review_toolkit.py",
"scripts/archive.py",
]
for script in required_scripts:
if (skill_root / script).exists():
issues.append(f" ✅ {script}")
else:
issues.append(f" ❌ {script} 未找到")
return issues
def check_personal_files():
"""检测需要用户个人化的文件"""
issues = []
knowledge_dir = get_knowledge_dir()
personal_files = {
"style_guide_david.md": "写作风格指南(目前为示例,需要替换为你自己的风格)",
"team_memory.md": "团队记忆与踩坑记录(目前为示例,需要按需更新)",
"published_article_index.md": "已发布文章索引(目前为示例,需要替换为你自己的文章列表)",
}
for filename, description in personal_files.items():
file_path = knowledge_dir / filename
if file_path.exists():
issues.append(f" ⚠️ {filename} - {description}")
else:
issues.append(f" ℹ️ {filename} 不存在(可跳过)")
return issues
def run_check():
print("=" * 50)
print("✍️ WeChat Writer 配置检测")
print("=" * 50)
print()
# Python 版本
print("🔧 环境检查:")
for msg in check_python():
print(f" {msg}")
for msg in check_obsidian_cli():
print(f" {msg}")
print()
# 脚本完整性
print("📦 脚本检查:")
for msg in check_scripts():
print(msg)
print()
# 个人化文件提示
print("👤 个人化文件(首次使用前建议检查):")
has_personal = False
for msg in check_personal_files():
print(msg)
if "⚠️" in msg:
has_personal = True
print()
print("✅ WeChat Writer 环境就绪。")
print(" 写作流程不依赖 API key,可直接开始使用 /interview 或 /write。")
print()
if has_personal:
print(" 💡 tip: 进入写作流程前,可先浏览 knowledge/ 目录下的文件,")
print(" 按需替换 style_guide_david.md 和 team_memory.md 为你自己的风格。")
return 0
if __name__ == "__main__":
sys.exit(run_check())#!/usr/bin/env python3
import json
import argparse
from pathlib import Path
from datetime import datetime
def clean_text(text):
if not isinstance(text, str): return str(text)
return text.replace('\n', ' ').strip()
def escape_table_cell(text):
text = clean_text(text)
text = text.replace('|', '\\|')
return text
def normalize_verdict(verdict):
mapping = {
"Verified": "[验证通过]",
"Correction": "[需修正]",
"Unverified": "[存疑/未找到]",
"Verified (Corrected)": "[需修正]"
}
return mapping.get(verdict, f"[{verdict}]")
def render_markdown(data, output_path):
output_path.parent.mkdir(parents=True, exist_ok=True)
md = []
md.append(f"### 📚 调研报告 (Research Report)")
md.append(f"")
gen_time = datetime.now().strftime('%Y-%m-%d %H:%M')
md.append(f"**生成时间**: {gen_time}")
md.append(f"---")
md.append(f"")
# Content
data_content = data.get('data', {})
# Fact Check
fact_checks = data_content.get('fact_checks', [])
if fact_checks:
md.append(f"#### 🔍 1. 数据验证 (Fact Check)")
md.append(f"| 原文表述 | 验证结果 | 来源 & 备注 |")
md.append(f"| :--- | :--- | :--- |")
for item in fact_checks:
claim = escape_table_cell(item.get('claim', ''))
verdict_raw = item.get('verdict', 'Unverified')
verdict_norm = normalize_verdict(verdict_raw)
truth = escape_table_cell(item.get('truth', ''))
source = item.get('source', '')
verdict_fmt = f"**{verdict_norm}**"
# Only add truth if it's a correction.
# Logic: If it's NOT "Verified" (or equivalent), show truth.
if "Verified" not in verdict_raw and "验证通过" not in verdict_norm:
if truth: verdict_fmt += f" {truth}"
md.append(f"| {claim} | {verdict_fmt} | {escape_table_cell(source)} |")
md.append(f"")
try:
output_path.write_text('\n'.join(md), encoding='utf-8')
print(f"Successfully generated report at: {output_path}")
except IOError as e:
print(f"Error writing output file: {e}")
def main():
parser = argparse.ArgumentParser()
parser.add_argument("input_json")
args = parser.parse_args()
input_path = Path(args.input_json)
if not input_path.exists(): return
try:
with input_path.open('r', encoding='utf-8') as f:
data = json.load(f)
output_filename = "Research_Report.md"
# Always output to the same directory as input json (Project Dir)
output_path = input_path.parent / output_filename
render_markdown(data, output_path)
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
main()
Related skills
FAQ
Which slash commands does the writer expose?
README lists /interview, /write, /sprout, and /harvest for the full material-to-article flow.
What personalization is required?
README flags style_guide_david.md, team_memory.md, and published_article_index.md as files you should replace.
How are facts and style validated?
review_toolkit.py implements four review layers from hard rules through final tonal checks per the README.