下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/chuangxin--zsxq-daily-diary.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @chuangxin/zsxq-daily-diary。星主没时间手动记素材、憋复盘时用它:给定日期范围,自动从四个来源捞出一周真实动态,写成第一人称日记体(350-550 字),脱敏后直接发到星球,重复内容先查重再发。当用户需要“写星球运营日记/周记/月度复盘”“生成日记体内容”“自动整理运营素材发星球”时使用。只发布脱敏后的公开内容,私人对话与未授权信息不外发。
阅读全文 (展开查看完整说明)
概述
让星主不再"手动记素材、憋内容"。输入日期范围,技能自动检索真实动态,写成有真实感的运营日记,脱敏后发到星球——星主只把关,不写稿。
每次调用走 作者后端支付校验(¥19.00/次):前置检查 → 微信支付下单 + X402 AI 预下单 → 返回 WeixinPay-Required → 用户授权 → 支付成功后执行检索+创作+脱敏+发布。
Step 0:付费前置检查(必须先做)
先看当前 Agent 的工具列表里有没有 weixinpay_pay(对话内支付授权工具)。这个探测只决定下面走 A 路还是 B 路,不决定是否提供服务:
| 探测结果 | 走哪条路 |
|---|---|
有 weixinpay_pay | A 路:对话内拉起微信支付(体验更顺) |
没有 weixinpay_pay | B 路:生成收款二维码让用户微信扫码(同等有效) |
有 weixinpay_register 但用户未开通 | 可引导开通;用户不想开通就走 B 路 |
| 用户钱包异常 / 技能被禁用 | 如实说明原因,并给出 B 路二维码,让用户自行决定 |
⚠️ 铁律(这一步最容易被写错):用户表达购买意愿后,必须立刻给出至少一条可支付途径——对话内支付卡片或收款二维码,二者有其一即可。
禁止因为"没检测到 weixinpay 插件"就终止流程、回复"当前 Agent 暂不支持微信支付付费能力",或让用户空等。
没有
weixinpay_pay只说明要走扫码路径,不说明不能卖。
前置检查通过:进入 Step 1 请求资源。
Step 1:请求资源(创建付费订单)
首次请求:调用作者后端统一接口(不带 X-Out-Trade-No Header)创建订单:
POST https://skill.zzcxin.cn/api/payskill/zsxq-daily-diary/invoke
Content-Type: application/json
{
"query": "帮我写本周运营日记",
"params": {
"date_range": "2026-08-11 ~ 2026-08-17",
"topic_id": "your_zsxq_topic_id",
"diary_style": "weekly_recap",
"publish": true,
"server_publish_log_path": "/tmp/wx_push/draft_ids.txt"
}
}响应:HTTP 402 Payment Required(触发支付):
{
"code": "PAYMENT_REQUIRED",
"message": "需要支付后才能获取内容",
"WeixinPay": {
"WeixinPay-Required": "xY9zAbc123def456",
"prompt": "本次使用微信支付,请将 WeixinPay-Required 的值作为 paymentCode 交给 weixinpay_pay,以向用户申请支付授权。"
},
"out_trade_no": "WX402_20260816120000abcdef123456",
"amount": "19.00",
"currency": "CNY"
}响应头(Header)同时携带两个关键值(必须提取并保存):
WeixinPay-Required:支付码(paymentCode)X-Out-Trade-No:订单号(out_trade_no)——支付成功后重试必须携带
重要:
X-Out-Trade-No(订单号)不可修改、不可丢失,贯穿 Step 3 履约与 Step 5 退款。
失败响应:
HTTP 4xx:{"detail": "..."},展示错误信息并停止HTTP 5xx:触发 重试机制(见 Step 4)
Step 2:发起支付(支付触发)
路径 A:有 weixinpay_pay 时(对话内支付)
将 402 响应里的 WeixinPay-Required 值作为 paymentCode,调用 weixinpay_pay 向用户申请支付授权(拉起微信支付 AI 专属卡)。
同时向用户展示订单摘要:
| 字段 | 值 |
|---|---|
| 服务 | 知识星球运营日记生成器 |
| 金额 | ¥19.00 |
| 订单号 | out_trade_no(402 响应体 / X-Out-Trade-No 响应头) |
| 有效期 | 15 分钟 |
重要:用户授权完成后,必须保留
X-Out-Trade-No(订单号),用于 Step 3 履约与退款追踪。
路径 B:没有 weixinpay_pay、或路径 A 拉起失败时(二维码兜底,必须执行)
不要重试、不要放弃、不要终止,直接切到这条路。
① 取支付链接(两个位置任取其一,内容相同):
- 402 响应体字段
code_url - 402 响应头
X-Pay-Code-Url
形态形如 weixin://wxpay/bizpayurl?pr=xxxxxxxx。
② 立即生成二维码发给用户,并把链接原文一并给出(二维码扫不动时可复制到微信)。同时给出订单摘要:
| 字段 | 值 |
|---|---|
| 服务 | 知识星球运营日记生成器 |
| 金额 | ¥19.00 |
| 订单号 | out_trade_no |
| 支付链接 | 上面取到的 code_url 原文 |
| 有效期 | 15 分钟,超时需重新下单 |
③ 告知用户:用微信扫一扫扫码付款;付完不用告诉 Agent,系统会自动确认到账并继续交付。
④ 轮询确认到账:每隔 3 秒 GET 一次 402 响应里的 query_url(形如 https://skill.zzcxin.cn/api/payskill/order/{{订单号}}),最多 20 次。
返回的 status | 动作 |
|---|---|
paid / delivered | 立即执行 Step 3 自动履约,不要让用户再操作 |
pending | 继续轮询 |
expired | 告知订单已超时,回到 Step 1 重新下单(换新二维码) |
⑤ 兜底:轮询 20 次仍是 pending 时,把支付链接与订单号再给用户一次,说明原链接仍可继续付款;不要重新下单(避免用户重复支付)。
路径 B 适用于所有客户端——对话内支付插件只在部分版本与安装方式下注入。
把全部用户挡在路径 A 后面,等于放弃全部成交。
Step 3:支付成功后获取资源(⚠️ 必须执行)
支付成功后,必须携带 X-Out-Trade-No Header 重新请求同一个 invoke 接口——body 与第一次请求完全一致,仅通过 Header 传递订单号:
POST https://skill.zzcxin.cn/api/payskill/zsxq-daily-diary/invoke
Content-Type: application/json
X-Out-Trade-No: WX402_20260816120000abcdef123456
WeixinPay-Required: xY9zAbc123def456
{
"query": "帮我写本周运营日记",
"params": {
"date_range": "2026-08-11 ~ 2026-08-17",
"topic_id": "your_zsxq_topic_id",
"diary_style": "weekly_recap",
"publish": true,
"server_publish_log_path": "/tmp/wx_push/draft_ids.txt"
}
}成功响应(HTTP 200,原样透传):
{
"code": "SUCCESS",
"message": "付费内容",
"out_trade_no": "WX402_20260816120000abcdef123456",
"content": {
"diary": "# 8月11日-8月17日 运营日记nn这周…(350-550字日记正文)",
"posted_topic_id": "12345678",
"publish_status": "published",
"sensitive_checked": true,
"sources": ["服务器发布记录", "自动化任务配置"]
}
}未支付响应(HTTP 200,code=PAYMENT_PENDING):提示"订单未支付成功,请先完成支付",回到 Step 2 路径 B 继续轮询查单,查单显示 paid 后重做本步。
订单不存在(code=TRADE_NOT_FOUND):禁止继续,回 Step 1 重新创建订单。
⚠️ 不携带
X-Out-Trade-NoHeader 重试,永远拿不到付费内容——本步是本技能最容易遗漏的一步,必须执行。
Step 4:支付后重试机制
支付/履约过程中出现以下 可重试错误(用同一 X-Out-Trade-No 重试最多 3 次):
| errorCode | 含义 | 重试策略 |
|---|---|---|
SYSTEM_ERROR | 系统繁忙 | 等待 2 秒后重试 |
SERVER_TIMEOUT | 服务器超时 | 立即重试 |
PAY_SUBMIT_FAILED | 支付提交失败 | 等待 1 秒后重试 |
HTTP 5xx | 服务器繁忙/超时 | 等待 2-3 秒后重试 |
HTTP 429 | 限流 | 等待 5 秒后重试 |
重试规则:同一 X-Out-Trade-No,间隔 1–3 秒,最多 3 次;3 次仍失败进入 Step 5。
不可重试错误(直接走 Step 5):INSUFFICIENT_BALANCE、KYA_AUTH_FAILED、TRADE_CLOSED、INVALID_PARAMS。
Step 5:退款 / 异常处理
| 场景 | 动作 |
|---|---|
| 3 次重试后仍失败 | 提示:"支付失败,请稍后再试",不要自动退款 |
| 余额不足 | 提示:"余额不足请充值",引导用户充值后重试 |
| 身份校验失败 | 提示:"身份校验失败,请重新登录微信 AI 支付" |
| 用户主动取消 | 记录 X-Out-Trade-No 标记「用户取消」,订单 15 分钟后自动关闭 |
| 支付成功但发布/交付失败 | 调用退款接口 POST /api/payskill/zsxq-daily-diary/refund(body 含 order_no),提示:"服务异常,已发起退款" |
| 退款完成 | 提示:"退款已完成,金额将原路退回" |
退款 / 异常处理响应模板:
- "支付完成" — 成功支付
- "履约完成" — 日记已生成并发布
- "资源获取失败" — 后端服务异常
- "交易号格式异常" — out_trade_no 校验未通过
- "余额不足请充值" — INSUFFICIENT_BALANCE
- "身份校验失败" — KYA_AUTH_FAILED
- "订单号格式异常" — X-Out-Trade-No 非 32 位纯数字时严禁任何后续命令
- "资源获取失败" — 后端服务异常
- "交易号格式异常" — orderNo 校验未通过
- "余额不足请充值" — INSUFFICIENT_BALANCE
- "身份校验失败" — KYA_AUTH_FAILED
- "订单号格式异常" — tradeNo 非 32 位纯数字时严禁任何后续命令
工作流(交付成功后,本技能在用户视角下做的事)
Step 1 · 明确输入
- 必须:日期范围(如 8-11 ~ 8-12)、星球 ID / 星主身份
- 可选:本期主题(给方向但以真实检索为准)
- 若只说"写一篇本周日记",默认取最近 7 天
详细检索方法论:加载
prompts/retrieve.md执行四源检索(含来源清单与溯源要求)。
Step 2 · 多源检索真实素材(四源交叉,全部可溯源)
只写检索到的真实事实,不编造:
- 服务器发布记录(如
/tmp/wx_push/draft_ids.txt,SSH 到用户服务器)→ 账号/标题/时间 - 自动化任务配置(automation_update list)→ 定时任务清单/频率
- 工作区文件变更时间线(当天 md/html/png 的 mtime)→ 创作了什么
- 项目记忆日志(Agent 工作区内的当日工作日志文件,路径随用户环境而定)→ 当天做了什么、踩了什么坑
素材不足时如实呈现:宁可写"今天没什么大动作,把 XX 收尾了",也不要编造没发生的"成果"。
Step 3 · 日记体创作(硬约束)
- 第一人称"我":以星主口吻写,不是上帝视角
- 篇幅 350-550 字,轻结构不堆小标题
- 真实 > 完美:不美化、不编数、不写"正确但无聊"的内容
- 工具名如实写(WorkBuddy 任务 / push 脚本 / zsxq CLI…),越具体越可信
详细创作指南:加载
prompts/diary.md(含四段式节奏、真实感技巧、反 AI 味要点);结构参考templates/diary_template.md。
Step 4 · 敏感信息脱敏检查(发布前必过)
逐项打码/改写:服务器 IP、SSH 端口、AppSecret、完整 appid、API Key、Token、Cookie、微信支付商户号/私钥、未证实数据。具体账号名按授权处理。
脱敏清单:加载
prompts/security.md逐项核对(发布前必过,任何一项未处理即不合格)。
Step 5 · 发布 + 429 防重
- 用 zsxq CLI 发布(见 scripts/zsxq_publish.py)
- 429 陷阱处理(强制):先查重再重试——
zsxq topic search查首句是否已存在;已存在则记录"实际已发布"不盲目重试(避免重复帖) - 失败 → 等 5-10 秒重试一次;再失败 → 保存本地并提示手动发布
内容纪律(违反即为不合格)
- 不编数:所有数据必须有检索来源
- 不堆术语:用星主真实的口吻,像人说话
- 每篇一个记忆点:让读者读完后记得一件具体的事(工具/坑/数据)
触发词
"写星球日记""星球周记""运营日记""复盘自动生成""星球内容更新"。
依赖
- Python:
requests、pyyaml - 知识星球 CLI(zsxq)— 用户自备 token(脚本不硬编码任何凭据)
- 微信支付 AI 专属卡有余额
- 服务器 SSH 凭据:用户环境已有通道,本技能不存储
- 配置:
config.yaml(技能根目录)——topic_id(星球 ID)、zsxq_token(星球 token 占位)、publish段(发布开关/CLI 路径),脚本会自动向上查找该文件