{"id":"f39470a8-455f-4c43-849d-27a3d898661a","entityType":"agent","slug":"clawhub-one2agi-wechat-article-grab","name":"微信公众号文章读取器","canonicalUrl":"https://www.xpersona.co/agent/clawhub-one2agi-wechat-article-grab","canonicalPath":"/agent/clawhub-one2agi-wechat-article-grab","generatedAt":"2026-10-11T14:13:33.805Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T09:40:04.672Z","emptyReason":null},"description":"抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。 Skill: 微信公众号文章读取器 Owner: one2agi Summary: 抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。 Tags: latest:1.0.3 Version history: v1.0.3 | 2026-08-13T13:12:14.674Z | user 新增搜狗关键词全文搜索功能 sogou_keyword_fulltext.py v1.0.2 | 2026-07-01T16:38:15.552Z | user 修复 stats 无声失败：当 trends 无匹配时显示尝试过的关键词和建议 v1.0.1 | 2026-07-01T16:28:54.034Z | user SKILL.md 重构降级链路表格：分3层/2层/单路径三类展示，更清晰地反映各命令实际可用路径数 v1.0.0 | 2026-07-0","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17af6d0s919355pqydwf8trph842fmk:wechat-article-grab","sourceUrl":"https://clawhub.ai/one2agi/wechat-article-grab","homepage":"https://clawhub.ai/one2agi/skills/wechat-article-grab","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/one2agi/wechat-article-grab","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/one2agi/skills/wechat-article-grab","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。 Skill: 微信公众号文章读取器 Owner: one2agi Summary: 抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:40:04.672Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:40:04.672Z","emptyReason":null},"stars":null,"forks":null,"downloads":1097,"packageName":null,"latestVersion":"1.0.3","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T09:40:04.659Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T09:40:04.672Z","lastCrawledAt":"2026-10-11T09:40:04.659Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T09:40:04.659Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.3","createdAt":"2026-08-13T13:12:14.674Z","changelog":"新增搜狗关键词全文搜索功能 sogou_keyword_fulltext.py","fileCount":26,"zipByteSize":50632},{"version":"1.0.2","createdAt":"2026-07-01T16:38:15.552Z","changelog":"修复 stats 无声失败：当 trends 无匹配时显示尝试过的关键词和建议","fileCount":25,"zipByteSize":45333},{"version":"1.0.1","createdAt":"2026-07-01T16:28:54.034Z","changelog":"SKILL.md 重构降级链路表格：分3层/2层/单路径三类展示，更清晰地反映各命令实际可用路径数","fileCount":25,"zipByteSize":45106},{"version":"1.0.0","createdAt":"2026-07-01T16:10:31.680Z","changelog":"基于down.mptext.top API域名，需从down.mptext.top/dashboard/api申请key","fileCount":25,"zipByteSize":45049},{"version":"0.1.1","createdAt":"2026-07-01T16:04:43.849Z","changelog":"全新发布：12个命令，支持curl/mptext/Cookie三路降级，支持任意微信文章URL无需biz","fileCount":73,"zipByteSize":190664},{"version":"0.1.0","createdAt":"2026-05-24T08:07:22.925Z","changelog":"多文章并行抓取优化；stats局限性说明；skill.env排除上传","fileCount":23,"zipByteSize":38097}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17af6d0s919355pqydwf8trph842fmk:wechat-article-grab","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T14:13:33.804Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-one2agi-wechat-article-grab/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T09:40:04.672Z","emptyReason":null},"readme":"Skill: 微信公众号文章读取器\n\nOwner: one2agi\n\nSummary: 抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。\n\nTags: latest:1.0.3\n\nVersion history:\n\nv1.0.3 | 2026-08-13T13:12:14.674Z | user\n\n新增搜狗关键词全文搜索功能 sogou_keyword_fulltext.py\n\nv1.0.2 | 2026-07-01T16:38:15.552Z | user\n\n修复 stats 无声失败：当 trends 无匹配时显示尝试过的关键词和建议\n\nv1.0.1 | 2026-07-01T16:28:54.034Z | user\n\nSKILL.md 重构降级链路表格：分3层/2层/单路径三类展示，更清晰地反映各命令实际可用路径数\n\nv1.0.0 | 2026-07-01T16:10:31.680Z | user\n\n基于down.mptext.top API域名，需从down.mptext.top/dashboard/api申请key\n\nv0.1.1 | 2026-07-01T16:04:43.849Z | user\n\n全新发布：12个命令，支持curl/mptext/Cookie三路降级，支持任意微信文章URL无需biz\n\nv0.1.0 | 2026-05-24T08:07:22.925Z | user\n\n多文章并行抓取优化；stats局限性说明；skill.env排除上传\n\nArchive index:\n\nArchive v1.0.3: 26 files, 50632 bytes\n\nFiles: env-guide.md (1588b), references/priority.md (1643b), scripts/core/__init__.py (2651b), scripts/core/http_client.py (5066b), scripts/core/models.py (5070b), scripts/core/security.py (2590b), scripts/core/utils.py (4355b), scripts/fetch_wechat_article.py (9697b), scripts/gzh_article.py (32074b), scripts/mptext_api.py (15383b), scripts/skill.env (73b), scripts/sogou_keyword_fulltext.py (16387b), scripts/trends/__init__.py (866b), scripts/trends/analysis.py (4025b), scripts/trends/api.py (3180b), scripts/trends/formatters/__init__.py (973b), scripts/trends/formatters/base.py (994b), scripts/trends/formatters/html.py (11902b), scripts/trends/formatters/json.py (2126b), scripts/trends/formatters/text.py (1926b), scripts/trends/scoring.py (5347b), scripts/trends/sorting.py (4555b), scripts/wechat_article.py (14747b), skill-card.md (2479b), SKILL.md (3079b), _meta.json (138b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: wechat-article-reader\ndescription: \"抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。\"\nmetadata:\n  allowed-tools: [\"exec\", \"read\", \"write\", \"edit\"]\n---\n\n# 微信公众号文章读取器\n\n## 入口\n```bash\ncd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]\n```\n\n## 环境变量配置\n\n详见 `env-guide.md`（MPTEXT_API_KEY 和 Cookie 的获取与配置说明）。\n\n## 命令（12个）\n\n### 常用命令\n| 命令 | 说明 |\n|------|------|\n| `fetch \"<url>\"` | 抓取单篇文章全文（标题+正文），curl 优先，不需要公众号名 |\n| `full \"公众号名\" [数量]` | 列出某公众号文章+每篇预览前800字，不含阅读量 |\n| `list \"公众号名\" [数量]` | 列出文章标题+摘要digest，不含正文 |\n| `mpsearch \"<关键字>\"` | 按名称搜索公众号，返回名称和fakeid |\n| `stats \"<url>\"` | 拿文章标题搜 trends API，返回相似爆款文章的互动数据（新文章可能无结果） |\n| `trends \"<关键词>\"` | 查某关键词下的爆款文章列表，含阅读/点赞/评论数据 |\n| `compare --accounts \"名1,名2\" [--count N]` | 对比多个公众号的文章列表 |\n| `compare --urls \"url1,url2\"` | 对比多个链接对应的公众号文章列表 |\n| `compare \"<关键词>\"` | 按关键词查爆款文章（不是对比，是搜索） |\n| `resolve \"<标题>\"` | 根据标题搜索并匹配文章链接 |\n\n### 专用命令\n| 命令 | 说明 |\n|------|------|\n| `mparticles \"<fakeid>\" [数量]` | 从 fakeid 查文章列表 |\n| `mparticles_by_url \"<url>\" [数量]` | 从 URL 提取 biz 再查文章列表（URL 需含 `__biz`） |\n| `mpinfo \"<fakeid>\"` | 查公众号主体信息（公司名、是否认证、原创文章数） |\n| `mpdownload \"<url>\" [格式]` | 下载文章正文（mptext 方式，不含标题） |\n\n## 自动降级链路\n\n### 3 层路径\n| 命令 | P1 | P2 | P3 |\n|------|----|----|-----|\n| fetch | curl（免费） | mptext | Cookie |\n| compare --urls | biz→mptext | 正文识别账号名→mptext | Cookie |\n| mparticles_by_url | biz→mptext | 正文识别账号名→mptext | Cookie |\n\n### 2 层路径\n| 命令 | P1 | P2 |\n|------|----|----|\n| list | mptext | Cookie |\n| full | mptext | Cookie |\n| compare --accounts | mptext | Cookie |\n| resolve | mptext | Cookie |\n| mpsearch | mptext | Cookie |\n| mparticles | mptext | Cookie |\n| mpdownload | mptext | curl |\n\n### 单路径\n| 命令 | 唯一路径 |\n|------|----------|\n| stats | trends API |\n| trends | trends API |\n| mpinfo | mptext |\n\n## 已知局限\n- **fetch 内容截断**：JS验证拦截的文章只能拿 ~800 字，换 P2 可能完整\n- **mparticles_by_url**：URL 不含 `__biz` 时走正文识别公众号名路径，无需 biz\n- **stats**：仅对爆款文章有效，新文章无结果时提示\"所有关键词查询均失败\"\n- **历史列表不全**：原生 API 最多约 436 篇\n\n详细说明见 `references/priority.md`\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn70ps8raw9bhs1czcvkg53z31842jqm\",\n  \"slug\": \"wechat-article-grab\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1786626734674\n}\n\nFile v1.0.3:references/priority.md\n\n# 微信公众号文章读取器 - 优先级与降级\n\n## fetch 抓取正文\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | curl 多 UA（免费） | 无 | ~80% |\n| P2 | mptext API（开源项目，需 API key） | API key | ~70% |\n| P3 | requests + Cookie | Cookie | ~60% |\n\n- P1 优先，不需要 Cookie，一次网络请求拿到标题+正文\n- P2 为 mptext 开源项目，内容完整但不带标题（需 curl 补标题）\n- P3 是最后兜底，需要 Cookie\n\n### 局限性\n- **内容被截断**：部分文章（含 JS 验证）只能拿到开头 ~800 字，换 P2 可能拿到完整版\n\n---\n\n## list 公众号文章列表\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | mptext API（开源项目，需 API key） | API key | ~80% |\n| P2 | 原生 API | Cookie | ~90% |\n\n### 局限性\n- **历史文章不全**：原生 API 最多约 436 篇，更早历史无法翻到\n\n---\n\n## full 列表 + 每篇摘要\n\n同 list 优先级，先 P1 mptext，失败则 P2 Cookie。\n\n---\n\n## compare / resolve / mpsearch / mparticles / mparticles_by_url\n\n同 list，先 mptext API，失败则 Cookie。\n\n### 局限性\n- **resolve**：标题过于泛化可能导致匹配失败\n\n\n\n## stats\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | trends API | 无 | ~60% |\n\n### 局限性\n- 仅对爆款文章有效，新文章直接用 fetch 分析正文\n\n---\n\n## Cookie 失效表现\n\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复见 `../env-guide.md`\n\n## 浏览器兜底\n\n所有 API 失效时：mavis-browser 截图 + 图像理解\n\nFile v1.0.3:env-guide.md\n\n# 环境变量配置说明\n\n配置文件：`scripts/skill.env`，每行格式 `KEY=VALUE`，无需引号。\n\n---\n\n## MPTEXT_API_KEY（mptext API 密钥）\n\n### 获取地址\n```\nhttps://wechat.faiz-world.com/dashboard/api\n```\n注册后可在 API 页面生成密钥，有效期 4 天（会话级）。\n\n> ⚠️ 注意：部分第三方镜像站（如 down.mptext.top）可能使用不同的 key 体系，请从 API 所属域名获取。\n\n### 配置方式\n```\nMPTEXT_API_KEY=你的密钥\n```\n\n### 用途\nmptext API 的所有接口均需此 key：\n- `search_account` — 搜索公众号\n- `get_articles` — 获取文章列表\n- `download_article` — 下载文章正文\n- `get_author_info` — 查询公众号主体信息\n\n---\n\n## Cookie（微信公众平台 Cookie）\n\n> Cookie 方案为备用方案，大部分场景用 mptext API 即可覆盖。\n\n### 获取方式（推荐：Cookie-Editor 插件）\n\n1. 安装浏览器插件 **Cookie-Editor**（Chrome/Edge 扩展商店有）\n2. 登录微信公众平台 `https://mp.weixin.qq.com/`\n3. 点击 Cookie-Editor 插件图标 → **Export** → 导出为 JSON\n4. 将 JSON 内容发给 agent，说明写入 `scripts/skill.env`\n\n> agent 会将 JSON 转为 `cookie=***` 格式写入配置文件。\n\n### 配置方式\n\n```\ncookie=你的cookie值\ntoken=你的token值\n```\n\n### 用途\n- 公众号文章列表（原生 API）\n- 按 biz 查询公众号信息\n- 获取文章互动数据（阅读/点赞/评论）\n\n### Cookie 失效表现\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复：重新登录微信公众平台，重新获取 Cookie\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\n抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[one2agi](https://clawhub.ai/user/one2agi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers can use this skill to fetch WeChat Official Account article text, search accounts and article lists, compare accounts or URLs, and inspect trending article metrics.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may require sensitive WeChat session cookies for fallback paths.\n\nMitigation: Prefer the mptext API path with a fresh, low-privilege, short-lived API key; avoid pasting full browser cookie exports into an agent or storing them in the skill directory unless the session exposure is acceptable.\n\nRisk: A packaged API key is present in the artifact configuration file.\n\nMitigation: Remove the packaged key before use and replace it with a user-controlled short-lived key.\n\nRisk: Unsafe network handling could expose credentials or reach unintended hosts.\n\nMitigation: Restrict fetches to trusted WeChat-related hosts and avoid the trends path until TLS verification is fixed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/one2agi/skills/wechat-article-grab)\n- [Environment guide](env-guide.md)\n- [Priority and fallback reference](references/priority.md)\n- [mptext API dashboard](https://wechat.faiz-world.com/dashboard/api)\n- [WeChat Official Accounts Platform](https://mp.weixin.qq.com/)\n- [Sogou WeChat search](https://weixin.sogou.com/)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Plain text or Markdown command output, with article content, account metadata, article lists, comparisons, and trend summaries.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May use API keys or WeChat cookies and may return partial article text when upstream anti-crawling or validation limits extraction.]\n\n## Skill Version(s):\n\n1.0.3 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.2: 25 files, 45333 bytes\n\nFiles: env-guide.md (1558b), references/priority.md (1643b), scripts/core/__init__.py (2651b), scripts/core/http_client.py (5066b), scripts/core/models.py (5070b), scripts/core/security.py (2590b), scripts/core/utils.py (4355b), scripts/fetch_wechat_article.py (9697b), scripts/gzh_article.py (32074b), scripts/mptext_api.py (15365b), scripts/skill.env (73b), scripts/trends/__init__.py (866b), scripts/trends/analysis.py (4025b), scripts/trends/api.py (3180b), scripts/trends/formatters/__init__.py (973b), scripts/trends/formatters/base.py (994b), scripts/trends/formatters/html.py (11902b), scripts/trends/formatters/json.py (2126b), scripts/trends/formatters/text.py (1926b), scripts/trends/scoring.py (5347b), scripts/trends/sorting.py (4555b), scripts/wechat_article.py (14747b), skill-card.md (2474b), SKILL.md (2978b), _meta.json (138b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: wechat-article-reader\ndescription: \"抓取微信文章正文、搜索公众号、查文章列表、爆款查询\"\nmetadata:\n  allowed-tools: [\"exec\", \"read\", \"write\", \"edit\"]\n---\n\n# 微信公众号文章读取器\n\n## 入口\n```bash\ncd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]\n```\n\n## 环境变量配置\n\n详见 `env-guide.md`（MPTEXT_API_KEY 和 Cookie 的获取与配置说明）。\n\n## 命令（12个）\n\n### 常用命令\n| 命令 | 说明 |\n|------|------|\n| `fetch \"<url>\"` | 抓取单篇文章全文（标题+正文），curl 优先，不需要公众号名 |\n| `full \"公众号名\" [数量]` | 列出某公众号文章+每篇预览前800字，不含阅读量 |\n| `list \"公众号名\" [数量]` | 列出文章标题+摘要digest，不含正文 |\n| `mpsearch \"<关键字>\"` | 按名称搜索公众号，返回名称和fakeid |\n| `stats \"<url>\"` | 拿文章标题搜 trends API，返回相似爆款文章的互动数据（新文章可能无结果） |\n| `trends \"<关键词>\"` | 查某关键词下的爆款文章列表，含阅读/点赞/评论数据 |\n| `compare --accounts \"名1,名2\" [--count N]` | 对比多个公众号的文章列表 |\n| `compare --urls \"url1,url2\"` | 对比多个链接对应的公众号文章列表 |\n| `compare \"<关键词>\"` | 按关键词查爆款文章（不是对比，是搜索） |\n| `resolve \"<标题>\"` | 根据标题搜索并匹配文章链接 |\n\n### 专用命令\n| 命令 | 说明 |\n|------|------|\n| `mparticles \"<fakeid>\" [数量]` | 从 fakeid 查文章列表 |\n| `mparticles_by_url \"<url>\" [数量]` | 从 URL 提取 biz 再查文章列表（URL 需含 `__biz`） |\n| `mpinfo \"<fakeid>\"` | 查公众号主体信息（公司名、是否认证、原创文章数） |\n| `mpdownload \"<url>\" [格式]` | 下载文章正文（mptext 方式，不含标题） |\n\n## 自动降级链路\n\n### 3 层路径\n| 命令 | P1 | P2 | P3 |\n|------|----|----|-----|\n| fetch | curl（免费） | mptext | Cookie |\n| compare --urls | biz→mptext | 正文识别账号名→mptext | Cookie |\n| mparticles_by_url | biz→mptext | 正文识别账号名→mptext | Cookie |\n\n### 2 层路径\n| 命令 | P1 | P2 |\n|------|----|----|\n| list | mptext | Cookie |\n| full | mptext | Cookie |\n| compare --accounts | mptext | Cookie |\n| resolve | mptext | Cookie |\n| mpsearch | mptext | Cookie |\n| mparticles | mptext | Cookie |\n| mpdownload | mptext | curl |\n\n### 单路径\n| 命令 | 唯一路径 |\n|------|----------|\n| stats | trends API |\n| trends | trends API |\n| mpinfo | mptext |\n\n## 已知局限\n- **fetch 内容截断**：JS验证拦截的文章只能拿 ~800 字，换 P2 可能完整\n- **mparticles_by_url**：URL 不含 `__biz` 时走正文识别公众号名路径，无需 biz\n- **stats**：仅对爆款文章有效，新文章无结果时提示\"所有关键词查询均失败\"\n- **历史列表不全**：原生 API 最多约 436 篇\n\n详细说明见 `references/priority.md`\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn70ps8raw9bhs1czcvkg53z31842jqm\",\n  \"slug\": \"wechat-article-grab\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1782923895552\n}\n\nFile v1.0.2:references/priority.md\n\n# 微信公众号文章读取器 - 优先级与降级\n\n## fetch 抓取正文\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | curl 多 UA（免费） | 无 | ~80% |\n| P2 | mptext API（开源项目，需 API key） | API key | ~70% |\n| P3 | requests + Cookie | Cookie | ~60% |\n\n- P1 优先，不需要 Cookie，一次网络请求拿到标题+正文\n- P2 为 mptext 开源项目，内容完整但不带标题（需 curl 补标题）\n- P3 是最后兜底，需要 Cookie\n\n### 局限性\n- **内容被截断**：部分文章（含 JS 验证）只能拿到开头 ~800 字，换 P2 可能拿到完整版\n\n---\n\n## list 公众号文章列表\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | mptext API（开源项目，需 API key） | API key | ~80% |\n| P2 | 原生 API | Cookie | ~90% |\n\n### 局限性\n- **历史文章不全**：原生 API 最多约 436 篇，更早历史无法翻到\n\n---\n\n## full 列表 + 每篇摘要\n\n同 list 优先级，先 P1 mptext，失败则 P2 Cookie。\n\n---\n\n## compare / resolve / mpsearch / mparticles / mparticles_by_url\n\n同 list，先 mptext API，失败则 Cookie。\n\n### 局限性\n- **resolve**：标题过于泛化可能导致匹配失败\n\n\n\n## stats\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | trends API | 无 | ~60% |\n\n### 局限性\n- 仅对爆款文章有效，新文章直接用 fetch 分析正文\n\n---\n\n## Cookie 失效表现\n\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复见 `../env-guide.md`\n\n## 浏览器兜底\n\n所有 API 失效时：mavis-browser 截图 + 图像理解\n\nFile v1.0.2:env-guide.md\n\n# 环境变量配置说明\n\n配置文件：`scripts/skill.env`，每行格式 `KEY=VALUE`，无需引号。\n\n---\n\n## MPTEXT_API_KEY（mptext API 密钥）\n\n### 获取地址\n```\nhttps://down.mptext.top/dashboard/api\n```\n注册后可在 API 页面生成密钥，有效期 4 天（会话级）。\n\n> ⚠️ 注意：本副本使用 down.mptext.top 作为 API 域名。原始版使用 wechat.faiz-world.com。\n\n### 配置方式\n```\nMPTEXT_API_KEY=你的密钥\n```\n\n### 用途\nmptext API 的所有接口均需此 key：\n- `search_account` — 搜索公众号\n- `get_articles` — 获取文章列表\n- `download_article` — 下载文章正文\n- `get_author_info` — 查询公众号主体信息\n\n---\n\n## Cookie（微信公众平台 Cookie）\n\n> Cookie 方案为备用方案，大部分场景用 mptext API 即可覆盖。\n\n### 获取方式（推荐：Cookie-Editor 插件）\n\n1. 安装浏览器插件 **Cookie-Editor**（Chrome/Edge 扩展商店有）\n2. 登录微信公众平台 `https://mp.weixin.qq.com/`\n3. 点击 Cookie-Editor 插件图标 → **Export** → 导出为 JSON\n4. 将 JSON 内容发给 agent，说明写入 `scripts/skill.env`\n\n> agent 会将 JSON 转为 `cookie=***` 格式写入配置文件。\n\n### 配置方式\n\n```\ncookie=你的cookie值\ntoken=你的token值\n```\n\n### 用途\n- 公众号文章列表（原生 API）\n- 按 biz 查询公众号信息\n- 获取文章互动数据（阅读/点赞/评论）\n\n### Cookie 失效表现\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复：重新登录微信公众平台，重新获取 Cookie\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\n抓取微信文章正文、搜索公众号、查文章列表、爆款查询. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[one2agi](https://clawhub.ai/user/one2agi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to retrieve WeChat public-account article text, search accounts, list recent articles, compare accounts or URLs, and inspect trending article metrics. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can handle WeChat public-platform session cookies and tokens. <br>\nMitigation: Use a dedicated low-privilege account, avoid full personal browser cookies, rotate or revoke cookies after use, and treat scripts/skill.env as sensitive. <br>\nRisk: Article URLs, queries, and account data may be sent to third-party services. <br>\nMitigation: Install only if that data sharing is acceptable for the intended use case and avoid submitting sensitive article or account data. <br>\nRisk: The security evidence flags an intentionally insecure no-SNI TLS bypass client. <br>\nMitigation: Remove or replace the bypass with normally verified HTTPS before trusting results or credentials around this skill. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/one2agi/skills/wechat-article-grab) <br>\n- [Environment Configuration Guide](env-guide.md) <br>\n- [Priority and Fallback Reference](references/priority.md) <br>\n- [mptext API Dashboard](https://down.mptext.top/dashboard/api) <br>\n- [WeChat Public Platform](https://mp.weixin.qq.com/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Console text and Markdown-style summaries, with optional saved article content or configuration updates] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include article titles, extracted body text, account search results, article lists, comparison summaries, trend metrics, and troubleshooting guidance.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 25 files, 45106 bytes\n\nFiles: env-guide.md (1558b), references/priority.md (1643b), scripts/core/__init__.py (2651b), scripts/core/http_client.py (5066b), scripts/core/models.py (5070b), scripts/core/security.py (2590b), scripts/core/utils.py (4355b), scripts/fetch_wechat_article.py (9697b), scripts/gzh_article.py (31824b), scripts/mptext_api.py (15365b), scripts/skill.env (53b), scripts/trends/__init__.py (866b), scripts/trends/analysis.py (4025b), scripts/trends/api.py (3180b), scripts/trends/formatters/__init__.py (973b), scripts/trends/formatters/base.py (994b), scripts/trends/formatters/html.py (11902b), scripts/trends/formatters/json.py (2126b), scripts/trends/formatters/text.py (1926b), scripts/trends/scoring.py (5347b), scripts/trends/sorting.py (4555b), scripts/wechat_article.py (14747b), skill-card.md (2515b), SKILL.md (2978b), _meta.json (138b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: wechat-article-reader\ndescription: \"抓取微信文章正文、搜索公众号、查文章列表、爆款查询\"\nmetadata:\n  allowed-tools: [\"exec\", \"read\", \"write\", \"edit\"]\n---\n\n# 微信公众号文章读取器\n\n## 入口\n```bash\ncd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]\n```\n\n## 环境变量配置\n\n详见 `env-guide.md`（MPTEXT_API_KEY 和 Cookie 的获取与配置说明）。\n\n## 命令（12个）\n\n### 常用命令\n| 命令 | 说明 |\n|------|------|\n| `fetch \"<url>\"` | 抓取单篇文章全文（标题+正文），curl 优先，不需要公众号名 |\n| `full \"公众号名\" [数量]` | 列出某公众号文章+每篇预览前800字，不含阅读量 |\n| `list \"公众号名\" [数量]` | 列出文章标题+摘要digest，不含正文 |\n| `mpsearch \"<关键字>\"` | 按名称搜索公众号，返回名称和fakeid |\n| `stats \"<url>\"` | 拿文章标题搜 trends API，返回相似爆款文章的互动数据（新文章可能无结果） |\n| `trends \"<关键词>\"` | 查某关键词下的爆款文章列表，含阅读/点赞/评论数据 |\n| `compare --accounts \"名1,名2\" [--count N]` | 对比多个公众号的文章列表 |\n| `compare --urls \"url1,url2\"` | 对比多个链接对应的公众号文章列表 |\n| `compare \"<关键词>\"` | 按关键词查爆款文章（不是对比，是搜索） |\n| `resolve \"<标题>\"` | 根据标题搜索并匹配文章链接 |\n\n### 专用命令\n| 命令 | 说明 |\n|------|------|\n| `mparticles \"<fakeid>\" [数量]` | 从 fakeid 查文章列表 |\n| `mparticles_by_url \"<url>\" [数量]` | 从 URL 提取 biz 再查文章列表（URL 需含 `__biz`） |\n| `mpinfo \"<fakeid>\"` | 查公众号主体信息（公司名、是否认证、原创文章数） |\n| `mpdownload \"<url>\" [格式]` | 下载文章正文（mptext 方式，不含标题） |\n\n## 自动降级链路\n\n### 3 层路径\n| 命令 | P1 | P2 | P3 |\n|------|----|----|-----|\n| fetch | curl（免费） | mptext | Cookie |\n| compare --urls | biz→mptext | 正文识别账号名→mptext | Cookie |\n| mparticles_by_url | biz→mptext | 正文识别账号名→mptext | Cookie |\n\n### 2 层路径\n| 命令 | P1 | P2 |\n|------|----|----|\n| list | mptext | Cookie |\n| full | mptext | Cookie |\n| compare --accounts | mptext | Cookie |\n| resolve | mptext | Cookie |\n| mpsearch | mptext | Cookie |\n| mparticles | mptext | Cookie |\n| mpdownload | mptext | curl |\n\n### 单路径\n| 命令 | 唯一路径 |\n|------|----------|\n| stats | trends API |\n| trends | trends API |\n| mpinfo | mptext |\n\n## 已知局限\n- **fetch 内容截断**：JS验证拦截的文章只能拿 ~800 字，换 P2 可能完整\n- **mparticles_by_url**：URL 不含 `__biz` 时走正文识别公众号名路径，无需 biz\n- **stats**：仅对爆款文章有效，新文章无结果时提示\"所有关键词查询均失败\"\n- **历史列表不全**：原生 API 最多约 436 篇\n\n详细说明见 `references/priority.md`\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn70ps8raw9bhs1czcvkg53z31842jqm\",\n  \"slug\": \"wechat-article-grab\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1782923334034\n}\n\nFile v1.0.1:references/priority.md\n\n# 微信公众号文章读取器 - 优先级与降级\n\n## fetch 抓取正文\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | curl 多 UA（免费） | 无 | ~80% |\n| P2 | mptext API（开源项目，需 API key） | API key | ~70% |\n| P3 | requests + Cookie | Cookie | ~60% |\n\n- P1 优先，不需要 Cookie，一次网络请求拿到标题+正文\n- P2 为 mptext 开源项目，内容完整但不带标题（需 curl 补标题）\n- P3 是最后兜底，需要 Cookie\n\n### 局限性\n- **内容被截断**：部分文章（含 JS 验证）只能拿到开头 ~800 字，换 P2 可能拿到完整版\n\n---\n\n## list 公众号文章列表\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | mptext API（开源项目，需 API key） | API key | ~80% |\n| P2 | 原生 API | Cookie | ~90% |\n\n### 局限性\n- **历史文章不全**：原生 API 最多约 436 篇，更早历史无法翻到\n\n---\n\n## full 列表 + 每篇摘要\n\n同 list 优先级，先 P1 mptext，失败则 P2 Cookie。\n\n---\n\n## compare / resolve / mpsearch / mparticles / mparticles_by_url\n\n同 list，先 mptext API，失败则 Cookie。\n\n### 局限性\n- **resolve**：标题过于泛化可能导致匹配失败\n\n\n\n## stats\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | trends API | 无 | ~60% |\n\n### 局限性\n- 仅对爆款文章有效，新文章直接用 fetch 分析正文\n\n---\n\n## Cookie 失效表现\n\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复见 `../env-guide.md`\n\n## 浏览器兜底\n\n所有 API 失效时：mavis-browser 截图 + 图像理解\n\nFile v1.0.1:env-guide.md\n\n# 环境变量配置说明\n\n配置文件：`scripts/skill.env`，每行格式 `KEY=VALUE`，无需引号。\n\n---\n\n## MPTEXT_API_KEY（mptext API 密钥）\n\n### 获取地址\n```\nhttps://down.mptext.top/dashboard/api\n```\n注册后可在 API 页面生成密钥，有效期 4 天（会话级）。\n\n> ⚠️ 注意：本副本使用 down.mptext.top 作为 API 域名。原始版使用 wechat.faiz-world.com。\n\n### 配置方式\n```\nMPTEXT_API_KEY=你的密钥\n```\n\n### 用途\nmptext API 的所有接口均需此 key：\n- `search_account` — 搜索公众号\n- `get_articles` — 获取文章列表\n- `download_article` — 下载文章正文\n- `get_author_info` — 查询公众号主体信息\n\n---\n\n## Cookie（微信公众平台 Cookie）\n\n> Cookie 方案为备用方案，大部分场景用 mptext API 即可覆盖。\n\n### 获取方式（推荐：Cookie-Editor 插件）\n\n1. 安装浏览器插件 **Cookie-Editor**（Chrome/Edge 扩展商店有）\n2. 登录微信公众平台 `https://mp.weixin.qq.com/`\n3. 点击 Cookie-Editor 插件图标 → **Export** → 导出为 JSON\n4. 将 JSON 内容发给 agent，说明写入 `scripts/skill.env`\n\n> agent 会将 JSON 转为 `cookie=***` 格式写入配置文件。\n\n### 配置方式\n\n```\ncookie=你的cookie值\ntoken=你的token值\n```\n\n### 用途\n- 公众号文章列表（原生 API）\n- 按 biz 查询公众号信息\n- 获取文章互动数据（阅读/点赞/评论）\n\n### Cookie 失效表现\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复：重新登录微信公众平台，重新获取 Cookie\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nFetches WeChat article text, searches public accounts, lists account articles, compares account activity, and returns trending article metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[one2agi](https://clawhub.ai/user/one2agi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nAgents and users use this skill to retrieve WeChat article content, search official accounts, inspect article lists, compare accounts, and check trend-style engagement data for public WeChat content. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access WeChat article URLs and a third-party mptext API. <br>\nMitigation: Install only if that network access is acceptable for the intended workspace, and review URLs or content before relying on the returned results. <br>\nRisk: Optional WeChat cookie and token values can represent a logged-in WeChat platform session. <br>\nMitigation: Prefer using only the mptext API key; avoid providing browser cookies unless necessary, keep them out of logs, and revoke or refresh the session after use. <br>\nRisk: The security evidence flags insecure anti-scraping network behavior. <br>\nMitigation: Review the skill before installation and run it only in environments where the documented network behavior is acceptable. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/one2agi/skills/wechat-article-grab) <br>\n- [Environment configuration guide](env-guide.md) <br>\n- [Priority and fallback reference](references/priority.md) <br>\n- [mptext API dashboard](https://down.mptext.top/dashboard/api) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or plain text with CLI command examples and fetched article, account, comparison, or metrics output.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May require MPTEXT_API_KEY or optional WeChat cookie/token values in scripts/skill.env; results depend on remote WeChat and mptext service availability.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0: 25 files, 45049 bytes\n\nFiles: env-guide.md (1558b), references/priority.md (1643b), scripts/core/__init__.py (2651b), scripts/core/http_client.py (5066b), scripts/core/models.py (5070b), scripts/core/security.py (2590b), scripts/core/utils.py (4355b), scripts/fetch_wechat_article.py (9697b), scripts/gzh_article.py (31824b), scripts/mptext_api.py (15365b), scripts/skill.env (53b), scripts/trends/__init__.py (866b), scripts/trends/analysis.py (4025b), scripts/trends/api.py (3180b), scripts/trends/formatters/__init__.py (973b), scripts/trends/formatters/base.py (994b), scripts/trends/formatters/html.py (11902b), scripts/trends/formatters/json.py (2126b), scripts/trends/formatters/text.py (1926b), scripts/trends/scoring.py (5347b), scripts/trends/sorting.py (4555b), scripts/wechat_article.py (14747b), skill-card.md (2461b), SKILL.md (2820b), _meta.json (138b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: wechat-article-reader\ndescription: \"抓取微信文章正文、搜索公众号、查文章列表、爆款查询\"\nmetadata:\n  allowed-tools: [\"exec\", \"read\", \"write\", \"edit\"]\n---\n\n# 微信公众号文章读取器\n\n## 入口\n```bash\ncd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]\n```\n\n## 环境变量配置\n\n详见 `env-guide.md`（MPTEXT_API_KEY 和 Cookie 的获取与配置说明）。\n\n## 命令（12个）\n\n### 常用命令\n| 命令 | 说明 |\n|------|------|\n| `fetch \"<url>\"` | 抓取单篇文章全文（标题+正文），curl 优先，不需要公众号名 |\n| `full \"公众号名\" [数量]` | 列出某公众号文章+每篇预览前800字，不含阅读量 |\n| `list \"公众号名\" [数量]` | 列出文章标题+摘要digest，不含正文 |\n| `mpsearch \"<关键字>\"` | 按名称搜索公众号，返回名称和fakeid |\n| `stats \"<url>\"` | 拿文章标题搜 trends API，返回相似爆款文章的互动数据（新文章可能无结果） |\n| `trends \"<关键词>\"` | 查某关键词下的爆款文章列表，含阅读/点赞/评论数据 |\n| `compare --accounts \"名1,名2\" [--count N]` | 对比多个公众号的文章列表 |\n| `compare --urls \"url1,url2\"` | 对比多个链接对应的公众号文章列表 |\n| `compare \"<关键词>\"` | 按关键词查爆款文章（不是对比，是搜索） |\n| `resolve \"<标题>\"` | 根据标题搜索并匹配文章链接 |\n\n### 专用命令\n| 命令 | 说明 |\n|------|------|\n| `mparticles \"<fakeid>\" [数量]` | 从 fakeid 查文章列表 |\n| `mparticles_by_url \"<url>\" [数量]` | 从 URL 提取 biz 再查文章列表（URL 需含 `__biz`） |\n| `mpinfo \"<fakeid>\"` | 查公众号主体信息（公司名、是否认证、原创文章数） |\n| `mpdownload \"<url>\" [格式]` | 下载文章正文（mptext 方式，不含标题） |\n\n## 自动降级链路\n\n| 命令 | P1 | P2 |\n|------|----|----|\n| fetch | curl（免费） | mptext → Cookie |\n| list | mptext | Cookie |\n| full | mptext | Cookie |\n| compare --accounts | mptext | Cookie |\n| compare --urls | mptext | Cookie |\n| resolve | mptext | Cookie |\n| mpsearch | mptext | Cookie |\n| mparticles | mptext | Cookie |\n| mparticles_by_url | mptext（biz→正文识别账号名→查列表） | Cookie |\n| stats | trends API | — |\n| trends | trends API | — |\n| mpinfo | mptext | — |\n| mpdownload | mptext | curl |\n\n## 已知局限\n- **fetch 内容截断**：JS验证拦截的文章只能拿 ~800 字，换 P2 可能完整\n- **mparticles_by_url**：URL 不含 `__biz` 时走正文识别公众号名路径，无需 biz\n- **stats**：仅对爆款文章有效，新文章无结果时提示\"所有关键词查询均失败\"\n- **历史列表不全**：原生 API 最多约 436 篇\n\n详细说明见 `references/priority.md`\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn70ps8raw9bhs1czcvkg53z31842jqm\",\n  \"slug\": \"wechat-article-grab\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1782922231680\n}\n\nFile v1.0.0:references/priority.md\n\n# 微信公众号文章读取器 - 优先级与降级\n\n## fetch 抓取正文\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | curl 多 UA（免费） | 无 | ~80% |\n| P2 | mptext API（开源项目，需 API key） | API key | ~70% |\n| P3 | requests + Cookie | Cookie | ~60% |\n\n- P1 优先，不需要 Cookie，一次网络请求拿到标题+正文\n- P2 为 mptext 开源项目，内容完整但不带标题（需 curl 补标题）\n- P3 是最后兜底，需要 Cookie\n\n### 局限性\n- **内容被截断**：部分文章（含 JS 验证）只能拿到开头 ~800 字，换 P2 可能拿到完整版\n\n---\n\n## list 公众号文章列表\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | mptext API（开源项目，需 API key） | API key | ~80% |\n| P2 | 原生 API | Cookie | ~90% |\n\n### 局限性\n- **历史文章不全**：原生 API 最多约 436 篇，更早历史无法翻到\n\n---\n\n## full 列表 + 每篇摘要\n\n同 list 优先级，先 P1 mptext，失败则 P2 Cookie。\n\n---\n\n## compare / resolve / mpsearch / mparticles / mparticles_by_url\n\n同 list，先 mptext API，失败则 Cookie。\n\n### 局限性\n- **resolve**：标题过于泛化可能导致匹配失败\n\n\n\n## stats\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | trends API | 无 | ~60% |\n\n### 局限性\n- 仅对爆款文章有效，新文章直接用 fetch 分析正文\n\n---\n\n## Cookie 失效表现\n\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复见 `../env-guide.md`\n\n## 浏览器兜底\n\n所有 API 失效时：mavis-browser 截图 + 图像理解\n\nFile v1.0.0:env-guide.md\n\n# 环境变量配置说明\n\n配置文件：`scripts/skill.env`，每行格式 `KEY=VALUE`，无需引号。\n\n---\n\n## MPTEXT_API_KEY（mptext API 密钥）\n\n### 获取地址\n```\nhttps://down.mptext.top/dashboard/api\n```\n注册后可在 API 页面生成密钥，有效期 4 天（会话级）。\n\n> ⚠️ 注意：本副本使用 down.mptext.top 作为 API 域名。原始版使用 wechat.faiz-world.com。\n\n### 配置方式\n```\nMPTEXT_API_KEY=你的密钥\n```\n\n### 用途\nmptext API 的所有接口均需此 key：\n- `search_account` — 搜索公众号\n- `get_articles` — 获取文章列表\n- `download_article` — 下载文章正文\n- `get_author_info` — 查询公众号主体信息\n\n---\n\n## Cookie（微信公众平台 Cookie）\n\n> Cookie 方案为备用方案，大部分场景用 mptext API 即可覆盖。\n\n### 获取方式（推荐：Cookie-Editor 插件）\n\n1. 安装浏览器插件 **Cookie-Editor**（Chrome/Edge 扩展商店有）\n2. 登录微信公众平台 `https://mp.weixin.qq.com/`\n3. 点击 Cookie-Editor 插件图标 → **Export** → 导出为 JSON\n4. 将 JSON 内容发给 agent，说明写入 `scripts/skill.env`\n\n> agent 会将 JSON 转为 `cookie=***` 格式写入配置文件。\n\n### 配置方式\n\n```\ncookie=你的cookie值\ntoken=你的token值\n```\n\n### 用途\n- 公众号文章列表（原生 API）\n- 按 biz 查询公众号信息\n- 获取文章互动数据（阅读/点赞/评论）\n\n### Cookie 失效表现\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复：重新登录微信公众平台，重新获取 Cookie\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nFetches WeChat article text, searches official accounts, lists account articles, and queries trending article metrics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[one2agi](https://clawhub.ai/user/one2agi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to retrieve WeChat article content, inspect official-account article lists, compare accounts or links, and find trending article metrics for analysis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill may send article URLs and queries to third-party services. <br>\nMitigation: Avoid sensitive URLs or queries, review the third-party service terms before use, and run the skill only in environments approved for that data sharing. <br>\nRisk: The skill can use WeChat publisher-platform cookies and stores API keys or cookies in scripts/skill.env. <br>\nMitigation: Use a throwaway or least-privilege account, do not provide personal or production cookies, protect scripts/skill.env as secret storage, and rotate keys or cookies after use. <br>\nRisk: The authoritative security scan reports unsafe network bypass behavior. <br>\nMitigation: Run the skill in an isolated workspace with constrained network access and review network destinations before relying on results. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/one2agi/skills/wechat-article-grab) <br>\n- [Environment configuration guide](env-guide.md) <br>\n- [Priority and fallback reference](references/priority.md) <br>\n- [mptext API key dashboard](https://down.mptext.top/dashboard/api) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, HTML, Shell commands, Configuration guidance] <br>\n**Output Format:** [Terminal text with optional markdown, JSON, or HTML article and trend outputs] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include article text, titles, links, account identifiers, previews, and engagement metrics.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.1: 73 files, 190664 bytes\n\nFiles: env-guide.md (1588b), references/priority.md (1643b), scripts/articles/01_只记住利他思维是做不好小红书的。.txt (197b), scripts/articles/02_别再怀疑被限流了，你的小红书号大概率没毛病。.txt (215b), scripts/articles/03_怎么在小红书上捡钱？答：看30分钟新闻联播。.txt (6916b), scripts/articles/04_你还在苦恼小眼睛不过百吗？.txt (188b), scripts/articles/05_经常收到很多新手小白的问题，做小红书博主发第一条笔记之前到底要不要养号？.txt (257b), scripts/articles/06_想做小红书，第一件事就是找对标、模仿爆款——这没错，这是基本功。.txt (245b), scripts/articles/07_26年小红书没有自然流了.txt (11494b), scripts/articles/08_踩坑5个赛道后发现了这2个小众红利赛道，1篇笔记狂涨千粉.txt (21826b), scripts/articles/09_做这么多的账号诊断，看过这么多账号之后，我发现普通人做账号有一个比较普遍的误区。.txt (269b), scripts/articles/10_3年涨粉200W，做自媒体就是找BUG的无限游戏.txt (7049b), scripts/articles/11_4个月兼职从0做出2个高价值万粉帐号.txt (26839b), scripts/articles/12_9句话，让你读懂小红书。.txt (7623b), scripts/articles/13_为什么你连续日更30条笔记，还是没有流量？.txt (208b), scripts/articles/14_只有傻子才相信小红书低粉变现.txt (10963b), scripts/articles/15_普通人超详细找对标账号攻略！！.txt (3114b), scripts/articles/16_做自媒体，就像摆摊卖炒粉。.txt (3883b), scripts/articles/17_22岁沪漂，0基础、0审美、0预算，在厂房员工宿舍逆袭成1.7w粉家居博主.txt (16400b), scripts/articles/18_为什么小红书成了新百度，而知乎没有？.txt (203b), scripts/articles/article18_from_tab.txt (2834b), scripts/articles/browser_01_只记住利他思维是做不好小红书的.txt (10208b), scripts/articles/browser_02_别再怀疑被限流了.txt (9673b), scripts/articles/browser_04_你还在苦恼小眼睛不过百吗.txt (9524b), scripts/articles/browser_05_经常收到很多新手小白的问题.txt (9556b), scripts/articles/browser_06_想做小红书第一件事就是找对标.txt (9417b), scripts/articles/browser_09_做这么多的账号诊断.txt (9879b), scripts/articles/browser_13_为什么你连续日更30条笔记还是没有流量.txt (9616b), scripts/articles/browser_18_为什么小红书成了新百度而知乎没有.txt (9370b), scripts/articles/l_list.txt (12904b), scripts/articles/new_01_只记住利他思维是做不好小红书的.txt (6027b), scripts/articles/new_02_别再怀疑被限流了.txt (5867b), scripts/articles/new_04_你还在苦恼小眼睛不过百吗.txt (5821b), scripts/articles/new_05_经常收到很多新手小白的问题.txt (4703b), scripts/articles/new_06_想做小红书第一件事就是找对标.txt (4561b), scripts/articles/new_09_做这么多的账号诊断.txt (5997b), scripts/articles/new_13_为什么你连续日更30条笔记还是没有流量.txt (4925b), scripts/articles/new_18_为什么小红书成了新百度而知乎没有.txt (5621b), scripts/articles/recovered_01_只记住利他思维是做不好小红书的.txt (3073b), scripts/articles/recovered_02_别再怀疑被限流了，你的小红书号大概率没毛病.txt (2993b), scripts/articles/recovered_04_你还在苦恼小眼睛不过百吗.txt (2970b), scripts/articles/recovered_05_经常收到很多新手小白的问题.txt (2413b), scripts/articles/recovered_06_想做小红书第一件事就是找对标.txt (2340b), scripts/articles/recovered_09_做这么多的账号诊断.txt (3058b), scripts/articles/recovered_13_为什么你连续日更30条笔记还是没有流量.txt (2520b), scripts/articles/recovered_18_为什么小红书成了新百度而知乎没有.txt (2870b), scripts/articles/retry_08_只有傻子才相信小红书低粉变现.txt (10983b), scripts/articles/retry_09_普通人超详细找对标账号攻略.txt (2981b), scripts/articles/retry_10_22岁沪漂逆袭家居博主.txt (16356b), scripts/articles/小红书干货分析报告.html (39975b), scripts/core/__init__.py (2651b), scripts/core/http_client.py (5066b), scripts/core/models.py (5070b), scripts/core/security.py (2590b), scripts/core/utils.py (4355b), scripts/fetch_wechat_article.py (9697b), scripts/gzh_article.py (31824b), scripts/mptext_api.py (15383b), scripts/skill.env (53b), scripts/trends/__init__.py (866b), scripts/trends/analysis.py (4025b), scripts/trends/api.py (3180b), scripts/trends/formatters/__init__.py (973b), scripts/trends/formatters/base.py (994b), scripts/trends/formatters/html.py (11902b), scripts/trends/formatters/json.py (2126b), scripts/trends/formatters/text.py (1926b), scripts/trends/scoring.py (5347b), scripts/trends/sorting.py (4555b), scripts/wechat_article.py (14747b), skill-card.md (2931b), SKILL.md (2820b), _meta.json (138b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: wechat-article-reader\ndescription: \"抓取微信文章正文、搜索公众号、查文章列表、爆款查询\"\nmetadata:\n  allowed-tools: [\"exec\", \"read\", \"write\", \"edit\"]\n---\n\n# 微信公众号文章读取器\n\n## 入口\n```bash\ncd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]\n```\n\n## 环境变量配置\n\n详见 `env-guide.md`（MPTEXT_API_KEY 和 Cookie 的获取与配置说明）。\n\n## 命令（12个）\n\n### 常用命令\n| 命令 | 说明 |\n|------|------|\n| `fetch \"<url>\"` | 抓取单篇文章全文（标题+正文），curl 优先，不需要公众号名 |\n| `full \"公众号名\" [数量]` | 列出某公众号文章+每篇预览前800字，不含阅读量 |\n| `list \"公众号名\" [数量]` | 列出文章标题+摘要digest，不含正文 |\n| `mpsearch \"<关键字>\"` | 按名称搜索公众号，返回名称和fakeid |\n| `stats \"<url>\"` | 拿文章标题搜 trends API，返回相似爆款文章的互动数据（新文章可能无结果） |\n| `trends \"<关键词>\"` | 查某关键词下的爆款文章列表，含阅读/点赞/评论数据 |\n| `compare --accounts \"名1,名2\" [--count N]` | 对比多个公众号的文章列表 |\n| `compare --urls \"url1,url2\"` | 对比多个链接对应的公众号文章列表 |\n| `compare \"<关键词>\"` | 按关键词查爆款文章（不是对比，是搜索） |\n| `resolve \"<标题>\"` | 根据标题搜索并匹配文章链接 |\n\n### 专用命令\n| 命令 | 说明 |\n|------|------|\n| `mparticles \"<fakeid>\" [数量]` | 从 fakeid 查文章列表 |\n| `mparticles_by_url \"<url>\" [数量]` | 从 URL 提取 biz 再查文章列表（URL 需含 `__biz`） |\n| `mpinfo \"<fakeid>\"` | 查公众号主体信息（公司名、是否认证、原创文章数） |\n| `mpdownload \"<url>\" [格式]` | 下载文章正文（mptext 方式，不含标题） |\n\n## 自动降级链路\n\n| 命令 | P1 | P2 |\n|------|----|----|\n| fetch | curl（免费） | mptext → Cookie |\n| list | mptext | Cookie |\n| full | mptext | Cookie |\n| compare --accounts | mptext | Cookie |\n| compare --urls | mptext | Cookie |\n| resolve | mptext | Cookie |\n| mpsearch | mptext | Cookie |\n| mparticles | mptext | Cookie |\n| mparticles_by_url | mptext（biz→正文识别账号名→查列表） | Cookie |\n| stats | trends API | — |\n| trends | trends API | — |\n| mpinfo | mptext | — |\n| mpdownload | mptext | curl |\n\n## 已知局限\n- **fetch 内容截断**：JS验证拦截的文章只能拿 ~800 字，换 P2 可能完整\n- **mparticles_by_url**：URL 不含 `__biz` 时走正文识别公众号名路径，无需 biz\n- **stats**：仅对爆款文章有效，新文章无结果时提示\"所有关键词查询均失败\"\n- **历史列表不全**：原生 API 最多约 436 篇\n\n详细说明见 `references/priority.md`\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn70ps8raw9bhs1czcvkg53z31842jqm\",\n  \"slug\": \"wechat-article-grab\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1782921883849\n}\n\nFile v0.1.1:references/priority.md\n\n# 微信公众号文章读取器 - 优先级与降级\n\n## fetch 抓取正文\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | curl 多 UA（免费） | 无 | ~80% |\n| P2 | mptext API（开源项目，需 API key） | API key | ~70% |\n| P3 | requests + Cookie | Cookie | ~60% |\n\n- P1 优先，不需要 Cookie，一次网络请求拿到标题+正文\n- P2 为 mptext 开源项目，内容完整但不带标题（需 curl 补标题）\n- P3 是最后兜底，需要 Cookie\n\n### 局限性\n- **内容被截断**：部分文章（含 JS 验证）只能拿到开头 ~800 字，换 P2 可能拿到完整版\n\n---\n\n## list 公众号文章列表\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | mptext API（开源项目，需 API key） | API key | ~80% |\n| P2 | 原生 API | Cookie | ~90% |\n\n### 局限性\n- **历史文章不全**：原生 API 最多约 436 篇，更早历史无法翻到\n\n---\n\n## full 列表 + 每篇摘要\n\n同 list 优先级，先 P1 mptext，失败则 P2 Cookie。\n\n---\n\n## compare / resolve / mpsearch / mparticles / mparticles_by_url\n\n同 list，先 mptext API，失败则 Cookie。\n\n### 局限性\n- **resolve**：标题过于泛化可能导致匹配失败\n\n\n\n## stats\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | trends API | 无 | ~60% |\n\n### 局限性\n- 仅对爆款文章有效，新文章直接用 fetch 分析正文\n\n---\n\n## Cookie 失效表现\n\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复见 `../env-guide.md`\n\n## 浏览器兜底\n\n所有 API 失效时：mavis-browser 截图 + 图像理解\n\nFile v0.1.1:scripts/articles/01_只记住利他思维是做不好小红书的。.txt\n\nTitle: 只记住利他思维是做不好小红书的。\r\nURL: https://mp.weixin.qq.com/s/OImHo6EXyK4TIqB5esF3PA\r\n================================================================================\n\nFile v0.1.1:scripts/articles/02_别再怀疑被限流了，你的小红书号大概率没毛病。.txt\n\nTitle: 别再怀疑被限流了，你的小红书号大概率没毛病。\r\nURL: https://mp.weixin.qq.com/s/bVDjuJ0ezbhgEAnQleaUgw\r\n================================================================================\n\nFile v0.1.1:scripts/articles/03_怎么在小红书上捡钱？答：看30分钟新闻联播。.txt\n\nTitle: 怎么在小红书上捡钱？答：看30分钟新闻联播。\r\nURL: https://mp.weixin.qq.com/s/n6yqdMm9OGKeDQUDeax0yw\r\n================================================================================\r\n\r\n怎么在小红书上捡钱？答：看30分钟新闻联播。\r\n L叔珞珈\r\n L叔珞珈\r\n L叔Ai \r\n 在小说阅读器读本章\r\n 去阅读\r\n 在小说阅读器中沉浸阅读\r\n  好课推荐 ▽▽▽顺应市场需求，差异化定位起号专业老师1V1帐号诊断Gemini协助高速提效跟着直播学变现，全程规划突破卡点 @L叔最近不是疯狂的在做账号嘛？然后手上也同时在做5个账号。我大致盘了一下——一个10w粉职场号正在改成好物广告号——一个6w粉积木号正在往10w粉潮玩号冲刺——一个山姆探店号突破1w粉丝——一个二次元资讯号前四条累计了快1w赞——一个非遗陶瓷号刚刚在视频号和小红书都收获了200赞——……现在每个月啥也不干，广告费大概有4-5w左右，如果卖卖货，小10w问题不大。每次一说都有人问我，L叔，你做账号成功率如何？就很好笑你们知道嘛？因为这个人一问，我就知道，这个人大概率就是个菜鸡——在新媒体起号这件事情上——只有菜鸡才在乎成功率。我们这些OG只在乎「容错率」经常会有学员充满热泪的和我说——“L叔，这是我这辈子最后一次对新媒体的尝试…….”他可能会觉得他说这个话是包含着热泪立着深情誓言，充满着对我的无限期待(✧∀✧)，但我真的会害怕朋友们……我做了这么多号，一条就原地起号收获1000赞的概率有多少呢？也就积木那个账号那一次，剩下的都是该死的老老实实的发够数量，或者干脆就根本没做起来。今年我背地里还做了几个账号，都他娘的失败了——1.今年做了个旅游减肥号，我跑去莫干山自己做饭每天爬山半个月，瘦了15斤，感动了自己，发了出来，一个月只收获了10个赞。2.今年我还做了个给离职博主诊断的账号，然后我做了3个月，那些离职博主都他娘的回去上班了…….一群没出息的。3.我甚至还做了个汽车账号，结果拍到一半，为了还债把车给卖了你们觉得我的成功率有多少？我只能说我的容错率是60%——我允许自己3次里面失败2次，但是我每个月都在尝试，所以就算失败了，也就1个月的时间而已，但我能够保证3个月一定会有个结果的产出。但是高手都会告诉你，平台的红利周期才是他娘的最宝贵的——小红书的红利周期有多久呢？我在这期播客节目里面分析过——「小红书红利周期至少还有12个月-18个月的时间」你们可以去听——我不能保证我的每次尝试都有结果，但是按照我的容错率，我起码能保证到红利周期结束，我还能拥有4-6个新的项目，去帮我度过新的一轮【流量寒冬】那种发内容都没有流量，没有点赞，没有涨粉，甚至还会掉粉的感觉——我相信很多公众号，微博，知乎，抖音时代过来的人，应该都很清楚吧 ：）每次都有人问我，“L叔，我想知道怎么把小红书账号做起来。”我都会给他一个标准答案——“你就多发，多发好的内容。”你看，我也没说错嘛，反正他第一不能多发，第二他也发不出好的内容。人啊，就喜欢这种啥也没有的假惺惺的废话。他又没给我钱，我为啥耗费的力气说真相。如果你们想听点残忍的真话的话——可以来报名我的小红书，咱们关起门直播间里说——很多人就是这样，宁愿在大而空的假话里面耗死，也不愿意老老实实做点别的。说点真话吧。宁愿每天沉浸在抖音小红书上面看各种娱乐热点出轨小三灭渣男，也不愿意老老实实看30分钟新闻联播，少学点珂学吧朋友们。新闻联播真的有用啊朋友们——你们知道一条新闻里面蕴含着多少机会嘛？去年3月，我看了一条「国产积木围殴乐高」的财经新闻，这个标题味儿冲的我都难以忘怀你们知道嘛？嗅出了国产积木市场规模在增长，乐高的市场规模在下滑，你仔细一分析，这不就是增长的市场需求嘛？而小红书不就是一个大家想买买买，然后去疯狂搜搜的平台嘛？市场上有需求，就会在小红书诞生搜索需求，你就会有流量啊啊啊啊啊啊啊。然后我就做了个教大家选购国产积木的小红书账号，1年全矩阵涨粉10w，现在已经快成为小红书积木赛道一哥了你们知道嘛多说一句，这个赛道的对手是真的菜，一年下来，一个能打的都没有，前同行们你们快入局吧，我想被你们虐死。（你们那个行业真的具体的，你们也可以听这期播客，我也详细分析了至于今年，那机会就更多了朋友们——今年3月，全世界应该都知道【港人北上疯狂购物】吧？我家最近每周末都买不到大闸蟹，都被香港人买爆了，然后还排队让盒马的师傅加工 因为生食不能入境香港。你们肯定99%的人都在疯狂嘲笑港人，但为什么只有我一个人嗅到机会呢？港人今年入境香港的有多少人？光深圳统计就有快7000w人次，你们知道这里面可以诞生多少流量嘛？一个人来一次大陆，起码要在互联网上搜索50-100次吧？这波70个亿的流量你们就不心动嘛？我心动的很啊啊啊啊。于是我就分析，香港人去哪购物？新闻都说了啊啊啊啊啊，山姆跟盒马啊啊啊啊。他们肯定要搜：山姆好物，山姆推荐，山姆十大高性价比商品。去哪搜啊啊啊啊，小红书啊啊啊啊啊！然后我就做了个山姆好物博主——不露脸，不出镜，每周去一次，生产一周内容。3个月涨了8000粉，每个月广告收入5000+这个赛道对手比积木还菜。我们有学员，在校大学生，人生第一次做自媒体，做了个联名资讯号，2个月涨粉2w+，现在都有自己的小团队了，实现了经济自由。我们还有学员做自由职业号，躺平养老号，都是第一次错，就都蹭蹭蹭的起飞。我为什么如此多的账号，还要去做一个陶瓷非遗号，甚至年底还要做一个无人机培训号？为什么他们成功率那么高？ 为什么我要这样疯狂去做账号？什么是流量寒冬？具体原因，课程揭晓。 往期回顾 【这4个赛道，真的就是谁做谁崩溃，有一个算一个】【请立即停止小红书的作死行为：看号】【3个垃圾赛道，职场人赶紧快跑】【剪辑搬运号，到底有没有希望？】【千粉博主，没有广告，该怎么办？】点击“阅读全文”，报名抢定名额\r\n 阅读原文\n\nFile v0.1.1:scripts/articles/04_你还在苦恼小眼睛不过百吗？.txt\n\nTitle: 你还在苦恼小眼睛不过百吗？\r\nURL: https://mp.weixin.qq.com/s/6lHFvubgBGWLMvWiOqYuMA\r\n================================================================================\n\nFile v0.1.1:scripts/articles/05_经常收到很多新手小白的问题，做小红书博主发第一条笔记之前到底要不要养号？.txt\n\nTitle: 经常收到很多新手小白的问题，做小红书博主发第一条笔记之前到底要不要养号？\r\nURL: https://mp.weixin.qq.com/s/CI1DtljlnAa8UETgJw12Hg\r\n================================================================================\n\nFile v0.1.1:scripts/articles/06_想做小红书，第一件事就是找对标、模仿爆款——这没错，这是基本功。.txt\n\nTitle: 想做小红书，第一件事就是找对标、模仿爆款——这没错，这是基本功。\r\nURL: https://mp.weixin.qq.com/s/dp1lNxFDpdQQhnqmHaac2A\r\n================================================================================\n\nFile v0.1.1:scripts/articles/07_26年小红书没有自然流了.txt\n\nTitle: 26年小红书没有自然流了\r\nURL: https://mp.weixin.qq.com/s/V_zZPdd7DBetMsPluaSqtA\r\n================================================================================\r\n\r\n“26年小红书没有自然流了”\r\n L叔\r\n L叔\r\n L叔Ai \r\n 在小说阅读器读本章\r\n 去阅读\r\n 在小说阅读器中沉浸阅读\r\n  好课推荐 ▽▽▽顺应市场需求，差异化定位起号专业老师1V1帐号诊断Gemini协助高速提效跟着直播学变现，全程规划突破卡点 @L叔2026年已经过了4个多月，自媒体圈弥漫着一种“体感温差”。一边是平台财报上依然亮眼的数据，另一边是中小创作者普遍的体感冰冷。以前随手拍个视频就能获得几万播放，现在精心打磨的内容却往往石沉大海。很多从业者感到困惑：明明我很努力，内容也升级了，为什么流量却更差了？我们要预判2026年乃至未来三年的自媒体生态，必须要剥离情绪，回归商业本质。我的判断很直接：做好准备，99%的平台赛道，将彻底失去“自然流”红利。那个“只要你发布，平台就帮你找观众”的美好时代，伴随着互联网用户增长的见顶，正式结束了。接下来的三年，是一场关于“存量博弈”和“资源配置”的理性计算。01流量分配的底层逻辑：从 1:1:1 到3:2:1要理解为什么现在做号难，首先要看懂平台的生命周期。根据历史规律和最新的财报数据推演，任何互联网平台都会经历五个阶段：种子成长期、高速增长期、资本陷阱期、巨头期、萎缩期。对于创作者而言，体感最好的“高速增长期”——即用户量猛增、平台缺内容的阶段——在2026年的主流平台上已几乎绝迹。抖音已进入绝对的“巨头期”，不缺创作者，只追求极致的商业变现效率；知乎陷入了“萎缩期”，用户流失，侧重于付费会员和教育业务；小红书正处于从“资本陷阱期”向“巨头期”跨越的阶段，财报显示其广告收入占比极高，意味着商业化进程不可逆；B站则正努力从亏损泥潭爬出，通过广告和增值服务寻求盈利。这就导致了流量分配逻辑的根本性转变。过去，平台为了拉新，流量分配大约是1:1:1——一份给商业投流（商家），一份给直播带货（GMV贡献者），还有最大的一份留给自然流（优质内容创作者），用以拉高用户粘性。但现在，随着平台背负巨大的盈利压力，这个比例正在演变为3:2:1。我们可以这样量化理解：假设某平台日活1.4亿。在增长期，可能只有2000万流量用于商业化，剩下1.2亿都是自然流。但到了2026年，为了满足财报预期，5000万流量必须给付费投流，5000万给直播带货，留给普通人的自然流池子被极度压缩到了4000万。用户总量或许微涨，创作者数量却在翻倍，而留下的自然流池子却变小了。这就是所谓的“流量挤兑”。这解释了为什么现在的自媒体人普遍感到焦虑：你不是被针对了，你是被商业机器的效率算法“挤”出去了。在商业变现面前，纯粹的情怀内容如果没有极高的数据表现，权重将被无限后置。02放弃盲目努力，赛道选择的第一性原理在流量稀缺的存量时代，“选择”的权重远大于“努力”。很多新人入局时的逻辑是：“我是女生，我喜欢美妆，所以我要做美妆博主”或者“我是宝妈，我有经验，我要做母婴博主”。这种基于“兴趣”和“身份”的决策，在2026年是极其危险的。选赛道的第一性原理，不是你的兴趣，而是竞争对手的数量（供需关系）。让我们看一组真实的数据：在25年国庆期间，好物赛道7天内发布了98万条笔记，穿搭赛道发布了198万条笔记。如果你选择这两个赛道，意味着你要在几百万条同质化内容中突围，对手不仅有和你一样的几十万素人，还有专业的MCN机构和拿着百万预算投放的品牌方。这不叫创业，这叫在红海里裸泳。那么，普通人的机会在哪里？答案在于“算”。以后做号，靠的不是命，而是数据思维。请记住一个公式：黄金赛道= 7天同类笔记数 < 3000条 +平均商单率> 3%。在这个区间里，供需关系是倒挂的——用户需求巨大，但内容供给不足。举两个真实的案例，我们做自媒体就是这样的逻辑。案例一：“山姆好物”细分赛道在这个赛道，数据显示7天发布的笔记数约为5000条，但商单数高达200条，商单率约为13%。这意味着什么？意味着极高的变现确定性。有的博主甚至不需要露脸，不需要精美的剪辑。他们只是拿着手机去山姆超市，对着商品拍一圈，每条视频拍5-6个品，配上AI生成的文案和配音。因为内容供给少，用户搜索需求大（找购物攻略），这样的内容依然能获得稳定的流量和广告收入。案例二：“PPT/虚拟资料”赛道这是一个典型的“短路径转化”赛道。PPT模板、行业资料包（如教资课件、考公资料）、甚至手机壁纸，这类产品的特点是：刚需、低价（9.9元左右）、决策成本极低。用户看到好看的模板，不需要博主建立多么深厚的人设，直接就会下单。平台算法发现你的笔记转化率高（能帮平台赚钱），就会自动给你推流。数据显示，某些细分的“资料包”赛道，笔记竞争极小，但转化效率惊人。这才是普通人的生存逻辑：避开那些大厂看不上、精英不愿做、但真实存在需求的“缝隙”，利用供需差来获利。03策略一：从“艺术家”转型为“项目经理”既然单账号起号的概率在降低（据测算，在自然流枯竭的背景下，做一个头部大号的成功率可能低于0.1%），那么普通人的应对策略是什么？我的建议是：放弃打造千万粉大号的英雄主义，转型为运作“个人矩阵”的项目经理。为什么要做矩阵？因为单账号极其脆弱。双11、618或许能赚三个月的钱，但剩下的淡季可能颗粒无收。且单账号面临极大的数据焦虑，一旦被限流或封号，所有资产归零。未来的自媒体人，应该像经营一家微型公司一样经营自己：1.  把账号当项目：设定止损线和盈利目标，不掺杂过多个人情绪。2.  利用AI降本增效：AI就是你的文案、你的剪辑、你的摄影师。3. 多点布局：同时运营3-5个账号，覆盖不同赛道。比如，你可以同时拥有一个“山姆好物号”接广告，一个“虚拟资料号”做自动成交，一个“垂直行业资讯号”做社群引流。东方不亮西方亮。当你手握几个不同变现路径的账号时，你就拥有了对抗平台算法波动的“容错率”。这时候，你不再是一个焦虑的创作者，而是一个理性的资源配置者。04策略二：视频播客，长内容的“一鱼多吃”如果你不具备做矩阵的精力，或者你本身擅长深度内容，那么2026年还有一个巨大的红利窗口：视频播客。这背后的逻辑是平台战略的转移。当用户增长见顶（量涨不动了），所有平台（抖音、小红书、B站）都开始追求“高质量用户的停留时长”。平台需要从“泛娱乐”转向“有用/学习”，以留住高净值人群。视频播客，正是目前唯一能兼容所有主流平台、且被各大平台争相扶持的内容形态。我们观察到，罗永浩、杨天真等头部IP都在大力布局播客。为什么？因为它是“一鱼多吃”极致性价比的代表。标准公式：一期节目= 5种分发1.  录制：找个朋友聊45分钟，或者自己对着镜头讲一个深度话题（双机位拍摄）。2.  长视频：剪辑成视频播客，分发B站、YouTube、小红书长视频，吃长尾流量。3.  音频：提取音频，分发小宇宙、喜马拉雅、网易云，吃通勤场景流量。4.  短视频：将精彩片段切片成3-4条短视频，分发抖音、视频号、小红书，做引流。5. 图文：将逐字稿通过AI改写成深度文章，分发公众号、知乎。这种模式解决了两个痛点：第一，解决了流量获取的广度问题。全网分发，总有一个平台能爆。第二，解决了信任建立的深度问题。短视频只能带来快感，但长达30分钟的陪伴式内容，能建立极强的用户信任，这对后续的高客单价变现（如课程、咨询、高知社群）至关重要。而且，现在的技术门槛极低。甚至出现了“AI视频播客”的玩法。比如在YouTube上，有博主制作“英语学习播客”或“中文学习播客”，内容完全由AI生成对话，配上简单的画面，依然能获得几十万的订阅和稳定的平台分成。因为对于语言学习者来说，他们关注的是内容本身，而非背后是否是真人。05未来三年，四类生存者画像综上所述，未来3-5年，能够在中国自媒体生态中存活并盈利的人，将主要集中在以下四类：第一类：天龙人（Top 0.1%）内容能力极强，拥有无可替代的创意或人格魅力（如影视飓风、何同学）。他们的内容能为平台带来新用户和品牌调性，因此无论平台规则如何变，他们永远享有特权流量。但这属于极少数，不具备普适性。第二类：人民币玩家（ROI操盘手）他们不依赖自然流，而是把自媒体当成生意。算好账，只要投入100元薯条/千川能赚回120元，就无限放大。这类人需要极强的商业敏感度和投流技术。第三类：矩阵操盘手（普通人的最优解）利用AI工具，批量复制经过验证的细分赛道（如好物、资料包、资讯号）。他们不追求单号大爆，追求的是“确定性”和“矩阵总收益”。他们是自媒体流水线上的工头。第四类：长内容工匠（视频播客主）具备深度思考能力，利用“一鱼多吃”策略，通过长内容筛选高净值用户，走高客单价变现路线。结语：在夹缝中，捡金子写到最后，我想说的是，2026年的自媒体环境确实变得更“严谨”了。它不再是那个凭运气、凭灵感就能暴富的赌场，而变成了一个需要精细化运营、需要数据支撑的战场。但这并不代表没有机会。相反，当潮水退去，盲目跟风的投机者离场，留下的才是真正的“生态位”。无论你是选择做理性的“矩阵操盘手”，还是做深度的“播客创作者”，请记住：不要用战术上的勤奋（盲目更文），掩盖战略上的懒惰（不去算数据、不去看财报、不分析供需）。关掉那些让你焦虑的“爆款方法论”，去研究平台财报，去计算供需比，去寻找那些大厂看不上、但真实存在需求的角落。在夹缝中，依然有金子。 好课推荐 ▽▽▽顺应市场需求，差异化定位起号专业老师1V1帐号诊断Gemini协助高速提效跟着直播学变现，全程规划突破卡点  往期回顾 【这4个赛道，真的就是谁做谁崩溃，有一个算一个】【请立即停止小红书的作死行为：看号】【3个垃圾赛道，职场人赶紧快跑】点击“阅读全文”，报名抢定名额\r\n 阅读原文\n\nFile v0.1.1:scripts/articles/08_踩坑5个赛道后发现了这2个小众红利赛道，1篇笔记狂涨千粉.txt\n\nTitle: 踩坑5个赛道后发现了这2个小众红利赛道，1篇笔记狂涨千粉\r\nURL: https://mp.weixin.qq.com/s/8uUjONi_CgIZOilFmOtyWw\r\n================================================================================\r\n\r\n踩坑5个赛道后发现了这2个小众红利赛道，1篇笔记狂涨千粉\r\n L叔珞珈\r\n L叔珞珈\r\n L叔Ai \r\n 在小说阅读器读本章\r\n 去阅读\r\n 在小说阅读器中沉浸阅读\r\n  新课上线 ▽▽▽顺应市场需求，差异化定位起号专业老师1V1帐号诊断Gemini协助高速提效跟着直播学变现，全程规划突破卡点 @L叔大家好，我是L叔的学员泠山，坐标苏州, 是一个外企打工人。我的工作性质比较特殊，是居家远程办公的。目前在做两个帐号，一个是职场号，远程办公人设，目前有4100多粉丝，接过的广告有AI工具像腾讯混元、51job、前程无忧的平台推广金佰利的外企招聘推广还有惠普笔记本电脑。还有一个养生赛道的账号，现在有2500多粉丝。能明显感受到养生赛道的广告品类是非常丰富的，赛道潜力很大，像女生养生茶、肠胃调理、养肝护肝等等的产品都有找我合作，而且在做账号之余，我也越来越注重自身的保养了，不仅可以找一些选题灵感，还能让我自己的状态也往好的方向发展，感觉是很有意思的一个赛道。很高兴这次受L叔的邀请来和大家做分享。01为什么会打定主意下定决心做小红书？我是怎么开始有做小红书的想法的呢，是在23年4月份，看到珞珈老师发了一篇他成为了小红书积木博主的公众号推文。那个时候AI刚刚开始在国内引起话题，用的人还远没有现在那么多。当我看到珞珈老师几乎没有投入资金，只是借助AI产出内容，就做到了积木赛道的TOP1，我是很受震撼的。当时我立马就把这篇推文分享给了朋友，和他分享也有自己入局做小红书的想法。02人海茫茫，市面上自媒体课程那么多，为什么会选择L叔的课程呢？这就要说到我跟一周进步的缘分😄我从19年成为一周进步的学员，通过一周进步的平台学习了PS，PR，PPT，深度体验过L叔团队的课程质量和各位助教老师的认真负责，有很多年的信任基础了。再加上通过做小红书账号来搞钱，确实是我之前闻所未闻的方式，所以即便我自己当时甚至不是小红书的用户，我手机上没有小红书的App，我也果断决定入局开始做账号，成为了小红书变现营的第一批学员。03做帐号过程中有遇到什么坎么？那坎可太多了。我在一开始选择赛道定位上就是比较兜兜转转，一整个围绕广告位来调整做的内容和方向，那也是当做一个故事分享给大家吧。做下来真的体会到赛道的选择实在是太重要了。因为我跟着L叔上课上得还比较早，23年第一期内测班就开始了，然后也做过很多尝试。我本来以为都删掉了没想到一些还有保留。那就给大家看一下我来时的路吧。最开始上课的时候，我做过这种类似家居好物的分享。那时候刚开始嘛，热情很高涨，买了一些不怎么贵又很有意思的小东西，自己拍视频。23年5月份开始，发了4-5条，经过L叔帐号诊断后知道了不能发单集，就开始转合集发了2-3条。不过因为当时做这个赛道需要买买买，当时买的很多像是桌面摆件，奶油胶的手机配件都堆了很多。然后账号也没有什么起色。那时候课程还没有升级迭代，没有像现在这样零成本起号的野路子，我也不想投入太多的成本，所以我后面就选择了换方向。不过当时这个赛道也跑了有1条百赞的样子，这条我保留下来了，其他基本上都删完了。接着就是23年7月份开始，因为当时我对蓝海赛道还没有概念，然后我会很热爱生活，所以对家居赛道有一点执念。当时我还在上海工作，第一次实现了整租的梦想，是个37平的老破小。我很爱做饭，就把厨房收拾了一下，发了几条关于小面积厨房收纳的视频，流量其实还可以，有个几十赞呢。我觉得上海老破小也算是流量密码吧，会自带一些流量。后面因为老破小的空间实在有限，只有厨房能倒腾倒腾，但真的要好好改造的话又很花成本，我觉得不值得投入，就又转了赛道。然后是24年的3月，我平时刷B站比较多，很爱看一些生活类博主的做饭视频。我自己也很喜欢做饭，那个时候我已经搬来了苏州，居住环境也有了改善，所以就开始试着拍做饭视频。但是真做起来也发现跟我想的不一样。拍完菜都凉了。坚持了一段时间，也几乎不涨粉。我还整了些很文艺的标题，觉得自己可会写了。后来发现这个赛道也实在是很饱和了，我做了8-9篇吧，数据都非常惨淡，所以我就又考虑换赛道了。我觉得做自媒体就是你要是想变现，你就不能自嗨。一个账号能起来，优质的内容和好的运气缺一不可。而选择一个好的赛道，好运气来临的几率就会大一点。04做帐号的过程确实比较曲折，在自己想做的赛道里做了一些尝试，那泠山最终在哪个赛道上做起来了？有什么经验和大家分享？时间来到24年4月下旬的时候，我已经入职半年了，我也不知道为啥突然有一天，就想到要分享我外企远程办公的面试经历，然后就整理一下发了笔记。结果那几条笔记突然就火了。这篇数据也很好。然后基本上这4篇给我带来了500多的粉丝。就是我这个号前期的粉丝基础。但是同时看到这些慢慢起来的流量，我也是挺迷茫的，不知道未来这个帐号要发什么内容，究竟能不能变现，要不要坚持。刚好那时候L叔要开内测版本的线下面授课，我就果断决定要参加。从苏州坐过夜的动卧去到了广州，在L叔的宇宙总部见到了L叔团队的各位。05我记得线下课泠山也是来了两场的，给你最大的帮助是什么？第一次线下课，也是多年网友的面基现场。我本来以为L叔对我不会有什么特别的印象。但没想到他知道我是谁之后第一句话就是啊你是做远程办公账号的，你那个账号很有意思。在这之前我是没有意识到自己误打误撞选了职场赛道里比较稀缺的一个细分赛道，就是突然间撞上一个流量密码，然后你还是很懵的一个情况。听L叔这样说我就非常惊喜。那次线下课L叔给我做了一轮帐号诊断，一个就是告诉你这个账号是可以做下去的，是一个流量密码。第一次线下课后我就回去继续更新，开始发外企远程办公的岗位分享。这个系列的笔记数据一开始的时候简直是太好了，每一篇都能够带差不多250个粉。我第二个1000粉就是靠分享岗位信息涨起来的，那个时候就是过段时间打开就是99+，发了之后都根本不用去担心流量，就特别爽。再说到接广告吧，1000粉开通蒲公英后的第二天我就接到了第一个广告， 是一个AI工具。我一边持续在做远程办公的体验分享，一路就涨到了2-3k粉左右，又接了几个新的广告。时间来到了今年4月的上海场，也是我参加的第二次线下课。我的职场账号因为没有广告位，也进入了新一轮的瓶颈期，刚好那时候斐斐学姐也在现场，我就向她请教了。她就给我提供了布景和拍摄上的建议，给了我很多增加广告位的灵感。回来之后我就按照她的建议开始调整笔记的内容，很快就接到了我特别想接的实物的广告——惠普电脑。这是我第一次接实物的广告，还挺感动的，感觉是在往好的方向发展吧。后来我为了加入更多广告场景，也开始尝试拍vlog。那到最近的这些时间，其实已经成功实现了vlog内容的常规更新了，粉丝量也在这个过程中从3000涨到了4000。因为考虑到图文的场景比较少，但是远程办公的人设涨粉还是非常猛的，所以我也在持续地做一些新尝试和新突破。后续是想着持续优化vlog的场景，像这类型的视频形式就会有一种万物皆可接广的性质，所以我也是很鼓励大家有一定条件的话，可以多去突破一下自己的舒适区的，如果是完全还没开始行动的小伙伴，一定要及时的行动起来~因为只要去做，就肯定会拿到一个结果的，如果这类型视频形式也算是我的一个新账号的话，那我自己其实都已经做了四五个账号了，所以一定不要害怕，先行动！那接下来就分享一下我的另一个账号：养生账号也是在刚说到的第2次线下面授课上听L叔提到了养生赛道的一个很厉害的做法。我很感兴趣，回来之后就新开了一个中式养生账号。开账号那天其实也很抓马，遇到了很多障碍。那天是5月29号，正好L叔在百万博主预备役的群里提醒我们说618开始了，自然流会缩减，建议大家这段时间把内容囤一囤。但是那天我已经下定决心要趁5月的最后几天开始做那个账号，就是虽然之前我拖了一个月啊，但是那天我就决定我一定要开始了，我实在是没有办法空等一个6月。但是我当时忘记了现在是你提交那个注销账号申请之后，要等五个工作日，那个账号才会注销。并且你期间只要登回去1次，这个申请就会被撤销。当时我愣住了，因为我空余的手机号就只剩下那一个了，他不让我注销，我就没有另外的手机号可以开新的账号了。那天已经是下午5点多了，我以为移动营业厅也下班了，结果一查发现我家附近那个营业厅开到7点，我就直接冲过去，新办了一个手机号。回来终于可以注册帐号了，也是卡点满满，像写简介，你不能出现中医的字眼，就你说自己是中医爱好者也不行。他需要你提供相应的资质不然审核就不通过。加上那天刚好又是惠普电脑的广告稿子在走审核，改稿。那个夜晚就搞得我头昏脑涨，最后发出第一篇笔记的时候已经是晚上10点多了。我真的很有决心就是那天一定要把笔记发出来。那时候再过两天就是端午节假期，刚发的时候笔记数据还平平无奇。我就趁618正式来临之前，一鼓作气，连着更新了5篇。为什么是5篇呢？因为在我的理解里，我觉得就是一个帐号要涨粉，主页起码要有5篇笔记才能算是一个像样的帐号，包括后面我发现你要是想要置顶笔记，也是要有至少5篇笔记才可以设置置顶笔记，就刚好也印证了我的这个想法。 然后发完之后，我就开始躺了。没想到，端午假期沉寂了两天，我发的第一篇笔记在假期的最后一天突然大爆了。然后几乎就靠那一篇，一天涨100粉，10天就涨到了1000粉。那几天天天看99+是挺兴奋的，所以也建议大家多尝试不同的赛道，说不定就东方不亮西方亮呢。期间我回顾了一下我上海场线下课的笔记，想起L叔说养生要和非遗结合起来。当时我为了蹭端午的热度，做了两篇笔记。一篇是端午养生食谱，另一篇是古人端午吃什么。然后就数据上来看，虽然都是讲端午节的，但是古人端午吃什么这一篇的数据就比单纯的端午养生食谱好了非常多，然后包括我莫名其妙爆的那一篇，是“古人避暑吃什么？”也是古人作为主语。我觉得这确实也是一个流量密码。千粉之后我就开通了蒲公英，也开始接到了养生的广告。不过在1k粉之后我也感觉流量好像遇到了一个瓶颈期，感觉卡住了一样。这时候L叔团队又来雪中送炭了，L叔蓝海赛道养生跟练正式开启，我第一时间抓紧报名参加。后面我参加了养生跟练之后，对整个账号的外包装、账号的风格进行了一个大的改变，帐号就起死回生涨到2000粉，然后接到了好几个新的广告。每天都忙着跟pr对接的感觉也是被我感受到了。说实话有的时候觉得有点烦，这样说有点凡尔赛啊。但是收入到手的时候还是觉得太香了。虽然现在报价还不高一个广告只是一两百，但是走量嘛，积少成多也是很可观的。06养生跟练有什么收获吗？养生跟练对我来说是一个重要的转折点，我也想在这里简单分享几点在跟练里面的收获1、首先是，跟练让我找到了更适合自己的风格以及坚持更新下去的动力因为当时自己做的时候是浮世绘的风格嘛，虽然它也给我带来过爆款，但是到了一定阶段就会明显感觉到流量就比较少了，我也不知道可以再做什么好，就会感觉被限制在这一个风格里了；跟练的话让我有了更多的风格选择，也让我get到了水彩风格，我觉得这个风格非常清新淡雅，也更符合我本人的审美，我就更有动力去更新内容了，做出来的内容也是自己比较满意的。2、第二个是，无论是图文还是视频，老师教的都很详细即使是小白也不用担心自己学不会，32老师基本都是从比较基础的去教学的。我本身的话是之前跟着L叔学过PPT的，所以设计这块学的会更快一点，但我依旧觉得跟练里面32老师给了我比较多的灵感。32老师的审美一直都很绝很独到，在设计上也有很多小巧思，比如给图片加个阴影，就会让它更加突出，再比如字体这块老师也给了比较多参考，就会让整体的画面焕然一新，账号风格统一的话对我们的涨粉来说也是很有帮助的。3、第三是在选题这一块，L叔打破了我常规的认知一开始我自己会觉得养生账号就只能做养生，如果做比如博物馆之类的选题就会很担心这个内容不够垂直。直到我听了L叔的分析，才知道其实这两类内容的人群画像是差不多的，所以中式养生和传统文化内容一起做对账号涨粉来说也是垂直的，而且我也看到很多同学都做了传统文化的内容，数据都很好，可以说L叔这个角度是另辟蹊径了，也非常有用。另外L叔那边还有提到类似\"生了个好病\"的这种概念，比如痛风、多囊等，还有女性向的选题、饮食红黑榜等等的。我就结合起来去做了一篇多囊主食红黑榜，一发出去数据就跑的很不错。不过几个小时之后，就收到提示说笔记违规了，我后面改了几次还是一直被判违规，实在没办法，就去问了我们跟练营的班班。然后我们可爱又尽职的班班还帮我去问了L叔，然后他告诉我不要出现器官类的标签，我删除了那个标签之后，笔记就没有再违规了。当时我就觉得L叔太厉害了，一眼就可以抓到问题的症结所在！到现在这篇笔记已经有2千赞了。总结一下就是，在跟练里面能够帮助我们建立起对选题的系统性认知，也能给我们很多的选题参考和建议，我们融汇贯通之后去做基本都是没问题的，像现在这个红黑榜的形式我也做了好几篇笔记，数据都是很不错的~所以授人以鱼不如授人以渔，我觉得跟练是让我真的学会了怎么找到一个好选题的方法，而不是只会跟风这样子。4、第四是当技能都掌握了之后，就一定要坚持更新，拼爆款坚持更新这个主要是，我也有看到很多学员，比我更新的勤快的，现在粉丝确实就是比我多很多，比如之前来分享过的三七同学，她的账号三七不加糖现在已经万粉了。我最近比较懒几乎只更了广告笔记，虽然数据也还不错，但更新频率确实还是需要继续提一提；我们想要涨粉想要接广告，肯定是需要先发了笔记才有成为爆款的可能性，发出去后接着根据数据反馈不断优化，然后再去调整，如果完全不发的话那就没有任何的可能性。5、最后我想说，学习没有白走的路在做养生账号之前，我也有参加过联名的跟练，在联名跟练里面，我第一次知道了扣扣图这么好用的一个抠图工具，后面我自己去做一些图文账号的时候，这个工具对我的设计排版都是有非常大的帮助的。所以就是人生没有白走的路，即使后面我没有再做联名号，但是在跟练期间学到的很多技能都是可以迁移到其他赛道上面去的。07做帐号后你最大的变化和收获？我自己有一个理论，叫“人就是活一个感觉”。除了上班赚工资这一条路，如果能有一个搞钱的副业，赚钱就有了新的可能性，生活就有了更多的期待。就是即使还没有真的赚到钱，能有这样的期待，我就觉得是一个好的感觉，当你发现你的分享真的给他人带来了切实的收获，会很有成就感。有一天我的职场号收到了一条私信，就是一个姐妹跟我分享她按照我笔记里分享的找外企的方法成功入职了她家附近的一家外企，她特别的开心，非常感谢我。我看到的时候非常感动，也特别开心，就是自己做的事情是真的有价值的具象体现。另外就是我很幸运，做这个帐号以来没有收到过什么恶评，可能大家都是很想找新工作的，就都比较nice。我评论区问的最多的就是“怎么投？”“还招人吗？”还有一个收获就是我在第一期线下课的时候，跟一起来的同学们进行了很多交流，互相加了微信，可以看到大家日常的朋友圈，有很多的互动，就感觉这个朋友真的是从网线走进了日常的生活。因为我本身身边没有什么做自媒体的朋友可以交流，那通过线下面授课的机会，链接到了一群同样做自媒体的朋友就很好。包括我在那个百万博主群里也经常抢红包，平时大家也会进行一些自媒体方面的交流，我觉得真的很好。08其实泠山中间也是做废过很多帐号的，是怎么支撑你一直没放弃，一路做下去，还坚持在场的呢？主要就是想着除了上班赚工资以外，再多一条赚钱的路。虽然我现在也没多成功吧，但是就像L叔说的，菜鸟才看成功率，高手只看容错率，我相信这是一件很长线的事情，中间有曲折是非常正常的。而且我一直以来，其实对时间方面的沉没成本是不怎么care的，就是我不会很计较你研究自媒体花掉的时间，因为我觉得这些时间你就算不用来做这个事情，可能刷手机也就浪费掉了。我自己也不讨厌这个折腾的过程，即使当下没有获得实际的收益，我也能感受到自己的努力，会比较心安。就回到我前面说的，人就是活一个感觉。你也不知道最后会不会成功，但是只要怀着这样的希冀和信念，就可以支撑自己一直走下去。前面L叔吐槽我太佛了，我自己也这么觉得。我就是会间接性踌躇满志，然后阶段性躺平。而且我发现我的躺平周期差不多是一个月。 这一个月里可能是焦虑地躺平，但是一个月后我就会说躺够了我要动起来了。前几天看直播听其他学员的分享，也是给我打了满满的一波鸡血。第二天我两个账号就都去更新了。做出第二个能涨粉能变现的广告，目前心态比之前要稳很多，非常平静地接受数据起伏，客观理性地去看待。确实最近也是有比较多事情和家里人身体原因更新没有很勤快，但是我是很有信心持续更新和坚持的，只要方向正确，勤奋更新，爆款和广告都是早晚的事。L叔最近不是在研究Youtube帐号嘛，我也是很感兴趣的，我也会继续跟着L叔的脚步去努力的，生命在于折腾嘛~也期待在未来的成长道路上可以和更多的小伙伴相遇。09最后有什么想对新手说的话？首先我觉得大家能看我到这里，看到我上面的分享，你可能已经是L叔的学员，也可能是还没有成为学员的朋友，了解到这么好的课程都是一件很幸运的事情。在这里也特别感谢L叔团队的小笛老师推荐的养生号的广告，当我的养生帐号开始接广，我的帐号被看到之后，其他广告主也是陆续找到我，开始自己接广走上正轨了。然后对于已经有想做自媒体方向的朋友呢，就想对他们说不要犹豫啦，既然已经有了想法，那就放手去做吧。就是L叔提供给正式课学员的那个百大红利赛道文档里面，真的是随便挑一个出来，你选一个你感兴趣的，就撒开手去干吧，听再多别人的经验，也要自己去做了，才会有属于你的答案。那L叔宇宙，就是我心目中的宇宙最强，今天接触到L叔的内容，接触到L叔团队就是宇宙的指引，相信自己当下的感觉，选择L叔一定不会让你后悔的。最后很开心能来到这里和大家分享，期待下一次的线下课可以和同学们再次线下面基。 新课上线 ▽▽▽顺应市场需求，差异化定位起号专业老师1V1帐号诊断Gemini协助高速提效跟着直播学变现，全程规划突破卡点  往期回顾 【这4个赛道，真的就是谁做谁崩溃，有一个算一个】【3个垃圾赛道，职场人赶紧快跑】【剪辑搬运号，到底有没有希望？】点击“阅读全文”，报名抢定名额\r\n 阅读原文\n\nFile v0.1.1:scripts/articles/09_做这么多的账号诊断，看过这么多账号之后，我发现普通人做账号有一个比较普遍的误区。.txt\n\nTitle: 做这么多的账号诊断，看过这么多账号之后，我发现普通人做账号有一个比较普遍的误区。\r\nURL: https://mp.weixin.qq.com/s/6GLGUWCRnoklJY5Gxva0lA\r\n================================================================================\n\nArchive v0.1.0: 23 files, 38097 bytes\n\nFiles: REFACTOR_PLAN.md (5620b), scripts/core/__init__.py (2563b), scripts/core/http_client.py (4894b), scripts/core/models.py (4823b), scripts/core/security.py (2506b), scripts/core/utils.py (4223b), scripts/fetch_wechat_article.py (6300b), scripts/gzh_article.py (14821b), scripts/skill.env (1490b), scripts/trends/__init__.py (829b), scripts/trends/analysis.py (3899b), scripts/trends/api.py (3085b), scripts/trends/formatters/__init__.py (936b), scripts/trends/formatters/base.py (963b), scripts/trends/formatters/html.py (11607b), scripts/trends/formatters/json.py (2070b), scripts/trends/formatters/text.py (1874b), scripts/trends/scoring.py (4725b), scripts/trends/sorting.py (3156b), scripts/wechat_article.py (10869b), skill-card.md (2337b), SKILL.md (6323b), _meta.json (138b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: wechat-article-reader\ndescription: \"Use when user shares a WeChat public account article link, asks to search/list articles by account name, queries trending articles by keyword, or needs WeChat article content read and summarized.\"\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"allowed-tools\": [\"exec\", \"read\", \"write\", \"edit\"],\n      },\n  }\n---\n\n# 微信公众号文章读取器\n\n## 模式选择\n\n| 场景 | 用哪个 |\n|---|---|\n| 我有文章链接，想看全文 | 模式一 |\n| 我有**多个**文章链接，想对比内容 | 模式一（并行） |\n| 我知道公众号名，想查它发了什么 | 模式二 |\n| 我不知道看什么，想找热门文章 | 模式三 |\n| 我有文章链接，想查互动数据 | 模式四 |\n| 我想知道哪些公众号在这个领域表现好 | 模式五 |\n| 我想深度分析爆款文章的创作技巧 | 模式三（分析） |\n\n---\n\n## 模式一：单篇文章URL（无需Cookie）\n\n有文章链接时使用，直接抓取正文。\n\n```bash\npython3 gzh_article.py fetch \"<url>\"\n```\n\n**多文章并行：** 多个 URL 之间无依赖，务必并行调用以节省时间。\n\n```bash\npython3 gzh_article.py fetch \"<url1>\" &\npython3 gzh_article.py fetch \"<url2>\" &\nwait\n```\n\n> ⚠️ `stats` 仅对**爆款文章**（已在三方聚合库中）有效，新发布的深度文章通常查不到。如只需正文内容，直接用 `fetch` 即可，无需调用 `stats`。\n\n---\n\n## 模式二：按公众号名称搜索文章列表（需要Cookie）\n\n查某个公众号最新N篇文章，支持日期筛选和正文预览。\n\n```bash\npython3 gzh_article.py list \"公众号名称\" [文章数] [--preview] [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD]\n```\n\n- 不带 `--preview`：只输出文章列表\n- 带 `--preview`：列表 + 每篇正文预览（约800字）\n\n> ⚠️ API 有访问深度限制，历史文章可能不完整。\n\n---\n\n## 模式三：爆款文章查询（全网）\n\n按关键词搜全网热门文章，不需要 Cookie。输出文字格式（标题、链接、互动数据、摘要）。\n\n```bash\npython3 gzh_article.py trends \"<关键词>\" [--max-items N] [--start-date YYYY-MM-DD]\n```\n\n示例：\n\n```bash\npython3 gzh_article.py trends \"AI\" --max-items 5\npython3 gzh_article.py trends \"职场沟通\" --max-items 10\npython3 gzh_article.py trends \"\"                    # 全网热门，默认15条\n```\n\n数据来源：第三方聚合接口，涵盖低粉高阅读 / 10万+阅读 / 原创靠前 / 数据增长。\n\n**输出包含**：标题、链接、公众号、发布时间、粉丝数、类别、互动数据、文章摘要\n\n### 5 维度分析（可选）\n\n当用户需要深度分析时，可对文章进行 5 维度解读：\n\n1. **爆款原因** — 为什么被转发\n2. **内容特点** — 选题角度、结构、风格\n3. **受众匹配** — 打动了谁\n4. **可复制性** — 能借鉴什么\n5. **数据解读** — 互动数据说明什么\n\n**触发词**：分析、点评、深度解读、5维度\n\n---\n\n## 模式四：查询特定文章的互动数据\n\n通过文章 URL 查询该文章的互动数据（点赞/评论/分享/阅读）。\n\n```bash\npython3 gzh_article.py stats \"<url>\"\n```\n\n> ⚠️ **仅对爆款文章有效**。刚发布的新文章、深度长文通常不在三方聚合库中，查询会返回\"未收录\"。此时应直接使用 `fetch` 获取正文内容进行分析，不必重试 `stats`。\n\n## 模式五：多公众号对比\n\n按公众号聚合数据，对比各账号表现（粉丝、平均阅读、平均互动等）。\n\n```bash\n# 关键词搜索（无需Cookie）\npython3 gzh_article.py compare \"<关键词>\" [数量]\n\n# 指定公众号对比（需要Cookie）\npython3 gzh_article.py compare --accounts 量子位,AI科技迷,差评\n\n# 指定链接对比（需要Cookie）\npython3 gzh_article.py compare --urls \"<url1>\",\"<url2>\"\n```\n\n示例输出：\n```\n📊 公众号数据对比: AI\n\n公众号              粉丝    文章   平均阅读   平均点赞   平均评论\n-----------------------------------------------------------------\n量子位              100w      3     8.5万     1,200        89\nAI科技迷             50w      2     3.2万       450        32\n...\n-----------------------------------------------------------------\n共 2 个公众号 | 5 篇文章\n```\n\n---\n\n## 泛化词治理（重要规则）\n\n**核心规则**：识别为泛化词时，**必须先输出细分词推荐并等待用户选择**，禁止直接调用脚本。\n\n| 泛化词类型 | 示例 | 处理方式 |\n|------------|------|----------|\n| 行业大类词 | 职场、情感、育儿、AI | 先问\"拓展/不拓展\" |\n| 细分词 | 职场沟通、亲子教育、恋爱技巧 | 直接搜索，无需询问 |\n\n**泛化词判断原则**：\n- 无场景/属性修饰 = 泛化词（如\"职场\"）\n- 有具体场景/修饰 = 细分词（如\"职场沟通\"）\n\n**执行流程**：\n1. 用户说\"职场类爆款\" → 识别\"职场\"为泛化词\n2. 回复细分词列表，询问\"拓展/不拓展\"\n3. 用户回复后，才调用脚本执行查询\n\n### 意图识别与筛选\n\n| 意图类型 | 特征 | 筛选侧重 |\n|----------|------|----------|\n| 泛浏览型 | 无明确目标，想看热门 | 全站热门数据 |\n| 明确需求型 | 有具体目标/场景 | 意图匹配度优先 |\n| 数据需求型 | 关注数据表现 | 互动数/阅读数优先 |\n\n### 推荐理由要求\n\n每条结果需包含 ≥15 字推荐理由，基于：\n- 为什么符合用户意图\n- 为什么数据表现好\n- 内容有什么独特价值\n\n### 细分引导\n\n展示完爆款数据后，**必须主动给出 10 个可继续深挖的细分赛道词**，引导下一轮查询。\n\n### 直接输出文字数据\n\n趋势查询完成后直接输出文字格式（标题、链接、公众号、时间、互动数据），不再生成 HTML 文件。\n\n---\n\n## Cookie 配置（模式二需要）\n\n1. 登录 https://mp.weixin.qq.com\n2. F12 → Network → 刷新页面 → 点击任一请求 → Headers → 复制 Cookie\n3. 保存到：`scripts/skill.env`（格式：每个 cookie key=value 单独一行）\n\n> Cookie 会过期，失效后重新获取。\n\n---\n\n## 局限性\n\n- **模式二**：微信 list_ex API 只返回约 436 篇最新文章，更早的历史无法翻到\n- **模式四**：数据来自第三方聚合，非微信官方，可能有少量延迟\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn70ps8raw9bhs1czcvkg53z31842jqm\",\n  \"slug\": \"wechat-article-grab\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1779610042925\n}\n\nFile v0.1.0:REFACTOR_PLAN.md\n\n# 微信文章读取器模块化重构计划\n\n## 项目信息\n- **项目路径**: `/home/morav/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader/scripts/`\n- **目标**: 将 `fetch_gzh_trends.py` (1117行) 拆分为独立模块\n- **原则**: TDD, 向后兼容, 可测试\n\n---\n\n## 目标架构\n\n```\nwechat-article-reader/scripts/\n├── gzh_article.py              # 主入口 (CLI不变)\n├── wechat_article.py           # 公众号文章列表\n├── fetch_wechat_article.py     # 单篇正文抓取\n│\n├── core/                       # 核心共享模块\n│   ├── __init__.py             # 统一导出\n│   ├── models.py               # 数据模型\n│   ├── security.py             # 安全工具\n│   ├── http_client.py          # HTTP客户端\n│   └── utils.py                # 工具函数\n│\n└── trends/                     # 爆款数据模块\n    ├── __init__.py\n    ├── api.py                  # API调用\n    ├── scoring.py              # 评分算法\n    ├── sorting.py              # 排序逻辑\n    └── formatters/             # 格式化器\n        ├── __init__.py\n        ├── base.py\n        ├── text.py\n        ├── json.py\n        └── html.py\n```\n\n---\n\n## 数据模型 (core/models.py)\n\n```python\n# 关键 dataclass\n\n@dataclass\nclass ArticleMetrics:\n    like_count: int = 0\n    comment_count: int = 0\n    share_count: int = 0\n    clicks_count: int = 0\n    interactive_count: int = 0\n\n@dataclass\nclass TrendingArticle:\n    photo_id: str\n    title: str\n    summary: str\n    account_id: str\n    account_name: str\n    fans: int\n    public_time: str\n    metrics: ArticleMetrics\n    ori_url: str = ''\n    cover_url: str = ''\n    category_key: str = ''\n    category_name: str = ''\n\n@dataclass\nclass ScoredArticle:\n    article: TrendingArticle\n    data_score: float = 0.0\n    relevance_score: float = 0.0\n    title_quality: int = 100\n\n@dataclass\nclass TrendingResult:\n    keyword: str\n    raw_categories: Dict[str, List]\n    scored_articles: List[ScoredArticle] = field(default_factory=list)\n```\n\n---\n\n## 阶段1任务分配\n\n| Agent | 文件 | 职责 | 输入 |\n|-------|------|------|------|\n| Agent-1 | core/models.py | 数据模型 dataclass | 已有 core/__init__.py |\n| Agent-2 | core/security.py | 安全函数 (sanitize_*, safe_*) | fetch_gzh_trends.py:20-65 |\n| Agent-3 | core/http_client.py | NoSNIClient 类 | fetch_gzh_trends.py:89-186 |\n| Agent-4 | core/utils.py | parse_count, format_number | core/__init__.py |\n| Agent-5 | core/__init__.py | 统一导出, __all__ | 协调其他模块 |\n\n---\n\n## 阶段2任务分配\n\n| Agent | 文件 | 职责 | 依赖 |\n|-------|------|------|------|\n| Agent-6 | trends/api.py | fetch_trending_data() | core/* |\n| Agent-7 | trends/scoring.py | calculate_*_score() | core/models.py |\n| Agent-8 | trends/sorting.py | merge_and_sort(), ensure_diversity() | core/models.py |\n| Agent-9 | trends/formatters/ | Text/Json/HtmlFormatter | core/* |\n| Agent-10 | trends/__init__.py + cli.py | 统一导出, CLI入口 | trends/* |\n\n---\n\n## 关键函数签名\n\n### core/security.py\n```python\ndef sanitize_http_url(url) -> str\ndef safe_href_url(url) -> str\ndef safe_wechat_account_id(account_id) -> str\ndef safe_filename_from_keyword(keyword: str, max_len: int = 120) -> str\n```\n\n### core/http_client.py\n```python\nclass NoSNIClient:\n    def fetch_json(self, url: str, params: dict, headers: dict) -> dict\n    def fetch_text(self, url: str, params: dict, headers: dict) -> str\n```\n\n### trends/api.py\n```python\ndef fetch_trending_data(\n    keyword: str,\n    start_date: Optional[str] = None,\n    client: Optional[NoSNIClient] = None,\n    debug: bool = False\n) -> TrendingResult\n```\n\n### trends/scoring.py\n```python\ndef calculate_title_quality(title: str) -> int  # 0-100\ndef calculate_relevance_score(article: TrendingArticle, keyword: str) -> float  # 0-15\ndef calculate_data_score(article: TrendingArticle, cat_key: str, keyword: str = '') -> float  # 0-150\ndef score_article(article: TrendingArticle, keyword: str, cat_key: str) -> ScoredArticle\n```\n\n### trends/sorting.py\n```python\ndef merge_and_sort(\n    articles: List[TrendingArticle],\n    keyword: str = '',\n    max_items: int = 10\n) -> List[ScoredArticle]\n\ndef ensure_category_diversity(\n    scored: List[ScoredArticle],\n    max_items: int = 10,\n    min_categories: int = 3\n) -> List[ScoredArticle]\n```\n\n---\n\n## 测试要求\n\n每个模块必须有自己的测试文件：\n- `test_core_models.py`\n- `test_core_security.py`\n- `test_core_http_client.py`\n- `test_core_utils.py`\n- `test_trends_api.py`\n- `test_trends_scoring.py`\n- `test_trends_sorting.py`\n- `test_trends_formatters.py`\n\n---\n\n## 向后兼容\n\n~~`fetch_gzh_trends.py` 保留为兼容层~~ - **已删除旧代码**\n\n新模块直接使用：\n```bash\n# 新的调用方式\nfrom trends.api import fetch_trending_data\nfrom trends.formatters import get_formatter\n```\n\n或通过 CLI：\n```bash\npython3 trends/cli.py --keyword AI --max-items 5\n```\n\n---\n\n## 验证方法\n\n```bash\n# 阶段1完成后\npython3 -c \"from core import *\"\n\n# 阶段2完成后\npython3 trends/cli.py --keyword AI --max-items 5\n\n# 整体验证\npython3 gzh_article.py trends AI --max-items 5\n# 输出应与重构前一致\n```\n\n---\n\n## 更新日志\n\n- 2026-05-23: 创建计划文档\n- 2026-05-23: 阶段1完成 - 5个Agent创建core模块 (88 tests passed)\n- 2026-05-23: 启动阶段2 - 4个Agent并行创建trends模块\n  - trends/api.py - API调用\n  - trends/scoring.py - 评分算法\n  - trends/sorting.py - 排序逻辑\n  - trends/formatters/ - 格式化器\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nFetches, searches, compares, and summarizes WeChat public account articles from shared article links, account names, or trending keywords. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[one2agi](https://clawhub.ai/user/one2agi) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and agents use this skill to retrieve WeChat article text, list recent account articles, query trending articles by keyword, compare account performance, and prepare article summaries or analysis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can use a WeChat session cookie, which should be treated as an account credential. <br>\nMitigation: Remove bundled cookie values, restrict file permissions on skill.env, rotate or delete cookies after use, and install only when this credential access is acceptable. <br>\nRisk: Some searches use external aggregation services and may return incomplete, delayed, or third-party article metrics. <br>\nMitigation: Verify important results against the original article or trusted sources before relying on trend, statistics, or account-comparison output. <br>\nRisk: The security scan flags insecure TLS/SNI-bypass network behavior that users should review before sensitive use. <br>\nMitigation: Review the network code, run the skill in a restricted environment, and avoid using it for sensitive workflows unless the behavior is acceptable. <br>\n\n\n## Reference(s): <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown or plain text with article links, summaries, metrics, comparisons, and command examples.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include fetched article content, interaction metrics, account comparisons, keyword trend results, and follow-up search guidance.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: 微信公众号文章读取器 Owner: one2agi Summary: 抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。 Tags: latest:1.0.3 Version history: v1.0.3 | 2026-08-13T13:12:14.674Z | user 新增搜狗关键词全文搜索功能 sogou_keyword_fulltext.py v1.0.2 | 2026-07-01T16:38:15.552Z | user 修复 stats 无声失败：当 trends 无匹配时显示尝试过的关键词和建议 v1.0.1 | 2026-07-01T16:28:54.034Z | user SKILL.md 重构降级链路表格：分3层/2层/单路径三类展示，更清晰地反映各命令实际可用路径数 v1.0.0 | 2026-07-0","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"cd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]"},{"language":"text","snippet":"https://wechat.faiz-world.com/dashboard/api"},{"language":"text","snippet":"MPTEXT_API_KEY=你的密钥"},{"language":"text","snippet":"cookie=你的cookie值\ntoken=你的token值"},{"language":"bash","snippet":"cd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]"},{"language":"text","snippet":"https://down.mptext.top/dashboard/api"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: wechat-article-reader\ndescription: \"抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。\"\nmetadata:\n  allowed-tools: [\"exec\", \"read\", \"write\", \"edit\"]\n---\n\n# 微信公众号文章读取器\n\n## 入口\n```bash\ncd ~/.openclaw/agents/xingchen/workspace/skills/wechat-article-reader\npython3 scripts/gzh_article.py <command> [args]\n```\n\n## 环境变量配置\n\n详见 `env-guide.md`（MPTEXT_API_KEY 和 Cookie 的获取与配置说明）。\n\n## 命令（12个）\n\n### 常用命令\n| 命令 | 说明 |\n|------|------|\n| `fetch \"<url>\"` | 抓取单篇文章全文（标题+正文），curl 优先，不需要公众号名 |\n| `full \"公众号名\" [数量]` | 列出某公众号文章+每篇预览前800字，不含阅读量 |\n| `list \"公众号名\" [数量]` | 列出文章标题+摘要digest，不含正文 |\n| `mpsearch \"<关键字>\"` | 按名称搜索公众号，返回名称和fakeid |\n| `stats \"<url>\"` | 拿文章标题搜 trends API，返回相似爆款文章的互动数据（新文章可能无结果） |\n| `trends \"<关键词>\"` | 查某关键词下的爆款文章列表，含阅读/点赞/评论数据 |\n| `compare --accounts \"名1,名2\" [--count N]` | 对比多个公众号的文章列表 |\n| `compare --urls \"url1,url2\"` | 对比多个链接对应的公众号文章列表 |\n| `compare \"<关键词>\"` | 按关键词查爆款文章（不是对比，是搜索） |\n| `resolve \"<标题>\"` | 根据标题搜索并匹配文章链接 |\n\n### 专用命令\n| 命令 | 说明 |\n|------|------|\n| `mparticles \"<fakeid>\" [数量]` | 从 fakeid 查文章列表 |\n| `mparticles_by_url \"<url>\" [数量]` | 从 URL 提取 biz 再查文章列表（URL 需含 `__biz`） |\n| `mpinfo \"<fakeid>\"` | 查公众号主体信息（公司名、是否认证、原创文章数） |\n| `mpdownload \"<url>\" [格式]` | 下载文章正文（mptext 方式，不含标题） |\n\n## 自动降级链路\n\n### 3 层路径\n| 命令 | P1 | P2 | P3 |\n|------|----|----|-----|\n| fetch | curl（免费） | mptext | Cookie |\n| compare --urls | biz→mptext | 正文识别账号名→mptext | Cookie |\n| mparticles_by_url | biz→mptext | 正文识别账号名→mptext | Cookie |\n\n### 2 层路径\n| 命令 | P1 | P2 |\n|------|----|----|\n| list | mptext | Cookie |\n| full | mptext | Cookie |\n| compare --accounts | mptext | Cookie |\n| resolve | mptext | Cookie |\n| mpsearch | mptext | Cookie |\n| mparticles | mptext | Cookie |\n| mpdownload | mptext | curl |\n\n### 单路径\n| 命令 | 唯一路径 |\n|------|----------|\n| stats | trends API |\n| trends | trends API |\n| mpinfo | mptext |\n\n## 已知局限\n- **fetch 内容截断**：JS验证拦截的文章只能拿 ~800 字，换 P2 可能完整\n- **mparticles_by_url**：URL 不含 `__biz` 时走正文识别公众号名路径，无需 biz\n- **stats**：仅对爆款文章有效，新文章无结果时提示\"所有关键词查询均失败\"\n- **历史列表不全**：原生 API 最多约 436 篇\n\n详细说明见 `references/priority.md`"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70ps8raw9bhs1czcvkg53z31842jqm\",\n  \"slug\": \"wechat-article-grab\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1786626734674\n}"},{"path":"references/priority.md","content":"# 微信公众号文章读取器 - 优先级与降级\n\n## fetch 抓取正文\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | curl 多 UA（免费） | 无 | ~80% |\n| P2 | mptext API（开源项目，需 API key） | API key | ~70% |\n| P3 | requests + Cookie | Cookie | ~60% |\n\n- P1 优先，不需要 Cookie，一次网络请求拿到标题+正文\n- P2 为 mptext 开源项目，内容完整但不带标题（需 curl 补标题）\n- P3 是最后兜底，需要 Cookie\n\n### 局限性\n- **内容被截断**：部分文章（含 JS 验证）只能拿到开头 ~800 字，换 P2 可能拿到完整版\n\n---\n\n## list 公众号文章列表\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | mptext API（开源项目，需 API key） | API key | ~80% |\n| P2 | 原生 API | Cookie | ~90% |\n\n### 局限性\n- **历史文章不全**：原生 API 最多约 436 篇，更早历史无法翻到\n\n---\n\n## full 列表 + 每篇摘要\n\n同 list 优先级，先 P1 mptext，失败则 P2 Cookie。\n\n---\n\n## compare / resolve / mpsearch / mparticles / mparticles_by_url\n\n同 list，先 mptext API，失败则 Cookie。\n\n### 局限性\n- **resolve**：标题过于泛化可能导致匹配失败\n\n\n\n## stats\n\n| 优先级 | 方法 | 依赖 | 成功率 |\n|--------|------|------|--------|\n| P1 | trends API | 无 | ~60% |\n\n### 局限性\n- 仅对爆款文章有效，新文章直接用 fetch 分析正文\n\n---\n\n## Cookie 失效表现\n\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复见 `../env-guide.md`\n\n## 浏览器兜底\n\n所有 API 失效时：mavis-browser 截图 + 图像理解"},{"path":"env-guide.md","content":"# 环境变量配置说明\n\n配置文件：`scripts/skill.env`，每行格式 `KEY=VALUE`，无需引号。\n\n---\n\n## MPTEXT_API_KEY（mptext API 密钥）\n\n### 获取地址\n```\nhttps://wechat.faiz-world.com/dashboard/api\n```\n注册后可在 API 页面生成密钥，有效期 4 天（会话级）。\n\n> ⚠️ 注意：部分第三方镜像站（如 down.mptext.top）可能使用不同的 key 体系，请从 API 所属域名获取。\n\n### 配置方式\n```\nMPTEXT_API_KEY=你的密钥\n```\n\n### 用途\nmptext API 的所有接口均需此 key：\n- `search_account` — 搜索公众号\n- `get_articles` — 获取文章列表\n- `download_article` — 下载文章正文\n- `get_author_info` — 查询公众号主体信息\n\n---\n\n## Cookie（微信公众平台 Cookie）\n\n> Cookie 方案为备用方案，大部分场景用 mptext API 即可覆盖。\n\n### 获取方式（推荐：Cookie-Editor 插件）\n\n1. 安装浏览器插件 **Cookie-Editor**（Chrome/Edge 扩展商店有）\n2. 登录微信公众平台 `https://mp.weixin.qq.com/`\n3. 点击 Cookie-Editor 插件图标 → **Export** → 导出为 JSON\n4. 将 JSON 内容发给 agent，说明写入 `scripts/skill.env`\n\n> agent 会将 JSON 转为 `cookie=***` 格式写入配置文件。\n\n### 配置方式\n\n```\ncookie=你的cookie值\ntoken=你的token值\n```\n\n### 用途\n- 公众号文章列表（原生 API）\n- 按 biz 查询公众号信息\n- 获取文章互动数据（阅读/点赞/评论）\n\n### Cookie 失效表现\n- token 获取返回 ret≠0\n- 搜索返回空列表\n- 修复：重新登录微信公众平台，重新获取 Cookie"},{"path":"skill-card.md","content":"## Description:\n\n抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[one2agi](https://clawhub.ai/user/one2agi)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers can use this skill to fetch WeChat Official Account article text, search accounts and article lists, compare accounts or URLs, and inspect trending article metrics.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may require sensitive WeChat session cookies for fallback paths.\n\nMitigation: Prefer the mptext API path with a fresh, low-privilege, short-lived API key; avoid pasting full browser cookie exports into an agent or storing them in the skill directory unless the session exposure is acceptable.\n\nRisk: A packaged API key is present in the artifact configuration file.\n\nMitigation: Remove the packaged key before use and replace it with a user-controlled short-lived key.\n\nRisk: Unsafe network handling could expose credentials or reach unintended hosts.\n\nMitigation: Restrict fetches to trusted WeChat-related hosts and avoid the trends path until TLS verification is fixed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/one2agi/skills/wechat-article-grab)\n- [Environment guide](env-guide.md)\n- [Priority and fallback reference](references/priority.md)\n- [mptext API dashboard](https://wechat.faiz-world.com/dashboard/api)\n- [WeChat Official Accounts Platform](https://mp.weixin.qq.com/)\n- [Sogou WeChat search](https://weixin.sogou.com/)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Plain text or Markdown command output, with article content, account metadata, article lists, comparisons, and trend summaries.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May use API keys or WeChat cookies and may return partial article text when upstream anti-crawling or validation limits extraction.]\n\n## Skill Version(s):\n\n1.0.3 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。 Skill: 微信公众号文章读取器 Owner: one2agi Summary: 抓取微信公众号文章、搜索公众号、文章列表、爆款查询与分析。触发场景：mp.weixin.qq.com 链接、微信公众号文章、公众号文章分析。 Tags: latest:1.0.3 Version history: v1.0.3 | 2026-08-13T13:12:14.674Z | user 新增搜狗关键词全文搜索功能 sogou_keyword_fulltext.py v1.0.2 | 2026-07-01T16:38:15.552Z | user 修复 stats 无声失败：当 trends 无匹配时显示尝试过的关键词和建议 v1.0.1 | 2026-07-01T16:28:54.034Z | user SKILL.md 重构降级链路表格：分3层/2层/单路径三类展示，更清晰地反映各命令实际可用路径数 v1.0.0 | 2026-07-0","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":929,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T09:40:04.672Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T09:40:04.672Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:13:33.805Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}