办公家具时事朋友圈
概述
把四个已有技能按固定顺序串成一条每日管线:
wechat-article-search(搜当日文章链接)
→ wechat-article-deconstruct(拆解出精华 Digest)
→ office-furniture-moments-writer(写成行业观察文案)
→ workbuddy-office-routing → workbuddy-docx(落成 Word 文档到桌面)
→ wechat-desktop-send(微信发给用户自己)
本技能只规定管线顺序、阶段接口(Digest 模板)、默认值与异常处理;各阶段内部规范一律以被调用技能为准,不复制、不改写。
默认规则总表(用户指定时以用户为准)
| 项 | 默认值 |
|---|---|
| 资讯账号 | 正和岛、刘润、吴晓波频道、中国经济网 |
| 每账号选文 | 当天最新的 1 篇(当天无发文则取最近 7 天内最新 1 篇,并在文档注明实际日期) |
| 文案总篇数 | 10 篇(每个 Digest 产出 1-2 篇,不得脑补凑数) |
| 署名 | 不署名;显身份模式文末署「——小干」并附「小干设计(办公家具品牌增长破局者)」 |
| Word 文件名 | 朋友圈文案参考_YYYY-MM-DD.docx(日期为运行当天) |
| Word 存放 | C:/Users/XGGC/Desktop/ |
| 微信目标 | 文件传输助手(即用户自己的微信) |
| 运行模式 | 端到端不停下确认,仅遇真实异常停止 |
前置检查(进入阶段一前完成)
- 确认四个依赖技能可调用:wechat-article-search、wechat-article-deconstruct、office-furniture-moments-writer、wechat-desktop-send。任一缺失则如实报告并停止。
- 确认桌面目录存在(C:/Users/XGGC/Desktop)。
- 确认 node 可用;裸 node 不在 PATH 时用托管绝对路径 C:/Users/XGGC/.workbuddy/binaries/node/versions/22.22.2-6/node.exe。
- 确认微信发送脚本依赖可用(用托管 venv 的 Python,已预装 pywin32 与 pillow):
bash "C:/Users/XGGC/.workbuddy/binaries/python/envs/default/Scripts/python.exe" -c "import win32api, win32clipboard, PIL; print('ok')"
若更换 Python 环境导致缺依赖,先安装 pywin32 与 pillow 再继续。 - 记录当天日期,供选文与文件命名使用。
阶段一:搜索当日最新文章(wechat-article-search)
通过 Skill 工具加载 wechat-article-search,按其规范执行。对四个账号逐个执行(顺序执行,勿并发):
node "C:/Users/XGGC/.workbuddy/skills/wechat-article-search/scripts/search_wechat.js" "正和岛" -n 10 -d 1 -r
执行规则:
- 关键词用账号名本身;
-n 10取候选池,-d 1优先当天,-r尝试解析真实文章链接。 - 从结果中筛选「来源公众号名称」与账号名匹配的条目;无匹配时取相关度最高的 1 条,并在 Digest 中标注其真实账号名。
- 按发布时间倒序取最新 1 篇;当天无发文时放宽窗口到
-d 7,取窗口内最新 1 篇并记录实际发布日期。 - 每个账号落一条选文记录:账号、标题、发布时间、链接、摘要。
- 账号间间隔数秒再搜下一个,降低限流概率。
- 区分两种空结果:「抓取 N 条但窗口内命中 0」= 数据源有收录但不在窗口,按第 3 条放宽窗口;「抓取 0 条」= 多为限流,立即停止连续请求,跳过该账号并记录,稍后可重试一次。
- 四个账号全部无选文才构成真实异常(如实报告,不外推)。
阶段二:拆解提取精华(wechat-article-deconstruct)
通过 Skill 工具加载 wechat-article-deconstruct,按其工作流执行(抓全文 → 冷读 → 模式选择 → 十维分析 → 交叉验证),但对外只输出下方 Digest,不输出完整十维报告(用户另要完整拆解报告时除外)。
硬红线(沿用该技能,不可放宽):
- 必须抓到正文再分析;抓取失败不凭标题和摘要脑补,该篇跳过并记录原因。
- 推断标注 [事实] / [推断] / [猜测];证据不足写「无法判断,原因是……」。
- 短资讯走快速模式,长观点文走深度模式。
每篇文章沉淀一份 Digest,模板如下:
### D<序号> <文章标题>
- 账号:<名称>|发布:<日期>|链接:<url>
- 核心论点:<1-2 句,带置信度标注>
- 关键案例/数据:<1-3 条,附原文锚点>
- 立场/商业动机:<1 句;无明显信号写「未发现明显商业动机信号」>
- 行业启发:<1-2 条办公家具行业可迁移的角度——文案钩子>
- 时事锚点:<1 句适合作文案开头的引子,如「今天看到刘润那篇讲……」>
「行业启发」与「时事锚点」是本管线新增字段:负责把时事观点翻译成办公家具行业观察者视角,供阶段三直接取用。
阶段三:生成朋友圈文案(office-furniture-moments-writer)
通过 Skill 工具加载 office-furniture-moments-writer,其全部写作规格(四段结构、100-160 字、禁用词、slogan 收尾、说人话、单一改动原则)原样遵守。本阶段追加规则:
- 每篇文案锚定一篇 Digest,文档中标注「## NN 主题(来源:账号·文章标题)」。
- 默认以 Digest 的「时事锚点」开篇(1-2 句),随即切入行业现状;四段链路(行业现状 → 我的观察 → 我的设计路径 → slogan)不变,时事只作引子,不照搬时事结论。
- 观点必须来自 Digest 与该技能的主题方向池;禁止脑补文章没说过的内容。
- 每个 Digest 产出 1-2 篇,总篇数默认 10 篇;Digest 不足时用已有 Digest 多角度展开,仍不足则减少总篇数并如实说明。
- 署名按「默认规则总表」执行。
阶段四:生成 Word 文档(workbuddy-office-routing → workbuddy-docx)
- 先通过 Skill 工具加载 workbuddy-office-routing,按路由结果用 workbuddy-docx 创建 .docx;不得用通用脚本自行拼装 Word 文件。
- 输出路径:C:/Users/XGGC/Desktop/朋友圈文案参考_<当天日期>.docx
- 文档结构:
- 标题:朋友圈文案参考(<日期>)
- 导语一行:本资料由当日时事观点提炼生成,供朋友圈发布参考。
- 第一部分「今日时事精华」:逐篇 Digest 全文(标题、账号、发布时间、链接、核心论点、关键案例/数据、行业启发)。
- 第二部分「朋友圈文案」:逐篇呈现,每篇带「## NN 主题(来源:账号)」标题与四段正文。
- 文末一行:为办公家具品牌增长而设计。 - 若 docx 技能链不可用:如实报告阻塞,保留 Digest 与 Markdown 文案稿于当前工作区,不强行降级。
阶段五:微信发送(wechat-desktop-send)
通过 Skill 工具加载 wechat-desktop-send,按其标准流程把 .docx 发到「文件传输助手」。所有坐标均为窗口相对比例,以当次截图实测为准(2026-10-27 实测窗口 775×526:左面板宽约 44.5%,右面板输入框在 ry≈0.956,rx 须 >0.45;「文件传输助手」条目 ry≈0.688)。每步读截图核验后再走下一步:
PY="C:/Users/XGGC/.workbuddy/binaries/python/envs/default/Scripts/python.exe"
WX="C:/Users/XGGC/.workbuddy/skills/wechat-desktop-send/scripts/wx_send.py"
# 1) 激活微信并截图;若停在账号进入页(显示头像+「进入微信」),点按钮进入(约 rx0.5/ry0.64),
# 可能反复「正在进入」,等待 20 秒以上再截屏确认主界面
"$PY" "$WX" focus
# 2) 若主界面未选中目标会话:点击左侧列表「文件传输助手」条目(rx≈0.16-0.20, ry≈0.69)
"$PY" "$WX" click-rel --rx 0.19 --ry 0.69 --wait 1.5
# 3) 点击右面板输入框获取焦点(ry≈0.95,避开 ry0.90 工具栏——点那里会弹表情面板)
"$PY" "$WX" click-rel --rx 0.60 --ry 0.956 --wait 1.0
# 4) 粘贴文件(focus 与动作必须串在同一条命令——WorkBuddy 会在两条命令之间抢回前台焦点,
# 导致按键打进 WorkBuddy;本管线环境已实测多次)
"$PY" "$WX" focus && "$PY" "$WX" paste-file --path "C:/Users/XGGC/Desktop/朋友圈文案参考_<日期>.docx" --wait 1.5
# 5) 读图确认输入框为目标文件、发送按钮亮起后,同样串链执行回车
"$PY" "$WX" focus && "$PY" "$WX" enter --wait 1.0 && sleep 1.5 && "$PY" "$WX" focus
核验与止损:
- 任何一步截图与预期不符(会话错、文件错、按钮未亮)→ 停止,不得强行发送。
- 焦点被抢的识别:核验截图显示 WorkBuddy 前台不等于动作失败——以微信输入框是否出现文件芯片、发送按钮是否亮起为准;必要时补一条
focus && shot链再判。 - 输入框已有文件芯片时不要再 paste-file(2026-10-27 实测会连发两条相同消息);粘贴后直接
focus && enter。 - 表情面板误弹:按 Esc 关闭,重新按实测坐标点输入框;不要沿用 send-file 内置的 INPUT_BOX_RATIO 标定值。
- 微信未运行或未登录:脚本会尝试拉起,需用户人工扫码;重试不超过 2 次,仍失败则报告用户手动完成发送。
- 发送成功后清理 %TEMP%\wx_send_shots\ 过程截图,不留存。
异常处理总表
| 异常 | 处理 |
|---|---|
| 某账号窗口内无文章 | 放宽到 -d 7 取最新 1 篇并注明实际日期;仍无则跳过该账号,文档注明 |
| 搜索限流(抓取 0 条) | 停止连续请求,跳过该账号,稍后可重试一次 |
| 四账号均无选文 | 如实报告数据源当天无收录;用户可粘贴文章全文,从阶段二继续 |
| 正文抓取失败 | 跳过该篇,不脑补;四篇全失败才停止并报告 |
| Digest 不足 4 篇 | 管线继续,用已有 Digest 产出文案,文档注明实际来源数 |
| 微信未登录/找不到会话 | 报告用户处理,重试不超过 2 次 |
| docx 技能链不可用 | 报告阻塞,保留中间稿 |
除上述真实异常外,各阶段自动衔接、不停下确认;模糊处按「默认规则总表」自决。
收尾交付
- 汇总报告:四账号选文命中情况、Digest 篇数、文案篇数、.docx 绝对路径、微信发送核验结果。
- 调用 present_files 展示 .docx 成品。
- 中间稿(Digest、Markdown 文案稿)按需存于当前工作区,文件名带当天日期。