SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

wx-article-export

Marketing

WeRSS (we-mp-rss) 微信公众号订阅助手全功能 API 操作。覆盖文章管理、公众号管理、消息任务/定时刷新、任务队列、系统监控、配置管理、RSS订阅源、认证管理、用户管理、导出工具等全部接口。同时支持通过 Edge + 易微信插件批量导出文章为 Markdown + 图片 ZIP。关键词:微信公众号、文章导出、WeRSS、易微信、Markdown、批量下载、mp.weixin.qq.com、消息任务、定时刷新、任务队列、公众号管理。

0estrelas
Ver no GitHub ↗Autor: michaelzhang1987

WeRSS 微信公众号订阅助手 — 全功能 API Skill

连接信息

项目
网站地址http://150.158.112.193:8001
登录账号admin
登录密码admin@123
API 基础路径/api/v1/wx
API 文档http://150.158.112.193:8001/api/docs
公众号总数161
文章总数~28,677 (含转载) / ~25,229 (排除转载后)

认证

# 获取 Token(有效期 259200 秒 = 3 天)
TOKEN=$(curl -s -X POST "http://150.158.112.193:8001/api/v1/wx/auth/login" \
  -d "username=admin&password=admin@123" \
  -H "Content-Type: application/x-www-form-urlencoded" | python -c "import sys,json; print(json.load(sys.stdin)['data']['access_token'])")

# 后续请求携带
curl -s "..." -H "Authorization: Bearer $TOKEN"

注意: 如果 token 过期返回 401,重新登录即可。账号密码永久有效。


一、文章管理 /api/v1/wx/articles

方法路径说明
GET/articles获取文章列表,支持 ?limit=&offset=&mp_id=&status=
POST/articles获取文章列表(POST 方式,body 带筛选条件)
GET/articles/{article_id}获取文章详情
DELETE/articles/{article_id}删除文章
POST/articles/{article_id}/refresh刷新单篇文章(重新抓取内容)
PUT/articles/{article_id}/read标记已读/未读
PUT/articles/{article_id}/favorite收藏/取消收藏
GET/articles/{article_id}/next下一篇文章
GET/articles/{article_id}/prev上一篇文章
DELETE/articles/clean清理无效文章(MP_ID 不存在于 Feeds)
DELETE/articles/clean-old清理指定天数前的旧文章
DELETE/articles/clean_duplicate_articles清理重复文章
GET/articles/refresh/tasks/{task_id}查询文章刷新任务状态

二、公众号管理 /api/v1/wx/mps

方法路径说明
GET/mps获取公众号列表 ?limit=&offset=&kw=
POST/mps添加公众号
GET/mps/{mp_id}获取公众号详情(含 sync_timearticle_count
PUT/mps/{mp_id}更新公众号信息
DELETE/mps/{mp_id}删除公众号
GET/mps/update/{mp_id}刷新公众号文章(核心)支持 ?start_page=&end_page=
GET/mps/search/{kw}搜索公众号
POST/mps/by_article通过文章链接获取公众号详情
POST/mps/featured/article添加精选文章

刷新所有公众号

# 获取所有公众号 ID 并逐个刷新
for offset in 0 30 60 90 120 150; do
  curl -s "http://150.158.112.193:8001/api/v1/wx/mps?limit=30&offset=$offset" \
    -H "Authorization: Bearer $TOKEN" | \
    python -c "import sys,json;[print(a['id']) for a in json.load(sys.stdin)['data']['list']]"
done | while read mp_id; do
  curl -s "http://150.158.112.193:8001/api/v1/wx/mps/update/$mp_id" \
    -H "Authorization: Bearer $TOKEN" > /dev/null
  echo "refreshed $mp_id"
done

三、消息任务(定时刷新)/api/v1/wx/message_tasks

这是实现定时刷新公众号的核心机制。

接口

方法路径说明
GET/message_tasks消息任务列表 ?limit=&offset=&status=
POST/message_tasks创建消息任务
GET/message_tasks/{task_id}获取任务详情
PUT/message_tasks/{task_id}更新任务
DELETE/message_tasks/{task_id}删除任务
GET/message_tasks/{task_id}/run手动执行一次任务
POST/message_tasks/message/test/{task_id}测试消息推送
PUT/message_tasks/job/fresh重载调度器(修改任务后必须调用!)

工作原理

cron 触发 → add_job() → 遍历 mps_id 中的公众号 → 加入主队列
  → do_job() → WxGather.get_Articles() → 真正抓取微信文章
  → web_hook() → 发送通知(副作用)
  • mps_id: "[]" (空数组)= 覆盖全部 155 个公众号
  • mps_id: '[{"id":"MP_WXS_xxx","name":"xxx"}]' = 指定特定公众号
  • 每个公众号增量检查耗时约 5-20 秒
  • 全部 155 个完成一轮约 30 分钟

创建定时刷新任务

# 创建任务
curl -s -X POST "http://150.158.112.193:8001/api/v1/wx/message_tasks" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "定时刷新全部公众号",
    "message_type": 1,
    "message_template": "{\"msg\":\"refresh\"}",
    "web_hook_url": "http://127.0.0.1:8001/api/v1/wx/sys/article/refresh",
    "mps_id": "[]",
    "cron_exp": "0 */8 * * *",
    "status": 1
  }'

# 重载调度器以生效(必须!)
curl -s -X PUT "http://150.158.112.193:8001/api/v1/wx/message_tasks/job/fresh" \
  -H "Authorization: Bearer $TOKEN"

Cron 表达式参考

表达式含义
0 */6 * * *每 6 小时(0:00, 6:00, 12:00, 18:00)
0 */8 * * *每 8 小时(0:00, 8:00, 16:00)
0 1 * * *每天凌晨 1:00
0 2 * * 0每周日凌晨 2:00

当前已配置的任务

  • ID: 7ca37bac-846b-40ac-9c1a-267daf40c9a8
  • Cron: 0 */6 * * * (每 6 小时)
  • 覆盖: 全部 155 个公众号
  • Web UI 管理: http://150.158.112.193:8001/message-tasks

网页端配置路径

  1. 打开 http://150.158.112.193:8001/message-tasks/add
  2. 填写:任务名称、类型选「WebHook」、消息模板填 {"msg":"refresh"}
  3. WebHook 地址填 http://127.0.0.1:8001/api/v1/wx/sys/article/refresh
  4. Cron 表达式选择
  5. 公众号:不选 = 全部
  6. 状态:启用

四、任务队列 /api/v1/wx/task-queue

方法路径说明
GET/task-queue/status总览
GET/task-queue/main/status主队列状态(公众号抓取)
GET/task-queue/content/status内容补抓队列状态
GET/task-queue/history任务执行历史 ?limit=&offset=
GET/task-queue/scheduler/jobs查看当前定时任务
GET/task-queue/scheduler/status调度器运行状态
POST/task-queue/clear清空任务队列
POST/task-queue/history/clear清空任务历史

监控示例

# 查看主队列(是否有积压)
curl -s "http://150.158.112.193:8001/api/v1/wx/task-queue/main/status" \
  -H "Authorization: Bearer $TOKEN" | python -m json.tool

# 查看定时任务(确认调度器工作正常)
curl -s "http://150.158.112.193:8001/api/v1/wx/task-queue/scheduler/jobs" \
  -H "Authorization: Bearer $TOKEN" | python -m json.tool

Web UI: http://150.158.112.193:8001/task-queue


五、系统信息 /api/v1/wx/sys

方法路径说明
GET/sys/info系统信息(OS、Python 版本、微信 Token 到期时间)
GET/sys/resources系统资源(CPU、内存、磁盘、进程)
GET/sys/base_info常规信息
POST/sys/article/refresh手动刷新文章统计
GET/env-exception/stats环境异常统计
GET/env-exception/today今日环境异常

检查微信 Token 到期时间

curl -s "http://150.158.112.193:8001/api/v1/wx/sys/info" \
  -H "Authorization: Bearer $TOKEN" | \
  python -c "import sys,json; d=json.load(sys.stdin)['data']['wx']['expiry']; print(f'到期: {d[\"expiry_time\"]} (剩余 {d[\"remaining_seconds\"]/3600:.0f}h)')"

注意: 微信扫码会话约 3 天过期,需在网页端重新扫码续期。


六、配置管理 /api/v1/wx/configs

方法路径说明
GET/configs所有配置项
POST/configs创建配置
GET/configs/{config_key}单个配置
PUT/configs/{config_key}更新配置
DELETE/configs/{config_key}删除配置

关键配置项

配置 Key当前值说明
server.enable_jobTrue任务调度是否启用
server.threads1处理线程数
interval10抓取间隔(秒)
gather.content_auto_checkTrue是否自动检查文章内容
gather.content_auto_interval59内容检查间隔(分钟)
gather.modelweb抓取模式
cascade.enabledFalse级联/分布式部署
rss.page_size500RSS 每页数量
token_expire_minutes4320API Token 有效期(3天)

七、认证管理 /api/v1/wx/auth

方法路径说明
POST/auth/login账号密码登录
POST/auth/logout注销
POST/auth/refresh刷新 Token
GET/auth/verify验证 Token 有效性
POST/auth/ak/create创建 Access Key
GET/auth/ak/listAccess Key 列表
PUT/auth/ak/{ak_id}更新 Access Key
DELETE/auth/ak/{ak_id}删除 Access Key
POST/auth/ak/{ak_id}/deactivate停用 Access Key
GET/auth/qr/code获取登录二维码
GET/auth/qr/image获取二维码图片
GET/auth/qr/status获取扫码状态
GET/auth/qr/over扫码完成
POST/auth/switch切换微信账号
POST/auth/password/reset重置密码

八、RSS 订阅源(公开,无需认证)

方法路径说明
GET/rssRSS 订阅列表(155 个公众号)
GET/rss/fresh更新并获取 RSS 列表
GET/rss/{feed_id}获取指定公众号文章 RSS
GET/rss/{feed_id}/fresh更新并获取指定公众号文章
GET/rss/{feed_id}/api特定 RSS 源详情
GET/rss/content/{content_id}缓存的文章内容
GET/feed/{feed_id}.{ext}公众号文章源(xml/json/html)
GET/feed/tag/{tag_id}.{ext}按标签获取文章源
GET/feed/search/{kw}/{feed_id}.{ext}搜索公众号文章源

九、标签管理 /api/v1/wx/tags

方法路径说明
GET/tags标签列表
POST/tags创建标签
GET/tags/{tag_id}标签详情
PUT`/

Como adicionar

/plugin marketplace add michaelzhang1987/wx-article-export

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.