{"id":"54dbcc80-ffa9-416d-afbc-d86096da3dfc","entityType":"agent","slug":"clawhub-gausshj-weixin-cron-push","name":"微信定时推送","canonicalUrl":"https://www.xpersona.co/agent/clawhub-gausshj-weixin-cron-push","canonicalPath":"/agent/clawhub-gausshj-weixin-cron-push","generatedAt":"2026-10-12T07:37:12.390Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T20:54:08.145Z","emptyReason":null},"description":"通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 se... Skill: 微信定时推送 Owner: gausshj Summary: 通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 se... Tags: latest:2.0.0 Version history: v2.0.0 | 2026-04-29T16:08:24.610Z | user Version 2.0.0 of weixin-cron-push - No file changes detected in this release. - All documentation, functionality, and usage remain the same as t","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 994 downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17dnk0kf0wvrrpj0t90k7emy585r7vy:weixin-cron-push","sourceUrl":"https://clawhub.ai/gausshj/weixin-cron-push","homepage":"https://clawhub.ai/gausshj/skills/weixin-cron-push","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/gausshj/weixin-cron-push","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/gausshj/skills/weixin-cron-push","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 se..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:54:08.145Z","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-11T20:54:08.145Z","emptyReason":null},"stars":null,"forks":null,"downloads":994,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"2.0.0","tractionLabel":"994 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:54:08.048Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T20:54:08.145Z","lastCrawledAt":"2026-10-11T20:54:08.048Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T20:54:08.048Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.0","createdAt":"2026-04-29T16:08:24.610Z","changelog":"Version 2.0.0 of weixin-cron-push - No file changes detected in this release. - All documentation, functionality, and usage remain the same as the previous version.","fileCount":5,"zipByteSize":7247},{"version":"0.0.1","createdAt":"2026-04-29T15:57:39.116Z","changelog":"**重大变更：推送机制全面升级为 agentTurn + 独立会话，配置方式与参数大幅调整。** - 推送任务必须使用 --message + --session-key + --announce + --channel openclaw-weixin 参数，实现对指定微信用户的主动投递。 - 不再支持 --system-event + --session main 注入主会话推送，需统一改为独立微信会话桶并显式投递。 - SKILL 文档详细说明如何查找 sessionKey 及推荐的消息管理参数。 - 新增常见问题解答，包括消息延迟、图片/文件推送、sessionKey 绑定流程等实用指引。 - 多账号场景下多处增强，完善 sessionKey 路由与 account 账号指定方法。","fileCount":4,"zipByteSize":5759},{"version":"1.0.0","createdAt":"2026-04-29T12:14:04.680Z","changelog":"weixin-cron-push 1.0.0 初始发布 - 实现通过 OpenClaw Cron 定时任务主动向微信用户推送文本消息（如天气、提醒、新闻摘要）。 - 支持一次性（at）、循环（cron/every）等多种定时任务类型。 - 多微信账号场景下自动路由消息到正确用户。 - 持命令行和 AI 自然语言两种任务创建方式。 - 详尽说明任务参数和常用管理命令。","fileCount":4,"zipByteSize":4682}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17dnk0kf0wvrrpj0t90k7emy585r7vy:weixin-cron-push","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","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-gausshj-weixin-cron-push/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/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-12T07:37:12.390Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-gausshj-weixin-cron-push/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-11T20:54:08.145Z","emptyReason":null},"readme":"Skill: 微信定时推送\n\nOwner: gausshj\n\nSummary: 通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 se...\n\nTags: latest:2.0.0\n\nVersion history:\n\nv2.0.0 | 2026-04-29T16:08:24.610Z | user\n\nVersion 2.0.0 of weixin-cron-push\n\n- No file changes detected in this release.\n- All documentation, functionality, and usage remain the same as the previous version.\n\nv0.0.1 | 2026-04-29T15:57:39.116Z | user\n\n**重大变更：推送机制全面升级为 agentTurn + 独立会话，配置方式与参数大幅调整。**\n\n- 推送任务必须使用 --message + --session-key + --announce + --channel openclaw-weixin 参数，实现对指定微信用户的主动投递。\n- 不再支持 --system-event + --session main 注入主会话推送，需统一改为独立微信会话桶并显式投递。\n- SKILL 文档详细说明如何查找 sessionKey 及推荐的消息管理参数。\n- 新增常见问题解答，包括消息延迟、图片/文件推送、sessionKey 绑定流程等实用指引。\n- 多账号场景下多处增强，完善 sessionKey 路由与 account 账号指定方法。\n\nv1.0.0 | 2026-04-29T12:14:04.680Z | user\n\nweixin-cron-push 1.0.0 初始发布\n\n- 实现通过 OpenClaw Cron 定时任务主动向微信用户推送文本消息（如天气、提醒、新闻摘要）。\n- 支持一次性（at）、循环（cron/every）等多种定时任务类型。\n- 多微信账号场景下自动路由消息到正确用户。\n- 持命令行和 AI 自然语言两种任务创建方式。\n- 详尽说明任务参数和常用管理命令。\n\nArchive index:\n\nArchive v2.0.0: 5 files, 7247 bytes\n\nFiles: README.md (2432b), references/weixin-api.md (2740b), skill-card.md (2534b), SKILL.md (5679b), _meta.json (135b)\n\nFile v2.0.0:SKILL.md\n\n---\nname: weixin-cron-push\ndescription: \"通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 sessionKey。\"\n---\n\n# 微信 Cron 推送\n\n通过 Cron 定时任务实现微信主动推送。\n\n## 原理\n\n```\nCron agentTurn → 独立会话 → --announce + --channel openclaw-weixin → 微信投递到用户手机\n```\n\n关键：\n- `--session-key` 指定用户的微信会话桶（格式：`agent:main:openclaw-weixin:direct:<userId>@im.wechat`）\n- `--announce --channel openclaw-weixin` 确保回复通过微信投递\n- `--message`（agentTurn）而非 `--system-event`（systemEvent 走 main 桶，无法投递）\n\n## 前提\n\n- 微信插件 `openclaw-weixin` 已安装启用\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 用户通过微信给机器人发过至少一条消息（建立 sessionKey）\n\n## 创建任务\n\n### 一次性提醒（at）\n\n```bash\nopenclaw cron add \\\n  --name \"提醒标题\" \\\n  --at \"2026-04-29T10:00:00Z\" \\\n  --message \"请告诉用户：这是提醒内容\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --delete-after-run\n```\n\n### 每日定时推送（cron 表达式）\n\n```bash\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n### 循环间隔（every）\n\n```bash\nopenclaw cron add \\\n  --name \"每小时间隔\" \\\n  --every \"1h\" \\\n  --message \"请执行 XXX 检查并告知用户结果。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n### AI 对话方式\n\n用户直接说\"明天早上8点提醒我开会\"，AI 自动创建任务。AI 需从当前会话获取 sessionKey 并使用上述参数。\n\n## 获取 sessionKey\n\n```bash\n# 方法1：从会话列表查找（找含 openclaw-weixin 的 key）\nopenclaw sessions --json --all-agents | grep openclaw-weixin\n\n# 方法2：从会话文件查找（自动适配 macOS / Linux）\npython3 -c \"\nimport json, pathlib\nsessions_file = pathlib.Path.home() / '.openclaw' / 'agents' / 'main' / 'sessions' / 'sessions.json'\nwith open(sessions_file) as f:\n    for k in json.load(f):\n        if 'openclaw-weixin' in k and 'direct' in k:\n            print(k)\n\"\n\n# 方法3：从微信账号配置获取 userId，拼接为：\n# agent:main:openclaw-weixin:direct:<userId>@im.wechat\n# userId 在 ~/.openclaw/openclaw-weixin/accounts/*.json 中\n```\n\n## 关键 CLI 参数\n\n| 参数 | 必填 | 说明 |\n|------|------|------|\n| `--message <文本>` | ✅ | agentTurn 消息内容，AI 处理后回复用户 |\n| `--session-key <key>` | ✅ | 微信会话桶 key（决定路由到哪个用户） |\n| `--announce` | ✅ | 启用投递（否则回复不发送） |\n| `--channel openclaw-weixin` | ✅ | 指定通过微信渠道投递 |\n| `--at <ISO时间>` | 调度 | 一次性触发 |\n| `--cron <表达式>` | 调度 | Cron 表达式循环 |\n| `--every <间隔>` | 调度 | 固定间隔循环（如 10m, 1h） |\n| `--tz <时区>` | 否 | 时区（如 Asia/Shanghai） |\n| `--delete-after-run` | 否 | 触发后自动删除 |\n| `--name <名称>` | 否 | 任务名称 |\n| `--account <id>` | 否 | 多账号时指定微信账号 |\n\n## ⚠️ 重要：system-event vs message\n\n| 方式 | 投递 | 说明 |\n|------|------|------|\n| `--system-event` + `--session main` | ❌ 不可靠 | 注入 main 桶，没有 deliveryContext，回复无法投递 |\n| `--message` + `--session-key` + `--announce` | ✅ 可靠 | 独立会话 + 明确投递渠道，消息必定到达微信 |\n\n**必须用 `--message` 方式，不要用 `--system-event`。**\n\n## 管理命令\n\n```bash\nopenclaw cron list                    # 查看活跃任务\nopenclaw cron list --all              # 含已禁用/残留任务\nopenclaw cron delete <ID>             # 删除任务\nopenclaw cron run <ID>                # 立即触发\n```\n\n## 多账号场景\n\n每个微信用户有独立 sessionKey：\n\n1. 扫码登录：`openclaw channels login --channel openclaw-weixin`\n2. 该微信号给机器人发一条消息（建立会话桶）\n3. 查找该用户的 sessionKey\n4. 创建 cron 任务时用对应 sessionKey\n\n多账号时用 `--account` 指定微信账号：\n\n```bash\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --account <account-id>\n```\n\n多账号隔离建议：\n```bash\nopenclaw config set session.dmScope per-account-channel-peer\n```\n\n## 常见问题\n\n- **延迟**：正常几秒到1分钟，超过5分钟检查 gateway 状态\n- **只发一条**：不需要重复发送\n- **图片/文件**：在 message 中指示 AI 调用图片工具，AI 自动处理\n- **sessionKey 找不到**：说明目标用户还没通过微信给机器人发过消息，需要先发一条建立绑定\n- **sessionKey 错误**：任务会创建成功但消息无法投递，不会报错。请确认 `userId` 正确\n- **创建任务后没收到消息**：检查 gateway 是否运行、微信是否在线、sessionKey 是否匹配该微信用户\n\nFile v2.0.0:README.md\n\n# weixin-cron-push\n\nOpenClaw Skill — 通过 Cron 定时任务向微信用户主动推送消息。\n\n## 功能\n\n- 一次性提醒（`at`）、每日定时推送（`cron`）、固定间隔循环（`every`）\n- 精准路由：通过 `--session-key` 定位到具体微信用户\n- 支持多微信账号隔离\n- 可通过 CLI 或 AI 对话创建任务\n\n## 原理\n\n```\nCron agentTurn → 独立会话 → --announce + --channel openclaw-weixin → 微信投递到用户手机\n```\n\n- `--session-key` 指定用户的微信会话桶\n- `--announce --channel openclaw-weixin` 确保回复通过微信投递\n- `--message`（agentTurn）而非 `--system-event`\n\n## 前提\n\n- 已安装并启用 `openclaw-weixin` 插件\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 目标用户通过微信给机器人发过至少一条消息（建立 sessionKey）\n\n## 安装\n\n将本仓库作为 skill 添加到 OpenClaw：\n\n```bash\nopenclaw skill add https://github.com/gausshj/openclaw-weixin-cron-push\n```\n\n## 使用示例\n\n```bash\n# 一次性提醒\nopenclaw cron add \\\n  --name \"开会提醒\" \\\n  --at \"2026-04-30T09:00:00+08:00\" \\\n  --message \"请告诉用户：10点有产品评审会议\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --delete-after-run\n\n# 每日天气推送\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n也可以直接对 AI 说\"明天早上8点提醒我开会\"，自动创建任务。\n\n## 获取 sessionKey\n\n```bash\n# 从会话列表查找\nopenclaw sessions --json --all-agents | grep openclaw-weixin\n\n# 或从微信账号配置获取 userId，拼接为：\n# agent:main:openclaw-weixin:direct:<userId>@im.wechat\n# userId 在 ~/.openclaw/openclaw-weixin/accounts/*.json 中\n```\n\n## ⚠️ 重要\n\n必须用 `--message` + `--session-key` + `--announce` 方式，**不要用 `--system-event`**。\n`--system-event` 走 main 桶，没有 deliveryContext，回复无法投递到微信。\n\n## 文件说明\n\n| 文件 | 说明 |\n|------|------|\n| `SKILL.md` | Skill 定义文件，包含触发条件和使用文档 |\n| `references/weixin-api.md` | 微信 API 协议细节 |\n| `LICENSE` | MIT License |\n\n## License\n\nMIT\n\nFile v2.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chhbmqpm74y2xfnespc7nsx85sb9h\",\n  \"slug\": \"weixin-cron-push\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1777478904610\n}\n\nFile v2.0.0:references/weixin-api.md\n\n# 微信插件 API 参考\n\n## 插件信息\n\n- 包名：`@tencent-weixin/openclaw-weixin`\n- 插件 ID：`openclaw-weixin`\n- 渠道：`openclaw-weixin`\n- 后端：`https://ilinkai.weixin.qq.com`\n\n## 安装与登录\n\n```bash\n# 一键安装\nnpx -y @tencent-weixin/openclaw-weixin-cli install\n\n# 启用\nopenclaw config set plugins.entries.openclaw-weixin.enabled true\n\n# 扫码登录\nopenclaw channels login --channel openclaw-weixin\n\n# 重启生效\nopenclaw gateway restart\n```\n\n## 账号文件\n\n登录凭证保存在 `~/.openclaw/openclaw-weixin/accounts/<id>-im-bot.json`：\n\n```json\n{\n  \"token\": \"<bot-token>\",\n  \"baseUrl\": \"https://ilinkai.weixin.qq.com\",\n  \"userId\": \"<user-id>@im.wechat\"\n}\n```\n\n## 后端 API\n\n所有接口 `POST`，JSON 格式。\n\n### 通用 Header\n\n| Header | 值 |\n|--------|------|\n| `Content-Type` | `application/json` |\n| `AuthorizationType` | `ilink_bot_token` |\n| `Authorization` | `Bearer <token>` |\n| `X-WECHAT-UIN` | 随机 uint32 的 base64 |\n\n### sendMessage\n\n发送消息给用户：\n\n```json\n{\n  \"msg\": {\n    \"to_user_id\": \"<用户ID>\",\n    \"context_token\": \"<上下文令牌>\",\n    \"client_id\": \"<客户端ID>\",\n    \"message_type\": 2,\n    \"message_state\": 2,\n    \"item_list\": [\n      { \"type\": 1, \"text_item\": { \"text\": \"你好\" } }\n    ]\n  }\n}\n```\n\nMessageType: 1=USER, 2=BOT\nMessageState: 0=NEW, 1=GENERATING, 2=FINISH\nItem type: 1=TEXT, 2=IMAGE, 3=VOICE, 4=FILE, 5=VIDEO\n\n### getUpdates\n\n长轮询获取新消息：\n\n```json\n{\n  \"get_updates_buf\": \"\"\n}\n```\n\n### getConfig\n\n获取账号配置（typing ticket 等）：\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"context_token\": \"<可选>\"\n}\n```\n\n### sendTyping\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"typing_ticket\": \"<ticket>\",\n  \"status\": 1\n}\n```\n\nstatus: 1=正在输入, 2=取消\n\n### getUploadUrl\n\n获取 CDN 上传预签名参数（发图片/文件前调用）。\n\n## CDN 上传流程\n\n1. 计算文件明文大小和 MD5\n2. AES-128-ECB 加密文件，计算密文大小\n3. 调用 getUploadUrl 获取 upload_param\n4. PUT 上传加密文件到 CDN\n5. 用 encrypt_query_param 构造 CDNMedia 引用\n\n## 消息结构 (WeixinMessage)\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| seq | number | 消息序列号 |\n| message_id | number | 消息唯一 ID |\n| from_user_id | string | 发送者 |\n| to_user_id | string | 接收者 |\n| create_time_ms | number | 时间戳(ms) |\n| message_type | number | 1=USER, 2=BOT |\n| message_state | number | 0/1/2 |\n| item_list | MessageItem[] | 内容列表 |\n| context_token | string | 回复时需回传 |\n\n## 相关路径\n\n- 插件目录：`~/.openclaw/extensions/openclaw-weixin/`\n- 账号配置：`~/.openclaw/openclaw-weixin/accounts/`\n- 源码：`~/.openclaw/extensions/openclaw-weixin/src/`\n\nFile v2.0.0:skill-card.md\n\n## Description:\n\n通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等），支持一次性 at、循环 cron/every 任务，并通过 sessionKey 路由到指定微信用户。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gausshj](https://clawhub.ai/user/gausshj)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and OpenClaw users use this skill to create scheduled WeChat reminders, daily pushes, and recurring notifications through the openclaw-weixin channel. It helps route automated messages to a specific WeChat user or account after a sessionKey has been established.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can create scheduled and recurring WeChat messages to a selected sessionKey.\n\nMitigation: Review the recipient sessionKey, schedule, message content, account, and delete-after-run behavior before allowing task creation.\n\nRisk: The skill describes local account and session files that may contain sensitive tokens or identifiers.\n\nMitigation: Do not expose ~/.openclaw account/session files or bearer tokens in prompts, logs, shared outputs, or screenshots.\n\nRisk: The security review flags broad recurring-message behavior with limited user-control and privacy safeguards.\n\nMitigation: Prefer explicit user confirmation for recurring tasks and periodically audit active cron jobs with openclaw cron list.\n\nRisk: Installer and plugin commands may pull external packages.\n\nMitigation: Use pinned or verified installer versions and review plugin provenance before enabling the WeChat channel.\n\n## Reference(s):\n\n- [Skill page](https://clawhub.ai/gausshj/skills/weixin-cron-push)\n- [Weixin API reference](references/weixin-api.md)\n- [WeChat plugin backend](https://ilinkai.weixin.qq.com)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration]\n\n**Output Format:** [Markdown guidance with inline shell commands and configuration examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May create one-time or recurring OpenClaw cron task proposals that send messages through WeChat when executed.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata)\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 v0.0.1: 4 files, 5759 bytes\n\nFiles: README.md (2432b), references/weixin-api.md (2740b), SKILL.md (5679b), _meta.json (135b)\n\nFile v0.0.1:SKILL.md\n\n---\nname: weixin-cron-push\ndescription: \"通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 sessionKey。\"\n---\n\n# 微信 Cron 推送\n\n通过 Cron 定时任务实现微信主动推送。\n\n## 原理\n\n```\nCron agentTurn → 独立会话 → --announce + --channel openclaw-weixin → 微信投递到用户手机\n```\n\n关键：\n- `--session-key` 指定用户的微信会话桶（格式：`agent:main:openclaw-weixin:direct:<userId>@im.wechat`）\n- `--announce --channel openclaw-weixin` 确保回复通过微信投递\n- `--message`（agentTurn）而非 `--system-event`（systemEvent 走 main 桶，无法投递）\n\n## 前提\n\n- 微信插件 `openclaw-weixin` 已安装启用\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 用户通过微信给机器人发过至少一条消息（建立 sessionKey）\n\n## 创建任务\n\n### 一次性提醒（at）\n\n```bash\nopenclaw cron add \\\n  --name \"提醒标题\" \\\n  --at \"2026-04-29T10:00:00Z\" \\\n  --message \"请告诉用户：这是提醒内容\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --delete-after-run\n```\n\n### 每日定时推送（cron 表达式）\n\n```bash\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n### 循环间隔（every）\n\n```bash\nopenclaw cron add \\\n  --name \"每小时间隔\" \\\n  --every \"1h\" \\\n  --message \"请执行 XXX 检查并告知用户结果。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n### AI 对话方式\n\n用户直接说\"明天早上8点提醒我开会\"，AI 自动创建任务。AI 需从当前会话获取 sessionKey 并使用上述参数。\n\n## 获取 sessionKey\n\n```bash\n# 方法1：从会话列表查找（找含 openclaw-weixin 的 key）\nopenclaw sessions --json --all-agents | grep openclaw-weixin\n\n# 方法2：从会话文件查找（自动适配 macOS / Linux）\npython3 -c \"\nimport json, pathlib\nsessions_file = pathlib.Path.home() / '.openclaw' / 'agents' / 'main' / 'sessions' / 'sessions.json'\nwith open(sessions_file) as f:\n    for k in json.load(f):\n        if 'openclaw-weixin' in k and 'direct' in k:\n            print(k)\n\"\n\n# 方法3：从微信账号配置获取 userId，拼接为：\n# agent:main:openclaw-weixin:direct:<userId>@im.wechat\n# userId 在 ~/.openclaw/openclaw-weixin/accounts/*.json 中\n```\n\n## 关键 CLI 参数\n\n| 参数 | 必填 | 说明 |\n|------|------|------|\n| `--message <文本>` | ✅ | agentTurn 消息内容，AI 处理后回复用户 |\n| `--session-key <key>` | ✅ | 微信会话桶 key（决定路由到哪个用户） |\n| `--announce` | ✅ | 启用投递（否则回复不发送） |\n| `--channel openclaw-weixin` | ✅ | 指定通过微信渠道投递 |\n| `--at <ISO时间>` | 调度 | 一次性触发 |\n| `--cron <表达式>` | 调度 | Cron 表达式循环 |\n| `--every <间隔>` | 调度 | 固定间隔循环（如 10m, 1h） |\n| `--tz <时区>` | 否 | 时区（如 Asia/Shanghai） |\n| `--delete-after-run` | 否 | 触发后自动删除 |\n| `--name <名称>` | 否 | 任务名称 |\n| `--account <id>` | 否 | 多账号时指定微信账号 |\n\n## ⚠️ 重要：system-event vs message\n\n| 方式 | 投递 | 说明 |\n|------|------|------|\n| `--system-event` + `--session main` | ❌ 不可靠 | 注入 main 桶，没有 deliveryContext，回复无法投递 |\n| `--message` + `--session-key` + `--announce` | ✅ 可靠 | 独立会话 + 明确投递渠道，消息必定到达微信 |\n\n**必须用 `--message` 方式，不要用 `--system-event`。**\n\n## 管理命令\n\n```bash\nopenclaw cron list                    # 查看活跃任务\nopenclaw cron list --all              # 含已禁用/残留任务\nopenclaw cron delete <ID>             # 删除任务\nopenclaw cron run <ID>                # 立即触发\n```\n\n## 多账号场景\n\n每个微信用户有独立 sessionKey：\n\n1. 扫码登录：`openclaw channels login --channel openclaw-weixin`\n2. 该微信号给机器人发一条消息（建立会话桶）\n3. 查找该用户的 sessionKey\n4. 创建 cron 任务时用对应 sessionKey\n\n多账号时用 `--account` 指定微信账号：\n\n```bash\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --account <account-id>\n```\n\n多账号隔离建议：\n```bash\nopenclaw config set session.dmScope per-account-channel-peer\n```\n\n## 常见问题\n\n- **延迟**：正常几秒到1分钟，超过5分钟检查 gateway 状态\n- **只发一条**：不需要重复发送\n- **图片/文件**：在 message 中指示 AI 调用图片工具，AI 自动处理\n- **sessionKey 找不到**：说明目标用户还没通过微信给机器人发过消息，需要先发一条建立绑定\n- **sessionKey 错误**：任务会创建成功但消息无法投递，不会报错。请确认 `userId` 正确\n- **创建任务后没收到消息**：检查 gateway 是否运行、微信是否在线、sessionKey 是否匹配该微信用户\n\nFile v0.0.1:README.md\n\n# weixin-cron-push\n\nOpenClaw Skill — 通过 Cron 定时任务向微信用户主动推送消息。\n\n## 功能\n\n- 一次性提醒（`at`）、每日定时推送（`cron`）、固定间隔循环（`every`）\n- 精准路由：通过 `--session-key` 定位到具体微信用户\n- 支持多微信账号隔离\n- 可通过 CLI 或 AI 对话创建任务\n\n## 原理\n\n```\nCron agentTurn → 独立会话 → --announce + --channel openclaw-weixin → 微信投递到用户手机\n```\n\n- `--session-key` 指定用户的微信会话桶\n- `--announce --channel openclaw-weixin` 确保回复通过微信投递\n- `--message`（agentTurn）而非 `--system-event`\n\n## 前提\n\n- 已安装并启用 `openclaw-weixin` 插件\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 目标用户通过微信给机器人发过至少一条消息（建立 sessionKey）\n\n## 安装\n\n将本仓库作为 skill 添加到 OpenClaw：\n\n```bash\nopenclaw skill add https://github.com/gausshj/openclaw-weixin-cron-push\n```\n\n## 使用示例\n\n```bash\n# 一次性提醒\nopenclaw cron add \\\n  --name \"开会提醒\" \\\n  --at \"2026-04-30T09:00:00+08:00\" \\\n  --message \"请告诉用户：10点有产品评审会议\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --delete-after-run\n\n# 每日天气推送\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n也可以直接对 AI 说\"明天早上8点提醒我开会\"，自动创建任务。\n\n## 获取 sessionKey\n\n```bash\n# 从会话列表查找\nopenclaw sessions --json --all-agents | grep openclaw-weixin\n\n# 或从微信账号配置获取 userId，拼接为：\n# agent:main:openclaw-weixin:direct:<userId>@im.wechat\n# userId 在 ~/.openclaw/openclaw-weixin/accounts/*.json 中\n```\n\n## ⚠️ 重要\n\n必须用 `--message` + `--session-key` + `--announce` 方式，**不要用 `--system-event`**。\n`--system-event` 走 main 桶，没有 deliveryContext，回复无法投递到微信。\n\n## 文件说明\n\n| 文件 | 说明 |\n|------|------|\n| `SKILL.md` | Skill 定义文件，包含触发条件和使用文档 |\n| `references/weixin-api.md` | 微信 API 协议细节 |\n| `LICENSE` | MIT License |\n\n## License\n\nMIT\n\nFile v0.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7chhbmqpm74y2xfnespc7nsx85sb9h\",\n  \"slug\": \"weixin-cron-push\",\n  \"version\": \"0.0.1\",\n  \"publishedAt\": 1777478259116\n}\n\nFile v0.0.1:references/weixin-api.md\n\n# 微信插件 API 参考\n\n## 插件信息\n\n- 包名：`@tencent-weixin/openclaw-weixin`\n- 插件 ID：`openclaw-weixin`\n- 渠道：`openclaw-weixin`\n- 后端：`https://ilinkai.weixin.qq.com`\n\n## 安装与登录\n\n```bash\n# 一键安装\nnpx -y @tencent-weixin/openclaw-weixin-cli install\n\n# 启用\nopenclaw config set plugins.entries.openclaw-weixin.enabled true\n\n# 扫码登录\nopenclaw channels login --channel openclaw-weixin\n\n# 重启生效\nopenclaw gateway restart\n```\n\n## 账号文件\n\n登录凭证保存在 `~/.openclaw/openclaw-weixin/accounts/<id>-im-bot.json`：\n\n```json\n{\n  \"token\": \"<bot-token>\",\n  \"baseUrl\": \"https://ilinkai.weixin.qq.com\",\n  \"userId\": \"<user-id>@im.wechat\"\n}\n```\n\n## 后端 API\n\n所有接口 `POST`，JSON 格式。\n\n### 通用 Header\n\n| Header | 值 |\n|--------|------|\n| `Content-Type` | `application/json` |\n| `AuthorizationType` | `ilink_bot_token` |\n| `Authorization` | `Bearer <token>` |\n| `X-WECHAT-UIN` | 随机 uint32 的 base64 |\n\n### sendMessage\n\n发送消息给用户：\n\n```json\n{\n  \"msg\": {\n    \"to_user_id\": \"<用户ID>\",\n    \"context_token\": \"<上下文令牌>\",\n    \"client_id\": \"<客户端ID>\",\n    \"message_type\": 2,\n    \"message_state\": 2,\n    \"item_list\": [\n      { \"type\": 1, \"text_item\": { \"text\": \"你好\" } }\n    ]\n  }\n}\n```\n\nMessageType: 1=USER, 2=BOT\nMessageState: 0=NEW, 1=GENERATING, 2=FINISH\nItem type: 1=TEXT, 2=IMAGE, 3=VOICE, 4=FILE, 5=VIDEO\n\n### getUpdates\n\n长轮询获取新消息：\n\n```json\n{\n  \"get_updates_buf\": \"\"\n}\n```\n\n### getConfig\n\n获取账号配置（typing ticket 等）：\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"context_token\": \"<可选>\"\n}\n```\n\n### sendTyping\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"typing_ticket\": \"<ticket>\",\n  \"status\": 1\n}\n```\n\nstatus: 1=正在输入, 2=取消\n\n### getUploadUrl\n\n获取 CDN 上传预签名参数（发图片/文件前调用）。\n\n## CDN 上传流程\n\n1. 计算文件明文大小和 MD5\n2. AES-128-ECB 加密文件，计算密文大小\n3. 调用 getUploadUrl 获取 upload_param\n4. PUT 上传加密文件到 CDN\n5. 用 encrypt_query_param 构造 CDNMedia 引用\n\n## 消息结构 (WeixinMessage)\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| seq | number | 消息序列号 |\n| message_id | number | 消息唯一 ID |\n| from_user_id | string | 发送者 |\n| to_user_id | string | 接收者 |\n| create_time_ms | number | 时间戳(ms) |\n| message_type | number | 1=USER, 2=BOT |\n| message_state | number | 0/1/2 |\n| item_list | MessageItem[] | 内容列表 |\n| context_token | string | 回复时需回传 |\n\n## 相关路径\n\n- 插件目录：`~/.openclaw/extensions/openclaw-weixin/`\n- 账号配置：`~/.openclaw/openclaw-weixin/accounts/`\n- 源码：`~/.openclaw/extensions/openclaw-weixin/src/`\n\nArchive v1.0.0: 4 files, 4682 bytes\n\nFiles: README.md (1473b), references/weixin-api.md (2740b), SKILL.md (3420b), _meta.json (135b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: weixin-cron-push\ndescription: \"通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，多微信账号场景下自动路由到正确的用户。\"\n---\n\n# 微信 Cron 推送\n\n通过 Cron 定时任务实现微信主动推送。\n\n## 原理\n\n```\nCron systemEvent → 注入 main session → sessionKey 路由到微信 → 用户手机收到消息\n```\n\n- 用户通过微信发过消息后，main session 自动绑定该微信用户的 sessionKey\n- Cron 的 systemEvent 注入 main session，回复自动发到微信\n- 与当前对话来自哪个渠道（网页/微信）无关\n\n## 前提\n\n- 微信插件 `openclaw-weixin` 已安装启用\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 用户通过微信给机器人发过至少一条消息（建立 sessionKey 绑定）\n\n## 创建任务\n\n### CLI 方式\n\n```bash\n# 一次性提醒（at）\nopenclaw cron add \\\n  --name \"提醒标题\" \\\n  --at \"2026-04-29T10:00:00Z\" \\\n  --system-event \"提醒：告诉用户 XXX\" \\\n  --session main \\\n  --delete-after-run\n\n# 每日定时推送（cron 表达式 + 时区）\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --system-event \"提醒：查询今天天气并发送给用户。\" \\\n  --session main\n\n# 循环间隔（every）\nopenclaw cron add \\\n  --name \"每小时间隔\" \\\n  --every \"1h\" \\\n  --system-event \"提醒：执行 XXX 检查\" \\\n  --session main\n```\n\n### AI 对话方式\n\n用户直接说\"明天早上8点提醒我开会\"，AI 自动创建任务。\n\n## 关键 CLI 参数\n\n| 参数 | 说明 |\n|------|------|\n| `--at <ISO时间>` | 一次性，指定时间触发 |\n| `--cron <表达式>` | Cron 表达式循环 |\n| `--every <间隔>` | 固定间隔循环（如 10m, 1h） |\n| `--tz <时区>` | 时区（如 Asia/Shanghai） |\n| `--system-event <文本>` | systemEvent 内容，AI 处理后回复用户 |\n| `--session main` | 注入主会话（微信推送必须） |\n| `--delete-after-run` | 触发后自动删除 |\n| `--name <名称>` | 任务名称 |\n| `--account <id>` | 多账号时指定微信账号 |\n\n## 注意事项\n\n- **一条就够了**：不需要重复发送，正常延迟几秒到1分钟\n- **session 绑定**：用户必须先通过微信给机器人发过消息\n- **多账号隔离**：多个微信登录时建议 `openclaw config set session.dmScope per-account-channel-peer`\n- **只支持文本**：systemEvent 传递文本，如需图片则在 payload 中指示 AI 调用图片工具\n\n## 管理命令\n\n```bash\nopenclaw cron list                          # 查看任务\nopenclaw cron delete <ID>                   # 删除任务\nopenclaw cron run <ID>                      # 立即触发\nopenclaw cron list --include-disabled       # 含已禁用\n```\n\n## 多账号场景\n\n每个微信用户有独立 sessionKey，Cron 任务路由到绑定用户：\n\n1. 扫码登录：`openclaw channels login --channel openclaw-weixin`\n2. 该微信号给机器人发一条消息（建立绑定）\n3. 创建 cron 任务时指定 `--account` 或让 AI 自动使用当前会话绑定\n\n## 详细参考\n\n完整的 API 协议、消息结构、CDN 上传等细节见 [references/weixin-api.md](references/weixin-api.md)。\n\nFile v1.0.0:README.md\n\n# weixin-cron-push\n\nOpenClaw Skill — 通过 Cron 定时任务向微信用户主动推送消息。\n\n## 功能\n\n- 一次性提醒（`at`）、每日定时推送（`cron`）、固定间隔循环（`every`）\n- 自动路由：Cron 的 systemEvent 注入 main session，通过 sessionKey 投递到对应微信用户\n- 支持多微信账号隔离\n- 可通过 CLI 或 AI 对话创建任务\n\n## 前提\n\n- 已安装并启用 `openclaw-weixin` 插件\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 目标用户通过微信给机器人发过至少一条消息\n\n## 安装\n\n将本仓库作为 skill 添加到 OpenClaw：\n\n```bash\nopenclaw skill add https://github.com/gausshj/openclaw-weixin-cron-push\n```\n\n## 使用示例\n\n```bash\n# 一次性提醒\nopenclaw cron add \\\n  --name \"开会提醒\" \\\n  --at \"2026-04-30T09:00:00+08:00\" \\\n  --system-event \"提醒：10点有产品评审会议\" \\\n  --session main \\\n  --delete-after-run\n\n# 每日天气推送\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --system-event \"提醒：查询今天天气并发送给用户。\" \\\n  --session main\n```\n\n也可以直接对 AI 说\"明天早上8点提醒我开会\"，自动创建任务。\n\n## 文件说明\n\n| 文件 | 说明 |\n|------|------|\n| `SKILL.md` | Skill 定义文件，包含触发条件和使用文档 |\n| `references/weixin-api.md` | 微信 API 协议细节（待补充） |\n| `LICENSE` | MIT License |\n\n## License\n\nMIT\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7chhbmqpm74y2xfnespc7nsx85sb9h\",\n  \"slug\": \"weixin-cron-push\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1777464844680\n}\n\nFile v1.0.0:references/weixin-api.md\n\n# 微信插件 API 参考\n\n## 插件信息\n\n- 包名：`@tencent-weixin/openclaw-weixin`\n- 插件 ID：`openclaw-weixin`\n- 渠道：`openclaw-weixin`\n- 后端：`https://ilinkai.weixin.qq.com`\n\n## 安装与登录\n\n```bash\n# 一键安装\nnpx -y @tencent-weixin/openclaw-weixin-cli install\n\n# 启用\nopenclaw config set plugins.entries.openclaw-weixin.enabled true\n\n# 扫码登录\nopenclaw channels login --channel openclaw-weixin\n\n# 重启生效\nopenclaw gateway restart\n```\n\n## 账号文件\n\n登录凭证保存在 `~/.openclaw/openclaw-weixin/accounts/<id>-im-bot.json`：\n\n```json\n{\n  \"token\": \"<bot-token>\",\n  \"baseUrl\": \"https://ilinkai.weixin.qq.com\",\n  \"userId\": \"<user-id>@im.wechat\"\n}\n```\n\n## 后端 API\n\n所有接口 `POST`，JSON 格式。\n\n### 通用 Header\n\n| Header | 值 |\n|--------|------|\n| `Content-Type` | `application/json` |\n| `AuthorizationType` | `ilink_bot_token` |\n| `Authorization` | `Bearer <token>` |\n| `X-WECHAT-UIN` | 随机 uint32 的 base64 |\n\n### sendMessage\n\n发送消息给用户：\n\n```json\n{\n  \"msg\": {\n    \"to_user_id\": \"<用户ID>\",\n    \"context_token\": \"<上下文令牌>\",\n    \"client_id\": \"<客户端ID>\",\n    \"message_type\": 2,\n    \"message_state\": 2,\n    \"item_list\": [\n      { \"type\": 1, \"text_item\": { \"text\": \"你好\" } }\n    ]\n  }\n}\n```\n\nMessageType: 1=USER, 2=BOT\nMessageState: 0=NEW, 1=GENERATING, 2=FINISH\nItem type: 1=TEXT, 2=IMAGE, 3=VOICE, 4=FILE, 5=VIDEO\n\n### getUpdates\n\n长轮询获取新消息：\n\n```json\n{\n  \"get_updates_buf\": \"\"\n}\n```\n\n### getConfig\n\n获取账号配置（typing ticket 等）：\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"context_token\": \"<可选>\"\n}\n```\n\n### sendTyping\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"typing_ticket\": \"<ticket>\",\n  \"status\": 1\n}\n```\n\nstatus: 1=正在输入, 2=取消\n\n### getUploadUrl\n\n获取 CDN 上传预签名参数（发图片/文件前调用）。\n\n## CDN 上传流程\n\n1. 计算文件明文大小和 MD5\n2. AES-128-ECB 加密文件，计算密文大小\n3. 调用 getUploadUrl 获取 upload_param\n4. PUT 上传加密文件到 CDN\n5. 用 encrypt_query_param 构造 CDNMedia 引用\n\n## 消息结构 (WeixinMessage)\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| seq | number | 消息序列号 |\n| message_id | number | 消息唯一 ID |\n| from_user_id | string | 发送者 |\n| to_user_id | string | 接收者 |\n| create_time_ms | number | 时间戳(ms) |\n| message_type | number | 1=USER, 2=BOT |\n| message_state | number | 0/1/2 |\n| item_list | MessageItem[] | 内容列表 |\n| context_token | string | 回复时需回传 |\n\n## 相关路径\n\n- 插件目录：`~/.openclaw/extensions/openclaw-weixin/`\n- 账号配置：`~/.openclaw/openclaw-weixin/accounts/`\n- 源码：`~/.openclaw/extensions/openclaw-weixin/src/`","readmeExcerpt":"Skill: 微信定时推送 Owner: gausshj Summary: 通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 se... Tags: latest:2.0.0 Version history: v2.0.0 | 2026-04-29T16:08:24.610Z | user Version 2.0.0 of weixin-cron-push - No file changes detected in this release. - All documentation, functionality, and usage remain the same as t","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"Cron agentTurn → 独立会话 → --announce + --channel openclaw-weixin → 微信投递到用户手机"},{"language":"bash","snippet":"openclaw cron add \\\n  --name \"提醒标题\" \\\n  --at \"2026-04-29T10:00:00Z\" \\\n  --message \"请告诉用户：这是提醒内容\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --delete-after-run"},{"language":"bash","snippet":"openclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin"},{"language":"bash","snippet":"openclaw cron add \\\n  --name \"每小时间隔\" \\\n  --every \"1h\" \\\n  --message \"请执行 XXX 检查并告知用户结果。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin"},{"language":"bash","snippet":"# 方法1：从会话列表查找（找含 openclaw-weixin 的 key）\nopenclaw sessions --json --all-agents | grep openclaw-weixin\n\n# 方法2：从会话文件查找（自动适配 macOS / Linux）\npython3 -c \"\nimport json, pathlib\nsessions_file = pathlib.Path.home() / '.openclaw' / 'agents' / 'main' / 'sessions' / 'sessions.json'\nwith open(sessions_file) as f:\n    for k in json.load(f):\n        if 'openclaw-weixin' in k and 'direct' in k:\n            print(k)\n\"\n\n# 方法3：从微信账号配置获取 userId，拼接为：\n# agent:main:openclaw-weixin:direct:<userId>@im.wechat\n# userId 在 ~/.openclaw/openclaw-weixin/accounts/*.json 中"},{"language":"bash","snippet":"openclaw cron list                    # 查看活跃任务\nopenclaw cron list --all              # 含已禁用/残留任务\nopenclaw cron delete <ID>             # 删除任务\nopenclaw cron run <ID>                # 立即触发"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: weixin-cron-push\ndescription: \"通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 sessionKey。\"\n---\n\n# 微信 Cron 推送\n\n通过 Cron 定时任务实现微信主动推送。\n\n## 原理\n\n```\nCron agentTurn → 独立会话 → --announce + --channel openclaw-weixin → 微信投递到用户手机\n```\n\n关键：\n- `--session-key` 指定用户的微信会话桶（格式：`agent:main:openclaw-weixin:direct:<userId>@im.wechat`）\n- `--announce --channel openclaw-weixin` 确保回复通过微信投递\n- `--message`（agentTurn）而非 `--system-event`（systemEvent 走 main 桶，无法投递）\n\n## 前提\n\n- 微信插件 `openclaw-weixin` 已安装启用\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 用户通过微信给机器人发过至少一条消息（建立 sessionKey）\n\n## 创建任务\n\n### 一次性提醒（at）\n\n```bash\nopenclaw cron add \\\n  --name \"提醒标题\" \\\n  --at \"2026-04-29T10:00:00Z\" \\\n  --message \"请告诉用户：这是提醒内容\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --delete-after-run\n```\n\n### 每日定时推送（cron 表达式）\n\n```bash\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n### 循环间隔（every）\n\n```bash\nopenclaw cron add \\\n  --name \"每小时间隔\" \\\n  --every \"1h\" \\\n  --message \"请执行 XXX 检查并告知用户结果。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n### AI 对话方式\n\n用户直接说\"明天早上8点提醒我开会\"，AI 自动创建任务。AI 需从当前会话获取 sessionKey 并使用上述参数。\n\n## 获取 sessionKey\n\n```bash\n# 方法1：从会话列表查找（找含 openclaw-weixin 的 key）\nopenclaw sessions --json --all-agents | grep openclaw-weixin\n\n# 方法2：从会话文件查找（自动适配 macOS / Linux）\npython3 -c \"\nimport json, pathlib\nsessions_file = pathlib.Path.home() / '.openclaw' / 'agents' / 'main' / 'sessions' / 'sessions.json'\nwith open(sessions_file) as f:\n    for k in json.load(f):\n        if 'openclaw-weixin' in k and 'direct' in k:\n            print(k)\n\"\n\n# 方法3：从微信账号配置获取 userId，拼接为：\n# agent:main:openclaw-weixin:direct:<userId>@im.wechat\n# userId 在 ~/.openclaw/openclaw-weixin/accounts/*.json 中\n```\n\n## 关键 CLI 参数\n\n| 参数 | 必填 | 说明 |\n|------|------|------|\n| `--message <文本>` | ✅ | agentTurn 消息内容，AI 处理后回复用户 |\n| `--session-key <key>` | ✅ | 微信会话桶 key（决定路由到哪个用户） |\n| `--announce` | ✅ | 启用投递（否则回复不发送） |\n| `--channel openclaw-weixin` | ✅ | 指定通过微信渠道投递 |\n| `--at <ISO时间>` | 调度 | 一次性触发 |\n| `--cron <表达式>` | 调度 | Cron 表达式循环 |\n| `--every <间隔>` | 调度 | 固定间隔循环（如 10m, 1h） |\n| `--tz <时区>` | 否 | 时区（如 Asia/Shanghai） |\n| `--delete-after-run` | 否 | 触发后自动删除 |\n| `--name <名称>` | 否 | 任务名称 |\n| `--account <id>` | 否 | 多账号时指定微信账号 |\n\n## ⚠️ 重要：system-event vs message\n\n| 方式 | 投递 | 说明 |\n|------|------|------|\n| `--system-event` + `--session main` | ❌ 不可靠 | 注入 main 桶，没有 deliveryContext，回复无法投递 |\n| `--message` + `--session-key` + `--announce` | ✅ 可靠 | 独立会话 + 明确投递渠道，消息必定到达微信 |\n\n**必须用 `--message` 方式，不要用 `--system-event`。**\n\n## 管理命令\n\n```bash\nopenclaw cron list                    # 查看活跃任务\nopenclaw cron list --all              # 含已禁用"},{"path":"README.md","content":"# weixin-cron-push\n\nOpenClaw Skill — 通过 Cron 定时任务向微信用户主动推送消息。\n\n## 功能\n\n- 一次性提醒（`at`）、每日定时推送（`cron`）、固定间隔循环（`every`）\n- 精准路由：通过 `--session-key` 定位到具体微信用户\n- 支持多微信账号隔离\n- 可通过 CLI 或 AI 对话创建任务\n\n## 原理\n\n```\nCron agentTurn → 独立会话 → --announce + --channel openclaw-weixin → 微信投递到用户手机\n```\n\n- `--session-key` 指定用户的微信会话桶\n- `--announce --channel openclaw-weixin` 确保回复通过微信投递\n- `--message`（agentTurn）而非 `--system-event`\n\n## 前提\n\n- 已安装并启用 `openclaw-weixin` 插件\n- 至少一个微信账号已扫码登录\n- Gateway 正在运行\n- 目标用户通过微信给机器人发过至少一条消息（建立 sessionKey）\n\n## 安装\n\n将本仓库作为 skill 添加到 OpenClaw：\n\n```bash\nopenclaw skill add https://github.com/gausshj/openclaw-weixin-cron-push\n```\n\n## 使用示例\n\n```bash\n# 一次性提醒\nopenclaw cron add \\\n  --name \"开会提醒\" \\\n  --at \"2026-04-30T09:00:00+08:00\" \\\n  --message \"请告诉用户：10点有产品评审会议\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin \\\n  --delete-after-run\n\n# 每日天气推送\nopenclaw cron add \\\n  --name \"每日天气\" \\\n  --cron \"0 8 * * *\" \\\n  --tz \"Asia/Shanghai\" \\\n  --message \"请查询今天天气并发送给用户。\" \\\n  --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n  --announce \\\n  --channel openclaw-weixin\n```\n\n也可以直接对 AI 说\"明天早上8点提醒我开会\"，自动创建任务。\n\n## 获取 sessionKey\n\n```bash\n# 从会话列表查找\nopenclaw sessions --json --all-agents | grep openclaw-weixin\n\n# 或从微信账号配置获取 userId，拼接为：\n# agent:main:openclaw-weixin:direct:<userId>@im.wechat\n# userId 在 ~/.openclaw/openclaw-weixin/accounts/*.json 中\n```\n\n## ⚠️ 重要\n\n必须用 `--message` + `--session-key` + `--announce` 方式，**不要用 `--system-event`**。\n`--system-event` 走 main 桶，没有 deliveryContext，回复无法投递到微信。\n\n## 文件说明\n\n| 文件 | 说明 |\n|------|------|\n| `SKILL.md` | Skill 定义文件，包含触发条件和使用文档 |\n| `references/weixin-api.md` | 微信 API 协议细节 |\n| `LICENSE` | MIT License |\n\n## License\n\nMIT"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7chhbmqpm74y2xfnespc7nsx85sb9h\",\n  \"slug\": \"weixin-cron-push\",\n  \"version\": \"2.0.0\",\n  \"publishedAt\": 1777478904610\n}"},{"path":"references/weixin-api.md","content":"# 微信插件 API 参考\n\n## 插件信息\n\n- 包名：`@tencent-weixin/openclaw-weixin`\n- 插件 ID：`openclaw-weixin`\n- 渠道：`openclaw-weixin`\n- 后端：`https://ilinkai.weixin.qq.com`\n\n## 安装与登录\n\n```bash\n# 一键安装\nnpx -y @tencent-weixin/openclaw-weixin-cli install\n\n# 启用\nopenclaw config set plugins.entries.openclaw-weixin.enabled true\n\n# 扫码登录\nopenclaw channels login --channel openclaw-weixin\n\n# 重启生效\nopenclaw gateway restart\n```\n\n## 账号文件\n\n登录凭证保存在 `~/.openclaw/openclaw-weixin/accounts/<id>-im-bot.json`：\n\n```json\n{\n  \"token\": \"<bot-token>\",\n  \"baseUrl\": \"https://ilinkai.weixin.qq.com\",\n  \"userId\": \"<user-id>@im.wechat\"\n}\n```\n\n## 后端 API\n\n所有接口 `POST`，JSON 格式。\n\n### 通用 Header\n\n| Header | 值 |\n|--------|------|\n| `Content-Type` | `application/json` |\n| `AuthorizationType` | `ilink_bot_token` |\n| `Authorization` | `Bearer <token>` |\n| `X-WECHAT-UIN` | 随机 uint32 的 base64 |\n\n### sendMessage\n\n发送消息给用户：\n\n```json\n{\n  \"msg\": {\n    \"to_user_id\": \"<用户ID>\",\n    \"context_token\": \"<上下文令牌>\",\n    \"client_id\": \"<客户端ID>\",\n    \"message_type\": 2,\n    \"message_state\": 2,\n    \"item_list\": [\n      { \"type\": 1, \"text_item\": { \"text\": \"你好\" } }\n    ]\n  }\n}\n```\n\nMessageType: 1=USER, 2=BOT\nMessageState: 0=NEW, 1=GENERATING, 2=FINISH\nItem type: 1=TEXT, 2=IMAGE, 3=VOICE, 4=FILE, 5=VIDEO\n\n### getUpdates\n\n长轮询获取新消息：\n\n```json\n{\n  \"get_updates_buf\": \"\"\n}\n```\n\n### getConfig\n\n获取账号配置（typing ticket 等）：\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"context_token\": \"<可选>\"\n}\n```\n\n### sendTyping\n\n```json\n{\n  \"ilink_user_id\": \"<用户ID>\",\n  \"typing_ticket\": \"<ticket>\",\n  \"status\": 1\n}\n```\n\nstatus: 1=正在输入, 2=取消\n\n### getUploadUrl\n\n获取 CDN 上传预签名参数（发图片/文件前调用）。\n\n## CDN 上传流程\n\n1. 计算文件明文大小和 MD5\n2. AES-128-ECB 加密文件，计算密文大小\n3. 调用 getUploadUrl 获取 upload_param\n4. PUT 上传加密文件到 CDN\n5. 用 encrypt_query_param 构造 CDNMedia 引用\n\n## 消息结构 (WeixinMessage)\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| seq | number | 消息序列号 |\n| message_id | number | 消息唯一 ID |\n| from_user_id | string | 发送者 |\n| to_user_id | string | 接收者 |\n| create_time_ms | number | 时间戳(ms) |\n| message_type | number | 1=USER, 2=BOT |\n| message_state | number | 0/1/2 |\n| item_list | MessageItem[] | 内容列表 |\n| context_token | string | 回复时需回传 |\n\n## 相关路径\n\n- 插件目录：`~/.openclaw/extensions/openclaw-weixin/`\n- 账号配置：`~/.openclaw/openclaw-weixin/accounts/`\n- 源码：`~/.openclaw/extensions/openclaw-weixin/src/`"},{"path":"skill-card.md","content":"## Description:\n\n通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等），支持一次性 at、循环 cron/every 任务，并通过 sessionKey 路由到指定微信用户。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[gausshj](https://clawhub.ai/user/gausshj)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and OpenClaw users use this skill to create scheduled WeChat reminders, daily pushes, and recurring notifications through the openclaw-weixin channel. It helps route automated messages to a specific WeChat user or account after a sessionKey has been established.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can create scheduled and recurring WeChat messages to a selected sessionKey.\n\nMitigation: Review the recipient sessionKey, schedule, message content, account, and delete-after-run behavior before allowing task creation.\n\nRisk: The skill describes local account and session files that may contain sensitive tokens or identifiers.\n\nMitigation: Do not expose ~/.openclaw account/session files or bearer tokens in prompts, logs, shared outputs, or screenshots.\n\nRisk: The security review flags broad recurring-message behavior with limited user-control and privacy safeguards.\n\nMitigation: Prefer explicit user confirmation for recurring tasks and periodically audit active cron jobs with openclaw cron list.\n\nRisk: Installer and plugin commands may pull external packages.\n\nMitigation: Use pinned or verified installer versions and review plugin provenance before enabling the WeChat channel.\n\n## Reference(s):\n\n- [Skill page](https://clawhub.ai/gausshj/skills/weixin-cron-push)\n- [Weixin API reference](references/weixin-api.md)\n- [WeChat plugin backend](https://ilinkai.weixin.qq.com)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration]\n\n**Output Format:** [Markdown guidance with inline shell commands and configuration examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May create one-time or recurring OpenClaw cron task proposals that send messages through WeChat when executed.]\n\n## Skill Version(s):\n\n2.0.0 (source: server release metadata)\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":"通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 se... Skill: 微信定时推送 Owner: gausshj Summary: 通过 OpenClaw Cron 定时任务向微信用户主动推送消息（天气、提醒、新闻摘要等）。当用户需要：设置定时提醒、每日推送、定时通知、微信主动发消息、cron 推送到微信时触发。支持一次性（at）和循环（cron/every）任务，通过 sessionKey 路由到指定微信用户，AI 对话模式下自动获取 se... Tags: latest:2.0.0 Version history: v2.0.0 | 2026-04-29T16:08:24.610Z | user Version 2.0.0 of weixin-cron-push - No file changes detected in this release. - All documentation, functionality, and usage remain the same as t","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1013,"uniquenessScore":49,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T20:54:08.145Z","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-11T20:54:08.145Z","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-12T07:37:12.390Z","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"}]}}}