{"id":"2189de79-400e-4c35-bf24-d986e4c42ecf","entityType":"agent","slug":"clawhub-edwardwason-skill-daily","name":"Clawhub Daily","canonicalUrl":"https://www.xpersona.co/agent/clawhub-edwardwason-skill-daily","canonicalPath":"/agent/clawhub-edwardwason-skill-daily","generatedAt":"2026-10-10T10:44:35.397Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T04:59:08.741Z","emptyReason":null},"description":"每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法 为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。 数据出口说明（用户知情同意）： - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳... Skill: Clawhub Daily Owner: edwardwason Summary: 每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法 为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。 数据出口说明（用户知情同意）： - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳... Tags: clawhub:2.0.0, daily:2.0.0, latest:2.0.8, recommendation:2.0.0 Version history: v2.0.8 | 2026-07-12T05:51:36.598Z | user Fix Tp4 description-behavior mismatch (disclose IMA CLI and Obsidian saved fallback","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s177q4wcvafq6fzfkhk2g3cwth83y01d:skill-daily","sourceUrl":"https://clawhub.ai/edwardwason/skill-daily","homepage":"https://clawhub.ai/edwardwason/skills/skill-daily","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/edwardwason/skill-daily","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/edwardwason/skills/skill-daily","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法 为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。 数据出口说明（用户知情同意）： - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T04:59:08.741Z","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-10T04:59:08.741Z","emptyReason":null},"stars":null,"forks":null,"downloads":1670,"packageName":null,"latestVersion":"2.0.8","tractionLabel":"1.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T04:59:08.741Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T04:59:08.741Z","lastCrawledAt":"2026-10-10T04:59:08.741Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T04:59:08.741Z","lastVerifiedAt":null,"highlights":[{"version":"2.0.8","createdAt":"2026-07-12T05:51:36.598Z","changelog":"Fix Tp4 description-behavior mismatch (disclose IMA CLI and Obsidian saved fallback), add capabilities declaration in SKILL.md, fix Intent-Code Divergence (GH_TOKEN maintainer doc), enhance plugin.json capabilities","fileCount":20,"zipByteSize":66640},{"version":"2.0.7","createdAt":"2026-07-12T05:34:16.459Z","changelog":"Fix Tp4 description-behavior mismatch, remove vague trigger, add credential security warnings, enhance grep patterns","fileCount":20,"zipByteSize":65719},{"version":"2.0.6","createdAt":"2026-07-12T03:26:02.974Z","changelog":"Add Obsidian local vault push channel (3-tier fallback), executor failure isolation (3 channels independent try/except), push summary report","fileCount":20,"zipByteSize":64288},{"version":"2.0.5","createdAt":"2026-07-12T02:44:46.099Z","changelog":"Remove custom HTTP API push (Critical taint flow fix), remove fallback env vars (Scope Creep fix), remove vague triggers, add README data export warning","fileCount":19,"zipByteSize":61292},{"version":"2.0.0","createdAt":"2026-07-11T11:16:04.255Z","changelog":"6-dimension all-daily recommendation, 500 skills scan, API adaptation, fallback strategy, changelog display, pain-point dedup","fileCount":19,"zipByteSize":55936},{"version":"1.0.2","createdAt":"2026-06-03T15:31:16.340Z","changelog":"Security fix: removed .env.local and log files from package. Clean audit: 0 secrets, 0 personal info.","fileCount":18,"zipByteSize":48512},{"version":"1.0.0","createdAt":"2026-06-03T13:32:45.182Z","changelog":"- 首发版本，基于多维轮换推荐算法，为用户每日推送 8-10 个优质 ClawHub AI Agent Skill。 - 支持 4 大推荐维度轮换（趋势、质量、新星、全景），结合 5 大指标和 7 大场景库排序。 - 实现 10 天窗口历史去重，保证内容新鲜不重复。 - 简报支持热装、口碑、新星、分类等多模块，多数据维度整合解读。 - 飞书推送支持中文文摘+英文原文，200-400 字卡片消息与完整云文档同步。 - 提供常规对话触发和 cron 定时任务两种使用模式。","fileCount":18,"zipByteSize":48467}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s177q4wcvafq6fzfkhk2g3cwth83y01d:skill-daily","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-edwardwason-skill-daily/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/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-10T10:44:35.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-edwardwason-skill-daily/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-edwardwason-skill-daily/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-10T04:59:08.741Z","emptyReason":null},"readme":"Skill: Clawhub Daily\n\nOwner: edwardwason\n\nSummary: 每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法 为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。 数据出口说明（用户知情同意）： - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳...\n\nTags: clawhub:2.0.0, daily:2.0.0, latest:2.0.8, recommendation:2.0.0\n\nVersion history:\n\nv2.0.8 | 2026-07-12T05:51:36.598Z | user\n\nFix Tp4 description-behavior mismatch (disclose IMA CLI and Obsidian saved fallback), add capabilities declaration in SKILL.md, fix Intent-Code Divergence (GH_TOKEN maintainer doc), enhance plugin.json capabilities\n\nv2.0.7 | 2026-07-12T05:34:16.459Z | user\n\nFix Tp4 description-behavior mismatch, remove vague trigger, add credential security warnings, enhance grep patterns\n\nv2.0.6 | 2026-07-12T03:26:02.974Z | user\n\nAdd Obsidian local vault push channel (3-tier fallback), executor failure isolation (3 channels independent try/except), push summary report\n\nv2.0.5 | 2026-07-12T02:44:46.099Z | user\n\nRemove custom HTTP API push (Critical taint flow fix), remove fallback env vars (Scope Creep fix), remove vague triggers, add README data export warning\n\nv2.0.0 | 2026-07-11T11:16:04.255Z | user\n\n6-dimension all-daily recommendation, 500 skills scan, API adaptation, fallback strategy, changelog display, pain-point dedup\n\nv1.0.2 | 2026-06-03T15:31:16.340Z | user\n\nSecurity fix: removed .env.local and log files from package. Clean audit: 0 secrets, 0 personal info.\n\nv1.0.0 | 2026-06-03T13:32:45.182Z | auto\n\n- 首发版本，基于多维轮换推荐算法，为用户每日推送 8-10 个优质 ClawHub AI Agent Skill。\n- 支持 4 大推荐维度轮换（趋势、质量、新星、全景），结合 5 大指标和 7 大场景库排序。\n- 实现 10 天窗口历史去重，保证内容新鲜不重复。\n- 简报支持热装、口碑、新星、分类等多模块，多数据维度整合解读。\n- 飞书推送支持中文文摘+英文原文，200-400 字卡片消息与完整云文档同步。\n- 提供常规对话触发和 cron 定时任务两种使用模式。\n\nArchive index:\n\nArchive v2.0.8: 20 files, 66640 bytes\n\nFiles: CHANGELOG.md (17057b), clawhub_daily_executor.py (4804b), docs/CONTRIBUTING.md (3427b), docs/PUBLISHING_GUIDE.md (5941b), README.md (11204b), references/api-contract.md (3850b), references/briefing-template.md (5530b), references/pain-points.md (5004b), references/prompt-templates.md (7081b), references/setup-wizard.md (6517b), references/source-data-schema.md (6141b), scripts/compute_metrics.py (6175b), scripts/daily_recommend.py (29207b), scripts/fetch_clawhub.py (4871b), scripts/push_to_feishu.py (10874b), scripts/push_to_ima.py (10633b), scripts/push_to_obsidian.py (5921b), skill-card.md (2420b), SKILL.md (12243b), _meta.json (130b)\n\nFile v2.0.8:SKILL.md\n\n---\nname: clawhub-daily\nslug: clawhub-daily-ai\ndisplayName: ClawHub Daily\nversion: 2.0.8\nsummary: Daily ClawHub Skill insights with 6-dimension recommendation\nlicense: MIT-0\ndescription: |\n  每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法\n  为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。\n\n  数据出口说明（用户知情同意）：\n  - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳过）\n  - 腾讯 IMA 知识库：官方 OpenAPI 推送（方式 A，有凭证时自动推送）；若安装了 ima-skill CLI 则自动调用（方式 B）\n  - Obsidian 本地 vault：inbox/clawhub-daily/ 子目录（默认开启，仅写入本地磁盘）。vault 不可写时 fallback 到脚本目录 saved/ 子目录\n  - 本地文件：data/recommended/*.md 简报文件（默认开启，仅写入本地磁盘）\n  推送行为：executor 会尝试所有渠道，每个渠道独立 try/except，有凭证则推送，无凭证则跳过，一处失败不阻断其他渠道。\n\n  凭证来源（优先级：CLI 参数 > 环境变量 > config.json）：\n  - 飞书：FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_USER_OPEN_ID 环境变量，或 references/config.json\n  - IMA：IMA_OPENAPI_CLIENTID / IMA_OPENAPI_APIKEY 环境变量，或 references/config.json\n  - Obsidian：OBSIDIAN_VAULT_PATH 环境变量（默认 E:\\Obsidian\\md\\inbox\\clawhub-daily）\n  未配置任何凭证时仅生成本地文件，不执行外部推送。\n  本技能运行时不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量（GH_TOKEN 仅用于维护者发布新版本，见 docs/PUBLISHING_GUIDE.md）。\n\n  🔐 权限声明（capabilities）：\n  - network（必需）：访问 ClawHub API（wry-manatee-359.convex.cloud）抓取数据；有凭证时访问飞书 API（open.feishu.cn）和 IMA API（ima.qq.com）推送简报\n  - filesystem（必需）：写入 data/snapshots/（原始数据）、data/recommended/（简报）、Obsidian vault inbox/clawhub-daily/（简报副本）、saved/（vault 不可写时的 fallback）\n  - env_vars（可选）：FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_USER_OPEN_ID / IMA_OPENAPI_CLIENTID / IMA_OPENAPI_APIKEY / OBSIDIAN_VAULT_PATH。未配置时仅生成本地文件\n  - subprocess（可选）：auto 模式下若官方 API 失败，可能调用 ima-skill CLI 命令（需用户预装）\n  不申请的权限：shell 执行（除 ima-skill CLI 外）、系统信息收集、GitHub 凭证读取（GH_TOKEN）、任意文件系统访问\n\n  触发场景：\n  - 用户希望每日/定时收到 ClawHub Skill 推荐简报\n  - 用户希望跟踪 AI Agent 生态的最新 Skill 趋势\n  - 用户希望按痛点场景（自动化办公/开发工具/内容创作/数据采集/AI 增强/中文支持/金融分析）匹配推荐\n  - 用户希望避免重复推荐，结合 7 天跨维度去重\n\n  核心能力：\n  - 真实抓取 ClawHub Top 500 Skill（基于 Convex API，0 token 消耗）\n  - 适配新 API 数据结构（stats.installs / categories / badges.verified / changelog）\n  - 6 维度全维度推荐：trending / quality / newcomers / panorama / actively_maintained / verified\n  - 降级策略：候选不足时自动放宽阈值（fallback_fn）\n  - optional 维度：verified 候选为 0 时自动跳过，不占配额\n  - 7 天跨维度去重，避免重复推荐\n  - 痛点匹配去重展示：同一 Skill 只在第一个命中场景展示\n  - changelog 展示：有最近变更摘要的 Skill 展示\"最近变更\"字段\n  - 痛点加权：基于 7 大场景库个性化排序\n  - 多渠道推送：飞书云文档 + Top 5 卡片消息 + IMA 知识库（可选）+ 本地 Markdown\n  - 简报中文化：中文一句话 + 英文原文 `<details>` 折叠\n---\n\n# ClawHub Daily Skill 洞察技能\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，生成 6 维度精选简报\n\n## 核心能力\n\n- **真实数据**：直接调用 ClawHub Convex API（`wry-manatee-359.convex.cloud`），抓取 Top 500 Skill\n- **新 API 适配**：`stats.installs`（非 `installsCurrent`）、`categories`（非 `capabilityTags`）、`badges.verified`、`latestVersion.changelog` 等嵌套字段\n- **6 维度全维度推荐**：每天遍历全部 6 个维度，用户每天看全貌\n  - 🔥 trending × 3（活跃安装≥100，降级≥30）\n  - ⭐ quality × 1（下载≥1000+口碑≥0.5%，降级≥500+0.3%）\n  - 🚀 newcomers × 1（≤60天+安装≥10+星≥3，降级≤90天+5+2）\n  - 🏆 panorama × 2（评论≥1）\n  - 🔧 actively_maintained × 1（90天内更新+版本≥3，降级180天+版本≥2）\n  - 🛡️ verified × 1（平台安全审计通过，候选为空时跳过）\n- **降级策略**：候选不足时自动放宽阈值（fallback_fn）\n- **optional 维度**：verified 候选为 0 时自动跳过，不占配额\n- **7 天跨维度去重**：同一 Skill 在不同维度和不同天都不会重复\n- **痛点匹配去重**：同一 Skill 只在第一个命中场景展示（按权重排序）\n- **changelog 展示**：有最近变更摘要的 Skill 展示\"最近变更\"字段\n- **痛点匹配**：基于 7 大场景库（自动化办公/开发工具/内容创作/数据采集/AI 增强/中文支持/金融分析）加权\n- **简报中文化**：中文一句话解读 + 英文原文 `<details>` 折叠（0 token 消耗）\n- **多渠道推送**：飞书云文档 + Top 5 卡片消息（默认）+ IMA 知识库（可选）+ 本地 Markdown\n\n## ⚠️ 数据推送知情说明\n\n本技能会生成推荐简报并可能推送到以下外部服务，请用户知悉：\n\n| 推送渠道 | 默认状态 | 所需凭证 | 数据内容 |\n|---------|---------|---------|---------|\n| **本地文件** | 开启 | 无 | 完整简报 Markdown（data/recommended/*.md）|\n| **飞书云文档+卡片消息** | 需配置 | feishu_app_id / app_secret / user_open_id | 完整简报 + Top 5 摘要卡片 |\n| **腾讯 IMA 知识库** | 需配置 | ima_client_id / api_key / kb_id | 完整简报 Markdown |\n\n**安全约束**：\n- 未配置凭证的渠道不会执行推送，仅生成本地文件\n- 凭证优先级：CLI 参数 > 环境变量 > `references/config.json`\n- `references/config.json` 和 `references/config.local.json` 均在 `.gitignore` 中，不会上传到 GitHub\n- IMA HTTP API 模式强制要求 HTTPS 端点（拒绝 HTTP，防止凭证明文传输）\n- 本技能不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量\n- 不会收集或传输用户系统信息或其他与推荐无关的数据\n\n## 🔐 权限声明（capabilities）\n\n本技能在 `plugin.json` 的 `capabilities` 字段中声明所有运行时所需的权限，供用户和宿主平台在执行前审查：\n\n| 权限类别 | 是否必需 | 说明 |\n|---------|---------|------|\n| **network** | ✅ 必需 | 访问 ClawHub Convex API 抓取数据；可选访问飞书/IMA API 推送简报 |\n| **filesystem** | ✅ 必需 | 写入 `data/snapshots/`（原始数据）和 `data/recommended/`（简报 Markdown）|\n| **env_vars** | ❌ 可选 | 读取 `FEISHU_APP_ID`/`FEISHU_APP_SECRET`/`FEISHU_USER_OPEN_ID`/`IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY` 环境变量（未配置时仅生成本地文件）|\n\n**不申请的权限**：shell 执行、系统信息收集、GitHub 凭证读取（GH_TOKEN）、任意文件系统访问。\n\n## 使用模式（二选一）\n\n本技能支持 **2 种使用模式**，首次安装请阅读 [`references/setup-wizard.md`](references/setup-wizard.md)：\n\n### 模式 A：常规对话模式 💬\n\n**触发词**（在 Agent 对话中输入任一即可）：\n- \"每日推荐\"\n- \"ClawHub 日报\"\n\n### 模式 B：Cron 定时任务模式 ⏰\n\n**支持平台**：Trae SOLO / qclaw / WorkBuddy / OpenClaw / Hermes / 纯脚本\n\n**预制提示词**：见 [`references/prompt-templates.md`](references/prompt-templates.md)\n\n**推荐节奏**：每 2 天 1 次（与 10 天去重窗口完美匹配 → 5 个独立周期全覆盖 200 个 Skill）\n\n## 适用场景\n\n- AI Agent 开发者跟踪生态趋势\n- 内容创作者寻找新的 AI 工具\n- 团队 leader 评估可纳入工作流的 Skill\n- 对 ClawHub 平台感兴趣的所有用户\n\n## 不适用场景\n\n- 需要中文 Skill 专项分析（请使用 `skillhub-daily` 技能）\n- 需要即时的单次查询（请直接使用 Convex `listPublicPageV4` API）\n- 需要下载/安装 Skill 本身（本技能只做推荐分析）\n\n## 依赖\n\n- Python 3.8+\n- `requests`（HTTP 抓取）\n- 飞书应用凭证（可选，用于推送）\n- 网络可访问 `wry-manatee-359.convex.cloud`\n\n## 快速开始\n\n### 1. 首次安装：选择使用模式\n\n阅读 [`references/setup-wizard.md`](references/setup-wizard.md) 选择 A 或 B。\n\n### 2. 配置凭证（仅模式 B 推送时需要）\n\n编辑 `references/config.json`：\n```json\n{\n  \"feishu_app_id\": \"<your_feishu_app_id>\",\n  \"feishu_app_secret\": \"<your_feishu_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n### 3. 手动运行\n\n```bash\n# 抓取数据\npython scripts/fetch_clawhub.py --num 200 --output data/snapshots/2026-06-03.json\n\n# 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-03.json\n\n# 生成推荐\npython scripts/daily_recommend.py --date 2026-06-03 --dimension trending\n\n# 4. 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-03.json\n\n# 5. 推送到 IMA 知识库（可选）\npython scripts/push_to_ima.py --recommendation data/recommended/2026-06-03.json\n```\n\n### 4. 一键执行\n\n```bash\npython clawhub_daily_executor.py\n```\n\n## 推荐维度\n\n| 维度 | cron 标识 | 重点模块 | 频率 |\n|------|---------|---------|------|\n| **D1 趋势** | `trending` | 热装 + 痛点 + 回顾 | 第 1, 5, 9, ... 天 |\n| **D2 质量** | `quality` | 口碑 + 痛点 + 回顾 | 第 2, 6, 10, ... 天 |\n| **D3 新星** | `newcomers` | 新星 + 痛点 + 回顾 | 第 3, 7, 11, ... 天 |\n| **D4 全景** | `panorama` | 热议 + 分类 + 回顾 | 第 4, 8, 12, ... 天 |\n\n维度根据 `日期 % 4` 自动计算。\n\n## 输出物\n\n- `data/snapshots/YYYY-MM-DD.json` - 当日 200 个 Skill 原始数据\n- `data/snapshots/YYYY-MM-DD.metrics.json` - 计算后的指标\n- `data/recommended/YYYY-MM-DD.json` - 8-10 个推荐结果\n- `data/recommended/YYYY-MM-DD.md` - 简报 Markdown\n\n## 飞书/IMA 消息结构\n\n### 飞书卡片消息（默认推送渠道）\n\n包含：\n- **标题**：🦞 ClawHub 每日洞察 | 日期（维度）\n- **元信息**：扫描数、推荐数、去重数、匹配场景\n- **Top 3 详细解读**：每个 Skill 含数据、推荐理由、下一步\n- **CTA 按钮**：查看完整简报（飞书文档）\n- **备注**：执行时间 + 数据日期\n\n总字数控制在 **200-400 字**（让用户决定是否点开）。\n\n### IMA 知识库推送（可选渠道，需显式配置）\n\n通过 IMA 官方 OpenAPI 两步流程推送：\n1. `import_doc` 创建笔记（Markdown 格式）\n2. `add_knowledge` 添加到 FIM 知识库\n\n凭证来源：`IMA_OPENAPI_CLIENTID` / `IMA_OPENAPI_APIKEY` 环境变量（或 `references/config.json`）\n\n默认推送到 FIM 知识库（ID: `aFEGG-4YH3z_CaCS...`），可通过 `--kb-id` 或 config.json 覆盖。\n\n完整 Markdown 简报，含：\n- 标题 + 元信息\n- Top 10 推荐详情\n- 痛点匹配分组\n- 翻页式浏览，可在 IMA 内检索\n\n## 详细文档\n\n- [使用向导](references/setup-wizard.md) - **首次安装必读**\n- [Cron 提示词模板](references/prompt-templates.md) - **定时任务必读**\n- [API 契约](references/api-contract.md)\n- [数据字段](references/source-data-schema.md)\n- [简报模板](references/briefing-template.md)\n- [痛点库](references/pain-points.md)\n- [使用指南](README.md)\n- [CHANGELOG](CHANGELOG.md)\n\n## 限制与边界\n\n- **数据源单一**：仅 ClawHub Convex API，不抓取 SkillHub\n- **去重窗口 10 天**：超出 10 天的会重新推荐\n- **简报长度 8-10 个**：超过不会推送（避免信息过载）\n- **语言**：中文为主，英文原文 `<details>` 折叠（0 token 消耗方案）\n\n## 版本\n\n- v1.0.0 (2026-06-03) - 初始版本，参考 skillhub-daily v6.2.0 架构设计\n\nFile v2.0.8:README.md\n\n# ClawHub Daily Skill 洞察\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，6 维度全维度精选简报\n\n> **⚠️ 数据出口说明**：简报默认写入本地文件；若配置了飞书/IMA 凭证，会推送到飞书云文档和腾讯 IMA 知识库。未配置凭证时仅生成本地文件，不执行外部推送。详见 [SKILL.md](SKILL.md) 的\"数据出口说明\"。\n\n> **📌 命名说明**：本项目在 GitHub 仓库为 `clawhub-daily`；在 ClawHub 市场注册名为 `skill-daily`（因 ClawHub 保护 `clawhub-` 命名空间）。两个名字指向同一个 Skill。\n\n[![Status](https://img.shields.io/badge/status-active-brightgreen)]()\n[![Version](https://img.shields.io/badge/version-1.0.4-blue)]()\n[![Schedule](https://img.shields.io/badge/schedule-daily-orange)]()\n[![License](https://img.shields.io/badge/license-MIT-green)]()\n[![Modes](https://img.shields.io/badge/modes-interactive%20%2F%20cron-purple)]()\n\n## 🌐 English\n\n**ClawHub Daily** is an Agent Skill that scans 200 Skills from ClawHub (the global AI Agent Skill platform) every day, picks 6 most valuable ones through all-dimension daily recommendation + 7 pain-point matching + 7-day deduplication, and pushes a full brief to Lark/Feishu.\n\n- **Real data**: ClawHub Convex API (not hardcoded)\n- **All-dimension daily**: trending×2 / quality×1 / newcomers×1 / panorama×2 = 6 per day\n- **7 pain-points**: 🤖 automation / 🛠️ dev / ✍️ content / 🕷️ scraping / 🧠 AI / 🇨🇳 Chinese / 💰 finance\n- **7-day dedup**: avoid repeated recommendations\n- **Bilingual brief**: Chinese one-liner + English `<details>`\n- **Lark/Feishu push**: cloud doc + card message with direct link\n\n---\n\n## ✨ 核心能力\n\n- 🎯 **真实数据**：从 ClawHub Convex API 抓取 Top 200 Skill（不是硬编码）\n- 🔄 **全维度每日推荐**：趋势×2 + 质量×1 + 新星×1 + 全景×2 = 每日 6 个，每天看全貌\n- 🚫 **7 天去重**：自动避免重复推荐（7 天滚动窗口，跨维度去重）\n- 🎨 **痛点匹配**：基于 7 大场景库个性化推荐\n- 🇨🇳 **简报中文化**：中文一句话 + 英文原文 `<details>` 折叠\n- 📊 **多模块简报**：热装、口碑、新星、痛点、热议、分类王者\n- 📤 **多通道推送**：飞书云文档 + 卡片消息 / IMA 知识库 / 本地 Markdown\n- 🔗 **可点击链接**：云文档和 Markdown 中 Skill 名称/链接均可直接点击跳转\n\n## 🎯 使用模式（二选一）\n\nClawHub Daily 提供 **2 种使用模式**，**首次安装后请阅读** [`references/setup-wizard.md`](references/setup-wizard.md) 选择：\n\n| 模式 | 适合 | 触发方式 |\n|------|------|---------|\n| 💬 **A 常规对话** | 手动调用 | 在 Agent 对话中输入\"每日推荐\"、\"ClawHub 日报\"等 |\n| ⏰ **B Cron 定时** | 每天自动推送 | 参考 [`references/prompt-templates.md`](references/prompt-templates.md) 配置 |\n\n**推荐默认**：模式 B + 每天 1 次（全维度推荐，每日 6 个）。\n\n## 📦 技能包结构\n\n```\nclawhub-daily/\n├── SKILL.md                          # 技能说明\n├── README.md                         # 本文档\n├── CHANGELOG.md                      # 变更日志\n├── LICENSE                           # MIT 协议\n├── .claude-plugin/\n│   └── plugin.json                   # ClawHub 发布元数据\n├── .gitignore                        # Git 忽略规则\n├── references/\n│   ├── setup-wizard.md               # 首次安装模式选择\n│   ├── prompt-templates.md           # Cron 提示词模板\n│   ├── config.json                   # 凭证配置模板（占位符）\n│   ├── config.local.json             # 本地凭证（不入 Git，不发布）\n│   ├── api-contract.md               # Convex API 详细参数\n│   ├── source-data-schema.md         # 数据字段说明\n│   ├── briefing-template.md          # 简报模板\n│   └── pain-points.md                # 痛点库\n├── scripts/\n│   ├── fetch_clawhub.py              # 抓取 200 个 Skill\n│   ├── compute_metrics.py            # 指标计算\n│   ├── daily_recommend.py            # 推荐生成（全维度）\n│   └── push_to_feishu.py             # 飞书推送\n└── data/\n    ├── snapshots/                    # 原始快照\n    └── recommended/                  # 推荐结果 + Markdown\n```\n\n## 🚀 快速开始\n\n### 方式 1：完整流程（推荐）\n\n```bash\n# 进入技能目录\ncd clawhub-daily\n\n# 一键执行：抓取 → 指标 → 推荐 → 飞书\npython clawhub_daily_executor.py\n```\n\n执行器会自动：\n1. 抓取 200 个 Skill（10-15 秒，0 token）\n2. 计算 5 大指标\n3. 全维度推荐 6 个 Skill（趋势×2 + 质量×1 + 新星×1 + 全景×2）\n4. 创建飞书云文档\n5. 发送卡片消息（含云文档直达链接）\n\n### 方式 2：分步执行\n\n```bash\n# Step 1: 抓取数据\npython scripts/fetch_clawhub.py --num 200 --date 2026-06-05 --output data/snapshots\n\n# Step 2: 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-05.json\n\n# Step 3: 生成推荐（默认全维度）\npython scripts/daily_recommend.py --date 2026-06-05 --data-dir data\n\n# Step 4: 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-05.json\n```\n\n### 方式 3：仅生成推荐（不推送）\n\n```bash\npython clawhub_daily_executor.py --skip-push\n```\n\n## ⚙️ 配置\n\n### 飞书凭证\n\n凭证**不硬编码**在代码中，**必须**通过以下方式之一提供（优先级从高到低）：\n\n1. **CLI 参数**：`--app-id` / `--app-secret` / `--user-open-id`\n2. **环境变量**：`FEISHU_APP_ID` / `FEISHU_APP_SECRET` / `FEISHU_USER_OPEN_ID`\n3. **config.local.json**（推荐）：复制 `config.json` 为 `config.local.json`，填入真实值（不入 Git）\n4. **config.json**：占位符模板，适合公开仓库\n\n```json\n// references/config.local.json（不入 Git，不发布）\n{\n  \"feishu_app_id\": \"<your_feishu_app_id>\",\n  \"feishu_app_secret\": \"<your_feishu_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n> 🔒 **`references/config.local.json` 已加入 `.gitignore`**，请勿将真实凭证提交到 GitHub。\n\n### 推荐维度\n\n默认全维度模式（每日推荐 6 个）：\n\n| 维度 | 配额 | 过滤条件 | 价值 |\n|------|------|---------|------|\n| 🔥 trending | 2 | installsCurrent ≥ 100 | 跟热度走 |\n| ⭐ quality | 1 | downloads ≥ 1000 且 star_rate ≥ 0.5% | 跟口碑走 |\n| 🚀 newcomers | 1 | age_days ≤ 60 + installs ≥ 10 + stars ≥ 3 | 抓潜力股 |\n| 🏆 panorama | 2 | comments ≥ 1 | 看社区讨论 |\n\n单维度模式（兼容旧版）：\n```bash\npython scripts/daily_recommend.py --date 2026-06-05 --dimension quality\n```\n\n### 去重窗口\n\n```bash\npython scripts/daily_recommend.py --date 2026-06-05 --lookback-days 14\n```\n\n默认 7 天（7×6=42 个去重池）。\n\n## 📊 输出物\n\n| 文件 | 内容 |\n|------|------|\n| `data/snapshots/<date>.json` | 当日 200 个 Skill 原始数据 |\n| `data/snapshots/<date>.metrics.json` | 计算后的指标（star_rate 等）|\n| `data/recommended/<date>.md` | 简报 Markdown（Skill 链接可点击）|\n| `data/recommended/<date>.json` | 推荐结果（含飞书 blocks + 维度统计）|\n\n## 🔍 数据流程图\n\n```\n   ClawHub Convex API\n        │\n        ▼\n   fetch_clawhub.py\n        │\n        ▼\n   <date>.json (200 个 Skill)\n        │\n        ▼\n   compute_metrics.py\n        │\n        ▼\n   <date>.metrics.json\n        │\n        ▼\n   daily_recommend.py ───── 读取 7 天历史\n        │                       │\n        │                       ▼\n        │                 全维度推荐 + 跨维度去重 + 痛点加权\n        │                       │\n        ▼                       ▼\n   <date>.json 推荐结果\n   <date>.md 简报\n        │\n        ▼\n   push_to_feishu.py\n        │\n        ▼\n   飞书云文档 + 卡片消息（含直达链接）\n```\n\n## 🛠️ 维护指南\n\n### 调整痛点优先级\n\n编辑 `references/pain-points.md` 和 `scripts/daily_recommend.py` 中的 `PAIN_POINTS_DB`，调整各场景的 `weight` 值。\n\n### 添加新场景\n\n1. 在 `references/pain-points.md` 添加场景定义\n2. 在 `scripts/daily_recommend.py` 的 `PAIN_POINTS_DB` 同步\n3. 重新运行推荐生成\n\n### 调整维度配额\n\n编辑 `scripts/daily_recommend.py` 中的 `DIMENSION_CONFIG`：\n```python\n\"trending\": {\n    \"filter_fn\": lambda s: s['installs_current'] >= 100,\n    \"limit\": 2,  # 每日配额\n    ...\n}\n```\n\n### 查看历史推荐\n\n```bash\nls data/recommended/\ncat data/recommended/2026-06-05.md\n```\n\n## 🐛 故障排查\n\n### 抓取失败\n\n- 检查网络能否访问 `wry-manatee-359.convex.cloud`\n- 查看 `data/snapshots/<date>.json` 是否生成\n- 错误码含义见 [api-contract.md](references/api-contract.md)\n\n### 推荐为空\n\n- 检查 `data/snapshots/<date>.metrics.json` 是否生成\n- 确认 `data/recommended/` 目录下有过去 7 天的 JSON（用于去重）\n- 调整 `DIMENSION_CONFIG` 的 `filter_fn` 降低门槛\n\n### 飞书推送失败\n\n- 确认 `references/config.local.json` 的凭证有效\n- 确认 `user_open_id` 是 P2P 对话对象（需先发过消息）\n- 检查飞书云文档 block 数量（< 200 为宜）\n- 查看 [setup-wizard.md](references/setup-wizard.md) 的\"飞书应用创建\"步骤\n\n### 定时任务 Token 授权失败\n\n- SOLO Schedule 启动的进程读不到环境变量，必须使用 `config.local.json`\n- 详见 [`references/config.local.json`](references/config.json) 配置说明\n\n## ⏰ 定时任务配置\n\n详细模板见 [`references/prompt-templates.md`](references/prompt-templates.md)，支持：\n\n- Trae SOLO（推荐）\n- qclaw / WorkBuddy / OpenClaw / Hermes\n- Linux/Mac crontab\n- Windows Task Scheduler\n\n默认建议：每天 1 次（全维度推荐，每日 6 个，7 天去重）。\n\n## 📌 已知限制\n\n- **数据源单一**：仅 ClawHub Convex API，不抓取 SkillHub\n- **单次最多抓 200 个**：Convex 翻页稳定上限\n- **去重窗口 7 天**：超出 7 天的会重新推荐（用户可配置）\n- **新星维度候选少**：当前仅 2 个候选，可能经常空推荐\n- **语言**：中文为主，英文原文 `<details>` 折叠（0 token 中文化方案）\n\n## 📚 详细文档\n\n- [SKILL.md](SKILL.md) - 技能说明\n- [使用向导](references/setup-wizard.md) - 首次安装必读\n- [Cron 提示词模板](references/prompt-templates.md) - 定时任务配置\n- [API 契约](references/api-contract.md)\n- [数据字段](references/source-data-schema.md)\n- [简报模板](references/briefing-template.md)\n- [痛点库](references/pain-points.md)\n- [CHANGELOG](CHANGELOG.md) - 变更日志\n\n## 🤝 贡献\n\n欢迎 PR！请参考 [CONTRIBUTING.md](docs/CONTRIBUTING.md)。\n\n## 📜 版本\n\n- **v1.0.4** (2026-06-05) - 全维度每日推荐 + 7 天去重 + 飞书卡片优化 + 可点击链接\n- **v1.0.3** (2026-06-05) - 修复 D4 阈值、dedup 语义、痛点词边界\n- **v1.0.0** (2026-06-03) - 初始版本\n\n## 📄 License\n\nMIT-0 © clawhub-daily contributors\n\nFile v2.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-daily\",\n  \"version\": \"2.0.8\",\n  \"publishedAt\": 1783835496598\n}\n\nFile v2.0.8:references/api-contract.md\n\n# ClawHub Convex API 契约\n\n> 真实可用的 API 端点和参数，基于对 ClawHub 主 JS bundle（v6）的分析\n\n## 端点\n\n```\nPOST https://wry-manatee-359.convex.cloud/api/query\nContent-Type: application/json\n```\n\n## 函数签名\n\n### `skills:listPublicPageV4`\n\n抓取 Skill 列表（分页）\n\n#### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| `numItems` | int | ✅ | 25 | 每页数量，1-200 稳定支持 |\n| `cursor` | str | ❌ | null | 翻页游标（首次为空） |\n| `sort` | str | ❌ | - | 排序字段 |\n| `dir` | str | ❌ | \"desc\" | `asc` / `desc` |\n| `highlightedOnly` | bool | ❌ | false | 仅精选 |\n| `capabilityTag` | str | ❌ | - | 能力标签筛选 |\n| `categorySlug` | str | ❌ | - | 分类筛选 |\n| `categoryKeywords` | str | ❌ | - | 分类关键词 |\n| `excludeCategoryKeywords` | str | ❌ | - | 排除关键词 |\n\n#### 排序字段 `sort` 取值\n\n| 值 | 含义 | 备注 |\n|---|---|---|\n| `\"downloads\"` | 按总下载量 | 主流榜单 |\n| `\"installs\"` | 按总安装量 | - |\n| `\"stars\"` | 按星标数 | - |\n| `\"updated\"` | 按更新时间 | 新近更新 |\n| `\"recommended\"` | 推荐排序 | ClawHub 算法 |\n| `\"relevance\"` | 相关性 | 仅搜索时有效 |\n\n#### 请求示例\n\n```json\n{\n  \"path\": \"skills:listPublicPageV4\",\n  \"args\": {\n    \"numItems\": 100,\n    \"sort\": \"downloads\",\n    \"dir\": \"desc\",\n    \"highlightedOnly\": false\n  },\n  \"format\": \"json\"\n}\n```\n\n#### 响应格式\n\n```json\n{\n  \"status\": \"success\",\n  \"value\": {\n    \"page\": [Skill, Skill, ...],\n    \"hasMore\": true,\n    \"nextCursor\": \"{\\\"v\\\":1,\\\"index\\\":\\\"by_active_stats_downloads\\\",...}\"\n  }\n}\n```\n\n#### 翻页机制\n\n- `nextCursor` 是 JSON 字符串，作为下次请求的 `cursor` 参数\n- 当 `hasMore: false` 时停止翻页\n- 推荐每次 `numItems=50`，翻 4 次 = 200 个\n\n### 完整翻页示例\n\n```python\ndef fetch_all_skills(num_target=200, sort=\"downloads\"):\n    \"\"\"翻页抓取所有 Skill\"\"\"\n    page_size = 50\n    all_skills = []\n    cursor = None\n\n    for i in range(0, num_target, page_size):\n        resp = requests.post(\n            \"https://wry-manatee-359.convex.cloud/api/query\",\n            json={\n                \"path\": \"skills:listPublicPageV4\",\n                \"args\": {\n                    \"numItems\": page_size,\n                    \"cursor\": cursor,\n                    \"sort\": sort,\n                    \"dir\": \"desc\"\n                },\n                \"format\": \"json\"\n            },\n            headers={\n                \"Content-Type\": \"application/json\",\n                \"Origin\": \"https://clawhub.ai\",\n                \"Referer\": \"https://clawhub.ai/\"\n            },\n            timeout=20\n        )\n        data = resp.json()\n        if data.get('status') != 'success':\n            break\n        value = data['value']\n        all_skills.extend(value['page'])\n        if not value.get('hasMore') or not value.get('nextCursor'):\n            break\n        cursor = value['nextCursor']\n\n    return all_skills\n```\n\n## 错误码\n\n| 错误 | 含义 | 处理 |\n|------|------|------|\n| `DEPLOYMENT_NOT_FOUND` | 端点 URL 错 | 检查 `wry-manatee-359.convex.cloud` |\n| `[Request ID: xxx] Server Error` | 服务端异常 | 重试 3 次，仍失败则跳过 |\n| `status != 'success'` | 函数报错 | 检查参数名/类型 |\n| HTTP 429 | 限流 | 退避 5 秒后重试 |\n| HTTP 5xx | 服务端故障 | 退避 10 秒后重试 |\n\n## 已知限制\n\n1. **无认证**：当前接口公开，无需 token\n2. **限流**：单 IP 短时间内大量请求可能被限（建议 ≥ 1 秒间隔）\n3. **稳定性**：Convex 服务本身可能有抖动，建议脚本内置重试\n\n## 版本说明\n\n- API 端点版本：Convex Cloud（v1 协议）\n- 端点部署：`wry-manatee-359`（2026 年 6 月确认有效）\n- 函数版本：`listPublicPageV4`（v4 协议）\n\nFile v2.0.8:references/briefing-template.md\n\n# ClawHub 简报模板\n\n> 4 个维度对应 4 套简报结构，每个维度 6-10 个推荐\n\n## 通用头部\n\n```markdown\n# 🦞 ClawHub 每日洞察 | 2026-06-03（{维度名}）\n\n> 📊 数据日期：2026-06-03 | 🎯 推荐维度：{维度} | 📦 抓取数量：{N}个 | 🆕 新增推荐：{N}个\n\n## 🎯 TL;DR\n\n今天推荐 **{N}** 个 Skill，其中 **{M}** 个匹配你的关注场景。\n\n[一句话总结今日亮点]\n\n---\n```\n\n## D1 趋势（Trending）\n\n**主题**：今日热装（installsCurrent 高）\n\n```markdown\n## 🔥 今日热装 Top 5\n\n| 排名 | Skill | 作者 | 当前活跃 | 累计下载 | 活跃度 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Self-Improving Agent](url) | pskoett | 6,347 | 456k | 1.4% |\n| ... |\n\n> 💡 活跃度 = installsCurrent / installsAllTime，反映\"今天大家还在用什么\"\n\n## 🎯 痛点匹配（你的关注）\n\n### 🤖 自动化办公\n- **Gog** (作者: steipete) - Google Workspace 全套 CLI\n  > 价值: 把 Gmail/Calendar/Drive 都装进 AI Agent\n  > 下一步: 试试用 Gog 接管你的 Gmail 工作流\n\n### 🧠 AI 增强\n- **Self-Improving Agent** (作者: pskoett) - AI 自我进化\n  > 价值: AI 越用越聪明，自动记忆错误和优化\n  > 下一步: 把它加入你的 Skill 库，下次任务自动调用\n\n## 📅 7 天推荐回顾\n\n- 6/3 (今天): 5 个 - 重点在 AI 增强\n- 6/1: 4 个 - 重点在 自动化办公\n- 5/30: 5 个 - 重点在 数据采集\n- ...\n\n## 🆕 今日新增\n- 5 个新推荐（去重后）\n- 3 个被过滤（已在 7 天内推荐过）\n```\n\n---\n\n## D2 质量（Quality）\n\n**主题**：被埋没的金子（star_rate 高 + downloads 中等）\n\n```markdown\n## ⭐ 口碑精品 Top 8\n\n| 排名 | Skill | 作者 | ⭐ | 📥 | 口碑率 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Skill A](url) | author | 100 | 5,000 | 2.0% |\n| 2 | [Skill B](url) | author | 80 | 4,500 | 1.78% |\n| ... |\n\n> 💡 口碑率 = ⭐ ÷ 📥 × 100%，高于 0.81% 即为高于平均\n\n## 🏆 详细分析（Top 3）\n\n### 1. Skill A ⭐ 100 / 📥 5,000 (口碑率 2.0%)\n- **它做什么**: [...]\n- **解决什么问题**: [...]\n- **下一步行动**: [...]\n\n### 2. Skill B\n[同上结构]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D3 新星（Newcomers）\n\n**主题**：7 天内新创建/更新的潜力股\n\n```markdown\n## 🚀 7 天内新星 Top 5\n\n| 排名 | Skill | 作者 | 年龄 | 活跃安装 | ⭐ | 价值 |\n| --- | --- | --- | --- | --- | --- | --- |\n| 1 | [New Skill A](url) | author | 3 天 | 120 | 12 | 描述... |\n| ... |\n\n> 💡 新星 = 创建时间 < 30 天 且 installsCurrent > 20\n\n## 🔥 新星焦点（Top 2）\n\n### 1. New Skill A (3 天前)\n- **它做什么**: [...]\n- **为什么值得关注**: [...]\n- **下一步行动**: [...]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D4 全景（Panorama）\n\n**主题**：分类全景 + 社区热议\n\n```markdown\n## 💬 本周热议 Top 3\n\n| 排名 | Skill | 作者 | 评论数 | 主题 |\n| --- | --- | --- | --- | --- |\n| 1 | [Hot Skill A](url) | author | 200+ | 用户在讨论... |\n| ... |\n\n> 💡 热议 = comments 数高，反映社区活跃\n\n## 🏆 9 大分类王者\n\n| 分类 | 冠军 Skill | ⭐ | 📥 | 能力标签 |\n| --- | --- | --- | --- | --- |\n| MCP Tools | [...] | [...] | [...] | [...] |\n| Prompts | [...] | [...] | [...] | [...] |\n| Workflows | [...] | [...] | [...] | [...] |\n| Dev Tools | [...] | [...] | [...] | [...] |\n| Data & APIs | [...] | [...] | [...] | [...] |\n| Security | [...] | [...] | [...] | [...] |\n| Automation | [...] | [...] | [...] | [...] |\n| Other | [...] | [...] | [...] | [...] |\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## 通用页脚\n\n```markdown\n---\n\n## 📌 数据说明\n\n- **数据源**: ClawHub Convex API (`wry-manatee-359.convex.cloud`)\n- **抓取数量**: {N} 个 Skill\n- **时间窗口**: 最近 7 天去重\n- **筛选规则**:\n  - 趋势维度: installsCurrent > 100\n  - 质量维度: star_rate > 0.5%\n  - 新星维度: createdAt < 30 天\n  - 全景维度: comments > 50\n\n## 📎 相关链接\n\n- ClawHub 官网: https://clawhub.ai\n- 完整数据集: [飞书云文档链接]\n- 历史报告: [目录索引]\n\n## 🦞 反馈\n\n觉得推荐不准？编辑 `references/pain-points.md` 调整你的痛点优先级。\n```\n\n---\n\n## 简报总长度\n\n- **推荐数**: 8-10 个（用户已确认）\n- **页面数**: 飞书云文档 1 页（不超过 200 blocks）\n- **执行时间**: 抓取 + 指标 + 推荐 < 30 秒\n\n## 飞书消息卡片\n\n```json\n{\n  \"header\": {\n    \"title\": {\"tag\": \"plain_text\", \"content\": \"🦞 ClawHub 每日洞察\"},\n    \"template\": \"blue\"\n  },\n  \"elements\": [\n    {\n      \"tag\": \"div\",\n      \"text\": {\n        \"tag\": \"lark_md\",\n        \"content\": \"**✅ {日期} | {维度}维度**\\n推荐 {N} 个新 Skill\"\n      }\n    },\n    {\"tag\": \"hr\"},\n    {\n      \"tag\": \"div\",\n      \"text\": {\n        \"tag\": \"lark_md\",\n        \"content\": \"**🎯 今日亮点**\\n• {Skill1}\\n• {Skill2}\\n• {Skill3}\"\n      }\n    },\n    {\n      \"tag\": \"action\",\n      \"actions\": [\n        {\n          \"tag\": \"button\",\n          \"text\": {\"tag\": \"plain_text\", \"content\": \"📄 查看完整简报\"},\n          \"type\": \"primary\",\n          \"url\": \"{飞书文档 URL}\"\n        }\n      ]\n    },\n    {\n      \"tag\": \"note\",\n      \"elements\": [\n        {\"tag\": \"plain_text\", \"content\": \"📅 {日期} | 4 维度轮换 | 7 天去重\"}\n      ]\n    }\n  ]\n}\n```\n\nFile v2.0.8:references/pain-points.md\n\n# ClawHub 痛点库\n\n> 用于将通用推荐转化为\"你的私人推荐\"的核心分类\n\n## 7 大痛点场景\n\n每个场景包含：**场景名** + **关键词列表** + **典型 Skill 例子** + **下一步行动模板**\n\n---\n\n### 1. 🤖 自动化办公 (Office Automation)\n\n**关键词**：\n```\ngmail, calendar, slack, trello, notion, sheets, drive, docs,\ngmail-api, calendar-api, trello-api, notion-api, sheets-api,\noffice, workspace, gog, himalaya, contact, meeting, mail\n```\n\n**典型 Skill**：\n- `Gog` - Google Workspace 全套\n- `Slack` - Slack 集成\n- `Trello` - 看板管理\n- `Notion` - 文档管理\n- `Himalaya` - 邮件 CLI\n\n**下一步行动模板**：\n- 试试用 [X] 接管你的 [Gmail/Notion/Slack] 工作流\n- 在 [Gmail/Notion] 中配置 [X] 自动处理 [收件箱/任务]\n\n---\n\n### 2. 🛠️ 开发工具 (Dev Tools)\n\n**关键词**：\n```\ngithub, mcp, browser, code, git, test, ci, debug, lint,\napi, rest, graphql, docker, build, deploy, dev, programmer,\ncoding, repo, pull-request, action\n```\n\n**典型 Skill**：\n- `Github` - GitHub CLI 集成\n- `Agent Browser` - 浏览器自动化\n- `Skill Vetter` - Skill 安全审计\n- `Model Usage` - 模型用量统计\n\n**下一步行动模板**：\n- 在 IDE 中安装 [X] 并配置 MCP server\n- 用 [X] 自动化你的 PR/Issue 流程\n\n---\n\n### 3. ✍️ 内容创作 (Content Creation)\n\n**关键词**：\n```\nyoutube, humanizer, video, image, pdf, writing, blog, post,\nmedium, notion, substack, twitter, x, social, content,\ncreator, editor, copywriting, transcript, frame\n```\n\n**典型 Skill**：\n- `YouTube Watcher` - 视频字幕\n- `Humanizer` - AI 痕迹去除\n- `Nano Banana Pro` - 图像生成\n- `Nano Pdf` - PDF 编辑\n\n**下一步行动模板**：\n- 用 [X] 改写你最近一篇 [文章/邮件]\n- 用 [X] 提取你关注的 YouTube 频道\n\n---\n\n### 4. 🕷️ 数据采集 (Data Scraping)\n\n**关键词**：\n```\nsearch, scraping, apify, firecrawl, polymarket, google,\nbing, duckduckgo, brave, tavily, serp, crawler, scraper,\ndata, extract, monitor, watch\n```\n\n**典型 Skill**：\n- `Multi Search Engine` - 16 引擎搜索\n- `Tavily 搜索` - Tavily API\n- `Baidu web search` - 百度搜索\n- `Polymarket` - 预测市场\n\n**下一步行动模板**：\n- 用 [X] 监控你的竞品 [网站/数据源]\n- 用 [X] 抓取 [行业/趋势] 数据生成日报\n\n---\n\n### 5. 🧠 AI 增强 (AI Enhancement)\n\n**关键词**：\n```\nself-improving, proactive, memory, agent, reasoning,\nreflection, learning, autonomous, cron, schedule, plan,\nimprove, optimize, automation, hal, wal\n```\n\n**典型 Skill**：\n- `Self-Improving Agent` - 自我进化\n- `Proactive Agent` - 主动预判\n- `Self-Improving + Proactive` - 组合\n- `Ontology` - 知识图谱\n\n**下一步行动模板**：\n- 把 [X] 加入你的 Skill 库，下次任务自动调用\n- 让 [X] 持续优化你的 AI 工作流\n\n---\n\n### 6. 🇨🇳 中文支持 (Chinese Support)\n\n**关键词**：\n```\nchinese, baidu, wechat, taobao, bilibili, qq, weibo,\ndouyin, jd, alipay, aliyun, tencent, 中文, 百度, 微信,\n淘宝, B站, 微博, 抖音, 京东\n```\n\n**典型 Skill**：\n- `Baidu web search` - 百度搜索\n- `Tavily 搜索` - 中文搜索\n- `Multi Search Engine` - 含 7 个中文引擎\n\n**下一步行动模板**：\n- 用 [X] 处理你的中文内容创作\n- 把 [X] 接入你已有的中文工作流\n\n---\n\n### 7. 💰 金融分析 (Financial Analysis)\n\n**关键词**：\n```\npolymarket, financial, stock, trading, invest, market,\nprice, prediction, alpha, fund, portfolio, backtest,\nreport, analyst, earnings\n```\n\n**典型 Skill**：\n- `Polymarket` - 预测市场\n- `Financial AI Analyst` - 金融分析（出版方）\n\n**下一步行动模板**：\n- 用 [X] 跟踪你的 [持仓/竞品] 动态\n- 用 [X] 监控 [市场/政策] 信号\n\n---\n\n## 痛点匹配算法\n\n```python\ndef match_pain_points(skill, pain_points_db):\n    \"\"\"返回该 Skill 命中的痛点场景列表\"\"\"\n    text = f\"{skill['displayName']} {skill['summary']} {' '.join(skill['capabilityTags'])}\".lower()\n    matched = []\n    for scene, config in pain_points_db.items():\n        for kw in config['keywords']:\n            if kw.lower() in text:\n                matched.append(scene)\n                break\n    return matched\n```\n\n## 痛点加权评分\n\n```python\ndef pain_point_weight(matched_scenes, user_priority):\n    \"\"\"\n    user_priority: dict, {scene: weight}\n    \"\"\"\n    score = 0\n    for scene in matched_scenes:\n        score += user_priority.get(scene, 1.0)\n    return score\n```\n\n## 默认用户优先级\n\n```python\nDEFAULT_USER_PRIORITY = {\n    \"🤖 自动化办公\": 1.5,\n    \"🛠️ 开发工具\": 1.5,\n    \"🧠 AI 增强\": 1.3,\n    \"✍️ 内容创作\": 1.2,\n    \"🕷️ 数据采集\": 1.2,\n    \"🇨🇳 中文支持\": 1.0,\n    \"💰 金融分析\": 0.8,\n}\n```\n\n用户可自定义调整。\n\n## 扩展方法\n\n要添加新痛点场景：\n\n1. 在 `references/pain-points.md` 添加场景定义\n2. 在 `daily_recommend.py` 的 `PAIN_POINTS_DB` 中同步\n3. 在简报模板中按需更新分类标题\n\nFile v2.0.8:references/prompt-templates.md\n\n# Cron 提示词模板\n\n> 适用版本：clawhub-daily v2.0.2+\n> 使用方法：复制下面的 JSON 配置到你的 Cron 平台，**替换痛点列表**为你自己的关注点\n\n## ⚠️ 数据推送知情说明\n\n使用 Cron 模式前，请知悉以下数据流向：\n\n1. **本地文件写入**：简报 Markdown 会写入 `data/recommended/{date}.md`（默认开启）\n2. **飞书推送**：若配置了 `FEISHU_APP_ID`/`FEISHU_APP_SECRET`/`FEISHU_USER_OPEN_ID` 环境变量或 `references/config.json`，简报内容会推送到飞书云文档和卡片消息\n3. **IMA 推送**：若配置了 `IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY` 环境变量或 `references/config.json`，简报内容会推送到腾讯 IMA 知识库\n\n**未配置凭证时仅生成本地文件，不执行外部推送。**\n\n---\n\n## 📌 通用结构\n\n所有 Cron 配置都遵循：\n\n```json\n{\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"<cron 表达式>\", \"tz\": \"Asia/Shanghai\" },\n  \"sessionTarget\": \"isolated\",\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"<提示词内容>\"\n  },\n  \"delivery\": { \"mode\": \"announce\", \"channel\": \"<推送渠道>\" }\n}\n```\n\n---\n\n## 🎯 模板 1：Trae SOLO（推荐）\n\n**频率**：每 2 天 1 次（北京时间 21:00）  \n**痛点**：默认 7 大类（按需修改）\n\n```json\n{\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 13 */2 * *\", \"tz\": \"Asia/Shanghai\" },\n  \"sessionTarget\": \"isolated\",\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"请执行 clawhub-daily Skill，按 SKILL.md 步骤 1-4 完成每日推荐。\\n\\n# 痛点（请直接使用，按优先级排序）\\n- 🤖 自动化办公：gmail、calendar、slack、notion、sheets\\n- 🛠️ 开发工具：github、mcp、browser、code、git、api\\n- ✍️ 内容创作：youtube、video、image、pdf、writing\\n- 🕷️ 数据采集：search、scraping、apify、firecrawl、google\\n- 🧠 AI 增强：self-improving、proactive、memory、agent、reasoning\\n- 🇨🇳 中文支持：chinese、baidu、wechat、taobao、bilibili\\n- 💰 金融分析：polymarket、financial、stock、trading、market\\n\\n# 数据源\\nClawHub Convex API（https://wry-manatee-359.convex.cloud/api/query）\\n扫描数量：200 个 Skill（4 页 × 50/页）\\n\\n# 存储\\n飞书云文档（feishu_app_id / feishu_app_secret 从 references/config.json 读取）\\n\\n# 输出\\n- 简报 Markdown：data/recommended/{date}.md\\n- 飞书云文档：包含所有推荐详情\\n- 飞书卡片消息：250-400 字摘要 + Top 3 详细解读 + 完整简报链接\\n\\n# 完成后\\n输出 200 字以内的对话摘要，包含：\\n- 扫描数量、推荐数量、去重数量\\n- 推荐维度（trending / quality / newcomers / panorama）\\n- 命中场景（前 3 个）\\n- 今日 TOP 1 Skill 名 + 一句话理由\"\n  },\n  \"delivery\": { \"mode\": \"announce\", \"channel\": \"feishu\" }\n}\n```\n\n---\n\n## 🎯 模板 2：qclaw / WorkBuddy\n\n**频率**：每日 1 次（北京时间 09:00）  \n**痛点**：精简 3 大类（最常用）\n\n```json\n{\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 9 * * *\", \"tz\": \"Asia/Shanghai\" },\n  \"sessionTarget\": \"isolated\",\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"执行 clawhub-daily Skill。\\n\\n# 痛点（精简版）\\n- 开发工具\\n- 内容创作\\n- AI 增强\\n\\n# 任务\\n1. 抓取 ClawHub 200 个 Skill\\n2. 按当前日期自动选维度（trending/quality/newcomers/panorama）\\n3. 痛点匹配 + 10 天去重\\n4. 生成简报 + 飞书推送\\n\\n# 输出\\n简报 Markdown + 飞书卡片（200-400 字）\"\n  },\n  \"delivery\": { \"mode\": \"announce\", \"channel\": \"feishu\" }\n}\n```\n\n---\n\n## 🎯 模板 3：纯 Linux/Mac crontab\n\n**频率**：每 2 天 1 次（北京时间 21:00）  \n**特点**：完全独立，无 Agent 依赖\n\n```cron\n# 编辑 crontab\n0 13 */2 * * /bin/bash -c 'cd <your_clawhub_daily_path> && python clawhub_daily_executor.py >> logs/cron.log 2>&1'\n```\n\n**`<your_clawhub_daily_path>`** 替换为实际路径（如 `~/projects/clawhub-daily`）。\n\n**建议**：\n- 创建 `logs/` 目录用于 cron 日志\n- 用 `>>` 追加而非 `>` 覆盖\n- 加 `2>&1` 重定向错误输出\n\n---\n\n## 🎯 模板 4：Windows Task Scheduler\n\n**频率**：每 2 天 1 次（北京时间 21:00）\n\n**步骤**：\n1. 打开\"任务计划程序\" → \"创建基本任务\"\n2. 名称：ClawHub Daily\n3. 触发器：每天 → 高级设置 → 勾选\"重复任务间隔：2 天\"\n4. 操作：启动程序\n   - 程序：`python`\n   - 参数：`clawhub_daily_executor.py`\n   - 起始于：`<your_clawhub_daily_path>`\n5. 条件：勾选\"唤醒计算机运行此任务\"\n\n---\n\n## 🎯 模板 5：Hermes\n\n**频率**：每日 1 次（北京时间 08:00）\n\n```yaml\nschedule:\n  cron: \"0 8 * * *\"\n  timezone: \"Asia/Shanghai\"\ntask:\n  type: \"agent\"\n  message: |\n    请执行 clawhub-daily Skill：\n    1. 抓取 ClawHub 200 个 Skill\n    2. 计算指标 + 4 维度轮换\n    3. 7 大痛点匹配 + 10 天去重\n    4. 生成简报 + 飞书推送\n  delivery:\n    channel: \"feishu\"\n    template: \"card\"\n```\n\n---\n\n## 🔧 痛点列表定制指南\n\n默认痛点库在 [`references/pain-points.md`](pain-points.md) 维护，**复制到 Cron 提示词里时请按需删减**：\n\n### 7 大类全部使用（信息量最大）\n\n```\n🤖 自动化办公 / 🛠️ 开发工具 / ✍️ 内容创作 / 🕷️ 数据采集\n🧠 AI 增强 / 🇨🇳 中文支持 / 💰 金融分析\n```\n\n### 精简 3 大类（聚焦核心）\n\n```\n🛠️ 开发工具 / ✍️ 内容创作 / 🧠 AI 增强\n```\n\n### 自定义（按你的职业/兴趣）\n\n```\n# 程序员\n🛠️ 开发工具 / 🕷️ 数据采集 / 🧠 AI 增强\n\n# 创作者\n✍️ 内容创作 / 🤖 自动化办公 / 🇨🇳 中文支持\n\n# 投资者\n💰 金融分析 / 🕷️ 数据采集 / 🤖 自动化办公\n\n# 运营/产品\n🤖 自动化办公 / ✍️ 内容创作 / 🕷️ 数据采集\n```\n\n---\n\n## 📊 频率选择指南\n\n| 频率 | 适合场景 | 优缺点 |\n|------|---------|--------|\n| **每日 1 次** | 重度用户、跟热点 | 信息量大、推送频繁 |\n| **每 2 天 1 次** ⭐ | 通用推荐（默认） | 平衡点、不打扰 |\n| **每周 1 次** | 周末回顾、深度阅读 | 信息密度高 |\n| **每月 1 次** | 长尾发现、避免打扰 | 易错过热点 |\n\n**推荐**：每 2 天 1 次（与 10 天去重窗口完美匹配 → 5 个独立周期全覆盖 200 个 Skill）。\n\n---\n\n## ⚙️ Cron 表达式速查\n\n```\n0 13 */2 * *   →  每 2 天 13:00（北京时间 21:00）\n0 9 * * *      →  每天 9:00\n0 8 * * 1      →  每周一 8:00\n0 0 1 * *      →  每月 1 日 0:00\n```\n\n字段：`分 时 日 月 周`\n\n---\n\n## 🐛 故障排查\n\n**Cron 跑了但没飞书消息？**\n1. 检查 `references/config.json` 凭证是否正确\n2. 看 cron 日志（`logs/cron.log` 或任务计划程序历史）\n3. 手动跑一次 `python clawhub_daily_executor.py` 排查\n\n**推送重复了？**\n- 检查 10 天去重是否生效（`data/recommended/` 是否有最近 10 天的 JSON）\n- 减小 cron 频率（每 2 天 → 每 3 天）\n\n**想换推送时间？**\n- 修改 `cron` 表达式\n- 用 https://crontab.guru 验证\n\nFile v2.0.8:references/setup-wizard.md\n\n# 首次安装向导（Setup Wizard）\n\n> 适用版本：clawhub-daily v1.0.0+\n> 用户首次安装本技能后必读\n\n## 🎯 选择你的使用模式\n\nClawHub Daily 提供 **2 种使用模式**，请根据你的需求选择 A 或 B。\n\n---\n\n### 模式 A：常规对话模式 💬\n\n**适合**：每天手动触发、AI 对话中临时调用\n\n**触发词**（在 Agent 对话中输入任一即可）：\n- \"每日推荐\"\n- \"ClawHub 日报\"\n- \"ClawHub 每日洞察\"\n\n**示例对话**：\n```\n你: 每日推荐\nAI: 🦞 ClawHub 每日洞察 | 2026-06-03（质量维度）\n    扫描 198 个 Skill → 推荐 10 个新发现...\n```\n\n**优点**：\n- ✅ 灵活，按需触发\n- ✅ 可以临时调整关注点\n- ✅ 不需要定时任务\n\n**缺点**：\n- ❌ 容易忘记\n- ❌ 没有自动推送\n\n---\n\n### 模式 B：Cron 定时任务模式 ⏰\n\n**适合**：每天定时自动推送、长期稳定使用\n\n**支持平台**：\n- **qclaw / WorkBuddy / OpenClaw / Hermes** — 使用各平台 Cron 配置\n- **Trae SOLO** — 使用 `Schedule` 工具（已为你集成）\n- **纯脚本** — Linux/Mac crontab 或 Windows Task Scheduler\n\n**触发节奏**（推荐）：\n- **每 2 天一次**：抓取 200 个 Skill，覆盖 10 天滚动窗口\n- **每日 1 次**：抓取 200 个 Skill，新发现会更多\n- **每周 1 次**：信息密度高但容易错过热点\n\n**预制 Cron 提示词**：见 [prompt-templates.md](prompt-templates.md)\n\n**优点**：\n- ✅ 自动化，无需手动触发\n- ✅ 飞书/IM 推送主动送达\n- ✅ 长期稳定运行\n\n**缺点**：\n- ❌ 初次配置稍复杂\n- ❌ 故障不易发现（需加监控）\n\n---\n\n## 🔧 通用配置（两种模式都需要）\n\n### 1. 安装依赖\n\n```bash\npip install requests\n```\n\n### 2. 配置飞书凭证（仅需推送时）\n\n> **⚠️ 凭证安全须知**：\n> - 飞书 App Secret 是敏感凭证，泄露后他人可冒充应用发送消息和创建文档\n> - **存储**：凭证只应存放在 `references/config.json`（已在 `.gitignore` 中）或环境变量，不要硬编码在脚本中\n> - **轮换**：如怀疑泄露，立即到飞书开放平台重置 App Secret\n> - **权限最小化**：只勾选下方列出的 4 个权限，不要添加多余权限\n> - **ClawHub publish 不遵守 .gitignore**：发布到 ClawHub 前必须确认 `references/config.json` 只含占位符（`<your_xxx>`），不含真实凭证\n\n#### 步骤 1：创建飞书应用\n\n1. 访问 [飞书开放平台](https://open.feishu.cn/app)\n2. 创建企业自建应用\n3. 获取 `App ID` 和 `App Secret`\n4. 权限配置（仅勾选以下 4 项，最小权限原则）：\n   - `im:message` — 发送消息\n   - `im:message:send_as_bot` — 以应用身份发消息\n   - `docx:document:create` — 创建云文档\n   - `docx:document:write` — 编辑云文档\n5. 事件订阅：可跳过（不需要接收消息）\n\n#### 步骤 2：填写凭证\n\n编辑 `references/config.json`（此文件已在 `.gitignore` 中，不会上传到 GitHub）：\n\n```json\n{\n  \"feishu_app_id\": \"<your_app_id>\",\n  \"feishu_app_secret\": \"<your_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n> ⚠️ **安全提醒**：\n> - `references/config.json` 只能放占位符（`<your_xxx>`），真实凭证通过环境变量传递\n> - 环境变量方式（推荐）：`FEISHU_APP_ID` / `FEISHU_APP_SECRET` / `FEISHU_USER_OPEN_ID`\n> - **ClawHub publish 会上传整个目录**：即使文件在 `.gitignore` 中，ClawHub 也会上传。所以 `config.json` 永远不能含真实凭证\n\n#### 步骤 3：获取 user_open_id\n\n让目标用户**给应用发一条任意消息**，然后在飞书管理后台查看\"用户与部门\"即可找到对应的 `open_id`。\n\n---\n\n### 3. 测试运行\n\n> **⚠️ 数据推送警告**：以下步骤 4-6 会将简报内容传输到外部服务（飞书/IMA）。请确认：\n> - 你已了解简报内容会被发送到飞书云文档和 IMA 知识库\n> - 接收方是你在飞书应用中配置的 user_open_id 对应的用户\n> - 如只想本地测试，跳过步骤 4-6，只执行步骤 1-3\n\n```bash\n# 1. 抓取数据（本地操作，无外部传输）\npython scripts/fetch_clawhub.py --date 2026-06-03\n\n# 2. 计算指标（本地操作，无外部传输）\npython scripts/compute_metrics.py --input data/snapshots/2026-06-03.json\n\n# 3. 生成推荐（本地操作，无外部传输）\npython scripts/daily_recommend.py --date 2026-06-03 --data-dir data\n\n# 4. 推送到飞书（⚠️ 外部传输：简报内容发送到飞书云文档 + 卡片消息）\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-03.json\n\n# 5. 推送到 IMA（⚠️ 外部传输：简报内容发送到腾讯 IMA 知识库）\npython scripts/push_to_ima.py --recommendation data/recommended/2026-06-03.json --mode official\n\n# 6. 推送到 Obsidian（本地操作，写入 vault 目录）\npython scripts/push_to_obsidian.py --recommendation data/recommended/2026-06-03.json\n```\n\n预期：飞书收到卡片消息 + 云文档链接；IMA 知识库出现新笔记；Obsidian vault 出现 .md 文件。\n\n---\n\n## 📋 模式选择决策树\n\n```\n你希望什么时候看到推荐？\n│\n├─ \"我想每天主动查看\"        → 模式 A\n│\n├─ \"我想每天自动收到推送\"    → 模式 B（每天 1 次）\n│\n├─ \"我想隔天看一次就够了\"    → 模式 B（每 2 天 1 次）⭐ 推荐\n│\n└─ \"我只想周末看\"            → 模式 B（每周 1 次）\n```\n\n---\n\n## 🔄 模式切换\n\n随时可以切换模式：\n- A → B：参考 [prompt-templates.md](prompt-templates.md) 配置 Cron\n- B → A：删除 Cron 配置，回到对话触发\n\n---\n\n## ❓ 常见问题\n\n**Q1：必须配置飞书吗？**\nA：不必。飞书是可选的，模式 A 完全不需要飞书，模式 B 也可以只生成本地简报不推送（用 `--skip-push`）。\n\n**Q2：每天扫描会不会很慢？**\nA：不会。抓取 200 个 Skill 仅需 10-15 秒，**不调大模型**（0 token 消耗）。\n\n**Q3：可以同时用 A 和 B 吗？**\nA：可以。模式 B 自动推送后，你仍可以在对话中输入\"每日推荐\"立即查看最新数据。\n\n**Q4：配置文件被提交到 GitHub 怎么办？**\nA：立即在飞书开放平台**重置 App Secret**。`references/config.json` 已加入 `.gitignore` 建议列表。\n\n---\n\n## 📚 下一步\n\n- 模式 A 用户：直接看 [README.md](../README.md) 的\"快速开始\"\n- 模式 B 用户：看 [prompt-templates.md](prompt-templates.md) 配置 Cron\n- 双模式用户：两个都看\n\nFile v2.0.8:references/source-data-schema.md\n\n# ClawHub Skill 数据字段说明\n\n> `listPublicPageV4` 返回的每个 Skill 对象结构\n\n## 完整字段\n\n```typescript\ninterface SkillRecord {\n  latestVersion: Version;\n  owner: Owner;\n  ownerHandle: string;          // 作者 handle (重复字段)\n  skill: Skill;                 // 核心数据\n}\n\ninterface Version {\n  _creationTime: number;        // 版本创建时间戳\n  _id: string;                  // 版本 ID\n  changelog: string;            // 更新日志\n  changelogSource: string;      // \"user\" / \"auto\"\n  createdAt: number;            // 创建时间戳\n  skillId: string;              // 关联 Skill ID\n  version: string;              // 版本号，如 \"3.0.21\"\n}\n\ninterface Owner {\n  _creationTime: number;\n  _id: string;\n  displayName: string;          // 作者显示名\n  handle: string;               // 作者 handle\n  image: string;                // 头像 URL\n  kind: \"user\" | \"org\";         // 类型\n  linkedUserId?: string;\n}\n\ninterface Skill {\n  _creationTime: number;\n  _id: string;                  // Skill 唯一 ID\n  badges: object;               // 徽章（多数为空）\n  capabilityTags: string[];     // 能力标签，如 [\"mcp\", \"github\"]\n  createdAt: number;            // 创建时间戳\n  displayName: string;          // 显示名，如 \"Self-Improving Agent\"\n  isSuspicious: boolean;        // 是否可疑\n  latestVersionId: string;\n  ownerPublisherId: string;\n  ownerUserId: string;\n  slug: string;                 // URL slug，如 \"self-improving-agent\"\n  stats: Stats;                 // ⭐ 统计数据\n  summary: string;              // 一句话描述\n  tags: object;                 // 标签\n}\n\ninterface Stats {\n  comments: number;             // 评论数\n  downloads: number;            // 累计下载\n  installsAllTime: number;      // 累计安装\n  installsCurrent: number;      // 当前活跃安装\n  stars: number;                // ⭐ 星标数\n  versions: number;             // 版本数\n}\n```\n\n## 关键 URL 构造\n\n```python\ndef get_skill_url(skill, owner):\n    \"\"\"构造 Skill 详情页 URL\"\"\"\n    return f\"https://clawhub.ai/{owner.handle}/{skill.slug}\"\n```\n\n## 关键指标计算\n\n### 1. star_rate（口碑率）\n\n```python\nstar_rate = stars / max(downloads, 1) * 100\n# 单位：百分比\n# 示例：3729 / 456369 * 100 = 0.82%\n```\n\n### 2. installsCurrent/installsAllTime（活跃度）\n\n```python\nactivity_rate = installsCurrent / max(installsAllTime, 1) * 100\n# 单位：百分比\n# 示例：6347 / 6679 * 100 = 95%\n```\n\n### 3. days_since_created（年龄）\n\n```python\nimport time\nnow_ms = int(time.time() * 1000)\ndays = (now_ms - createdAt) / (1000 * 60 * 60 * 24)\n```\n\n### 4. version_score（更新活跃度）\n\n```python\n# 简单评分：版本数越多越活跃\n# 更复杂可结合 changelog 长度、updated 时间\n```\n\n## 时间戳转换\n\nConvex 使用毫秒时间戳，需要：\n\n```python\nfrom datetime import datetime\ndt = datetime.fromtimestamp(_creationTime / 1000)\n```\n\n## 数据清洗建议\n\n| 字段 | 处理 |\n|------|------|\n| `summary` | 截断到 200 字（飞书消息限制） |\n| `capabilityTags` | 去重、转小写 |\n| `displayName` | 保留原始大小写 |\n| `stats.*` | 整数化（Convex 返回 float） |\n| `_id` | 哈希为 URL 安全字符串 |\n\n## 已知字段陷阱\n\n⚠️ **`summary` 字段可能为 HTML 转义字符串**：\n\n```json\n\"summary\": \"Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...\"\n```\n\n末尾的 `...` 是真实截断，不是显示省略。\n\n⚠️ **`owner.image` 可能是 `aka.doubaocdn.com` 代理**：\n\n```json\n\"image\": \"https://aka.doubaocdn.com/s/3nS91wXFlx\"\n```\n\n不是 GitHub 头像原 URL，但显示效果一致。\n\n## 完整 Skill 示例\n\n```json\n{\n  \"latestVersion\": {\n    \"_creationTime\": 1777649615088,\n    \"_id\": \"k97cs17rev4fbbwsh40dwf9jah85x0ws\",\n    \"changelog\": \"re-upload\",\n    \"changelogSource\": \"user\",\n    \"createdAt\": 1777649615088,\n    \"skillId\": \"kd71q6bf0e8vcgdcxfdd3qyd817ynzhk\",\n    \"version\": \"3.0.21\"\n  },\n  \"owner\": {\n    \"_creationTime\": 0,\n    \"_id\": \"s1794qsnpbjfkfnp0k226sefv583hfzt\",\n    \"displayName\": \"pskoett\",\n    \"handle\": \"pskoett\",\n    \"image\": \"https://avatars.githubusercontent.com/u/177305814?v=4\",\n    \"kind\": \"user\",\n    \"linkedUserId\": \"kn70cjr952qdec1nx70zs6wefn7ynq2t\"\n  },\n  \"ownerHandle\": \"pskoett\",\n  \"skill\": {\n    \"_creationTime\": 1767632598365,\n    \"_id\": \"kd71q6bf0e8vcgdcxfdd3qyd817ynzhk\",\n    \"badges\": {},\n    \"capabilityTags\": [],\n    \"createdAt\": 1767632598365,\n    \"displayName\": \"Self-Improving Agent\",\n    \"isSuspicious\": false,\n    \"latestVersionId\": \"k97cs17rev4fbbwsh40dwf9jah85x0ws\",\n    \"ownerPublisherId\": \"s1794qsnpbjfkfnp0k226sefv583hfzt\",\n    \"ownerUserId\": \"kn70cjr952qdec1nx70zs6wefn7ynq2t\",\n    \"slug\": \"self-improving-agent\",\n    \"stats\": {\n      \"comments\": 53,\n      \"downloads\": 456369,\n      \"installsAllTime\": 6679,\n      \"installsCurrent\": 6347,\n      \"stars\": 3729,\n      \"versions\": 31\n    },\n    \"summary\": \"Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...\",\n    \"tags\": {\n      \"latest\": \"k97cs17rev4fbbwsh40dwf9jah85x0ws\"\n    }\n  }\n}\n```\n\n## 派生数据结构（用于推荐）\n\n```typescript\ninterface RecommendedSkill {\n  rank: number;                 // 推荐排名\n  skill_id: string;             // Skill._id\n  display_name: string;         // Skill.displayName\n  author: string;               // Owner.handle\n  url: string;                  // 构造的 URL\n  summary: string;              // 截断后的描述\n  stars: number;\n  downloads: number;\n  installsCurrent: number;\n  installsAllTime: number;\n  comments: number;\n  star_rate: number;            // %\n  activity_rate: number;        // %\n  age_days: number;             // 创建天数\n  capability_tags: string[];\n  pain_points_matched: string[]; // 命中的痛点场景\n  score: number;                // 综合得分\n  module: string;               // 来自哪个模块\n  recommend_reason: string;     // 推荐理由（中文）\n  next_action: string;          // 下一步行动\n}\n```\n\nFile v2.0.8:CHANGELOG.md\n\n# Changelog\n\nAll notable changes to **clawhub-daily** will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [2.0.8] - 2026-07-12\n\n### Fixed (修复)\n- **Tp4 MCP Tool Poisoning (High)**：description 未披露 IMA 的 CLI 调用方式（方式 B）和 Obsidian saved/ fallback 路径。description 现已明确披露：① IMA auto 模式可能调用 ima-skill CLI ② Obsidian vault 不可写时 fallback 到 saved/ 目录。\n- **Lp3 MCP Least Privilege (Medium)**：SkillHub zip 打包排除了 .claude-plugin/ 目录，SkillSpector 看不到 capabilities 声明。SKILL.md description 新增\"🔐 权限声明\"区块，覆盖 network/filesystem/env_vars/subprocess 四类权限，与 plugin.json 的 capabilities 保持一致。\n- **Scope Creep (Medium)**：push_to_obsidian.py 的 saved/ fallback 目录未在文档中披露。现已写入 description 的数据出口说明和 filesystem 权限声明。\n- **Intent-Code Divergence (Medium)**：SKILL.md 声明\"不读取 GH_TOKEN\"，但 PUBLISHING_GUIDE.md 讨论 GH_TOKEN 使用。PUBLISHING_GUIDE.md 顶部新增\"⚠️ 维护者文档说明\"，明确 GH_TOKEN 仅用于维护者发布，技能运行时不读取。\n\n### Changed (变更)\n- plugin.json capabilities 增强：① 修正 IMA endpoint（ima.tencent.com → ima.qq.com）② filesystem paths 新增 inbox/clawhub-daily/ 和 saved/ ③ env_vars 新增 OBSIDIAN_VAULT_PATH ④ 新增 subprocess 权限声明（ima-skill CLI）\n- SKILL.md \"不读取 GH_TOKEN\" 声明补充上下文：\"运行时不读取（GH_TOKEN 仅用于维护者发布新版本，见 docs/PUBLISHING_GUIDE.md）\"\n- Vague Triggers (Medium, 72%) **不修复**：触发词\"每日推荐\"和\"ClawHub 日报\"已足够明确（含品牌词或核心功能描述），72% confidence 属于边缘判断。再删触发词会导致技能无法正常触发。\n\n## [2.0.7] - 2026-07-12\n\n### Fixed (修复)\n- **Tp4 MCP Tool Poisoning (High)**：description 中 IMA 渠道说明从\"默认关闭，需显式启用\"修正为\"有凭证时自动推送，无凭证时跳过\"，准确反映 executor 实际行为（executor 会尝试所有渠道，有凭证则推送，无凭证则跳过）。\n- **Vague Triggers (Medium)**：删除宽泛触发词\"今天有什么好 Skill\"，替换为专用触发词\"ClawHub 每日洞察\"。从 SKILL.md / plugin.json / setup-wizard.md 三个文件同步清理。\n- **Missing User Warnings - 凭证安全 (Medium)**：setup-wizard.md 飞书凭证配置部分新增\"⚠️ 凭证安全须知\"区块，包含存储/轮换/权限最小化/ClawHub publish 不遵守 .gitignore 等 5 项安全指导。\n- **Missing User Warnings - 测试推送 (Medium)**：setup-wizard.md 测试运行步骤前新增\"⚠️ 数据推送警告\"，明确标注步骤 4-6 是外部传输，步骤 1-3 是本地操作。每个命令标注是否涉及外部传输。\n- **Intent-Code Divergence (Low)**：PUBLISHING_GUIDE.md 的 grep 凭证扫描命令新增 GitHub token 全部前缀（gho_/ghs_）和 SkillHub token（skh_），消除\"GH_TOKEN 讨论但 grep 不覆盖\"的分歧。\n\n### Changed (变更)\n- SKILL.md description 新增\"推送行为\"说明行，明确 executor 的独立 try/except 失败隔离机制。\n- setup-wizard.md 测试步骤从 4 步扩展到 6 步（新增 IMA 推送和 Obsidian 推送）。\n\n## [2.0.6] - 2026-07-12\n\n### Added (新增)\n- **新增 Obsidian 本地 vault 推送渠道**：参考 web-to-fim 技能的三处存放架构，新增 `scripts/push_to_obsidian.py`，将每日简报推送到 Obsidian vault 的 `inbox/clawhub-daily/` 子目录。\n- **三级 fallback 机制**：Obsidian 写入失败时自动降级（重试3次 → ASCII文件名 → 脚本目录 saved/），确保本地存储永不丢失。\n- **executor 失败隔离**：推送阶段三个渠道（飞书/IMA/Obsidian）各自独立 try/except，一处失败不阻断其他渠道，参考 web-to-fim 的 `_process_single` 架构。\n- **推送汇总报告**：executor 执行结束后输出三渠道推送结果汇总（`飞书=✓ | IMA=✓ | Obsidian=✓`）。\n\n### Changed (变更)\n- `clawhub_daily_executor.py` 推送阶段重构：Step 4-6 三处存放独立 try/except + 推送汇总。\n- SKILL.md 数据出口说明新增 Obsidian 渠道。\n- 凭证来源说明新增 OBSIDIAN_VAULT_PATH 环境变量。\n\n## [2.0.5] - 2026-07-12\n\n### Removed (移除)\n- **删除方式 C（自定义 HTTP API）整个函数**：`push_via_api()` 函数将凭证发送到用户配置的 HTTPS 端点，被 SkillSpector 标记为 Critical（Tainted flow: credential → network output）。方式 C 已不再需要，方式 A（官方 OpenAPI）已完全覆盖 IMA 推送需求。\n- **删除 fallback 环境变量 `IMA_CLIENT_ID`/`IMA_API_KEY`**：只保留官方变量 `IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY`，消除\"未文档化的凭证来源\"（Scope Creep finding）。\n- **删除 `--api-endpoint` 参数和 `--mode api` 选项**：方式 C 已删除，不再需要。\n- **删除触发词 \"扫描 ClawHub\"**：SkillSpector 标记为 Vague Triggers（语义接近普通扫描请求，易误激活）。触发词从 4 个缩减为 3 个。\n\n### Fixed (修复)\n- **触发词残留清理**：`references/setup-wizard.md` 中的 \"帮我推荐技能\" 和 \"扫描 ClawHub\" 在 v2.0.3 漏改，本次彻底清理。\n- **README summary 行**：删除\"自动推送飞书\"措辞，新增\"⚠️ 数据出口说明\"警告区块，明确告知外部传输行为。\n\n### Changed (变更)\n- `push_to_ima.py` 重写：删除 `push_via_api()` 函数、`--api-endpoint` 参数、`--mode api` 选项、fallback 环境变量。代码从 308 行精简到 262 行。\n- auto 模式优先级简化：官方 OpenAPI > CLI（删除了\"自定义 HTTP API\"这一级）。\n- SKILL.md IMA 推送说明：删除 fallback 变量说明。\n\n## [2.0.4] - 2026-07-12\n\n### Added (新增)\n- **IMA 官方 OpenAPI 推送方式（方式 A，推荐）**：`push_to_ima.py` 新增 `push_via_official_api()` 函数，通过两步流程推送简报到 IMA 知识库\n  - Step 1: `POST /openapi/note/v1/import_doc` 创建笔记（Markdown 格式，content_format=1）\n  - Step 2: `POST /openapi/wiki/v1/add_knowledge` 添加到知识库（media_type=11，knowledge_base_id）\n  - 默认推送到 FIM 知识库（ID: `aFEGG-4YH3z_CaCSNVNC5dSJR5cutjlatcEQcNZjtlA=`）\n  - API 端点：`https://ima.qq.com`（注意：不是 `ima.tencent.com`）\n\n### Changed (变更)\n- **凭证优先级扩展**：CLI 参数 > 环境变量（`IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY`，fallback `IMA_CLIENT_ID`/`IMA_API_KEY`）> config.json\n- **auto 模式优先级调整**：官方 OpenAPI > CLI > 自定义 HTTP API（之前是 CLI > HTTP API）\n- **kb_id 读取逻辑**：过滤 config.json 中的占位符（`<your_ima_kb_id>`），自动回退到 FIM 默认值\n- **SKILL.md IMA 推送说明更新**：文档化官方 OpenAPI 两步流程和凭证来源\n- **`--mode` 参数新增 `official` 选项**：可指定只用官方 OpenAPI 推送\n\n### Fixed (修复)\n- **IMA API 端点错误**：从 `https://ima.tencent.com` 改为 `https://ima.qq.com`（前者返回 401 skill auth failed）\n- **import_doc payload 格式错误**：`content_format` 从字符串 `\"markdown\"` 改为数字 `1`；移除 `title` 字段（IMA 从 content H1 提取标题）\n- **add_knowledge payload 字段名错误**：`kb_id` 改为 `knowledge_base_id`；新增 `title` 字段\n- **响应解析逻辑**：检查 `code` 字段是否为 0（IMA API 返回 `{\"code\":0, \"data\":{...}}`）\n\n## [2.0.3] - 2026-07-12\n\n### Fixed (修复)\n- **MCP Least Privilege (Lp3, Medium)**：plugin.json 新增 `capabilities` 字段，声明 network/filesystem/env_vars 三类权限及其用途，消除\"未声明权限\"的透明度缺口\n- **Vague Triggers (Medium)**：删除宽泛触发词 \"帮我推荐技能\"（可能在普通对话中误激活），保留 4 个含 \"ClawHub\"/\"每日\" 限定词的专用触发词\n\n### Added (新增)\n- **SKILL.md 新增\"🔐 权限声明\"区块**：以表格形式列出 network/filesystem/env_vars 三类权限的必需性和说明，并明确声明\"不申请 shell 执行、系统信息收集、GH_TOKEN 读取\"等权限\n\n### Changed (变更)\n- plugin.json `triggers` 数组从 5 项缩减为 4 项\n- plugin.json `capabilities` 字段声明所有运行时权限，供宿主平台和用户审查\n\n## [2.0.2] - 2026-07-12\n\n### Fixed (修复)\n- **凭证泄露修复（Critical）**：删除 `references/config.local.json`（包含真实飞书凭证，被 ClawHub publish 上传）。该文件虽在 `.gitignore` 中（未进 GitHub），但 ClawHub publish 发布整个目录。已删除文件，用户需在本地重建配置并轮换已泄露的飞书凭证\n- **Env Variable Harvesting (High)**：删除临时脚本 `_check_github.py`（包含 `os.environ.get(\"GH_TOKEN\")`，与技能功能无关）\n- **MCP Tool Poisoning (Tp4, High)**：删除 `publish_all.ps1`（开发工具，包含 GH_TOKEN 环境变量读取，不属于技能运行时代码）\n- **Description-Behavior Mismatch**：description 只说 config.json 读取凭证，但 push_to_feishu.py 还接受 FEISHU_APP_ID 等环境变量。description 现在明确披露凭证来源优先级：CLI 参数 > 环境变量 > config.json\n\n### Changed (变更)\n- **description 新增\"凭证来源\"段落**：披露飞书/IMA 凭证的环境变量名称，并明确声明\"不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量\"\n- **SKILL.md 安全约束更新**：添加 config.local.json 在 .gitignore 中的说明，添加不读取 GH_TOKEN 的声明\n- **prompt-templates.md 添加数据推送知情说明**：Cron 模板顶部新增\"⚠️ 数据推送知情说明\"区块，说明数据流向和凭证要求\n\n### Removed (移除)\n- `_check_github.py`：临时调试脚本，不属于技能代码\n- `publish_all.ps1`：开发工具脚本，不属于技能运行时代码\n- `references/config.local.json`：包含真实凭证，不应发布\n\n## [2.0.1] - 2026-07-11\n\n### Fixed (修复)\n- **Description-Behavior Mismatch**：description 只披露飞书推送，未说明 IMA 知识库和本地文件两个数据出口。现在 description 明确列出三个推送渠道及其默认状态（SkillSpector findings 修复）\n- **Missing User Warnings**：缺少数据推送知情说明。新增\"⚠️ 数据推送知情说明\"区块，列出所有推送渠道、所需凭证和数据内容，以及安全约束\n- **MCP Tool Poisoning (Tp4)**：push_to_ima.py 的 push_via_api 未验证端点协议，可能通过 HTTP 明文传输 client_id/api_key。新增 HTTPS 强制校验，拒绝 HTTP 端点\n\n### Changed (变更)\n- **frontmatter description 扩展**：增加\"数据出口说明（用户知情同意）\"段落，披露飞书/IMA/本地文件三个渠道\n- **SKILL.md 结构调整**：新增\"⚠️ 数据推送知情说明\"区块，含推送渠道表格和安全约束列表\n- **飞书/IMA 消息结构标题**：标注\"默认推送渠道\"和\"可选渠道，需显式配置\"\n- **核心能力描述**：从\"飞书推送\"改为\"多渠道推送\"，列出全部 4 个渠道\n\n## [2.0.0] - 2026-07-11\n\n### Changed (变更)\n- **抓取范围扩大 200→500**：ClawHub 平台已有 67.9K Skills，200 个仅占 0.3%，扩大到 500 翻倍候选池\n- **推荐模式从 4 维度扩展到 6 维度**：新增 actively_maintained 和 verified 两个维度\n- **维度配额调整**：trending×3 + quality×1 + newcomers×1 + panorama×2 + actively_maintained×1 + verified×0/1 = 每日 8 个\n- **actively_maintained 阈值放宽**：主阈值从 30 天→90 天，新增 fallback 180 天+版本≥2\n- **verified 标记为 optional**：候选为 0 时自动跳过，不占配额\n- **数据说明文案更新**：Markdown 和飞书 blocks 都反映 6 维度新配置\n- **SOLO Schedule 提示词更新**：8 个推荐、6 维度、新阈值、痛点去重、changelog 展示\n\n### Added (新增)\n- **适配 ClawHub API 数据结构变更**：`stats.installs`（非 `installsCurrent`）、`categories`（非 `capabilityTags`）、`badges.verified`、`latestVersion.changelog` 等嵌套字段\n- **降级策略（fallback_fn）**：每个维度配置降级过滤函数，候选不足时自动放宽阈值\n- **optional 维度机制**：候选为 0 的维度自动跳过，不占配额\n- **痛点匹配去重展示**：同一 Skill 只在第一个命中场景展示（按权重排序）\n- **changelog 展示**：有最近变更摘要的 Skill 在详情中展示\"最近变更\"字段\n- **compute_metrics.py 新增 10+ 字段**：version_count、days_since_update、is_actively_maintained、update_frequency、changelog_summary、supported_os、setup_requirements、is_verified、license\n- **safe_get() 函数**：安全获取嵌套字段，适配新旧 API 结构\n\n### Fixed (修复)\n- **维度遍历遗漏**：generate_markdown() 和 generate_feishu_blocks() 中硬编码的维度列表未包含 actively_maintained 和 verified，导致推荐生成了但不展示（Critical bug）\n- **push_to_feishu.py 同类 bug**：飞书卡片 highlights 遍历也遗漏新维度\n- **changelog 换行符破坏格式**：API 返回的 changelog 含 \\n，嵌入 Markdown 前替换为空格\n- **actively_maintained 推荐理由过时**：从\"30天内更新\"改为\"近期更新（N天前）\"\n\n## [1.0.4] - 2026-06-05\n\n### Changed (变更)\n- **推荐模式从 4 天轮换改为每日全维度**：每天遍历全部 4 个维度，用户每天都能看到所有维度推荐\n- 维度配额调整：trending×2 + quality×1 + newcomers×1 + panorama×2 = 每日 6 个\n- 去重窗口从 10 天缩短到 7 天（7×6=42 个去重池）\n- 飞书卡片消息扩展到 Top 5 简介 + 底部云文档直达链接\n- 飞书卡片按维度分组展示，含维度概况统计\n\n### Fixed (修复)\n- 云文档/Markdown 中 Skill 链接改为可点击格式（`[text](url)` 和 `text_element_style.link`）\n- 飞书云文档 blocks 中 Skill 标题添加超链接，可直接点击跳转\n\n## [1.0.3] - 2026-06-05\n\n### Fixed (修复)\n- D4 全景维度 min_comments 从 50 降为 1，避免候选池过小\n- deduplicated 字段语义修正：现在正确统计因去重被跳过的候选数\n- 痛点关键词匹配改用词边界正则，避免子串误匹配（如 \"ci\" 匹配到金融 Skill）\n\n## [1.0.0] - 2026-06-03\n\n### Added (新增)\n\n- 🎯 **首次安装模式选择**（`references/setup-wizard.md`）\n  - 模式 A：常规对话模式（手动触发）\n  - 模式 B：Cron 定时任务模式（自动推送）\n- ⏰ **Cron 提示词模板**（`references/prompt-templates.md`）\n  - Trae SOLO / qclaw / WorkBuddy / OpenClaw / Hermes / crontab / Windows Task Scheduler 全平台覆盖\n  - 5 个开箱即用模板 + 痛点列表定制指南\n- 🌍 **7 大痛点库**：🤖 自动化办公 / 🛠️ 开发工具 / ✍️ 内容创作 / 🕷️ 数据采集 / 🧠 AI 增强 / 🇨🇳 中文支持 / 💰 金融分析\n- 📊 **4 维度轮换**：trending / quality / newcomers / panorama（按 `日期 % 4` 自动选）\n- 🆔 **本地 JSON 去重**：10 天滚动窗口，0 数据库依赖\n- 📥 **200 Skill 大池子抓取**：Convex API，0 token 消耗\n- 📝 **简报中文化**：`chinese_one_liner` 自动拼装 + 英文 `<details>` 折叠\n- 📤 **多通道推送**：\n  - 飞书云文档 + 卡片消息（200-400 字摘要 + Top 3 详细解读）\n  - IMA 知识库推送（`scripts/push_to_ima.py`，CLI 优先 + HTTP API 备选）\n  - 本地 Markdown 简报（默认开启）\n- 🔌 **`.claude-plugin/plugin.json`**：ClawHub 发布支持（**MIT-0 许可证**）\n- 📜 **MIT-0 License**（`LICENSE`）— ClawHub 强制要求\n- 📚 **`docs/CONTRIBUTING.md`** + **`docs/PUBLISHING_GUIDE.md`**：发布/贡献完整指南\n- 🔐 **凭证管理**：`references/config.json` 模板（用户自填，不入库，支持飞书 + IMA 双渠道）\n\n### Security (安全)\n\n- 🔒 **移除硬编码凭证**：所有 `app_id` / `app_secret` / `user_open_id` 改为用户配置\n- 🔒 **`.gitignore`**：忽略 `references/config.json`、`data/snapshots/*.json` 等运行时数据\n\n### Documentation (文档)\n\n- 📚 完整的 `README.md`（中英双语）\n- 📚 `references/api-contract.md`（Convex API 契约）\n- 📚 `references/source-data-schema.md`（数据字段说明）\n- 📚 `references/pain-points.md`（痛点库维护指南）\n- 📚 `references/briefing-template.md`（简报模板）\n\n## [Unreleased]\n\n### Planned\n\n- 飞书 WebSocket 长连接（替代轮询）\n- 多语言支持（英文 / 日文简报）\n- 智能体推荐理由（基于 Skill 描述自动生成更精准的中文解读）\n- Telegram / Slack / 企微 推送支持\n- Skill 评分系统（基于用户安装/卸载行为）\n\n---\n\n## 版本号规则\n\n- **MAJOR**：不兼容的 API 变更\n- **MINOR**：向下兼容的新功能\n- **PATCH**：向下兼容的 bug 修复\n\n## 链接\n\n- [Keep a Changelog](https://keepachangelog.com/)\n- [Semantic Versioning](https://semver.org/)\n\nFile v2.0.8:docs/CONTRIBUTING.md\n\n# 贡献指南（Contributing）\n\n欢迎为 **clawhub-daily** 贡献代码、文档、痛点配置或 Bug 反馈！\n\n## 🤝 如何贡献\n\n### 报告 Bug\n\n在 [GitHub Issues](https://github.com/EdwardWason/clawhub-daily/issues) 提交，请包含：\n- 复现步骤\n- 期望行为\n- 实际行为\n- 环境信息（OS / Python 版本 / 输出日志）\n- 推荐附上 `data/recommended/<date>.json` 文件\n\n### 提出新功能\n\n在 [GitHub Discussions](https://github.com/EdwardWason/clawhub-daily/discussions) 发起讨论，说明：\n- 解决的问题\n- 使用场景\n- 替代方案\n- 是否有能力自己实现\n\n### 提交代码\n\n1. **Fork** 本仓库\n2. 创建特性分支（`git checkout -b feature/amazing-feature`）\n3. 提交代码（`git commit -m \"feat: add amazing feature\"`）\n4. 推送到分支（`git push origin feature/amazing-feature`）\n5. 创建 **Pull Request**\n\n## 📋 贡献方向\n\n### 1. 痛点库扩展\n\n编辑 `references/pain-points.md` 和 `scripts/daily_recommend.py` 中的 `PAIN_POINTS_DB`：\n- 添加新场景（需提供 ≥ 10 个 keywords）\n- 调整权重\n- 提供 `next_action_template`\n\n### 2. 维度规则优化\n\n编辑 `scripts/daily_recommend.py` 中的 `DIMENSION_CONFIG`：\n- 调整过滤条件\n- 增加新的 `sort_field`\n- 新增维度（需修改 `get_dimension_by_date()` 中的 `dims` 数组）\n\n### 3. 推送渠道扩展\n\n参考 `scripts/push_to_feishu.py` 实现新的推送脚本：\n- `scripts/push_to_xxx.py` 实现新渠道\n- 凭证放在 `references/config.json`\n- 加入 `scripts/push_<channel>.py` 模块化\n\n### 4. 多语言支持\n\n- `references/briefing-template.md` 添加英文/日文模板\n- `scripts/daily_recommend.py` 中支持 `language` 参数\n- README 添加中英日切换链接\n\n### 5. 简报排版优化\n\n- `scripts/daily_recommend.py` 中的 `generate_markdown()` 和 `generate_feishu_blocks()`\n- 增加图表、推荐位、对比表等\n\n## 🧪 本地测试\n\n```bash\n# 1. 抓取测试\npython scripts/fetch_clawhub.py --num 10 --date $(date -I) --output /tmp/test_snap\n\n# 2. 指标计算\npython scripts/compute_metrics.py --input /tmp/test_snap/$(date -I).json\n\n# 3. 推荐生成\npython scripts/daily_recommend.py --date $(date -I) --data-dir /tmp/test_data --target 3\n\n# 4. 推送测试\npython scripts/push_to_feishu.py --recommendation /tmp/test_data/recommended/$(date -I).json\n```\n\n## 📐 代码规范\n\n- Python 风格：函数 docstring 用中文、关键函数加类型注解\n- 路径处理：用 `pathlib.Path`\n- 异常处理：单文件失败不影响全局（try-except 兜底 + warn 日志）\n- 凭证管理：**绝不**硬编码，全部走 `references/config.json` 或环境变量\n- 提交信息：`<type>(<scope>): <subject>`，类型见 [Conventional Commits](https://www.conventionalcommits.org/)\n\n## 🔒 隐私要求\n\n**严禁**在 PR 中包含：\n- ❌ 真实 `app_id` / `app_secret` / `api_key` / `user_open_id`\n- ❌ 个人文件路径\n- ❌ 真实邮箱/手机号\n- ❌ 内部 API 地址\n\n**正确做法**：\n- ✅ 凭证用 `<your_xxx>` 占位符\n- ✅ 路径用 `~` 或相对路径\n- ✅ 内部地址用 `example.com`\n\n## 📜 License\n\n贡献的代码遵循 [MIT-0](LICENSE) 协议。\n\n## 💬 联系方式\n\n- GitHub Issues: [EdwardWason/clawhub-daily/issues](https://github.com/EdwardWason/clawhub-daily/issues)\n- GitHub Discussions: [EdwardWason/clawhub-daily/discussions](https://github.com/EdwardWason/clawhub-daily/discussions)\n\nFile v2.0.8:docs/PUBLISHING_GUIDE.md\n\n# 发布指南（Publishing Guide）\n\n> 适用：clawhub-daily v1.0.0+ 维护者\n\n> **⚠️ 维护者文档说明**：本文档面向技能维护者，指导如何发布新版本到 GitHub/ClawHub/SkillHub。\n> 文档中提到的 `GH_TOKEN` 仅用于维护者发布新版本时调用 GitHub API，**技能运行时不读取 GH_TOKEN**。\n> 技能运行时的凭证和行为详见 SKILL.md 的\"数据出口说明\"和\"权限声明\"章节。\n\n## 🎯 发布目标\n\nclawhub-daily 同时发布到 **GitHub** 和 **ClawHub** 两个平台：\n- **GitHub**：源代码托管、版本管理、Issue 跟踪\n- **ClawHub**：技能市场、用户一键安装\n\n## 📋 发布前检查清单\n\n### 隐私审查\n\n```bash\n# 搜索硬编码凭证（覆盖飞书/IMA/GitHub/SkillHub 全部 token 前缀）\ngrep -rE \"cli_[0-9a-f]{16}|sk-[a-zA-Z0-9]{20,}|ou_[0-9a-f]{20,}|ghp_[a-zA-Z0-9]{20,}|gho_[a-zA-Z0-9]{20,}|ghs_[a-zA-Z0-9]{20,}|skh_[a-zA-Z0-9]{20,}|x[A-Za-z0-9]{20,}\" \\\n  --include=\"*.py\" --include=\"*.md\" --include=\"*.json\" \\\n  --exclude-dir=data --exclude-dir=__pycache__\n```\n\n预期：除 `<your_xxx>` 占位符外无匹配。\n\n### 质量审查\n\n- [ ] `SKILL.md` frontmatter 完整（name / description / version / tags）\n- [ ] `README.md` 中英双语完整\n- [ ] `CHANGELOG.md` 版本记录完整\n- [ ] `LICENSE` 文件存在（**MIT-0**）\n- [ ] `.claude-plugin/plugin.json` 元数据正确（含 `author` 和 `skills` 字段）\n- [ ] `docs/CONTRIBUTING.md` 存在\n- [ ] 所有脚本可执行无语法错误：`python -c \"import scripts.fetch_clawhub\"`\n- [ ] 本地流程跑通：fetch → metrics → recommend → push\n\n### 文档审查\n\n- [ ] 触发词完整（在 SKILL.md 和 plugin.json）\n- [ ] 双模式说明（Interactive / Cron）\n- [ ] 凭证获取说明\n- [ ] 故障排查章节\n\n## 🚀 发布到 GitHub\n\n### 方式 A：git push（推荐）\n\n```bash\n# 1. 进入项目目录\ncd clawhub-daily\n\n# 2. 初始化（如果还没）\ngit init\ngit branch -M main\n\n# 3. 添加远程仓库\ngit remote add origin https://github.com/EdwardWason/clawhub-daily.git\n\n# 4. 首次提交\ngit add .\ngit commit -m \"feat: initial release v1.0.0\"\ngit push -u origin main\n```\n\n### 方式 B：GitHub REST API（git push 超时时）\n\n当 `git push` 因 443 端口问题失败时：\n\n#### 1. 创建仓库\n\n```bash\ncurl -X POST https://api.github.com/user/repos \\\n  -H \"Authorization: token <GH_TOKEN>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"clawhub-daily\", \"private\": false, \"auto_init\": true}'\n```\n\n#### 2. 逐文件上传\n\n```bash\nupload_file() {\n  local file_path=\"$1\"\n  local content=$(base64 -w 0 \"$file_path\" 2>/dev/null || base64 \"$file_path\")\n  curl -X PUT \"https://api.github.com/repos/EdwardWason/clawhub-daily/contents/$file_path\" \\\n    -H \"Authorization: token <GH_TOKEN>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d \"{\\\"message\\\": \\\"Upload $file_path\\\", \\\"content\\\": \\\"$content\\\", \\\"branch\\\": \\\"main\\\"}\"\n  sleep 0.5  # 避免速率限制\n}\n\n# 上传所有文件\nfor file in $(find . -type f -not -path './data/*' -not -path './.git/*' -not -name '__pycache__' -not -name '*.pyc'); do\n  upload_file \"$file\"\ndone\n```\n\n#### 3. 创建 Release\n\n```bash\ncurl -X POST https://api.github.com/repos/EdwardWason/clawhub-daily/releases \\\n  -H \"Authorization: token <GH_TOKEN>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tag_name\": \"v1.0.0\",\n    \"name\": \"ClawHub Daily v1.0.0\",\n    \"body\": \"Initial release. See CHANGELOG.md for details.\",\n    \"draft\": false,\n    \"prerelease\": false\n  }'\n```\n\n### 4. Token 配置\n\n将 `GH_TOKEN` 保存到 `.env.local`（**不入库**）：\n\n```bash\necho \"GH_TOKEN=ghp_xxxxxxxxxxxxx\" > .env.local\n```\n\n确保 `.gitignore` 包含 `.env.local`（默认已包含）。\n\n## 🦞 发布到 ClawHub\n\n### 方式 A：clawhub CLI（推荐）\n\n```bash\n# 1. 安装 CLI\nnpm i -g clawhub\n\n# 2. 登录\nclawhub login --token <CLAWHUB_TOKEN> --no-browser\n\n# 3. 验证\nclawhub whoami\n\n# 4. 发布\nclawhub publish . \\\n  --slug skill-daily \\\n  --name \"ClawHub Daily · 每日 Skill 洞察\" \\\n  --version 1.0.0 \\\n  --tags \"recommendation,clawhub,feishu,lark,ima,scheduled-task,0-token\" \\\n  --changelog \"Initial release. See CHANGELOG.md for details.\"\n```\n\n### 方式 B：HTTP API（不推荐）\n\n**不要使用 HTTP API 发布**：\n- `api.clawhub.io/*` SSL 证书过期\n- `clawhub.ai/api/v1/skills` POST 端点无法传递 MIT-0 许可证接受字段\n- 结论：必须用 `clawhub` CLI\n\n## 🔄 发布新版本\n\n### 1. 更新版本号\n\n- `SKILL.md` frontmatter 中的 `version` 字段\n- `.claude-plugin/plugin.json` 中的 `version` 字段\n- `CHANGELOG.md` 添加新版本段落\n\n### 2. 提交 + 推送\n\n```bash\ngit add .\ngit commit -m \"feat: release v1.1.0\"\ngit push origin main\ngit tag v1.1.0\ngit push origin v1.1.0\n```\n\n### 3. 重新发布到 ClawHub\n\n```bash\nclawhub publish . --slug skill-daily --name \"...\" --version 1.1.0 --tags \"...\" --changelog \"...\"\n```\n\nCLI 会自动处理版本号更新和 Changelog 展示。\n\n## 🐛 常见问题\n\n### Q: git push 报 443 连接超时\n\nA: 用 GitHub REST API 方式（见上文）。\n\n### Q: ClawHub CLI 报\"MIT-0 license terms must be accepted\"\n\nA: 这是 ClawHub 强制要求。`LICENSE` 必须是 MIT-0 协议（不是 MIT）。`clawhub publish` 时会自动处理。\n\n### Q: ClawHub 推送时 \"Authentication failed\"\n\nA: 重新登录：\n```bash\nclawhub login --token <CLAWHUB_TOKEN> --no-browser\nclawhub whoami  # 验证\n```\n\n### Q: 怎么撤下某版本？\n\nA: ClawHub 暂不支持撤下版本，但可以发布修复版本覆盖。\n\nGitHub 可以删除 Release：\n```bash\n# 1. 删除 Tag\ngit push origin :refs/tags/v1.0.0\n# 2. 在 GitHub 网页上删除 Release\n```\n\n## 📚 参考\n\n- GitHub 仓库范式：`docs/knowledge/patterns/2026-06-03-github-skill-repo-paradigm.md`\n- ClawHub 发布踩坑：`docs/knowledge/pitfalls/2026-06-03-clawhub-publishing.md`\n- GitHub API 备选推送：`docs/knowledge/pitfalls/2026-06-03-github-api-alternative-push.md`\n\nArchive v2.0.7: 20 files, 65719 bytes\n\nFiles: CHANGELOG.md (15330b), clawhub_daily_executor.py (4804b), docs/CONTRIBUTING.md (3427b), docs/PUBLISHING_GUIDE.md (5582b), README.md (11204b), references/api-contract.md (3850b), references/briefing-template.md (5530b), references/pain-points.md (5004b), references/prompt-templates.md (7081b), references/setup-wizard.md (6517b), references/source-data-schema.md (6141b), scripts/compute_metrics.py (6175b), scripts/daily_recommend.py (29207b), scripts/fetch_clawhub.py (4871b), scripts/push_to_feishu.py (10874b), scripts/push_to_ima.py (10633b), scripts/push_to_obsidian.py (5921b), skill-card.md (2985b), SKILL.md (11164b), _meta.json (130b)\n\nFile v2.0.7:SKILL.md\n\n---\nname: clawhub-daily\nslug: clawhub-daily-ai\ndisplayName: ClawHub Daily\nversion: 2.0.7\nsummary: Daily ClawHub Skill insights with 6-dimension recommendation\nlicense: MIT-0\ndescription: |\n  每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法\n  为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。\n\n  数据出口说明（用户知情同意）：\n  - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳过）\n  - 腾讯 IMA 知识库：官方 OpenAPI 推送（有凭证时自动推送，无凭证时跳过）\n  - Obsidian 本地 vault：inbox/clawhub-daily/ 子目录（默认开启，仅写入本地磁盘）\n  - 本地文件：data/recommended/*.md 简报文件（默认开启，仅写入本地磁盘）\n  推送行为：executor 会尝试所有渠道，每个渠道独立 try/except，有凭证则推送，无凭证则跳过，一处失败不阻断其他渠道。\n\n  凭证来源（优先级：CLI 参数 > 环境变量 > config.json）：\n  - 飞书：FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_USER_OPEN_ID 环境变量，或 references/config.json\n  - IMA：IMA_OPENAPI_CLIENTID / IMA_OPENAPI_APIKEY 环境变量，或 references/config.json\n  - Obsidian：OBSIDIAN_VAULT_PATH 环境变量（默认 E:\\Obsidian\\md\\inbox\\clawhub-daily）\n  未配置任何凭证时仅生成本地文件，不执行外部推送。\n  本技能不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量。\n\n  触发场景：\n  - 用户希望每日/定时收到 ClawHub Skill 推荐简报\n  - 用户希望跟踪 AI Agent 生态的最新 Skill 趋势\n  - 用户希望按痛点场景（自动化办公/开发工具/内容创作/数据采集/AI 增强/中文支持/金融分析）匹配推荐\n  - 用户希望避免重复推荐，结合 7 天跨维度去重\n\n  核心能力：\n  - 真实抓取 ClawHub Top 500 Skill（基于 Convex API，0 token 消耗）\n  - 适配新 API 数据结构（stats.installs / categories / badges.verified / changelog）\n  - 6 维度全维度推荐：trending / quality / newcomers / panorama / actively_maintained / verified\n  - 降级策略：候选不足时自动放宽阈值（fallback_fn）\n  - optional 维度：verified 候选为 0 时自动跳过，不占配额\n  - 7 天跨维度去重，避免重复推荐\n  - 痛点匹配去重展示：同一 Skill 只在第一个命中场景展示\n  - changelog 展示：有最近变更摘要的 Skill 展示\"最近变更\"字段\n  - 痛点加权：基于 7 大场景库个性化排序\n  - 多渠道推送：飞书云文档 + Top 5 卡片消息 + IMA 知识库（可选）+ 本地 Markdown\n  - 简报中文化：中文一句话 + 英文原文 `<details>` 折叠\n---\n\n# ClawHub Daily Skill 洞察技能\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，生成 6 维度精选简报\n\n## 核心能力\n\n- **真实数据**：直接调用 ClawHub Convex API（`wry-manatee-359.convex.cloud`），抓取 Top 500 Skill\n- **新 API 适配**：`stats.installs`（非 `installsCurrent`）、`categories`（非 `capabilityTags`）、`badges.verified`、`latestVersion.changelog` 等嵌套字段\n- **6 维度全维度推荐**：每天遍历全部 6 个维度，用户每天看全貌\n  - 🔥 trending × 3（活跃安装≥100，降级≥30）\n  - ⭐ quality × 1（下载≥1000+口碑≥0.5%，降级≥500+0.3%）\n  - 🚀 newcomers × 1（≤60天+安装≥10+星≥3，降级≤90天+5+2）\n  - 🏆 panorama × 2（评论≥1）\n  - 🔧 actively_maintained × 1（90天内更新+版本≥3，降级180天+版本≥2）\n  - 🛡️ verified × 1（平台安全审计通过，候选为空时跳过）\n- **降级策略**：候选不足时自动放宽阈值（fallback_fn）\n- **optional 维度**：verified 候选为 0 时自动跳过，不占配额\n- **7 天跨维度去重**：同一 Skill 在不同维度和不同天都不会重复\n- **痛点匹配去重**：同一 Skill 只在第一个命中场景展示（按权重排序）\n- **changelog 展示**：有最近变更摘要的 Skill 展示\"最近变更\"字段\n- **痛点匹配**：基于 7 大场景库（自动化办公/开发工具/内容创作/数据采集/AI 增强/中文支持/金融分析）加权\n- **简报中文化**：中文一句话解读 + 英文原文 `<details>` 折叠（0 token 消耗）\n- **多渠道推送**：飞书云文档 + Top 5 卡片消息（默认）+ IMA 知识库（可选）+ 本地 Markdown\n\n## ⚠️ 数据推送知情说明\n\n本技能会生成推荐简报并可能推送到以下外部服务，请用户知悉：\n\n| 推送渠道 | 默认状态 | 所需凭证 | 数据内容 |\n|---------|---------|---------|---------|\n| **本地文件** | 开启 | 无 | 完整简报 Markdown（data/recommended/*.md）|\n| **飞书云文档+卡片消息** | 需配置 | feishu_app_id / app_secret / user_open_id | 完整简报 + Top 5 摘要卡片 |\n| **腾讯 IMA 知识库** | 需配置 | ima_client_id / api_key / kb_id | 完整简报 Markdown |\n\n**安全约束**：\n- 未配置凭证的渠道不会执行推送，仅生成本地文件\n- 凭证优先级：CLI 参数 > 环境变量 > `references/config.json`\n- `references/config.json` 和 `references/config.local.json` 均在 `.gitignore` 中，不会上传到 GitHub\n- IMA HTTP API 模式强制要求 HTTPS 端点（拒绝 HTTP，防止凭证明文传输）\n- 本技能不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量\n- 不会收集或传输用户系统信息或其他与推荐无关的数据\n\n## 🔐 权限声明（capabilities）\n\n本技能在 `plugin.json` 的 `capabilities` 字段中声明所有运行时所需的权限，供用户和宿主平台在执行前审查：\n\n| 权限类别 | 是否必需 | 说明 |\n|---------|---------|------|\n| **network** | ✅ 必需 | 访问 ClawHub Convex API 抓取数据；可选访问飞书/IMA API 推送简报 |\n| **filesystem** | ✅ 必需 | 写入 `data/snapshots/`（原始数据）和 `data/recommended/`（简报 Markdown）|\n| **env_vars** | ❌ 可选 | 读取 `FEISHU_APP_ID`/`FEISHU_APP_SECRET`/`FEISHU_USER_OPEN_ID`/`IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY` 环境变量（未配置时仅生成本地文件）|\n\n**不申请的权限**：shell 执行、系统信息收集、GitHub 凭证读取（GH_TOKEN）、任意文件系统访问。\n\n## 使用模式（二选一）\n\n本技能支持 **2 种使用模式**，首次安装请阅读 [`references/setup-wizard.md`](references/setup-wizard.md)：\n\n### 模式 A：常规对话模式 💬\n\n**触发词**（在 Agent 对话中输入任一即可）：\n- \"每日推荐\"\n- \"ClawHub 日报\"\n\n### 模式 B：Cron 定时任务模式 ⏰\n\n**支持平台**：Trae SOLO / qclaw / WorkBuddy / OpenClaw / Hermes / 纯脚本\n\n**预制提示词**：见 [`references/prompt-templates.md`](references/prompt-templates.md)\n\n**推荐节奏**：每 2 天 1 次（与 10 天去重窗口完美匹配 → 5 个独立周期全覆盖 200 个 Skill）\n\n## 适用场景\n\n- AI Agent 开发者跟踪生态趋势\n- 内容创作者寻找新的 AI 工具\n- 团队 leader 评估可纳入工作流的 Skill\n- 对 ClawHub 平台感兴趣的所有用户\n\n## 不适用场景\n\n- 需要中文 Skill 专项分析（请使用 `skillhub-daily` 技能）\n- 需要即时的单次查询（请直接使用 Convex `listPublicPageV4` API）\n- 需要下载/安装 Skill 本身（本技能只做推荐分析）\n\n## 依赖\n\n- Python 3.8+\n- `requests`（HTTP 抓取）\n- 飞书应用凭证（可选，用于推送）\n- 网络可访问 `wry-manatee-359.convex.cloud`\n\n## 快速开始\n\n### 1. 首次安装：选择使用模式\n\n阅读 [`references/setup-wizard.md`](references/setup-wizard.md) 选择 A 或 B。\n\n### 2. 配置凭证（仅模式 B 推送时需要）\n\n编辑 `references/config.json`：\n```json\n{\n  \"feishu_app_id\": \"<your_feishu_app_id>\",\n  \"feishu_app_secret\": \"<your_feishu_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n### 3. 手动运行\n\n```bash\n# 抓取数据\npython scripts/fetch_clawhub.py --num 200 --output data/snapshots/2026-06-03.json\n\n# 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-03.json\n\n# 生成推荐\npython scripts/daily_recommend.py --date 2026-06-03 --dimension trending\n\n# 4. 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-03.json\n\n# 5. 推送到 IMA 知识库（可选）\npython scripts/push_to_ima.py --recommendation data/recommended/2026-06-03.json\n```\n\n### 4. 一键执行\n\n```bash\npython clawhub_daily_executor.py\n```\n\n## 推荐维度\n\n| 维度 | cron 标识 | 重点模块 | 频率 |\n|------|---------|---------|------|\n| **D1 趋势** | `trending` | 热装 + 痛点 + 回顾 | 第 1, 5, 9, ... 天 |\n| **D2 质量** | `quality` | 口碑 + 痛点 + 回顾 | 第 2, 6, 10, ... 天 |\n| **D3 新星** | `newcomers` | 新星 + 痛点 + 回顾 | 第 3, 7, 11, ... 天 |\n| **D4 全景** | `panorama` | 热议 + 分类 + 回顾 | 第 4, 8, 12, ... 天 |\n\n维度根据 `日期 % 4` 自动计算。\n\n## 输出物\n\n- `data/snapshots/YYYY-MM-DD.json` - 当日 200 个 Skill 原始数据\n- `data/snapshots/YYYY-MM-DD.metrics.json` - 计算后的指标\n- `data/recommended/YYYY-MM-DD.json` - 8-10 个推荐结果\n- `data/recommended/YYYY-MM-DD.md` - 简报 Markdown\n\n## 飞书/IMA 消息结构\n\n### 飞书卡片消息（默认推送渠道）\n\n包含：\n- **标题**：🦞 ClawHub 每日洞察 | 日期（维度）\n- **元信息**：扫描数、推荐数、去重数、匹配场景\n- **Top 3 详细解读**：每个 Skill 含数据、推荐理由、下一步\n- **CTA 按钮**：查看完整简报（飞书文档）\n- **备注**：执行时间 + 数据日期\n\n总字数控制在 **200-400 字**（让用户决定是否点开）。\n\n### IMA 知识库推送（可选渠道，需显式配置）\n\n通过 IMA 官方 OpenAPI 两步流程推送：\n1. `import_doc` 创建笔记（Markdown 格式）\n2. `add_knowledge` 添加到 FIM 知识库\n\n凭证来源：`IMA_OPENAPI_CLIENTID` / `IMA_OPENAPI_APIKEY` 环境变量（或 `references/config.json`）\n\n默认推送到 FIM 知识库（ID: `aFEGG-4YH3z_CaCS...`），可通过 `--kb-id` 或 config.json 覆盖。\n\n完整 Markdown 简报，含：\n- 标题 + 元信息\n- Top 10 推荐详情\n- 痛点匹配分组\n- 翻页式浏览，可在 IMA 内检索\n\n## 详细文档\n\n- [使用向导](references/setup-wizard.md) - **首次安装必读**\n- [Cron 提示词模板](references/prompt-templates.md) - **定时任务必读**\n- [API 契约](references/api-contract.md)\n- [数据字段](references/source-data-schema.md)\n- [简报模板](references/briefing-template.md)\n- [痛点库](references/pain-points.md)\n- [使用指南](README.md)\n- [CHANGELOG](CHANGELOG.md)\n\n## 限制与边界\n\n- **数据源单一**：仅 ClawHub Convex API，不抓取 SkillHub\n- **去重窗口 10 天**：超出 10 天的会重新推荐\n- **简报长度 8-10 个**：超过不会推送（避免信息过载）\n- **语言**：中文为主，英文原文 `<details>` 折叠（0 token 消耗方案）\n\n## 版本\n\n- v1.0.0 (2026-06-03) - 初始版本，参考 skillhub-daily v6.2.0 架构设计\n\nFile v2.0.7:README.md\n\n# ClawHub Daily Skill 洞察\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，6 维度全维度精选简报\n\n> **⚠️ 数据出口说明**：简报默认写入本地文件；若配置了飞书/IMA 凭证，会推送到飞书云文档和腾讯 IMA 知识库。未配置凭证时仅生成本地文件，不执行外部推送。详见 [SKILL.md](SKILL.md) 的\"数据出口说明\"。\n\n> **📌 命名说明**：本项目在 GitHub 仓库为 `clawhub-daily`；在 ClawHub 市场注册名为 `skill-daily`（因 ClawHub 保护 `clawhub-` 命名空间）。两个名字指向同一个 Skill。\n\n[![Status](https://img.shields.io/badge/status-active-brightgreen)]()\n[![Version](https://img.shields.io/badge/version-1.0.4-blue)]()\n[![Schedule](https://img.shields.io/badge/schedule-daily-orange)]()\n[![License](https://img.shields.io/badge/license-MIT-green)]()\n[![Modes](https://img.shields.io/badge/modes-interactive%20%2F%20cron-purple)]()\n\n## 🌐 English\n\n**ClawHub Daily** is an Agent Skill that scans 200 Skills from ClawHub (the global AI Agent Skill platform) every day, picks 6 most valuable ones through all-dimension daily recommendation + 7 pain-point matching + 7-day deduplication, and pushes a full brief to Lark/Feishu.\n\n- **Real data**: ClawHub Convex API (not hardcoded)\n- **All-dimension daily**: trending×2 / quality×1 / newcomers×1 / panorama×2 = 6 per day\n- **7 pain-points**: 🤖 automation / 🛠️ dev / ✍️ content / 🕷️ scraping / 🧠 AI / 🇨🇳 Chinese / 💰 finance\n- **7-day dedup**: avoid repeated recommendations\n- **Bilingual brief**: Chinese one-liner + English `<details>`\n- **Lark/Feishu push**: cloud doc + card message with direct link\n\n---\n\n## ✨ 核心能力\n\n- 🎯 **真实数据**：从 ClawHub Convex API 抓取 Top 200 Skill（不是硬编码）\n- 🔄 **全维度每日推荐**：趋势×2 + 质量×1 + 新星×1 + 全景×2 = 每日 6 个，每天看全貌\n- 🚫 **7 天去重**：自动避免重复推荐（7 天滚动窗口，跨维度去重）\n- 🎨 **痛点匹配**：基于 7 大场景库个性化推荐\n- 🇨🇳 **简报中文化**：中文一句话 + 英文原文 `<details>` 折叠\n- 📊 **多模块简报**：热装、口碑、新星、痛点、热议、分类王者\n- 📤 **多通道推送**：飞书云文档 + 卡片消息 / IMA 知识库 / 本地 Markdown\n- 🔗 **可点击链接**：云文档和 Markdown 中 Skill 名称/链接均可直接点击跳转\n\n## 🎯 使用模式（二选一）\n\nClawHub Daily 提供 **2 种使用模式**，**首次安装后请阅读** [`references/setup-wizard.md`](references/setup-wizard.md) 选择：\n\n| 模式 | 适合 | 触发方式 |\n|------|------|---------|\n| 💬 **A 常规对话** | 手动调用 | 在 Agent 对话中输入\"每日推荐\"、\"ClawHub 日报\"等 |\n| ⏰ **B Cron 定时** | 每天自动推送 | 参考 [`references/prompt-templates.md`](references/prompt-templates.md) 配置 |\n\n**推荐默认**：模式 B + 每天 1 次（全维度推荐，每日 6 个）。\n\n## 📦 技能包结构\n\n```\nclawhub-daily/\n├── SKILL.md                          # 技能说明\n├── README.md                         # 本文档\n├── CHANGELOG.md                      # 变更日志\n├── LICENSE                           # MIT 协议\n├── .claude-plugin/\n│   └── plugin.json                   # ClawHub 发布元数据\n├── .gitignore                        # Git 忽略规则\n├── references/\n│   ├── setup-wizard.md               # 首次安装模式选择\n│   ├── prompt-templates.md           # Cron 提示词模板\n│   ├── config.json                   # 凭证配置模板（占位符）\n│   ├── config.local.json             # 本地凭证（不入 Git，不发布）\n│   ├── api-contract.md               # Convex API 详细参数\n│   ├── source-data-schema.md         # 数据字段说明\n│   ├── briefing-template.md          # 简报模板\n│   └── pain-points.md                # 痛点库\n├── scripts/\n│   ├── fetch_clawhub.py              # 抓取 200 个 Skill\n│   ├── compute_metrics.py            # 指标计算\n│   ├── daily_recommend.py            # 推荐生成（全维度）\n│   └── push_to_feishu.py             # 飞书推送\n└── data/\n    ├── snapshots/                    # 原始快照\n    └── recommended/                  # 推荐结果 + Markdown\n```\n\n## 🚀 快速开始\n\n### 方式 1：完整流程（推荐）\n\n```bash\n# 进入技能目录\ncd clawhub-daily\n\n# 一键执行：抓取 → 指标 → 推荐 → 飞书\npython clawhub_daily_executor.py\n```\n\n执行器会自动：\n1. 抓取 200 个 Skill（10-15 秒，0 token）\n2. 计算 5 大指标\n3. 全维度推荐 6 个 Skill（趋势×2 + 质量×1 + 新星×1 + 全景×2）\n4. 创建飞书云文档\n5. 发送卡片消息（含云文档直达链接）\n\n### 方式 2：分步执行\n\n```bash\n# Step 1: 抓取数据\npython scripts/fetch_clawhub.py --num 200 --date 2026-06-05 --output data/snapshots\n\n# Step 2: 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-05.json\n\n# Step 3: 生成推荐（默认全维度）\npython scripts/daily_recommend.py --date 2026-06-05 --data-dir data\n\n# Step 4: 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-05.json\n```\n\n### 方式 3：仅生成推荐（不推送）\n\n```bash\npython clawhub_daily_executor.py --skip-push\n```\n\n## ⚙️ 配置\n\n### 飞书凭证\n\n凭证**不硬编码**在代码中，**必须**通过以下方式之一提供（优先级从高到低）：\n\n1. **CLI 参数**：`--app-id` / `--app-secret` / `--user-open-id`\n2. **环境变量**：`FEISHU_APP_ID` / `FEISHU_APP_SECRET` / `FEISHU_USER_OPEN_ID`\n3. **config.local.json**（推荐）：复制 `config.json` 为 `config.local.json`，填入真实值（不入 Git）\n4. **config.json**：占位符模板，适合公开仓库\n\n```json\n// references/config.local.json（不入 Git，不发布）\n{\n  \"feishu_app_id\": \"<your_feishu_app_id>\",\n  \"feishu_app_secret\": \"<your_feishu_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n> 🔒 **`references/config.local.json` 已加入 `.gitignore`**，请勿将真实凭证提交到 GitHub。\n\n### 推荐维度\n\n默认全维度模式（每日推荐 6 个）：\n\n| 维度 | 配额 | 过滤条件 | 价值 |\n|------|------|---------|------|\n| 🔥 trending | 2 | installsCurrent ≥ 100 | 跟热度走 |\n| ⭐ quality | 1 | downloads ≥ 1000 且 star_rate ≥ 0.5% | 跟口碑走 |\n| 🚀 newcomers | 1 | age_days ≤ 60 + installs ≥ 10 + stars ≥ 3 | 抓潜力股 |\n| 🏆 panorama | 2 | comments ≥ 1 | 看社区讨论 |\n\n单维度模式（兼容旧版）：\n```bash\npython scripts/daily_recommend.py --date 2026-06-05 --dimension quality\n```\n\n### 去重窗口\n\n```bash\npython scripts/daily_recommend.py --date 2026-06-05 --lookback-days 14\n```\n\n默认 7 天（7×6=42 个去重池）。\n\n## 📊 输出物\n\n| 文件 | 内容 |\n|------|------|\n| `data/snapshots/<date>.json` | 当日 200 个 Skill 原始数据 |\n| `data/snapshots/<date>.metrics.json` | 计算后的指标（star_rate 等）|\n| `data/recommended/<date>.md` | 简报 Markdown（Skill 链接可点击）|\n| `data/recommended/<date>.json` | 推荐结果（含飞书 blocks + 维度统计）|\n\n## 🔍 数据流程图\n\n```\n   ClawHub Convex API\n        │\n        ▼\n   fetch_clawhub.py\n        │\n        ▼\n   <date>.json (200 个 Skill)\n        │\n        ▼\n   compute_metrics.py\n        │\n        ▼\n   <date>.metrics.json\n        │\n        ▼\n   daily_recommend.py ───── 读取 7 天历史\n        │                       │\n        │                       ▼\n        │                 全维度推荐 + 跨维度去重 + 痛点加权\n        │                       │\n        ▼                       ▼\n   <date>.json 推荐结果\n   <date>.md 简报\n        │\n        ▼\n   push_to_feishu.py\n        │\n        ▼\n   飞书云文档 + 卡片消息（含直达链接）\n```\n\n## 🛠️ 维护指南\n\n### 调整痛点优先级\n\n编辑 `references/pain-points.md` 和 `scripts/daily_recommend.py` 中的 `PAIN_POINTS_DB`，调整各场景的 `weight` 值。\n\n### 添加新场景\n\n1. 在 `references/pain-points.md` 添加场景定义\n2. 在 `scripts/daily_recommend.py` 的 `PAIN_POINTS_DB` 同步\n3. 重新运行推荐生成\n\n### 调整维度配额\n\n编辑 `scripts/daily_recommend.py` 中的 `DIMENSION_CONFIG`：\n```python\n\"trending\": {\n    \"filter_fn\": lambda s: s['installs_current'] >= 100,\n    \"limit\": 2,  # 每日配额\n    ...\n}\n```\n\n### 查看历史推荐\n\n```bash\nls data/recommended/\ncat data/recommended/2026-06-05.md\n```\n\n## 🐛 故障排查\n\n### 抓取失败\n\n- 检查网络能否访问 `wry-manatee-359.convex.cloud`\n- 查看 `data/snapshots/<date>.json` 是否生成\n- 错误码含义见 [api-contract.md](references/api-contract.md)\n\n### 推荐为空\n\n- 检查 `data/snapshots/<date>.metrics.json` 是否生成\n- 确认 `data/recommended/` 目录下有过去 7 天的 JSON（用于去重）\n- 调整 `DIMENSION_CONFIG` 的 `filter_fn` 降低门槛\n\n### 飞书推送失败\n\n- 确认 `references/config.local.json` 的凭证有效\n- 确认 `user_open_id` 是 P2P 对话对象（需先发过消息）\n- 检查飞书云文档 block 数量（< 200 为宜）\n- 查看 [setup-wizard.md](references/setup-wizard.md) 的\"飞书应用创建\"步骤\n\n### 定时任务 Token 授权失败\n\n- SOLO Schedule 启动的进程读不到环境变量，必须使用 `config.local.json`\n- 详见 [`references/config.local.json`](references/config.json) 配置说明\n\n## ⏰ 定时任务配置\n\n详细模板见 [`references/prompt-templates.md`](references/prompt-templates.md)，支持：\n\n- Trae SOLO（推荐）\n- qclaw / WorkBuddy / OpenClaw / Hermes\n- Linux/Mac crontab\n- Windows Task Scheduler\n\n默认建议：每天 1 次（全维度推荐，每日 6 个，7 天去重）。\n\n## 📌 已知限制\n\n- **数据源单一**：仅 ClawHub Convex API，不抓取 SkillHub\n- **单次最多抓 200 个**：Convex 翻页稳定上限\n- **去重窗口 7 天**：超出 7 天的会重新推荐（用户可配置）\n- **新星维度候选少**：当前仅 2 个候选，可能经常空推荐\n- **语言**：中文为主，英文原文 `<details>` 折叠（0 token 中文化方案）\n\n## 📚 详细文档\n\n- [SKILL.md](SKILL.md) - 技能说明\n- [使用向导](references/setup-wizard.md) - 首次安装必读\n- [Cron 提示词模板](references/prompt-templates.md) - 定时任务配置\n- [API 契约](references/api-contract.md)\n- [数据字段](references/source-data-schema.md)\n- [简报模板](references/briefing-template.md)\n- [痛点库](references/pain-points.md)\n- [CHANGELOG](CHANGELOG.md) - 变更日志\n\n## 🤝 贡献\n\n欢迎 PR！请参考 [CONTRIBUTING.md](docs/CONTRIBUTING.md)。\n\n## 📜 版本\n\n- **v1.0.4** (2026-06-05) - 全维度每日推荐 + 7 天去重 + 飞书卡片优化 + 可点击链接\n- **v1.0.3** (2026-06-05) - 修复 D4 阈值、dedup 语义、痛点词边界\n- **v1.0.0** (2026-06-03) - 初始版本\n\n## 📄 License\n\nMIT-0 © clawhub-daily contributors\n\nFile v2.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-daily\",\n  \"version\": \"2.0.7\",\n  \"publishedAt\": 1783834456459\n}\n\nFile v2.0.7:references/api-contract.md\n\n# ClawHub Convex API 契约\n\n> 真实可用的 API 端点和参数，基于对 ClawHub 主 JS bundle（v6）的分析\n\n## 端点\n\n```\nPOST https://wry-manatee-359.convex.cloud/api/query\nContent-Type: application/json\n```\n\n## 函数签名\n\n### `skills:listPublicPageV4`\n\n抓取 Skill 列表（分页）\n\n#### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| `numItems` | int | ✅ | 25 | 每页数量，1-200 稳定支持 |\n| `cursor` | str | ❌ | null | 翻页游标（首次为空） |\n| `sort` | str | ❌ | - | 排序字段 |\n| `dir` | str | ❌ | \"desc\" | `asc` / `desc` |\n| `highlightedOnly` | bool | ❌ | false | 仅精选 |\n| `capabilityTag` | str | ❌ | - | 能力标签筛选 |\n| `categorySlug` | str | ❌ | - | 分类筛选 |\n| `categoryKeywords` | str | ❌ | - | 分类关键词 |\n| `excludeCategoryKeywords` | str | ❌ | - | 排除关键词 |\n\n#### 排序字段 `sort` 取值\n\n| 值 | 含义 | 备注 |\n|---|---|---|\n| `\"downloads\"` | 按总下载量 | 主流榜单 |\n| `\"installs\"` | 按总安装量 | - |\n| `\"stars\"` | 按星标数 | - |\n| `\"updated\"` | 按更新时间 | 新近更新 |\n| `\"recommended\"` | 推荐排序 | ClawHub 算法 |\n| `\"relevance\"` | 相关性 | 仅搜索时有效 |\n\n#### 请求示例\n\n```json\n{\n  \"path\": \"skills:listPublicPageV4\",\n  \"args\": {\n    \"numItems\": 100,\n    \"sort\": \"downloads\",\n    \"dir\": \"desc\",\n    \"highlightedOnly\": false\n  },\n  \"format\": \"json\"\n}\n```\n\n#### 响应格式\n\n```json\n{\n  \"status\": \"success\",\n  \"value\": {\n    \"page\": [Skill, Skill, ...],\n    \"hasMore\": true,\n    \"nextCursor\": \"{\\\"v\\\":1,\\\"index\\\":\\\"by_active_stats_downloads\\\",...}\"\n  }\n}\n```\n\n#### 翻页机制\n\n- `nextCursor` 是 JSON 字符串，作为下次请求的 `cursor` 参数\n- 当 `hasMore: false` 时停止翻页\n- 推荐每次 `numItems=50`，翻 4 次 = 200 个\n\n### 完整翻页示例\n\n```python\ndef fetch_all_skills(num_target=200, sort=\"downloads\"):\n    \"\"\"翻页抓取所有 Skill\"\"\"\n    page_size = 50\n    all_skills = []\n    cursor = None\n\n    for i in range(0, num_target, page_size):\n        resp = requests.post(\n            \"https://wry-manatee-359.convex.cloud/api/query\",\n            json={\n                \"path\": \"skills:listPublicPageV4\",\n                \"args\": {\n                    \"numItems\": page_size,\n                    \"cursor\": cursor,\n                    \"sort\": sort,\n                    \"dir\": \"desc\"\n                },\n                \"format\": \"json\"\n            },\n            headers={\n                \"Content-Type\": \"application/json\",\n                \"Origin\": \"https://clawhub.ai\",\n                \"Referer\": \"https://clawhub.ai/\"\n            },\n            timeout=20\n        )\n        data = resp.json()\n        if data.get('status') != 'success':\n            break\n        value = data['value']\n        all_skills.extend(value['page'])\n        if not value.get('hasMore') or not value.get('nextCursor'):\n            break\n        cursor = value['nextCursor']\n\n    return all_skills\n```\n\n## 错误码\n\n| 错误 | 含义 | 处理 |\n|------|------|------|\n| `DEPLOYMENT_NOT_FOUND` | 端点 URL 错 | 检查 `wry-manatee-359.convex.cloud` |\n| `[Request ID: xxx] Server Error` | 服务端异常 | 重试 3 次，仍失败则跳过 |\n| `status != 'success'` | 函数报错 | 检查参数名/类型 |\n| HTTP 429 | 限流 | 退避 5 秒后重试 |\n| HTTP 5xx | 服务端故障 | 退避 10 秒后重试 |\n\n## 已知限制\n\n1. **无认证**：当前接口公开，无需 token\n2. **限流**：单 IP 短时间内大量请求可能被限（建议 ≥ 1 秒间隔）\n3. **稳定性**：Convex 服务本身可能有抖动，建议脚本内置重试\n\n## 版本说明\n\n- API 端点版本：Convex Cloud（v1 协议）\n- 端点部署：`wry-manatee-359`（2026 年 6 月确认有效）\n- 函数版本：`listPublicPageV4`（v4 协议）\n\nFile v2.0.7:references/briefing-template.md\n\n# ClawHub 简报模板\n\n> 4 个维度对应 4 套简报结构，每个维度 6-10 个推荐\n\n## 通用头部\n\n```markdown\n# 🦞 ClawHub 每日洞察 | 2026-06-03（{维度名}）\n\n> 📊 数据日期：2026-06-03 | 🎯 推荐维度：{维度} | 📦 抓取数量：{N}个 | 🆕 新增推荐：{N}个\n\n## 🎯 TL;DR\n\n今天推荐 **{N}** 个 Skill，其中 **{M}** 个匹配你的关注场景。\n\n[一句话总结今日亮点]\n\n---\n```\n\n## D1 趋势（Trending）\n\n**主题**：今日热装（installsCurrent 高）\n\n```markdown\n## 🔥 今日热装 Top 5\n\n| 排名 | Skill | 作者 | 当前活跃 | 累计下载 | 活跃度 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Self-Improving Agent](url) | pskoett | 6,347 | 456k | 1.4% |\n| ... |\n\n> 💡 活跃度 = installsCurrent / installsAllTime，反映\"今天大家还在用什么\"\n\n## 🎯 痛点匹配（你的关注）\n\n### 🤖 自动化办公\n- **Gog** (作者: steipete) - Google Workspace 全套 CLI\n  > 价值: 把 Gmail/Calendar/Drive 都装进 AI Agent\n  > 下一步: 试试用 Gog 接管你的 Gmail 工作流\n\n### 🧠 AI 增强\n- **Self-Improving Agent** (作者: pskoett) - AI 自我进化\n  > 价值: AI 越用越聪明，自动记忆错误和优化\n  > 下一步: 把它加入你的 Skill 库，下次任务自动调用\n\n## 📅 7 天推荐回顾\n\n- 6/3 (今天): 5 个 - 重点在 AI 增强\n- 6/1: 4 个 - 重点在 自动化办公\n- 5/30: 5 个 - 重点在 数据采集\n- ...\n\n## 🆕 今日新增\n- 5 个新推荐（去重后）\n- 3 个被过滤（已在 7 天内推荐过）\n```\n\n---\n\n## D2 质量（Quality）\n\n**主题**：被埋没的金子（star_rate 高 + downloads 中等）\n\n```markdown\n## ⭐ 口碑精品 Top 8\n\n| 排名 | Skill | 作者 | ⭐ | 📥 | 口碑率 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Skill A](url) | author | 100 | 5,000 | 2.0% |\n| 2 | [Skill B](url) | author | 80 | 4,500 | 1.78% |\n| ... |\n\n> 💡 口碑率 = ⭐ ÷ 📥 × 100%，高于 0.81% 即为高于平均\n\n## 🏆 详细分析（Top 3）\n\n### 1. Skill A ⭐ 100 / 📥 5,000 (口碑率 2.0%)\n- **它做什么**: [...]\n- **解决什么问题**: [...]\n- **下一步行动**: [...]\n\n### 2. Skill B\n[同上结构]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D3 新星（Newcomers）\n\n**主题**：7 天内新创建/更新的潜力股\n\n```markdown\n## 🚀 7 天内新星 Top 5\n\n| 排名 | Skill | 作者 | 年龄 | 活跃安装 | ⭐ | 价值 |\n| --- | --- | --- | --- | --- | --- | --- |\n| 1 | [New Skill A](url) | author | 3 天 | 120 | 12 | 描述... |\n| ... |\n\n> 💡 新星 = 创建时间 < 30 天 且 installsCurrent > 20\n\n## 🔥 新星焦点（Top 2）\n\n### 1. New Skill A (3 天前)\n- **它做什么**: [...]\n- **为什么值得关注**: [...]\n- **下一步行动**: [...]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D4 全景（Panorama）\n\n**主题**：分类全景 + 社区热议\n\n```markdown\n## 💬 本周热议 Top 3\n\n| 排名 | Skill | 作者 | 评论数 | 主题 |\n| --- | --- | --- | --- | --- |\n| 1 | [Hot Skill A](url) | author | 200+ | 用户在讨论... |\n| ... |\n\n> 💡 热议 = comments 数高，反映社区活跃\n\n## 🏆 9 大分类王者\n\n| 分类 | 冠军 Skill | ⭐ | 📥 | 能力标签 |\n| --- | --- | --- | --- | --- |\n| MCP Tools | [...] | [...] | [...] | [...] |\n| Prompts | [...] | [...] | [...] | [...] |\n| Workflows | [...] | [...] | [...] | [...] |\n| Dev Tools | [...] | [...] | [...] | [...] |\n| Data & APIs | [...] | [...] | [...] | [...] |\n| Security | [...] | [...] | [...] | [...] |\n| Automation | [...] | [...] | [...] | [...] |\n| Other | [...] | [...] | [...] | [...] |\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## 通用页脚\n\n```markdown\n---\n\n## 📌 数据说明\n\n- **数据源**: ClawHub Convex API (`wry-manatee-359.convex.cloud`)\n- **抓取数量**: {N} 个 Skill\n- **时间窗口**: 最近 7 天去重\n- **筛选规则**:\n  - 趋势维度: installsCurrent > 100\n  - 质量维度: star_rate > 0.5%\n  - 新星维度: createdAt < 30 天\n  - 全景维度: comments > 50\n\n## 📎 相关链接\n\n- ClawHub 官网: https://clawhub.ai\n- 完整数据集: [飞书云文档链接]\n- 历史报告: [目录索引]\n\n## 🦞 反馈\n\n觉得推荐不准？编辑 `references/pain-points.md` 调整你的痛点优先级。\n```\n\n---\n\n## 简报总长度\n\n- **推荐数**: 8-10 个（用户已确认）\n- **页面数**: 飞书云文档 1 页（不超过 200 blocks）\n- **执行时间**: 抓取 + 指标 + 推荐 < 30 秒\n\n## 飞书消息卡片\n\n```json\n{\n  \"header\": {\n    \"title\": {\"tag\": \"plain_text\", \"content\": \"🦞 ClawHub 每日洞察\"},\n    \"template\": \"blue\"\n  },\n  \"elements\": [\n    {\n      \"tag\": \"div\",\n      \"text\": {\n        \"tag\": \"lark_md\",\n        \"content\": \"**✅ {日期} | {维度}维度**\\n推荐 {N} 个新 Skill\"\n      }\n    },\n    {\"tag\": \"hr\"},\n    {\n      \"tag\": \"div\",\n      \"text\": {\n        \"tag\": \"lark_md\",\n        \"content\": \"**🎯 今日亮点**\\n• {Skill1}\\n• {Skill2}\\n• {Skill3}\"\n      }\n    },\n    {\n      \"tag\": \"action\",\n      \"actions\": [\n        {\n          \"tag\": \"button\",\n          \"text\": {\"tag\": \"plain_text\", \"content\": \"📄 查看完整简报\"},\n          \"type\": \"primary\",\n          \"url\": \"{飞书文档 URL}\"\n        }\n      ]\n    },\n    {\n      \"tag\": \"note\",\n      \"elements\": [\n        {\"tag\": \"plain_text\", \"content\": \"📅 {日期} | 4 维度轮换 | 7 天去重\"}\n      ]\n    }\n  ]\n}\n```\n\nFile v2.0.7:references/pain-points.md\n\n# ClawHub 痛点库\n\n> 用于将通用推荐转化为\"你的私人推荐\"的核心分类\n\n## 7 大痛点场景\n\n每个场景包含：**场景名** + **关键词列表** + **典型 Skill 例子** + **下一步行动模板**\n\n---\n\n### 1. 🤖 自动化办公 (Office Automation)\n\n**关键词**：\n```\ngmail, calendar, slack, trello, notion, sheets, drive, docs,\ngmail-api, calendar-api, trello-api, notion-api, sheets-api,\noffice, workspace, gog, himalaya, contact, meeting, mail\n```\n\n**典型 Skill**：\n- `Gog` - Google Workspace 全套\n- `Slack` - Slack 集成\n- `Trello` - 看板管理\n- `Notion` - 文档管理\n- `Himalaya` - 邮件 CLI\n\n**下一步行动模板**：\n- 试试用 [X] 接管你的 [Gmail/Notion/Slack] 工作流\n- 在 [Gmail/Notion] 中配置 [X] 自动处理 [收件箱/任务]\n\n---\n\n### 2. 🛠️ 开发工具 (Dev Tools)\n\n**关键词**：\n```\ngithub, mcp, browser, code, git, test, ci, debug, lint,\napi, rest, graphql, docker, build, deploy, dev, programmer,\ncoding, repo, pull-request, action\n```\n\n**典型 Skill**：\n- `Github` - GitHub CLI 集成\n- `Agent Browser` - 浏览器自动化\n- `Skill Vetter` - Skill 安全审计\n- `Model Usage` - 模型用量统计\n\n**下一步行动模板**：\n- 在 IDE 中安装 [X] 并配置 MCP server\n- 用 [X] 自动化你的 PR/Issue 流程\n\n---\n\n### 3. ✍️ 内容创作 (Content Creation)\n\n**关键词**：\n```\nyoutube, humanizer, video, image, pdf, writing, blog, post,\nmedium, notion, substack, twitter, x, social, content,\ncreator, editor, copywriting, transcript, frame\n```\n\n**典型 Skill**：\n- `YouTube Watcher` - 视频字幕\n- `Humanizer` - AI 痕迹去除\n- `Nano Banana Pro` - 图像生成\n- `Nano Pdf` - PDF 编辑\n\n**下一步行动模板**：\n- 用 [X] 改写你最近一篇 [文章/邮件]\n- 用 [X] 提取你关注的 YouTube 频道\n\n---\n\n### 4. 🕷️ 数据采集 (Data Scraping)\n\n**关键词**：\n```\nsearch, scraping, apify, firecrawl, polymarket, google,\nbing, duckduckgo, brave, tavily, serp, crawler, scraper,\ndata, extract, monitor, watch\n```\n\n**典型 Skill**：\n- `Multi Search Engine` - 16 引擎搜索\n- `Tavily 搜索` - Tavily API\n- `Baidu web search` - 百度搜索\n- `Polymarket` - 预测市场\n\n**下一步行动模板**：\n- 用 [X] 监控你的竞品 [网站/数据源]\n- 用 [X] 抓取 [行业/趋势] 数据生成日报\n\n---\n\n### 5. 🧠 AI 增强 (AI Enhancement)\n\n**关键词**：\n```\nself-improving, proactive, memory, agent, reasoning,\nreflection, learning, autonomous, cron, schedule, plan,\nimprove, optimize, automation, hal, wal\n```\n\n**典型 Skill**：\n- `Self-Improving Agent` - 自我进化\n- `Proactive Agent` - 主动预判\n- `Self-Improving + Proactive` - 组合\n- `Ontology` - 知识图谱\n\n**下一步行动模板**：\n- 把 [X] 加入你的 Skill 库，下次任务自动调用\n- 让 [X] 持续优化你的 AI 工作流\n\n---\n\n### 6. 🇨🇳 中文支持 (Chinese Support)\n\n**关键词**：\n```\nchinese, baidu, wechat, taobao, bilibili, qq, weibo,\ndouyin, jd, alipay, aliyun, tencent, 中文, 百度, 微信,\n淘宝, B站, 微博, 抖音, 京东\n```\n\n**典型 Skill**：\n- `Baidu web search` - 百度搜索\n- `Tavily 搜索` - 中文搜索\n- `Multi Search Engine` - 含 7 个中文引擎\n\n**下一步行动模板**：\n- 用 [X] 处理你的中文内容创作\n- 把 [X] 接入你已有的中文工作流\n\n---\n\n### 7. 💰 金融分析 (Financial Analysis)\n\n**关键词**：\n```\npolymarket, financial, stock, trading, invest, market,\nprice, prediction, alpha, fund, portfolio, backtest,\nreport, analyst, earnings\n```\n\n**典型 Skill**：\n- `Polymarket` - 预测市场\n- `Financial AI Analyst` - 金融分析（出版方）\n\n**下一步行动模板**：\n- 用 [X] 跟踪你的 [持仓/竞品] 动态\n- 用 [X] 监控 [市场/政策] 信号\n\n---\n\n## 痛点匹配算法\n\n```python\ndef match_pain_points(skill, pain_points_db):\n    \"\"\"返回该 Skill 命中的痛点场景列表\"\"\"\n    text = f\"{skill['displayName']} {skill['summary']} {' '.join(skill['capabilityTags'])}\".lower()\n    matched = []\n    for scene, config in pain_points_db.items():\n        for kw in config['keywords']:\n            if kw.lower() in text:\n                matched.append(scene)\n                break\n    return matched\n```\n\n## 痛点加权评分\n\n```python\ndef pain_point_weight(matched_scenes, user_priority):\n    \"\"\"\n    user_priority: dict, {scene: weight}\n    \"\"\"\n    score = 0\n    for scene in matched_scenes:\n        score += user_priority.get(scene, 1.0)\n    return score\n```\n\n## 默认用户优先级\n\n```python\nDEFAULT_USER_PRIORITY = {\n    \"🤖 自动化办公\": 1.5,\n    \"🛠️ 开发工具\": 1.5,\n    \"🧠 AI 增强\": 1.3,\n    \"✍️ 内容创作\": 1.2,\n    \"🕷️ 数据采集\": 1.2,\n    \"🇨🇳 中文支持\": 1.0,\n    \"💰 金融分析\": 0.8,\n}\n```\n\n用户可自定义调整。\n\n## 扩展方法\n\n要添加新痛点场景：\n\n1. 在 `references/pain-points.md` 添加场景定义\n2. 在 `daily_recommend.py` 的 `PAIN_POINTS_DB` 中同步\n3. 在简报模板中按需更新分类标题\n\nFile v2.0.7:references/prompt-templates.md\n\n# Cron 提示词模板\n\n> 适用版本：clawhub-daily v2.0.2+\n> 使用方法：复制下面的 JSON 配置到你的 Cron 平台，**替换痛点列表**为你自己的关注点\n\n## ⚠️ 数据推送知情说明\n\n使用 Cron 模式前，请知悉以下数据流向：\n\n1. **本地文件写入**：简报 Markdown 会写入 `data/recommended/{date}.md`（默认开启）\n2. **飞书推送**：若配置了 `FEISHU_APP_ID`/`FEISHU_APP_SECRET`/`FEISHU_USER_OPEN_ID` 环境变量或 `references/config.json`，简报内容会推送到飞书云文档和卡片消息\n3. **IMA 推送**：若配置了 `IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY` 环境变量或 `references/config.json`，简报内容会推送到腾讯 IMA 知识库\n\n**未配置凭证时仅生成本地文件，不执行外部推送。**\n\n---\n\n## 📌 通用结构\n\n所有 Cron 配置都遵循：\n\n```json\n{\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"<cron 表达式>\", \"tz\": \"Asia/Shanghai\" },\n  \"sessionTarget\": \"isolated\",\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"<提示词内容>\"\n  },\n  \"delivery\": { \"mode\": \"announce\", \"channel\": \"<推送渠道>\" }\n}\n```\n\n---\n\n## 🎯 模板 1：Trae SOLO（推荐）\n\n**频率**：每 2 天 1 次（北京时间 21:00）  \n**痛点**：默认 7 大类（按需修改）\n\n```json\n{\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 13 */2 * *\", \"tz\": \"Asia/Shanghai\" },\n  \"sessionTarget\": \"isolated\",\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"请执行 clawhub-daily Skill，按 SKILL.md 步骤 1-4 完成每日推荐。\\n\\n# 痛点（请直接使用，按优先级排序）\\n- 🤖 自动化办公：gmail、calendar、slack、notion、sheets\\n- 🛠️ 开发工具：github、mcp、browser、code、git、api\\n- ✍️ 内容创作：youtube、video、image、pdf、writing\\n- 🕷️ 数据采集：search、scraping、apify、firecrawl、google\\n- 🧠 AI 增强：self-improving、proactive、memory、agent、reasoning\\n- 🇨🇳 中文支持：chinese、baidu、wechat、taobao、bilibili\\n- 💰 金融分析：polymarket、financial、stock、trading、market\\n\\n# 数据源\\nClawHub Convex API（https://wry-manatee-359.convex.cloud/api/query）\\n扫描数量：200 个 Skill（4 页 × 50/页）\\n\\n# 存储\\n飞书云文档（feishu_app_id / feishu_app_secret 从 references/config.json 读取）\\n\\n# 输出\\n- 简报 Markdown：data/recommended/{date}.md\\n- 飞书云文档：包含所有推荐详情\\n- 飞书卡片消息：250-400 字摘要 + Top 3 详细解读 + 完整简报链接\\n\\n# 完成后\\n输出 200 字以内的对话摘要，包含：\\n- 扫描数量、推荐数量、去重数量\\n- 推荐维度（trending / quality / newcomers / panorama）\\n- 命中场景（前 3 个）\\n- 今日 TOP 1 Skill 名 + 一句话理由\"\n  },\n  \"delivery\": { \"mode\": \"announce\", \"channel\": \"feishu\" }\n}\n```\n\n---\n\n## 🎯 模板 2：qclaw / WorkBuddy\n\n**频率**：每日 1 次（北京时间 09:00）  \n**痛点**：精简 3 大类（最常用）\n\n```json\n{\n  \"schedule\": { \"kind\": \"cron\", \"expr\": \"0 9 * * *\", \"tz\": \"Asia/Shanghai\" },\n  \"sessionTarget\": \"isolated\",\n  \"payload\": {\n    \"kind\": \"agentTurn\",\n    \"message\": \"执行 clawhub-daily Skill。\\n\\n# 痛点（精简版）\\n- 开发工具\\n- 内容创作\\n- AI 增强\\n\\n# 任务\\n1. 抓取 ClawHub 200 个 Skill\\n2. 按当前日期自动选维度（trending/quality/newcomers/panorama）\\n3. 痛点匹配 + 10 天去重\\n4. 生成简报 + 飞书推送\\n\\n# 输出\\n简报 Markdown + 飞书卡片（200-400 字）\"\n  },\n  \"delivery\": { \"mode\": \"announce\", \"channel\": \"feishu\" }\n}\n```\n\n---\n\n## 🎯 模板 3：纯 Linux/Mac crontab\n\n**频率**：每 2 天 1 次（北京时间 21:00）  \n**特点**：完全独立，无 Agent 依赖\n\n```cron\n# 编辑 crontab\n0 13 */2 * * /bin/bash -c 'cd <your_clawhub_daily_path> && python clawhub_daily_executor.py >> logs/cron.log 2>&1'\n```\n\n**`<your_clawhub_daily_path>`** 替换为实际路径（如 `~/projects/clawhub-daily`）。\n\n**建议**：\n- 创建 `logs/` 目录用于 cron 日志\n- 用 `>>` 追加而非 `>` 覆盖\n- 加 `2>&1` 重定向错误输出\n\n---\n\n## 🎯 模板 4：Windows Task Scheduler\n\n**频率**：每 2 天 1 次（北京时间 21:00）\n\n**步骤**：\n1. 打开\"任务计划程序\" → \"创建基本任务\"\n2. 名称：ClawHub Daily\n3. 触发器：每天 → 高级设置 → 勾选\"重复任务间隔：2 天\"\n4. 操作：启动程序\n   - 程序：`python`\n   - 参数：`clawhub_daily_executor.py`\n   - 起始于：`<your_clawhub_daily_path>`\n5. 条件：勾选\"唤醒计算机运行此任务\"\n\n---\n\n## 🎯 模板 5：Hermes\n\n**频率**：每日 1 次（北京时间 08:00）\n\n```yaml\nschedule:\n  cron: \"0 8 * * *\"\n  timezone: \"Asia/Shanghai\"\ntask:\n  type: \"agent\"\n  message: |\n    请执行 clawhub-daily Skill：\n    1. 抓取 ClawHub 200 个 Skill\n    2. 计算指标 + 4 维度轮换\n    3. 7 大痛点匹配 + 10 天去重\n    4. 生成简报 + 飞书推送\n  delivery:\n    channel: \"feishu\"\n    template: \"card\"\n```\n\n---\n\n## 🔧 痛点列表定制指南\n\n默认痛点库在 [`references/pain-points.md`](pain-points.md) 维护，**复制到 Cron 提示词里时请按需删减**：\n\n### 7 大类全部使用（信息量最大）\n\n```\n🤖 自动化办公 / 🛠️ 开发工具 / ✍️ 内容创作 / 🕷️ 数据采集\n🧠 AI 增强 / 🇨🇳 中文支持 / 💰 金融分析\n```\n\n### 精简 3 大类（聚焦核心）\n\n```\n🛠️ 开发工具 / ✍️ 内容创作 / 🧠 AI 增强\n```\n\n### 自定义（按你的职业/兴趣）\n\n```\n# 程序员\n🛠️ 开发工具 / 🕷️ 数据采集 / 🧠 AI 增强\n\n# 创作者\n✍️ 内容创作 / 🤖 自动化办公 / 🇨🇳 中文支持\n\n# 投资者\n💰 金融分析 / 🕷️ 数据采集 / 🤖 自动化办公\n\n# 运营/产品\n🤖 自动化办公 / ✍️ 内容创作 / 🕷️ 数据采集\n```\n\n---\n\n## 📊 频率选择指南\n\n| 频率 | 适合场景 | 优缺点 |\n|------|---------|--------|\n| **每日 1 次** | 重度用户、跟热点 | 信息量大、推送频繁 |\n| **每 2 天 1 次** ⭐ | 通用推荐（默认） | 平衡点、不打扰 |\n| **每周 1 次** | 周末回顾、深度阅读 | 信息密度高 |\n| **每月 1 次** | 长尾发现、避免打扰 | 易错过热点 |\n\n**推荐**：每 2 天 1 次（与 10 天去重窗口完美匹配 → 5 个独立周期全覆盖 200 个 Skill）。\n\n---\n\n## ⚙️ Cron 表达式速查\n\n```\n0 13 */2 * *   →  每 2 天 13:00（北京时间 21:00）\n0 9 * * *      →  每天 9:00\n0 8 * * 1      →  每周一 8:00\n0 0 1 * *      →  每月 1 日 0:00\n```\n\n字段：`分 时 日 月 周`\n\n---\n\n## 🐛 故障排查\n\n**Cron 跑了但没飞书消息？**\n1. 检查 `references/config.json` 凭证是否正确\n2. 看 cron 日志（`logs/cron.log` 或任务计划程序历史）\n3. 手动跑一次 `python clawhub_daily_executor.py` 排查\n\n**推送重复了？**\n- 检查 10 天去重是否生效（`data/recommended/` 是否有最近 10 天的 JSON）\n- 减小 cron 频率（每 2 天 → 每 3 天）\n\n**想换推送时间？**\n- 修改 `cron` 表达式\n- 用 https://crontab.guru 验证\n\nFile v2.0.7:references/setup-wizard.md\n\n# 首次安装向导（Setup Wizard）\n\n> 适用版本：clawhub-daily v1.0.0+\n> 用户首次安装本技能后必读\n\n## 🎯 选择你的使用模式\n\nClawHub Daily 提供 **2 种使用模式**，请根据你的需求选择 A 或 B。\n\n---\n\n### 模式 A：常规对话模式 💬\n\n**适合**：每天手动触发、AI 对话中临时调用\n\n**触发词**（在 Agent 对话中输入任一即可）：\n- \"每日推荐\"\n- \"ClawHub 日报\"\n- \"ClawHub 每日洞察\"\n\n**示例对话**：\n```\n你: 每日推荐\nAI: 🦞 ClawHub 每日洞察 | 2026-06-03（质量维度）\n    扫描 198 个 Skill → 推荐 10 个新发现...\n```\n\n**优点**：\n- ✅ 灵活，按需触发\n- ✅ 可以临时调整关注点\n- ✅ 不需要定时任务\n\n**缺点**：\n- ❌ 容易忘记\n- ❌ 没有自动推送\n\n---\n\n### 模式 B：Cron 定时任务模式 ⏰\n\n**适合**：每天定时自动推送、长期稳定使用\n\n**支持平台**：\n- **qclaw / WorkBuddy / OpenClaw / Hermes** — 使用各平台 Cron 配置\n- **Trae SOLO** — 使用 `Schedule` 工具（已为你集成）\n- **纯脚本** — Linux/Mac crontab 或 Windows Task Scheduler\n\n**触发节奏**（推荐）：\n- **每 2 天一次**：抓取 200 个 Skill，覆盖 10 天滚动窗口\n- **每日 1 次**：抓取 200 个 Skill，新发现会更多\n- **每周 1 次**：信息密度高但容易错过热点\n\n**预制 Cron 提示词**：见 [prompt-templates.md](prompt-templates.md)\n\n**优点**：\n- ✅ 自动化，无需手动触发\n- ✅ 飞书/IM 推送主动送达\n- ✅ 长期稳定运行\n\n**缺点**：\n- ❌ 初次配置稍复杂\n- ❌ 故障不易发现（需加监控）\n\n---\n\n## 🔧 通用配置（两种模式都需要）\n\n### 1. 安装依赖\n\n```bash\npip install requests\n```\n\n### 2. 配置飞书凭证（仅需推送时）\n\n> **⚠️ 凭证安全须知**：\n> - 飞书 App Secret 是敏感凭证，泄露后他人可冒充应用发送消息和创建文档\n> - **存储**：凭证只应存放在 `references/config.json`（已在 `.gitignore` 中）或环境变量，不要硬编码在脚本中\n> - **轮换**：如怀疑泄露，立即到飞书开放平台重置 App Secret\n> - **权限最小化**：只勾选下方列出的 4 个权限，不要添加多余权限\n> - **ClawHub publish 不遵守 .gitignore**：发布到 ClawHub 前必须确认 `references/config.json` 只含占位符（`<your_xxx>`），不含真实凭证\n\n#### 步骤 1：创建飞书应用\n\n1. 访问 [飞书开放平台](https://open.feishu.cn/app)\n2. 创建企业自建应用\n3. 获取 `App ID` 和 `App Secret`\n4. 权限配置（仅勾选以下 4 项，最小权限原则）：\n   - `im:message` — 发送消息\n   - `im:message:send_as_bot` — 以应用身份发消息\n   - `docx:document:create` — 创建云文档\n   - `docx:document:write` — 编辑云文档\n5. 事件订阅：可跳过（不需要接收消息）\n\n#### 步骤 2：填写凭证\n\n编辑 `references/config.json`（此文件已在 `.gitignore` 中，不会上传到 GitHub）：\n\n```json\n{\n  \"feishu_app_id\": \"<your_app_id>\",\n  \"feishu_app_secret\": \"<your_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n> ⚠️ **安全提醒**：\n> - `references/config.json` 只能放占位符（`<your_xxx>`），真实凭证通过环境变量传递\n> - 环境变量方式（推荐）：`FEISHU_APP_ID` / `FEISHU_APP_SECRET` / `FEISHU_USER_OPEN_ID`\n> - **ClawHub publish 会上传整个目录**：即使文件在 `.gitignore` 中，ClawHub 也会上传。所以 `config.json` 永远不能含真实凭证\n\n#### 步骤 3：获取 user_open_id\n\n让目标用户**给应用发一条任意消息**，然后在飞书管理后台查看\"用户与部门\"即可找到对应的 `open_id`。\n\n---\n\n### 3. 测试运行\n\n> **⚠️ 数据推送警告**：以下步骤 4-6 会将简报内容传输到外部服务（飞书/IMA）。请确认：\n> - 你已了解简报内容会被发送到飞书云文档和 IMA 知识库\n> - 接收方是你在飞书应用中配置的 user_open_id 对应的用户\n> - 如只想本地测试，跳过步骤 4-6，只执行步骤 1-3\n\n```bash\n# 1. 抓取数据（本地操作，无外部传输）\npython scripts/fetch_clawhub.py --date 2026-06-03\n\n# 2. 计算指标（本地操作，无外部传输）\npython scripts/compute_metrics.py --input data/snapshots/2026-06-03.json\n\n# 3. 生成推荐（本地操作，无外部传输）\npython scripts/daily_recommend.py --date 2026-06-03 --data-dir data\n\n# 4. 推送到飞书（⚠️ 外部传输：简报内容发送到飞书云文档 + 卡片消息）\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-03.json\n\n# 5. 推送到 IMA（⚠️ 外部传输：简报内容发送到腾讯 IMA 知识库）\npython scripts/push_to_ima.py --recommendation data/recommended/2026-06-03.json --mode official\n\n# 6. 推送到 Obsidian（本地操作，写入 vault 目录）\npython scripts/push_to_obsidian.py --recommendation data/recommended/2026-06-03.json\n```\n\n预期：飞书收到卡片消息 + 云文档链接；IMA 知识库出现新笔记；Obsidian vault 出现 .md 文件。\n\n---\n\n## 📋 模式选择决策树\n\n```\n你希望什么时候看到推荐？\n│\n├─ \"我想每天主动查看\"        → 模式 A\n│\n├─ \"我想每天自动收到推送\"    → 模式 B（每天 1 次）\n│\n├─ \"我想隔天看一次就够了\"    → 模式 B（每 2 天 1 次）⭐ 推荐\n│\n└─ \"我只想周末看\"            → 模式 B（每周 1 次）\n```\n\n---\n\n## 🔄 模式切换\n\n随时可以切换模式：\n- A → B：参考 [prompt-templates.md](prompt-templates.md) 配置 Cron\n- B → A：删除 Cron 配置，回到对话触发\n\n---\n\n## ❓ 常见问题\n\n**Q1：必须配置飞书吗？**\nA：不必。飞书是可选的，模式 A 完全不需要飞书，模式 B 也可以只生成本地简报不推送（用 `--skip-push`）。\n\n**Q2：每天扫描会不会很慢？**\nA：不会。抓取 200 个 Skill 仅需 10-15 秒，**不调大模型**（0 token 消耗）。\n\n**Q3：可以同时用 A 和 B 吗？**\nA：可以。模式 B 自动推送后，你仍可以在对话中输入\"每日推荐\"立即查看最新数据。\n\n**Q4：配置文件被提交到 GitHub 怎么办？**\nA：立即在飞书开放平台**重置 App Secret**。`references/config.json` 已加入 `.gitignore` 建议列表。\n\n---\n\n## 📚 下一步\n\n- 模式 A 用户：直接看 [README.md](../README.md) 的\"快速开始\"\n- 模式 B 用户：看 [prompt-templates.md](prompt-templates.md) 配置 Cron\n- 双模式用户：两个都看\n\nFile v2.0.7:references/source-data-schema.md\n\n# ClawHub Skill 数据字段说明\n\n> `listPublicPageV4` 返回的每个 Skill 对象结构\n\n## 完整字段\n\n```typescript\ninterface SkillRecord {\n  latestVersion: Version;\n  owner: Owner;\n  ownerHandle: string;          // 作者 handle (重复字段)\n  skill: Skill;                 // 核心数据\n}\n\ninterface Version {\n  _creationTime: number;        // 版本创建时间戳\n  _id: string;                  // 版本 ID\n  changelog: string;            // 更新日志\n  changelogSource: string;      // \"user\" / \"auto\"\n  createdAt: number;            // 创建时间戳\n  skillId: string;              // 关联 Skill ID\n  version: string;              // 版本号，如 \"3.0.21\"\n}\n\ninterface Owner {\n  _creationTime: number;\n  _id: string;\n  displayName: string;          // 作者显示名\n  handle: string;               // 作者 handle\n  image: string;                // 头像 URL\n  kind: \"user\" | \"org\";         // 类型\n  linkedUserId?: string;\n}\n\ninterface Skill {\n  _creationTime: number;\n  _id: string;                  // Skill 唯一 ID\n  badges: object;               // 徽章（多数为空）\n  capabilityTags: string[];     // 能力标签，如 [\"mcp\", \"github\"]\n  createdAt: number;            // 创建时间戳\n  displayName: string;          // 显示名，如 \"Self-Improving Agent\"\n  isSuspicious: boolean;        // 是否可疑\n  latestVersionId: string;\n  ownerPublisherId: string;\n  ownerUserId: string;\n  slug: string;                 // URL slug，如 \"self-improving-agent\"\n  stats: Stats;                 // ⭐ 统计数据\n  summary: string;              // 一句话描述\n  tags: object;                 // 标签\n}\n\ninterface Stats {\n  comments: number;             // 评论数\n  downloads: number;            // 累计下载\n  installsAllTime: number;      // 累计安装\n  installsCurrent: number;      // 当前活跃安装\n  stars: number;                // ⭐ 星标数\n  versions: number;             // 版本数\n}\n```\n\n## 关键 URL 构造\n\n```python\ndef get_skill_url(skill, owner):\n    \"\"\"构造 Skill 详情页 URL\"\"\"\n    return f\"https://clawhub.ai/{owner.handle}/{skill.slug}\"\n```\n\n## 关键指标计算\n\n### 1. star_rate（口碑率）\n\n```python\nstar_rate = stars / max(downloads, 1) * 100\n# 单位：百分比\n# 示例：3729 / 456369 * 100 = 0.82%\n```\n\n### 2. installsCurrent/installsAllTime（活跃度）\n\n```python\nactivity_rate = installsCurrent / max(installsAllTime, 1) * 100\n# 单位：百分比\n# 示例：6347 / 6679 * 100 = 95%\n```\n\n### 3. days_since_created（年龄）\n\n```python\nimport time\nnow_ms = int(time.time() * 1000)\ndays = (now_ms - createdAt) / (1000 * 60 * 60 * 24)\n```\n\n### 4. version_score（更新活跃度）\n\n```python\n# 简单评分：版本数越多越活跃\n# 更复杂可结合 changelog 长度、updated 时间\n```\n\n## 时间戳转换\n\nConvex 使用毫秒时间戳，需要：\n\n```python\nfrom datetime import datetime\ndt = datetime.fromtimestamp(_creationTime / 1000)\n```\n\n## 数据清洗建议\n\n| 字段 | 处理 |\n|------|------|\n| `summary` | 截断到 200 字（飞书消息限制） |\n| `capabilityTags` | 去重、转小写 |\n| `displayName` | 保留原始大小写 |\n| `stats.*` | 整数化（Convex 返回 float） |\n| `_id` | 哈希为 URL 安全字符串 |\n\n## 已知字段陷阱\n\n⚠️ **`summary` 字段可能为 HTML 转义字符串**：\n\n```json\n\"summary\": \"Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...\"\n```\n\n末尾的 `...` 是真实截断，不是显示省略。\n\n⚠️ **`owner.image` 可能是 `aka.doubaocdn.com` 代理**：\n\n```json\n\"image\": \"https://aka.doubaocdn.com/s/3nS91wXFlx\"\n```\n\n不是 GitHub 头像原 URL，但显示效果一致。\n\n## 完整 Skill 示例\n\n```json\n{\n  \"latestVersion\": {\n    \"_creationTime\": 1777649615088,\n    \"_id\": \"k97cs17rev4fbbwsh40dwf9jah85x0ws\",\n    \"changelog\": \"re-upload\",\n    \"changelogSource\": \"user\",\n    \"createdAt\": 1777649615088,\n    \"skillId\": \"kd71q6bf0e8vcgdcxfdd3qyd817ynzhk\",\n    \"version\": \"3.0.21\"\n  },\n  \"owner\": {\n    \"_creationTime\": 0,\n    \"_id\": \"s1794qsnpbjfkfnp0k226sefv583hfzt\",\n    \"displayName\": \"pskoett\",\n    \"handle\": \"pskoett\",\n    \"image\": \"https://avatars.githubusercontent.com/u/177305814?v=4\",\n    \"kind\": \"user\",\n    \"linkedUserId\": \"kn70cjr952qdec1nx70zs6wefn7ynq2t\"\n  },\n  \"ownerHandle\": \"pskoett\",\n  \"skill\": {\n    \"_creationTime\": 1767632598365,\n    \"_id\": \"kd71q6bf0e8vcgdcxfdd3qyd817ynzhk\",\n    \"badges\": {},\n    \"capabilityTags\": [],\n    \"createdAt\": 1767632598365,\n    \"displayName\": \"Self-Improving Agent\",\n    \"isSuspicious\": false,\n    \"latestVersionId\": \"k97cs17rev4fbbwsh40dwf9jah85x0ws\",\n    \"ownerPublisherId\": \"s1794qsnpbjfkfnp0k226sefv583hfzt\",\n    \"ownerUserId\": \"kn70cjr952qdec1nx70zs6wefn7ynq2t\",\n    \"slug\": \"self-improving-agent\",\n    \"stats\": {\n      \"comments\": 53,\n      \"downloads\": 456369,\n      \"installsAllTime\": 6679,\n      \"installsCurrent\": 6347,\n      \"stars\": 3729,\n      \"versions\": 31\n    },\n    \"summary\": \"Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Clau...\",\n    \"tags\": {\n      \"latest\": \"k97cs17rev4fbbwsh40dwf9jah85x0ws\"\n    }\n  }\n}\n```\n\n## 派生数据结构（用于推荐）\n\n```typescript\ninterface RecommendedSkill {\n  rank: number;                 // 推荐排名\n  skill_id: string;             // Skill._id\n  display_name: string;         // Skill.displayName\n  author: string;               // Owner.handle\n  url: string;                  // 构造的 URL\n  summary: string;              // 截断后的描述\n  stars: number;\n  downloads: number;\n  installsCurrent: number;\n  installsAllTime: number;\n  comments: number;\n  star_rate: number;            // %\n  activity_rate: number;        // %\n  age_days: number;             // 创建天数\n  capability_tags: string[];\n  pain_points_matched: string[]; // 命中的痛点场景\n  score: number;                // 综合得分\n  module: string;               // 来自哪个模块\n  recommend_reason: string;     // 推荐理由（中文）\n  next_action: string;          // 下一步行动\n}\n```\n\nFile v2.0.7:CHANGELOG.md\n\n# Changelog\n\nAll notable changes to **clawhub-daily** will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [2.0.7] - 2026-07-12\n\n### Fixed (修复)\n- **Tp4 MCP Tool Poisoning (High)**：description 中 IMA 渠道说明从\"默认关闭，需显式启用\"修正为\"有凭证时自动推送，无凭证时跳过\"，准确反映 executor 实际行为（executor 会尝试所有渠道，有凭证则推送，无凭证则跳过）。\n- **Vague Triggers (Medium)**：删除宽泛触发词\"今天有什么好 Skill\"，替换为专用触发词\"ClawHub 每日洞察\"。从 SKILL.md / plugin.json / setup-wizard.md 三个文件同步清理。\n- **Missing User Warnings - 凭证安全 (Medium)**：setup-wizard.md 飞书凭证配置部分新增\"⚠️ 凭证安全须知\"区块，包含存储/轮换/权限最小化/ClawHub publish 不遵守 .gitignore 等 5 项安全指导。\n- **Missing User Warnings - 测试推送 (Medium)**：setup-wizard.md 测试运行步骤前新增\"⚠️ 数据推送警告\"，明确标注步骤 4-6 是外部传输，步骤 1-3 是本地操作。每个命令标注是否涉及外部传输。\n- **Intent-Code Divergence (Low)**：PUBLISHING_GUIDE.md 的 grep 凭证扫描命令新增 GitHub token 全部前缀（gho_/ghs_）和 SkillHub token（skh_），消除\"GH_TOKEN 讨论但 grep 不覆盖\"的分歧。\n\n### Changed (变更)\n- SKILL.md description 新增\"推送行为\"说明行，明确 executor 的独立 try/except 失败隔离机制。\n- setup-wizard.md 测试步骤从 4 步扩展到 6 步（新增 IMA 推送和 Obsidian 推送）。\n\n## [2.0.6] - 2026-07-12\n\n### Added (新增)\n- **新增 Obsidian 本地 vault 推送渠道**：参考 web-to-fim 技能的三处存放架构，新增 `scripts/push_to_obsidian.py`，将每日简报推送到 Obsidian vault 的 `inbox/clawhub-daily/` 子目录。\n- **三级 fallback 机制**：Obsidian 写入失败时自动降级（重试3次 → ASCII文件名 → 脚本目录 saved/），确保本地存储永不丢失。\n- **executor 失败隔离**：推送阶段三个渠道（飞书/IMA/Obsidian）各自独立 try/except，一处失败不阻断其他渠道，参考 web-to-fim 的 `_process_single` 架构。\n- **推送汇总报告**：executor 执行结束后输出三渠道推送结果汇总（`飞书=✓ | IMA=✓ | Obsidian=✓`）。\n\n### Changed (变更)\n- `clawhub_daily_executor.py` 推送阶段重构：Step 4-6 三处存放独立 try/except + 推送汇总。\n- SKILL.md 数据出口说明新增 Obsidian 渠道。\n- 凭证来源说明新增 OBSIDIAN_VAULT_PATH 环境变量。\n\n## [2.0.5] - 2026-07-12\n\n### Removed (移除)\n- **删除方式 C（自定义 HTTP API）整个函数**：`push_via_api()` 函数将凭证发送到用户配置的 HTTPS 端点，被 SkillSpector 标记为 Critical（Tainted flow: credential → network output）。方式 C 已不再需要，方式 A（官方 OpenAPI）已完全覆盖 IMA 推送需求。\n- **删除 fallback 环境变量 `IMA_CLIENT_ID`/`IMA_API_KEY`**：只保留官方变量 `IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY`，消除\"未文档化的凭证来源\"（Scope Creep finding）。\n- **删除 `--api-endpoint` 参数和 `--mode api` 选项**：方式 C 已删除，不再需要。\n- **删除触发词 \"扫描 ClawHub\"**：SkillSpector 标记为 Vague Triggers（语义接近普通扫描请求，易误激活）。触发词从 4 个缩减为 3 个。\n\n### Fixed (修复)\n- **触发词残留清理**：`references/setup-wizard.md` 中的 \"帮我推荐技能\" 和 \"扫描 ClawHub\" 在 v2.0.3 漏改，本次彻底清理。\n- **README summary 行**：删除\"自动推送飞书\"措辞，新增\"⚠️ 数据出口说明\"警告区块，明确告知外部传输行为。\n\n### Changed (变更)\n- `push_to_ima.py` 重写：删除 `push_via_api()` 函数、`--api-endpoint` 参数、`--mode api` 选项、fallback 环境变量。代码从 308 行精简到 262 行。\n- auto 模式优先级简化：官方 OpenAPI > CLI（删除了\"自定义 HTTP API\"这一级）。\n- SKILL.md IMA 推送说明：删除 fallback 变量说明。\n\n## [2.0.4] - 2026-07-12\n\n### Added (新增)\n- **IMA 官方 OpenAPI 推送方式（方式 A，推荐）**：`push_to_ima.py` 新增 `push_via_official_api()` 函数，通过两步流程推送简报到 IMA 知识库\n  - Step 1: `POST /openapi/note/v1/import_doc` 创建笔记（Markdown 格式，content_format=1）\n  - Step 2: `POST /openapi/wiki/v1/add_knowledge` 添加到知识库（media_type=11，knowledge_base_id）\n  - 默认推送到 FIM 知识库（ID: `aFEGG-4YH3z_CaCSNVNC5dSJR5cutjlatcEQcNZjtlA=`）\n  - API 端点：`https://ima.qq.com`（注意：不是 `ima.tencent.com`）\n\n### Changed (变更)\n- **凭证优先级扩展**：CLI 参数 > 环境变量（`IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY`，fallback `IMA_CLIENT_ID`/`IMA_API_KEY`）> config.json\n- **auto 模式优先级调整**：官方 OpenAPI > CLI > 自定义 HTTP API（之前是 CLI > HTTP API）\n- **kb_id 读取逻辑**：过滤 config.json 中的占位符（`<your_ima_kb_id>`），自动回退到 FIM 默认值\n- **SKILL.md IMA 推送说明更新**：文档化官方 OpenAPI 两步流程和凭证来源\n- **`--mode` 参数新增 `official` 选项**：可指定只用官方 OpenAPI 推送\n\n### Fixed (修复)\n- **IMA API 端点错误**：从 `https://ima.tencent.com` 改为 `https://ima.qq.com`（前者返回 401 skill auth failed）\n- **import_doc payload 格式错误**：`content_format` 从字符串 `\"markdown\"` 改为数字 `1`；移除 `title` 字段（IMA 从 content H1 提取标题）\n- **add_knowledge payload 字段名错误**：`kb_id` 改为 `knowledge_base_id`；新增 `title` 字段\n- **响应解析逻辑**：检查 `code` 字段是否为 0（IMA API 返回 `{\"code\":0, \"data\":{...}}`）\n\n## [2.0.3] - 2026-07-12\n\n### Fixed (修复)\n- **MCP Least Privilege (Lp3, Medium)**：plugin.json 新增 `capabilities` 字段，声明 network/filesystem/env_vars 三类权限及其用途，消除\"未声明权限\"的透明度缺口\n- **Vague Triggers (Medium)**：删除宽泛触发词 \"帮我推荐技能\"（可能在普通对话中误激活），保留 4 个含 \"ClawHub\"/\"每日\" 限定词的专用触发词\n\n### Added (新增)\n- **SKILL.md 新增\"🔐 权限声明\"区块**：以表格形式列出 network/filesystem/env_vars 三类权限的必需性和说明，并明确声明\"不申请 shell 执行、系统信息收集、GH_TOKEN 读取\"等权限\n\n### Changed (变更)\n- plugin.json `triggers` 数组从 5 项缩减为 4 项\n- plugin.json `capabilities` 字段声明所有运行时权限，供宿主平台和用户审查\n\n## [2.0.2] - 2026-07-12\n\n### Fixed (修复)\n- **凭证泄露修复（Critical）**：删除 `references/config.local.json`（包含真实飞书凭证，被 ClawHub publish 上传）。该文件虽在 `.gitignore` 中（未进 GitHub），但 ClawHub publish 发布整个目录。已删除文件，用户需在本地重建配置并轮换已泄露的飞书凭证\n- **Env Variable Harvesting (High)**：删除临时脚本 `_check_github.py`（包含 `os.environ.get(\"GH_TOKEN\")`，与技能功能无关）\n- **MCP Tool Poisoning (Tp4, High)**：删除 `publish_all.ps1`（开发工具，包含 GH_TOKEN 环境变量读取，不属于技能运行时代码）\n- **Description-Behavior Mismatch**：description 只说 config.json 读取凭证，但 push_to_feishu.py 还接受 FEISHU_APP_ID 等环境变量。description 现在明确披露凭证来源优先级：CLI 参数 > 环境变量 > config.json\n\n### Changed (变更)\n- **description 新增\"凭证来源\"段落**：披露飞书/IMA 凭证的环境变量名称，并明确声明\"不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量\"\n- **SKILL.md 安全约束更新**：添加 config.local.json 在 .gitignore 中的说明，添加不读取 GH_TOKEN 的声明\n- **prompt-templates.md 添加数据推送知情说明**：Cron 模板顶部新增\"⚠️ 数据推送知情说明\"区块，说明数据流向和凭证要求\n\n### Removed (移除)\n- `_check_github.py`：临时调试脚本，不属于技能代码\n- `publish_all.ps1`：开发工具脚本，不属于技能运行时代码\n- `references/config.local.json`：包含真实凭证，不应发布\n\n## [2.0.1] - 2026-07-11\n\n### Fixed (修复)\n- **Description-Behavior Mismatch**：description 只披露飞书推送，未说明 IMA 知识库和本地文件两个数据出口。现在 description 明确列出三个推送渠道及其默认状态（SkillSpector findings 修复）\n- **Missing User Warnings**：缺少数据推送知情说明。新增\"⚠️ 数据推送知情说明\"区块，列出所有推送渠道、所需凭证和数据内容，以及安全约束\n- **MCP Tool Poisoning (Tp4)**：push_to_ima.py 的 push_via_api 未验证端点协议，可能通过 HTTP 明文传输 client_id/api_key。新增 HTTPS 强制校验，拒绝 HTTP 端点\n\n### Changed (变更)\n- **frontmatter description 扩展**：增加\"数据出口说明（用户知情同意）\"段落，披露飞书/IMA/本地文件三个渠道\n- **SKILL.md 结构调整**：新增\"⚠️ 数据推送知情说明\"区块，含推送渠道表格和安全约束列表\n- **飞书/IMA 消息结构标题**：标注\"默认推送渠道\"和\"可选渠道，需显式配置\"\n- **核心能力描述**：从\"飞书推送\"改为\"多渠道推送\"，列出全部 4 个渠道\n\n## [2.0.0] - 2026-07-11\n\n### Changed (变更)\n- **抓取范围扩大 200→500**：ClawHub 平台已有 67.9K Skills，200 个仅占 0.3%，扩大到 500 翻倍候选池\n- **推荐模式从 4 维度扩展到 6 维度**：新增 actively_maintained 和 verified 两个维度\n- **维度配额调整**：trending×3 + quality×1 + newcomers×1 + panorama×2 + actively_maintained×1 + verified×0/1 = 每日 8 个\n- **actively_maintained 阈值放宽**：主阈值从 30 天→90 天，新增 fallback 180 天+版本≥2\n- **verified 标记为 optional**：候选为 0 时自动跳过，不占配额\n- **数据说明文案更新**：Markdown 和飞书 blocks 都反映 6 维度新配置\n- **SOLO Schedule 提示词更新**：8 个推荐、6 维度、新阈值、痛点去重、changelog 展示\n\n### Added (新增)\n- **适配 ClawHub API 数据结构变更**：`stats.installs`（非 `installsCurrent`）、`categories`（非 `capabilityTags`）、`badges.verified`、`latestVersion.changelog` 等嵌套字段\n- **降级策略（fallback_fn）**：每个维度配置降级过滤函数，候选不足时自动放宽阈值\n- **optional 维度机制**：候选为 0 的维度自动跳过，不占配额\n- **痛点匹配去重展示**：同一 Skill 只在第一个命中场景展示（按权重排序）\n- **changelog 展示**：有最近变更摘要的 Skill 在详情中展示\"最近变更\"字段\n- **compute_metrics.py 新增 10+ 字段**：version_count、days_since_update、is_actively_maintained、update_frequency、changelog_summary、supported_os、setup_requirements、is_verified、license\n- **safe_get() 函数**：安全获取嵌套字段，适配新旧 API 结构\n\n### Fixed (修复)\n- **维度遍历遗漏**：generate_markdown() 和 generate_feishu_blocks() 中硬编码的维度列表未包含 actively_maintained 和 verified，导致推荐生成了但不展示（Critical bug）\n- **push_to_feishu.py 同类 bug**：飞书卡片 highlights 遍历也遗漏新维度\n- **changelog 换行符破坏格式**：API 返回的 changelog 含 \\n，嵌入 Markdown 前替换为空格\n- **actively_maintained 推荐理由过时**：从\"30天内更新\"改为\"近期更新（N天前）\"\n\n## [1.0.4] - 2026-06-05\n\n### Changed (变更)\n- **推荐模式从 4 天轮换改为每日全维度**：每天遍历全部 4 个维度，用户每天都能看到所有维度推荐\n- 维度配额调整：trending×2 + quality×1 + newcomers×1 + panorama×2 = 每日 6 个\n- 去重窗口从 10 天缩短到 7 天（7×6=42 个去重池）\n- 飞书卡片消息扩展到 Top 5 简介 + 底部云文档直达链接\n- 飞书卡片按维度分组展示，含维度概况统计\n\n### Fixed (修复)\n- 云文档/Markdown 中 Skill 链接改为可点击格式（`[text](url)` 和 `text_element_style.link`）\n- 飞书云文档 blocks 中 Skill 标题添加超链接，可直接点击跳转\n\n## [1.0.3] - 2026-06-05\n\n### Fixed (修复)\n- D4 全景维度 min_comments 从 50 降为 1，避免候选池过小\n- deduplicated 字段语义修正：现在正确统计因去重被跳过的候选数\n- 痛点关键词匹配改用词边界正则，避免子串误匹配（如 \"ci\" 匹配到金融 Skill）\n\n## [1.0.0] - 2026-06-03\n\n### Added (新增)\n\n- 🎯 **首次安装模式选择**（`references/setup-wizard.md`）\n  - 模式 A：常规对话模式（手动触发）\n  - 模式 B：Cron 定时任务模式（自动推送）\n- ⏰ **Cron 提示词模板**（`references/prompt-templates.md`）\n  - Trae SOLO / qclaw / WorkBuddy / OpenClaw / Hermes / crontab / Windows Task Scheduler 全平台覆盖\n  - 5 个开箱即用模板 + 痛点列表定制指南\n- 🌍 **7 大痛点库**：🤖 自动化办公 / 🛠️ 开发工具 / ✍️ 内容创作 / 🕷️ 数据采集 / 🧠 AI 增强 / 🇨🇳 中文支持 / 💰 金融分析\n- 📊 **4 维度轮换**：trending / quality / newcomers / panorama（按 `日期 % 4` 自动选）\n- 🆔 **本地 JSON 去重**：10 天滚动窗口，0 数据库依赖\n- 📥 **200 Skill 大池子抓取**：Convex API，0 token 消耗\n- 📝 **简报中文化**：`chinese_one_liner` 自动拼装 + 英文 `<details>` 折叠\n- 📤 **多通道推送**：\n  - 飞书云文档 + 卡片消息（200-400 字摘要 + Top 3 详细解读）\n  - IMA 知识库推送（`scripts/push_to_ima.py`，CLI 优先 + HTTP API 备选）\n  - 本地 Markdown 简报（默认开启）\n- 🔌 **`.claude-plugin/plugin.json`**：ClawHub 发布支持（**MIT-0 许可证**）\n- 📜 **MIT-0 License**（`LICENSE`）— ClawHub 强制要求\n- 📚 **`docs/CONTRIBUTING.md`** + **`docs/PUBLISHING_GUIDE.md`**：发布/贡献完整指南\n- 🔐 **凭证管理**：`references/config.json` 模板（用户自填，不入库，支持飞书 + IMA 双渠道）\n\n### Security (安全)\n\n- 🔒 **移除硬编码凭证**：所有 `app_id` / `app_secret` / `user_open_id` 改为用户配置\n- 🔒 **`.gitignore`**：忽略 `references/config.json`、`data/snapshots/*.json` 等运行时数据\n\n### Documentation (文档)\n\n- 📚 完整的 `README.md`（中英双语）\n- 📚 `references/api-contract.md`（Convex API 契约）\n- 📚 `references/source-data-schema.md`（数据字段说明）\n- 📚 `references/pain-points.md`（痛点库维护指南）\n- 📚 `references/briefing-template.md`（简报模板）\n\n## [Unreleased]\n\n### Planned\n\n- 飞书 WebSocket 长连接（替代轮询）\n- 多语言支持（英文 / 日文简报）\n- 智能体推荐理由（基于 Skill 描述自动生成更精准的中文解读）\n- Telegram / Slack / 企微 推送支持\n- Skill 评分系统（基于用户安装/卸载行为）\n\n---\n\n## 版本号规则\n\n- **MAJOR**：不兼容的 API 变更\n- **MINOR**：向下兼容的新功能\n- **PATCH**：向下兼容的 bug 修复\n\n## 链接\n\n- [Keep a Changelog](https://keepachangelog.com/)\n- [Semantic Versioning](https://semver.org/)\n\nFile v2.0.7:docs/CONTRIBUTING.md\n\n# 贡献指南（Contributing）\n\n欢迎为 **clawhub-daily** 贡献代码、文档、痛点配置或 Bug 反馈！\n\n## 🤝 如何贡献\n\n### 报告 Bug\n\n在 [GitHub Issues](https://github.com/EdwardWason/clawhub-daily/issues) 提交，请包含：\n- 复现步骤\n- 期望行为\n- 实际行为\n- 环境信息（OS / Python 版本 / 输出日志）\n- 推荐附上 `data/recommended/<date>.json` 文件\n\n### 提出新功能\n\n在 [GitHub Discussions](https://github.com/EdwardWason/clawhub-daily/discussions) 发起讨论，说明：\n- 解决的问题\n- 使用场景\n- 替代方案\n- 是否有能力自己实现\n\n### 提交代码\n\n1. **Fork** 本仓库\n2. 创建特性分支（`git checkout -b feature/amazing-feature`）\n3. 提交代码（`git commit -m \"feat: add amazing feature\"`）\n4. 推送到分支（`git push origin feature/amazing-feature`）\n5. 创建 **Pull Request**\n\n## 📋 贡献方向\n\n### 1. 痛点库扩展\n\n编辑 `references/pain-points.md` 和 `scripts/daily_recommend.py` 中的 `PAIN_POINTS_DB`：\n- 添加新场景（需提供 ≥ 10 个 keywords）\n- 调整权重\n- 提供 `next_action_template`\n\n### 2. 维度规则优化\n\n编辑 `scripts/daily_recommend.py` 中的 `DIMENSION_CONFIG`：\n- 调整过滤条件\n- 增加新的 `sort_field`\n- 新增维度（需修改 `get_dimension_by_date()` 中的 `dims` 数组）\n\n### 3. 推送渠道扩展\n\n参考 `scripts/push_to_feishu.py` 实现新的推送脚本：\n- `scripts/push_to_xxx.py` 实现新渠道\n- 凭证放在 `references/config.json`\n- 加入 `scripts/push_<channel>.py` 模块化\n\n### 4. 多语言支持\n\n- `references/briefing-template.md` 添加英文/日文模板\n- `scripts/daily_recommend.py` 中支持 `language` 参数\n- README 添加中英日切换链接\n\n### 5. 简报排版优化\n\n- `scripts/daily_recommend.py` 中的 `generate_markdown()` 和 `generate_feishu_blocks()`\n- 增加图表、推荐位、对比表等\n\n## 🧪 本地测试\n\n```bash\n# 1. 抓取测试\npython scripts/fetch_clawhub.py --num 10 --date $(date -I) --output /tmp/test_snap\n\n# 2. 指标计算\npython scripts/compute_metrics.py --input /tmp/test_snap/$(date -I).json\n\n# 3. 推荐生成\npython scripts/daily_recommend.py --date $(date -I) --data-dir /tmp/test_data --target 3\n\n# 4. 推送测试\npython scripts/push_to_feishu.py --recommendation /tmp/test_data/recommended/$(date -I).json\n```\n\n## 📐 代码规范\n\n- Python 风格：函数 docstring 用中文、关键函数加类型注解\n- 路径处理：用 `pathlib.Path`\n- 异常处理：单文件失败不影响全局（try-except 兜底 + warn 日志）\n- 凭证管理：**绝不**硬编码，全部走 `references/config.json` 或环境变量\n- 提交信息：`<type>(<scope>): <subject>`，类型见 [Conventional Commits](https://www.conventionalcommits.org/)\n\n## 🔒 隐私要求\n\n**严禁**在 PR 中包含：\n- ❌ 真实 `app_id` / `app_secret` / `api_key` / `user_open_id`\n- ❌ 个人文件路径\n- ❌ 真实邮箱/手机号\n- ❌ 内部 API 地址\n\n**正确做法**：\n- ✅ 凭证用 `<your_xxx>` 占位符\n- ✅ 路径用 `~` 或相对路径\n- ✅ 内部地址用 `example.com`\n\n## 📜 License\n\n贡献的代码遵循 [MIT-0](LICENSE) 协议。\n\n## 💬 联系方式\n\n- GitHub Issues: [EdwardWason/clawhub-daily/issues](https://github.com/EdwardWason/clawhub-daily/issues)\n- GitHub Discussions: [EdwardWason/clawhub-daily/discussions](https://github.com/EdwardWason/clawhub-daily/discussions)\n\nFile v2.0.7:docs/PUBLISHING_GUIDE.md\n\n# 发布指南（Publishing Guide）\n\n> 适用：clawhub-daily v1.0.0+ 维护者\n\n## 🎯 发布目标\n\nclawhub-daily 同时发布到 **GitHub** 和 **ClawHub** 两个平台：\n- **GitHub**：源代码托管、版本管理、Issue 跟踪\n- **ClawHub**：技能市场、用户一键安装\n\n## 📋 发布前检查清单\n\n### 隐私审查\n\n```bash\n# 搜索硬编码凭证（覆盖飞书/IMA/GitHub/SkillHub 全部 token 前缀）\ngrep -rE \"cli_[0-9a-f]{16}|sk-[a-zA-Z0-9]{20,}|ou_[0-9a-f]{20,}|ghp_[a-zA-Z0-9]{20,}|gho_[a-zA-Z0-9]{20,}|ghs_[a-zA-Z0-9]{20,}|skh_[a-zA-Z0-9]{20,}|x[A-Za-z0-9]{20,}\" \\\n  --include=\"*.py\" --include=\"*.md\" --include=\"*.json\" \\\n  --exclude-dir=data --exclude-dir=__pycache__\n```\n\n预期：除 `<your_xxx>` 占位符外无匹配。\n\n### 质量审查\n\n- [ ] `SKILL.md` frontmatter 完整（name / description / version / tags）\n- [ ] `README.md` 中英双语完整\n- [ ] `CHANGELOG.md` 版本记录完整\n- [ ] `LICENSE` 文件存在（**MIT-0**）\n- [ ] `.claude-plugin/plugin.json` 元数据正确（含 `author` 和 `skills` 字段）\n- [ ] `docs/CONTRIBUTING.md` 存在\n- [ ] 所有脚本可执行无语法错误：`python -c \"import scripts.fetch_clawhub\"`\n- [ ] 本地流程跑通：fetch → metrics → recommend → push\n\n### 文档审查\n\n- [ ] 触发词完整（在 SKILL.md 和 plugin.json）\n- [ ] 双模式说明（Interactive / Cron）\n- [ ] 凭证获取说明\n- [ ] 故障排查章节\n\n## 🚀 发布到 GitHub\n\n### 方式 A：git push（推荐）\n\n```bash\n# 1. 进入项目目录\ncd clawhub-daily\n\n# 2. 初始化（如果还没）\ngit init\ngit branch -M main\n\n# 3. 添加远程仓库\ngit remote add origin https://github.com/EdwardWason/clawhub-daily.git\n\n# 4. 首次提交\ngit add .\ngit commit -m \"feat: initial release v1.0.0\"\ngit push -u origin main\n```\n\n### 方式 B：GitHub REST API（git push 超时时）\n\n当 `git push` 因 443 端口问题失败时：\n\n#### 1. 创建仓库\n\n```bash\ncurl -X POST https://api.github.com/user/repos \\\n  -H \"Authorization: token <GH_TOKEN>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\": \"clawhub-daily\", \"private\": false, \"auto_init\": true}'\n```\n\n#### 2. 逐文件上传\n\n```bash\nupload_file() {\n  local file_path=\"$1\"\n  local content=$(base64 -w 0 \"$file_path\" 2>/dev/null || base64 \"$file_path\")\n  curl -X PUT \"https://api.github.com/repos/EdwardWason/clawhub-daily/contents/$file_path\" \\\n    -H \"Authorization: token <GH_TOKEN>\" \\\n    -H \"Content-Type: application/json\" \\\n    -d \"{\\\"message\\\": \\\"Upload $file_path\\\", \\\"content\\\": \\\"$content\\\", \\\"branch\\\": \\\"main\\\"}\"\n  sleep 0.5  # 避免速率限制\n}\n\n# 上传所有文件\nfor file in $(find . -type f -not -path './data/*' -not -path './.git/*' -not -name '__pycache__' -not -name '*.pyc'); do\n  upload_file \"$file\"\ndone\n```\n\n#### 3. 创建 Release\n\n```bash\ncurl -X POST https://api.github.com/repos/EdwardWason/clawhub-daily/releases \\\n  -H \"Authorization: token <GH_TOKEN>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tag_name\": \"v1.0.0\",\n    \"name\": \"ClawHub Daily v1.0.0\",\n    \"body\": \"Initial release. See CHANGELOG.md for details.\",\n    \"draft\": false,\n    \"prerelease\": false\n  }'\n```\n\n### 4. Token 配置\n\n将 `GH_TOKEN` 保存到 `.env.local`（**不入库**）：\n\n```bash\necho \"GH_TOKEN=ghp_xxxxxxxxxxxxx\" > .env.local\n```\n\n确保 `.gitignore` 包含 `.env.local`（默认已包含）。\n\n## 🦞 发布到 ClawHub\n\n### 方式 A：clawhub CLI（推荐）\n\n```bash\n# 1. 安装 CLI\nnpm i -g clawhub\n\n# 2. 登录\nclawhub login --token <CLAWHUB_TOKEN> --no-browser\n\n# 3. 验证\nclawhub whoami\n\n# 4. 发布\nclawhub publish . \\\n  --slug skill-daily \\\n  --name \"ClawHub Daily · 每日 Skill 洞察\" \\\n  --version 1.0.0 \\\n  --tags \"recommendation,clawhub,feishu,lark,ima,scheduled-task,0-token\" \\\n  --changelog \"Initial release. See CHANGELOG.md for details.\"\n```\n\n### 方式 B：HTTP API（不推荐）\n\n**不要使用 HTTP API 发布**：\n- `api.clawhub.io/*` SSL 证书过期\n- `clawhub.ai/api/v1/skills` POST 端点无法传递 MIT-0 许可证接受字段\n- 结论：必须用 `clawhub` CLI\n\n## 🔄 发布新版本\n\n### 1. 更新版本号\n\n- `SKILL.md` frontmatter 中的 `version` 字段\n- `.claude-plugin/plugin.json` 中的 `version` 字段\n- `CHANGELOG.md` 添加新版本段落\n\n### 2. 提交 + 推送\n\n```bash\ngit add .\ngit commit -m \"feat: release v1.1.0\"\ngit push origin main\ngit tag v1.1.0\ngit push origin v1.1.0\n```\n\n### 3. 重新发布到 ClawHub\n\n```bash\nclawhub publish . --slug skill-daily --name \"...\" --version 1.1.0 --tags \"...\" --changelog \"...\"\n```\n\nCLI 会自动处理版本号更新和 Changelog 展示。\n\n## 🐛 常见问题\n\n### Q: git push 报 443 连接超时\n\nA: 用 GitHub REST API 方式（见上文）。\n\n### Q: ClawHub CLI 报\"MIT-0 license terms must be accepted\"\n\nA: 这是 ClawHub 强制要求。`LICENSE` 必须是 MIT-0 协议（不是 MIT）。`clawhub publish` 时会自动处理。\n\n### Q: ClawHub 推送时 \"Authentication failed\"\n\nA: 重新登录：\n```bash\nclawhub login --token <CLAWHUB_TOKEN> --no-browser\nclawhub whoami  # 验证\n```\n\n### Q: 怎么撤下某版本？\n\nA: ClawHub 暂不支持撤下版本，但可以发布修复版本覆盖。\n\nGitHub 可以删除 Release：\n```bash\n# 1. 删除 Tag\ngit push origin :refs/tags/v1.0.0\n# 2. 在 GitHub 网页上删除 Release\n```\n\n## 📚 参考\n\n- GitHub 仓库范式：`docs/knowledge/patterns/2026-06-03-github-skill-repo-paradigm.md`\n- ClawHub 发布踩坑：`docs/knowledge/pitfalls/2026-06-03-clawhub-publishing.md`\n- GitHub API 备选推送：`docs/knowledge/pitfalls/2026-06-03-github-api-alternative-push.md`\n\nArchive v2.0.6: 20 files, 64288 bytes\n\nFiles: CHANGELOG.md (13872b), clawhub_daily_executor.py (4804b), docs/CONTRIBUTING.md (3427b), docs/PUBLISHING_GUIDE.md (5464b), README.md (11204b), references/api-contract.md (3850b), references/briefing-template.md (5530b), references/pain-points.md (5004b), references/prompt-templates.md (7081b), references/setup-wizard.md (4604b), references/source-data-schema.md (6141b), scripts/compute_metrics.py (6175b), scripts/daily_recommend.py (29207b), scripts/fetch_clawhub.py (4871b), scripts/push_to_feishu.py (10874b), scripts/push_to_ima.py (10633b), scripts/push_to_obsidian.py (5921b), skill-card.md (2695b), SKILL.md (11030b), _meta.json (130b)\n\nFile v2.0.6:SKILL.md\n\n---\nname: clawhub-daily\nslug: clawhub-daily-ai\ndisplayName: ClawHub Daily\nversion: 2.0.6\nsummary: Daily ClawHub Skill insights with 6-dimension recommendation\nlicense: MIT-0\ndescription: |\n  每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法\n  为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。\n\n  数据出口说明（用户知情同意）：\n  - 飞书（Lark）：云文档 + 卡片消息（默认渠道，需 feishu_app_id/secret）\n  - 腾讯 IMA 知识库：可选渠道，需 ima_client_id/api_key（默认关闭，需显式启用）\n  - Obsidian 本地 vault：inbox/clawhub-daily/ 子目录（默认开启，仅写入本地磁盘）\n  - 本地文件：data/recommended/*.md 简报文件（默认开启，仅写入本地磁盘）\n\n  凭证来源（优先级：CLI 参数 > 环境变量 > config.json）：\n  - 飞书：FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_USER_OPEN_ID 环境变量，或 references/config.json\n  - IMA：IMA_OPENAPI_CLIENTID / IMA_OPENAPI_APIKEY 环境变量，或 references/config.json\n  - Obsidian：OBSIDIAN_VAULT_PATH 环境变量（默认 E:\\Obsidian\\md\\inbox\\clawhub-daily）\n  未配置任何凭证时仅生成本地文件，不执行外部推送。\n  本技能不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量。\n\n  触发场景：\n  - 用户希望每日/定时收到 ClawHub Skill 推荐简报\n  - 用户希望跟踪 AI Agent 生态的最新 Skill 趋势\n  - 用户希望按痛点场景（自动化办公/开发工具/内容创作/数据采集/AI 增强/中文支持/金融分析）匹配推荐\n  - 用户希望避免重复推荐，结合 7 天跨维度去重\n\n  核心能力：\n  - 真实抓取 ClawHub Top 500 Skill（基于 Convex API，0 token 消耗）\n  - 适配新 API 数据结构（stats.installs / categories / badges.verified / changelog）\n  - 6 维度全维度推荐：trending / quality / newcomers / panorama / actively_maintained / verified\n  - 降级策略：候选不足时自动放宽阈值（fallback_fn）\n  - optional 维度：verified 候选为 0 时自动跳过，不占配额\n  - 7 天跨维度去重，避免重复推荐\n  - 痛点匹配去重展示：同一 Skill 只在第一个命中场景展示\n  - changelog 展示：有最近变更摘要的 Skill 展示\"最近变更\"字段\n  - 痛点加权：基于 7 大场景库个性化排序\n  - 多渠道推送：飞书云文档 + Top 5 卡片消息 + IMA 知识库（可选）+ 本地 Markdown\n  - 简报中文化：中文一句话 + 英文原文 `<details>` 折叠\n---\n\n# ClawHub Daily Skill 洞察技能\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，生成 6 维度精选简报\n\n## 核心能力\n\n- **真实数据**：直接调用 ClawHub Convex API（`wry-manatee-359.convex.cloud`），抓取 Top 500 Skill\n- **新 API 适配**：`stats.installs`（非 `installsCurrent`）、`categories`（非 `capabilityTags`）、`badges.verified`、`latestVersion.changelog` 等嵌套字段\n- **6 维度全维度推荐**：每天遍历全部 6 个维度，用户每天看全貌\n  - 🔥 trending × 3（活跃安装≥100，降级≥30）\n  - ⭐ quality × 1（下载≥1000+口碑≥0.5%，降级≥500+0.3%）\n  - 🚀 newcomers × 1（≤60天+安装≥10+星≥3，降级≤90天+5+2）\n  - 🏆 panorama × 2（评论≥1）\n  - 🔧 actively_maintained × 1（90天内更新+版本≥3，降级180天+版本≥2）\n  - 🛡️ verified × 1（平台安全审计通过，候选为空时跳过）\n- **降级策略**：候选不足时自动放宽阈值（fallback_fn）\n- **optional 维度**：verified 候选为 0 时自动跳过，不占配额\n- **7 天跨维度去重**：同一 Skill 在不同维度和不同天都不会重复\n- **痛点匹配去重**：同一 Skill 只在第一个命中场景展示（按权重排序）\n- **changelog 展示**：有最近变更摘要的 Skill 展示\"最近变更\"字段\n- **痛点匹配**：基于 7 大场景库（自动化办公/开发工具/内容创作/数据采集/AI 增强/中文支持/金融分析）加权\n- **简报中文化**：中文一句话解读 + 英文原文 `<details>` 折叠（0 token 消耗）\n- **多渠道推送**：飞书云文档 + Top 5 卡片消息（默认）+ IMA 知识库（可选）+ 本地 Markdown\n\n## ⚠️ 数据推送知情说明\n\n本技能会生成推荐简报并可能推送到以下外部服务，请用户知悉：\n\n| 推送渠道 | 默认状态 | 所需凭证 | 数据内容 |\n|---------|---------|---------|---------|\n| **本地文件** | 开启 | 无 | 完整简报 Markdown（data/recommended/*.md）|\n| **飞书云文档+卡片消息** | 需配置 | feishu_app_id / app_secret / user_open_id | 完整简报 + Top 5 摘要卡片 |\n| **腾讯 IMA 知识库** | 需配置 | ima_client_id / api_key / kb_id | 完整简报 Markdown |\n\n**安全约束**：\n- 未配置凭证的渠道不会执行推送，仅生成本地文件\n- 凭证优先级：CLI 参数 > 环境变量 > `references/config.json`\n- `references/config.json` 和 `references/config.local.json` 均在 `.gitignore` 中，不会上传到 GitHub\n- IMA HTTP API 模式强制要求 HTTPS 端点（拒绝 HTTP，防止凭证明文传输）\n- 本技能不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量\n- 不会收集或传输用户系统信息或其他与推荐无关的数据\n\n## 🔐 权限声明（capabilities）\n\n本技能在 `plugin.json` 的 `capabilities` 字段中声明所有运行时所需的权限，供用户和宿主平台在执行前审查：\n\n| 权限类别 | 是否必需 | 说明 |\n|---------|---------|------|\n| **network** | ✅ 必需 | 访问 ClawHub Convex API 抓取数据；可选访问飞书/IMA API 推送简报 |\n| **filesystem** | ✅ 必需 | 写入 `data/snapshots/`（原始数据）和 `data/recommended/`（简报 Markdown）|\n| **env_vars** | ❌ 可选 | 读取 `FEISHU_APP_ID`/`FEISHU_APP_SECRET`/`FEISHU_USER_OPEN_ID`/`IMA_OPENAPI_CLIENTID`/`IMA_OPENAPI_APIKEY` 环境变量（未配置时仅生成本地文件）|\n\n**不申请的权限**：shell 执行、系统信息收集、GitHub 凭证读取（GH_TOKEN）、任意文件系统访问。\n\n## 使用模式（二选一）\n\n本技能支持 **2 种使用模式**，首次安装请阅读 [`references/setup-wizard.md`](references/setup-wizard.md)：\n\n### 模式 A：常规对话模式 💬\n\n**触发词**（在 Agent 对话中输入任一即可）：\n- \"每日推荐\"\n- \"ClawHub 日报\"\n- \"今天有什么好 Skill\"\n\n### 模式 B：Cron 定时任务模式 ⏰\n\n**支持平台**：Trae SOLO / qclaw / WorkBuddy / OpenClaw / Hermes / 纯脚本\n\n**预制提示词**：见 [`references/prompt-templates.md`](references/prompt-templates.md)\n\n**推荐节奏**：每 2 天 1 次（与 10 天去重窗口完美匹配 → 5 个独立周期全覆盖 200 个 Skill）\n\n## 适用场景\n\n- AI Agent 开发者跟踪生态趋势\n- 内容创作者寻找新的 AI 工具\n- 团队 leader 评估可纳入工作流的 Skill\n- 对 ClawHub 平台感兴趣的所有用户\n\n## 不适用场景\n\n- 需要中文 Skill 专项分析（请使用 `skillhub-daily` 技能）\n- 需要即时的单次查询（请直接使用 Convex `listPublicPageV4` API）\n- 需要下载/安装 Skill 本身（本技能只做推荐分析）\n\n## 依赖\n\n- Python 3.8+\n- `requests`（HTTP 抓取）\n- 飞书应用凭证（可选，用于推送）\n- 网络可访问 `wry-manatee-359.convex.cloud`\n\n## 快速开始\n\n### 1. 首次安装：选择使用模式\n\n阅读 [`references/setup-wizard.md`](references/setup-wizard.md) 选择 A 或 B。\n\n### 2. 配置凭证（仅模式 B 推送时需要）\n\n编辑 `references/config.json`：\n```json\n{\n  \"feishu_app_id\": \"<your_feishu_app_id>\",\n  \"feishu_app_secret\": \"<your_feishu_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n### 3. 手动运行\n\n```bash\n# 抓取数据\npython scripts/fetch_clawhub.py --num 200 --output data/snapshots/2026-06-03.json\n\n# 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-03.json\n\n# 生成推荐\npython scripts/daily_recommend.py --date 2026-06-03 --dimension trending\n\n# 4. 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-03.json\n\n# 5. 推送到 IMA 知识库（可选）\npython scripts/push_to_ima.py --recommendation data/recommended/2026-06-03.json\n```\n\n### 4. 一键执行\n\n```bash\npython clawhub_daily_executor.py\n```\n\n## 推荐维度\n\n| 维度 | cron 标识 | 重点模块 | 频率 |\n|------|---------|---------|------|\n| **D1 趋势** | `trending` | 热装 + 痛点 + 回顾 | 第 1, 5, 9, ... 天 |\n| **D2 质量** | `quality` | 口碑 + 痛点 + 回顾 | 第 2, 6, 10, ... 天 |\n| **D3 新星** | `newcomers` | 新星 + 痛点 + 回顾 | 第 3, 7, 11, ... 天 |\n| **D4 全景** | `panorama` | 热议 + 分类 + 回顾 | 第 4, 8, 12, ... 天 |\n\n维度根据 `日期 % 4` 自动计算。\n\n## 输出物\n\n- `data/snapshots/YYYY-MM-DD.json` - 当日 200 个 Skill 原始数据\n- `data/snapshots/YYYY-MM-DD.metrics.json` - 计算后的指标\n- `data/recommended/YYYY-MM-DD.json` - 8-10 个推荐结果\n- `data/recommended/YYYY-MM-DD.md` - 简报 Markdown\n\n## 飞书/IMA 消息结构\n\n### 飞书卡片消息（默认推送渠道）\n\n包含：\n- **标题**：🦞 ClawHub 每日洞察 | 日期（维度）\n- **元信息**：扫描数、推荐数、去重数、匹配场景\n- **Top 3 详细解读**：每个 Skill 含数据、推荐理由、下一步\n- **CTA 按钮**：查看完整简报（飞书文档）\n- **备注**：执行时间 + 数据日期\n\n总字数控制在 **200-400 字**（让用户决定是否点开）。\n\n### IMA 知识库推送（可选渠道，需显式配置）\n\n通过 IMA 官方 OpenAPI 两步流程推送：\n1. `import_doc` 创建笔记（Markdown 格式）\n2. `add_knowledge` 添加到 FIM 知识库\n\n凭证来源：`IMA_OPENAPI_CLIENTID` / `IMA_OPENAPI_APIKEY` 环境变量（或 `references/config.json`）\n\n默认推送到 FIM 知识库（ID: `aFEGG-4YH3z_CaCS...`），可通过 `--kb-id` 或 config.json 覆盖。\n\n完整 Markdown 简报，含：\n- 标题 + 元信息\n- Top 10 推荐详情\n- 痛点匹配分组\n- 翻页式浏览，可在 IMA 内检索\n\n## 详细文档\n\n- [使用向导](references/setup-wizard.md) - **首次安装必读**\n- [Cron 提示词模板](references/prompt-templates.md) - **定时任务必读**\n- [API 契约](references/api-contract.md)\n- [数据字段](references/source-data-schema.md)\n- [简报模板](references/briefing-template.md)\n- [痛点库](references/pain-points.md)\n- [使用指南](README.md)\n- [CHANGELOG](CHANGELOG.md)\n\n## 限制与边界\n\n- **数据源单一**：仅 ClawHub Convex API，不抓取 SkillHub\n- **去重窗口 10 天**：超出 10 天的会重新推荐\n- **简报长度 8-10 个**：超过不会推送（避免信息过载）\n- **语言**：中文为主，英文原文 `<details>` 折叠（0 token 消耗方案）\n\n## 版本\n\n- v1.0.0 (2026-06-03) - 初始版本，参考 skillhub-daily v6.2.0 架构设计\n\nFile v2.0.6:README.md\n\n# ClawHub Daily Skill 洞察\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，6 维度全维度精选简报\n\n> **⚠️ 数据出口说明**：简报默认写入本地文件；若配置了飞书/IMA 凭证，会推送到飞书云文档和腾讯 IMA 知识库。未配置凭证时仅生成本地文件，不执行外部推送。详见 [SKILL.md](SKILL.md) 的\"数据出口说明\"。\n\n> **📌 命名说明**：本项目在 GitHub 仓库为 `clawhub-daily`；在 ClawHub 市场注册名为 `skill-daily`（因 ClawHub 保护 `clawhub-` 命名空间）。两个名字指向同一个 Skill。\n\n[![Status](https://img.shields.io/badge/status-active-brightgreen)]()\n[![Version](https://img.shields.io/badge/version-1.0.4-blue)]()\n[![Schedule](https://img.shields.io/badge/schedule-daily-orange)]()\n[![License](https://img.shields.io/badge/license-MIT-green)]()\n[![Modes](https://img.shields.io/badge/modes-interactive%20%2F%20cron-purple)]()\n\n## 🌐 English\n\n**ClawHub Daily** is an Agent Skill that scans 200 Skills from ClawHub (the global AI Agent Skill platform) every day, picks 6 most valuable ones through all-dimension daily recommendation + 7 pain-point matching + 7-day deduplication, and pushes a full brief to Lark/Feishu.\n\n- **Real data**: ClawHub Convex API (not hardcoded)\n- **All-dimension daily**: trending×2 / quality×1 / newcomers×1 / panorama×2 = 6 per day\n- **7 pain-points**: 🤖 automation / 🛠️ dev / ✍️ content / 🕷️ scraping / 🧠 AI / 🇨🇳 Chinese / 💰 finance\n- **7-day dedup**: avoid repeated recommendations\n- **Bilingual brief**: Chinese one-liner + English `<details>`\n- **Lark/Feishu push**: cloud doc + card message with direct link\n\n---\n\n## ✨ 核心能力\n\n- 🎯 **真实数据**：从 ClawHub Convex API 抓取 Top 200 Skill（不是硬编码）\n- 🔄 **全维度每日推荐**：趋势×2 + 质量×1 + 新星×1 + 全景×2 = 每日 6 个，每天看全貌\n- 🚫 **7 天去重**：自动避免重复推荐（7 天滚动窗口，跨维度去重）\n- 🎨 **痛点匹配**：基于 7 大场景库个性化推荐\n- 🇨🇳 **简报中文化**：中文一句话 + 英文原文 `<details>` 折叠\n- 📊 **多模块简报**：热装、口碑、新星、痛点、热议、分类王者\n- 📤 **多通道推送**：飞书云文档 + 卡片消息 / IMA 知识库 / 本地 Markdown\n- 🔗 **可点击链接**：云文档和 Markdown 中 Skill 名称/链接均可直接点击跳转\n\n## 🎯 使用模式（二选一）\n\nClawHub Daily 提供 **2 种使用模式**，**首次安装后请阅读** [`references/setup-wizard.md`](references/setup-wizard.md) 选择：\n\n| 模式 | 适合 | 触发方式 |\n|------|------|---------|\n| 💬 **A 常规对话** | 手动调用 | 在 Agent 对话中输入\"每日推荐\"、\"ClawHub 日报\"等 |\n| ⏰ **B Cron 定时** | 每天自动推送 | 参考 [`references/prompt-templates.md`](references/prompt-templates.md) 配置 |\n\n**推荐默认**：模式 B + 每天 1 次（全维度推荐，每日 6 个）。\n\n## 📦 技能包结构\n\n```\nclawhub-daily/\n├── SKILL.md                          # 技能说明\n├── README.md                         # 本文档\n├── CHANGELOG.md                      # 变更日志\n├── LICENSE                           # MIT 协议\n├── .claude-plugin/\n│   └── plugin.json                   # ClawHub 发布元数据\n├── .gitignore                        # Git 忽略规则\n├── references/\n│   ├── setup-wizard.md               # 首次安装模式选择\n│   ├── prompt-templates.md           # Cron 提示词模板\n│   ├── config.json                   # 凭证配置模板（占位符）\n│   ├── config.local.json             # 本地凭证（不入 Git，不发布）\n│   ├── api-contract.md               # Convex API 详细参数\n│   ├── source-data-schema.md         # 数据字段说明\n│   ├── briefing-template.md          # 简报模板\n│   └── pain-points.md                # 痛点库\n├── scripts/\n│   ├── fetch_clawhub.py              # 抓取 200 个 Skill\n│   ├── compute_metrics.py            # 指标计算\n│   ├── daily_recommend.py            # 推荐生成（全维度）\n│   └── push_to_feishu.py             # 飞书推送\n└── data/\n    ├── snapshots/                    # 原始快照\n    └── recommended/                  # 推荐结果 + Markdown\n```\n\n## 🚀 快速开始\n\n### 方式 1：完整流程（推荐）\n\n```bash\n# 进入技能目录\ncd clawhub-daily\n\n# 一键执行：抓取 → 指标 → 推荐 → 飞书\npython clawhub_daily_executor.py\n```\n\n执行器会自动：\n1. 抓取 200 个 Skill（10-15 秒，0 token）\n2. 计算 5 大指标\n3. 全维度推荐 6 个 Skill（趋势×2 + 质量×1 + 新星×1 + 全景×2）\n4. 创建飞书云文档\n5. 发送卡片消息（含云文档直达链接）\n\n### 方式 2：分步执行\n\n```bash\n# Step 1: 抓取数据\npython scripts/fetch_clawhub.py --num 200 --date 2026-06-05 --output data/snapshots\n\n# Step 2: 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-05.json\n\n# Step 3: 生成推荐（默认全维度）\npython scripts/daily_recommend.py --date 2026-06-05 --data-dir data\n\n# Step 4: 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-05.json\n```\n\n### 方式 3：仅生成推荐（不推送）\n\n```bash\npython clawhub_daily_executor.py --skip-push\n```\n\n## ⚙️ 配置\n\n### 飞书凭证\n\n凭证**不硬编码**在代码中，**必须**通过以下方式之一提供（优先级从高到低）：\n\n1. **CLI 参数**：`--app-id` / `--app-secret` / `--user-open-id`\n2. **环境变量**：`FEISHU_APP_ID` / `FEISHU_APP_SECRET` / `FEISHU_USER_OPEN_ID`\n3. **config.local.json**（推荐）：复制 `config.json` 为 `config.local.json`，填入真实值（不入 Git）\n4. **config.json**：占位符模板，适合公开仓库\n\n```json\n// references/config.local.json（不入 Git，不发布）\n{\n  \"feishu_app_id\": \"<your_feishu_app_id>\",\n  \"feishu_app_secret\": \"<your_feishu_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}\n```\n\n> 🔒 **`references/config.local.json` 已加入 `.gitignore`**，请勿将真实凭证提交到 GitHub。\n\n### 推荐维度\n\n默认全维度模式（每日推荐 6 个）：\n\n| 维度 | 配额 | 过滤条件 | 价值 |\n|------|------|---------|------|\n| 🔥 trending | 2 | installsCurrent ≥ 100 | 跟热度走 |\n| ⭐ quality | 1 | downloads ≥ 1000 且 star_rate ≥ 0.5% | 跟口碑走 |\n| 🚀 newcomers | 1 | age_days ≤ 60 + installs ≥ 10 + stars ≥ 3 | 抓潜力股 |\n| 🏆 panorama | 2 | comments ≥ 1 | 看社区讨论 |\n\n单维度模式（兼容旧版）：\n```bash\npython scripts/daily_recommend.py --date 2026-06-05 --dimension quality\n```\n\n### 去重窗口\n\n```bash\npython scripts/daily_recommend.py --date 2026-06-05 --lookback-days 14\n```\n\n默认 7 天（7×6=42 个去重池）。\n\n## 📊 输出物\n\n| 文件 | 内容 |\n|------|------|\n| `data/snapshots/<date>.json` | 当日 200 个 Skill 原始数据 |\n| `data/snapshots/<date>.metrics.json` | 计算后的指标（star_rate 等）|\n| `data/recommended/<date>.md` | 简报 Markdown（Skill 链接可点击）|\n| `data/recommended/<date>.json` | 推荐结果（含飞书 blocks + 维度统计）|\n\n## 🔍 数据流程图\n\n```\n   ClawHub Convex API\n        │\n        ▼\n   fetch_clawhub.py\n        │\n        ▼\n   <date>.json (200 个 Skill)\n        │\n        ▼\n   compute_metrics.py\n        │\n        ▼\n   <date>.metrics.json\n        │\n        ▼\n   daily_recommend.py ───── 读取 7 天历史\n        │                       │\n        │                       ▼\n        │                 全维度推荐 + 跨维度去重 + 痛点加权\n        │                       │\n        ▼                       ▼\n   <date>.json 推荐结果\n   <date>.md 简报\n        │\n        ▼\n   push_to_feishu.py\n        │\n        ▼\n   飞书云文档 + 卡片消息（含直达链接）\n```\n\n## 🛠️ 维护指南\n\n### 调整痛点优先级\n\n编辑 `references/pain-points.md` 和 `scripts/daily_recommend.py` 中的 `PAIN_POINTS_DB`，调整各场景的 `weight` 值。\n\n### 添加新场景\n\n1. 在 `references/pain-points.md` 添加场景定义\n2. 在 `scripts/daily_recommend.py` 的 `PAIN_POINTS_DB` 同步\n3. 重新运行推荐生成\n\n### 调整维度配额\n\n编辑 `scripts/daily_recommend.py` 中的 `DIMENSION_CONFIG`：\n```python\n\"trending\": {\n    \"filter_fn\": lambda s: s['installs_current'] >= 100,\n    \"limit\": 2,  # 每日配额\n    ...\n}\n```\n\n### 查看历史推荐\n\n```bash\nls data/recommended/\ncat data/recommended/2026-06-05.md\n```\n\n## 🐛 故障排查\n\n### 抓取失败\n\n- 检查网络能否访问 `wry-manatee-359.convex.cloud`\n- 查看 `data/snapshots/<date>.json` 是否生成\n- 错误码含义见 [api-contract.md](references/api-contract.md)\n\n### 推荐为空\n\n- 检查 `data/snapshots/<date>.metrics.json` 是否生成\n- 确认 `data/recommended/` 目录下有过去 7 天的 JSON（用于去重）\n- 调整 `DIMENSION_CONFIG` 的 `filter_fn` 降低门槛\n\n### 飞书推送失败\n\n- 确认 `references/config.local.json` 的凭证有效\n- 确认 `user_open_id` 是 P2P 对话对象（需先发过消息）\n- 检查飞书云文档 block 数量（< 200 为宜）\n- 查看 [setup-wizard.md](references/setup-wizard.md) 的\"飞书应用创建\"步骤\n\n### 定时任务 Token 授权失败\n\n- SOLO Schedule 启动的进程读不到环境变量，必须使用 `config.local.json`\n- 详见 [`references/config.local.json`](references/config.json) 配置说明\n\n## ⏰ 定时任务配置\n\n详细模板见 [`references/prompt-templates.md`](references/prompt-templates.md)，支持：\n\n- Trae SOLO（推荐）\n- qclaw / WorkBuddy / OpenClaw / Hermes\n- Linux/Mac crontab\n- Windows Task Scheduler\n\n默认建议：每天 1 次（全维度推荐，每日 6 个，7 天去重）。\n\n## 📌 已知限制\n\n- **数据源单一**：仅 ClawHub Convex API，不抓取 SkillHub\n- **单次最多抓 200 个**：Convex 翻页稳定上限\n- **去重窗口 7 天**：超出 7 天的会重新推荐（用户可配置）\n- **新星维度候选少**：当前仅 2 个候选，可能经常空推荐\n- **语言**：中文为主，英文原文 `<details>` 折叠（0 token 中文化方案）\n\n## 📚 详细文档\n\n- [SKILL.md](SKILL.md) - 技能说明\n- [使用向导](references/setup-wizard.md) - 首次安装必读\n- [Cron 提示词模板](references/prompt-templates.md) - 定时任务配置\n- [API 契约](references/api-contract.md)\n- [数据字段](references/source-data-schema.md)\n- [简报模板](references/briefing-template.md)\n- [痛点库](references/pain-points.md)\n- [CHANGELOG](CHANGELOG.md) - 变更日志\n\n## 🤝 贡献\n\n欢迎 PR！请参考 [CONTRIBUTING.md](docs/CONTRIBUTING.md)。\n\n## 📜 版本\n\n- **v1.0.4** (2026-06-05) - 全维度每日推荐 + 7 天去重 + 飞书卡片优化 + 可点击链接\n- **v1.0.3** (2026-06-05) - 修复 D4 阈值、dedup 语义、痛点词边界\n- **v1.0.0** (2026-06-03) - 初始版本\n\n## 📄 License\n\nMIT-0 © clawhub-daily contributors\n\nFile v2.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-daily\",\n  \"version\": \"2.0.6\",\n  \"publishedAt\": 1783826762974\n}\n\nFile v2.0.6:references/api-contract.md\n\n# ClawHub Convex API 契约\n\n> 真实可用的 API 端点和参数，基于对 ClawHub 主 JS bundle（v6）的分析\n\n## 端点\n\n```\nPOST https://wry-manatee-359.convex.cloud/api/query\nContent-Type: application/json\n```\n\n## 函数签名\n\n### `skills:listPublicPageV4`\n\n抓取 Skill 列表（分页）\n\n#### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| `numItems` | int | ✅ | 25 | 每页数量，1-200 稳定支持 |\n| `cursor` | str | ❌ | null | 翻页游标（首次为空） |\n| `sort` | str | ❌ | - | 排序字段 |\n| `dir` | str | ❌ | \"desc\" | `asc` / `desc` |\n| `highlightedOnly` | bool | ❌ | false | 仅精选 |\n| `capabilityTag` | str | ❌ | - | 能力标签筛选 |\n| `categorySlug` | str | ❌ | - | 分类筛选 |\n| `categoryKeywords` | str | ❌ | - | 分类关键词 |\n| `excludeCategoryKeywords` | str | ❌ | - | 排除关键词 |\n\n#### 排序字段 `sort` 取值\n\n| 值 | 含义 | 备注 |\n|---|---|---|\n| `\"downloads\"` | 按总下载量 | 主流榜单 |\n| `\"installs\"` | 按总安装量 | - |\n| `\"stars\"` | 按星标数 | - |\n| `\"updated\"` | 按更新时间 | 新近更新 |\n| `\"recommended\"` | 推荐排序 | ClawHub 算法 |\n| `\"relevance\"` | 相关性 | 仅搜索时有效 |\n\n#### 请求示例\n\n```json\n{\n  \"path\": \"skills:listPublicPageV4\",\n  \"args\": {\n    \"numItems\": 100,\n    \"sort\": \"downloads\",\n    \"dir\": \"desc\",\n    \"highlightedOnly\": false\n  },\n  \"format\": \"json\"\n}\n```\n\n#### 响应格式\n\n```json\n{\n  \"status\": \"success\",\n  \"value\": {\n    \"page\": [Skill, Skill, ...],\n    \"hasMore\": true,\n    \"nextCursor\": \"{\\\"v\\\":1,\\\"index\\\":\\\"by_active_stats_downloads\\\",...}\"\n  }\n}\n```\n\n#### 翻页机制\n\n- `nextCursor` 是 JSON 字符串，作为下次请求的 `cursor` 参数\n- 当 `hasMore: false` 时停止翻页\n- 推荐每次 `numItems=50`，翻 4 次 = 200 个\n\n### 完整翻页示例\n\n```python\ndef fetch_all_skills(num_target=200, sort=\"downloads\"):\n    \"\"\"翻页抓取所有 Skill\"\"\"\n    page_size = 50\n    all_skills = []\n    cursor = None\n\n    for i in range(0, num_target, page_size):\n        resp = requests.post(\n            \"https://wry-manatee-359.convex.cloud/api/query\",\n            json={\n                \"path\": \"skills:listPublicPageV4\",\n                \"args\": {\n                    \"numItems\": page_size,\n                    \"cursor\": cursor,\n                    \"sort\": sort,\n                    \"dir\": \"desc\"\n                },\n                \"format\": \"json\"\n            },\n            headers={\n                \"Content-Type\": \"application/json\",\n                \"Origin\": \"https://clawhub.ai\",\n                \"Referer\": \"https://clawhub.ai/\"\n            },\n            timeout=20\n        )\n        data = resp.json()\n        if data.get('status') != 'success':\n            break\n        value = data['value']\n        all_skills.extend(value['page'])\n        if not value.get('hasMore') or not value.get('nextCursor'):\n            break\n        cursor = value['nextCursor']\n\n    return all_skills\n```\n\n## 错误码\n\n| 错误 | 含义 | 处理 |\n|------|------|------|\n| `DEPLOYMENT_NOT_FOUND` | 端点 URL 错 | 检查 `wry-manatee-359.convex.cloud` |\n| `[Request ID: xxx] Server Error` | 服务端异常 | 重试 3 次，仍失败则跳过 |\n| `status != 'success'` | 函数报错 | 检查参数名/类型 |\n| HTTP 429 | 限流 | 退避 5 秒后重试 |\n| HTTP 5xx | 服务端故障 | 退避 10 秒后重试 |\n\n## 已知限制\n\n1. **无认证**：当前接口公开，无需 token\n2. **限流**：单 IP 短时间内大量请求可能被限（建议 ≥ 1 秒间隔）\n3. **稳定性**：Convex 服务本身可能有抖动，建议脚本内置重试\n\n## 版本说明\n\n- API 端点版本：Convex Cloud（v1 协议）\n- 端点部署：`wry-manatee-359`（2026 年 6 月确认有效）\n- 函数版本：`listPublicPageV4`（v4 协议）\n\nFile v2.0.6:references/briefing-template.md\n\n# ClawHub 简报模板\n\n> 4 个维度对应 4 套简报结构，每个维度 6-10 个推荐\n\n## 通用头部\n\n```markdown\n# 🦞 ClawHub 每日洞察 | 2026-06-03（{维度名}）\n\n> 📊 数据日期：2026-06-03 | 🎯 推荐维度：{维度} | 📦 抓取数量：{N}个 | 🆕 新增推荐：{N}个\n\n## 🎯 TL;DR\n\n今天推荐 **{N}** 个 Skill，其中 **{M}** 个匹配你的关注场景。\n\n[一句话总结今日亮点]\n\n---\n```\n\n## D1 趋势（Trending）\n\n**主题**：今日热装（installsCurrent 高）\n\n```markdown\n## 🔥 今日热装 Top 5\n\n| 排名 | Skill | 作者 | 当前活跃 | 累计下载 | 活跃度 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Self-Improving Agent](url) | pskoett | 6,347 | 456k | 1.4% |\n| ... |\n\n> 💡 活跃度 = installsCurrent / installsAllTime，反映\"今天大家还在用什么\"\n\n## 🎯 痛点匹配（你的关注）\n\n### 🤖 自动化办公\n- **Gog** (作者: steipete) - Google Workspace 全套 CLI\n  > 价值: 把 Gmail/Calendar/Drive 都装进 AI Agent\n  > 下一步: 试试用 Gog 接管你的 Gmail 工作流\n\n### 🧠 AI 增强\n- **Self-Improving Agent** (作者: pskoett) - AI 自我进化\n  > 价值: AI 越用越聪明，自动记忆错误和优化\n  > 下一步: 把它加入你的 Skill 库，下次任务自动调用\n\n## 📅 7 天推荐回顾\n\n- 6/3 (今天): 5 个 - 重点在 AI 增强\n- 6/1: 4 个 - 重点在 自动化办公\n- 5/30: 5 个 - 重点在 数据采集\n- ...\n\n## 🆕 今日新增\n- 5 个新推荐（去重后）\n- 3 个被过滤（已在 7 天内推荐过）\n```\n\n---\n\n## D2 质量（Quality）\n\n**主题**：被埋没的金子（star_rate 高 + downloads 中等）\n\n```markdown\n## ⭐ 口碑精品 Top 8\n\n| 排名 | Skill | 作者 | ⭐ | 📥 | 口碑率 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Skill A](url) | author | 100 | 5,000 | 2.0% |\n| 2 | [Skill B](url) | author | 80 | 4,500 | 1.78% |\n| ... |\n\n> 💡 口碑率 = ⭐ ÷ 📥 × 100%，高于 0.81% 即为高于平均\n\n## 🏆 详细分析（Top 3）\n\n### 1. Skill A ⭐ 100 / 📥 5,000 (口碑率 2.0%)\n- **它做什么**: [...]\n- **解决什么问题**: [...]\n- **下一步行动**: [...]\n\n### 2. Skill B\n[同上结构]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D3 新星（Newcomers）\n\n**主题**：7 天内新创建/更新的潜力股\n\n```markdown\n## 🚀 7 天内新星 Top 5\n\n| 排名 | Skill | 作者 | 年龄 | 活跃安装 | ⭐ | 价值 |\n| --- | --- | --- | --- | --- | --- | --- |\n| 1 | [New Skill A](url) | author | 3 天 | 120 | 12 | 描述... |\n| ... |\n\n> 💡 新星 = 创建时间 < 30 天 且 installsCurrent > 20\n\n## 🔥 新星焦点（Top 2）\n\n### 1. New Skill A (3 天前)\n- **它做什么**: [...]\n- **为什么值得关注**: [...]\n- **下一步行动**: [...]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D4 全景（Panorama）\n\n**主题**：分类全景 + 社区热议\n\n```markdown\n## 💬 本周热议 Top 3\n\n| 排名 | Skill | 作者 | 评论数 | 主题 |\n| --- | --- | --- | --- | --- |\n| 1 | [Hot Skill A](url) | author | 200+ | 用户在讨论... |\n| ... |\n\n> 💡 热议 = comments 数高，反映社区活跃\n\n## 🏆 9 大分类王者\n\n| 分类 | 冠军 Skill | ⭐ | 📥 | 能力标签 |\n| --- | --- | --- | --- | --- |\n| MCP Tools | [...] | [...] | [...] | [...] |\n| Prompts | [...] | [...] | [...] | [...] |\n| Workflows | [...] | [...] | [...] | [...] |\n| Dev Tools | [...] | [...] | [...] | [...] |\n| Data & APIs | [...] | [...] | [...] | [...] |\n| Security | [...] | [...] | [...] | [...] |\n| Automation | [...] | [...] | [...] | [...] |\n| Other | [...] | [...] | [...] | [...] |\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## 通用页脚\n\n```markdown\n---\n\n## 📌 数据说明\n\n- **数据源**: ClawHub Convex API (`wry-manatee-359.convex.cloud`)\n- **抓取数量**: {N} 个 Skill\n- **时间窗口**: 最近 7 天去重\n- **筛选规则**:\n  - 趋势维度: installsCurrent > 100\n  - 质量维度: star_rate > 0.5%\n  - 新星维度: createdAt < 30 天\n  - 全景维度: comments > 50\n\n## 📎 相关链接\n\n- ClawHub 官网: https://clawhub.ai\n- 完整数据集: [飞书云文档链接]\n- 历史报告: [目录索引]\n\n## 🦞 反馈\n\n觉得推荐不准？编辑 `references/pain-points.md` 调整你的痛点优先级。\n```\n\n---\n\n## 简报总长度\n\n- **推荐数**: 8-10 个（用户已确认）\n- **页面数**: 飞书云文档 1 页（不超过 200 blocks）\n- **执行时间**: 抓取 + 指标 + 推荐 < 30 秒\n\n## 飞书消息卡片\n\n```json\n{\n  \"header\": {\n    \"title\": {\"tag\": \"plain_text\", \"content\": \"🦞 ClawHub 每日洞察\"},\n    \"template\": \"blue\"\n  },\n  \"elements\": [\n    {\n      \"tag\": \"div\",\n      \"text\": {\n        \"tag\": \"lark_md\",\n        \"content\": \"**✅ {日期} | {维度}维度**\\n推荐 {N} 个新 Skill\"\n      }\n    },\n    {\"tag\": \"hr\"},\n    {\n      \"tag\": \"div\",\n      \"text\": {\n        \"tag\": \"lark_md\",\n        \"content\": \"**🎯 今日亮点**\\n• {Skill1}\\n• {Skill2}\\n• {Skill3}\"\n      }\n    },\n    {\n      \"tag\": \"action\",\n      \"actions\": [\n        {\n          \"tag\": \"button\",\n          \"text\": {\"tag\": \"plain_text\", \"content\": \"📄 查看完整简报\"},\n          \"type\": \"primary\",\n          \"url\": \"{飞书文档 URL}\"\n        }\n      ]\n    },\n    {\n      \"tag\": \"note\",\n      \"elements\": [\n        {\"tag\": \"plain_text\", \"content\": \"📅 {日期} | 4 维度轮换 | 7 天去重\"}\n      ]\n    }\n  ]\n}\n```\n\nFile v2.0.6:references/pain-points.md\n\n# ClawHub 痛点库\n\n> 用于将通用推荐转化为\"你的私人推荐\"的核心分类\n\n## 7 大痛点场景\n\n每个场景包含：**场景名** + **关键词列表** + **典型 Skill 例子** + **下一步行动模板**\n\n---\n\n### 1. 🤖 自动化办公 (Office Automation)\n\n**关键词**：\n```\ngmail, calendar, slack, trello, notion, sheets, drive, docs,\ngmail-api, calendar-api, trello-api, notion-api, sheets-api,\noffice, workspace, gog, himalaya, contact, meeting, mail\n```\n\n**典型 Skill**：\n- `Gog` - Google Workspace 全套\n- `Slack` - Slack 集成\n- `Trello` - 看板管理\n- `Notion` - 文档管理\n- `Himalaya` - 邮件 CLI\n\n**下一步行动模板**：\n- 试试用 [X] 接管你的 [Gmail/Notion/Slack] 工作流\n- 在 [Gmail/Notion] 中配置 [X] 自动处理 [收件箱/任务]\n\n---\n\n### 2. 🛠️ 开发工具 (Dev Tools)\n\n**关键词**：\n```\ngithub, mcp, browser, code, git, test, ci, debug, lint,\napi, rest, graphql, docker, build, deploy, dev, programmer,\ncoding, repo, pull-request, action\n```\n\n**典型 Skill**：\n- `Github` - GitHub CLI 集成\n- `Agent Browser` - 浏览器自动化\n- `Skill Vetter` - Skill 安全审计\n- `Model Usage` - 模型用量统计\n\n**下一步行动模板**：\n- 在 IDE 中安装 [X] 并配置 MCP server\n- 用 [X] 自动化你的 PR/Issue 流程\n\n---\n\n### 3. ✍️ 内容创作 (Content Creation)\n\n**关键词**：\n```\nyoutube, humanizer, video, image, pdf, writing, blog, post,\nmedium, notion, substack, twitter, x, social, content,\ncreator, editor, copywriting, transcript, frame\n```\n\n**典型 Skill**：\n- `YouTube Watcher` - 视频字幕\n- `Humanizer` - AI 痕迹去除\n- `Nano Banana Pro` - 图像生成\n- `Nano Pdf` - PDF 编辑\n\n**下一步行动模板**：\n- 用 [X] 改写你最近一篇 [文章/邮件]\n- 用 [X] 提取你关注的 YouTube 频道\n\n---\n\n### 4. 🕷️ 数据采集 (Data Scraping)\n\n**关键词**：\n```\nsearch, scraping, apify, firecrawl, polymarket, google,\nbing, duckduckgo, brave, tavily, serp, crawler, scraper,\ndata, extract, mo\n\nArchive v2.0.5: 19 files, 61292 bytes\n\nFiles: CHANGELOG.md (12877b), clawhub_daily_executor.py (4804b), docs/CONTRIBUTING.md (3427b), docs/PUBLISHING_GUIDE.md (5464b), README.md (11204b), references/api-contract.md (3850b), references/briefing-template.md (5530b), references/pain-points.md (5004b), references/prompt-templates.md (7081b), references/setup-wizard.md (4604b), references/source-data-schema.md (6141b), scripts/compute_metrics.py (6175b), scripts/daily_recommend.py (29207b), scripts/fetch_clawhub.py (4871b), scripts/push_to_feishu.py (10874b), scripts/push_to_ima.py (10633b), skill-card.md (2603b), SKILL.md (10834b), _meta.json (130b)\n\nArchive v2.0.0: 19 files, 55936 bytes\n\nFiles: CHANGELOG.md (6106b), clawhub_daily_executor.py (4804b), docs/CONTRIBUTING.md (3427b), docs/PUBLISHING_GUIDE.md (5464b), README.md (10951b), references/api-contract.md (3850b), references/briefing-template.md (5530b), references/pain-points.md (5004b), references/prompt-templates.md (6462b), references/setup-wizard.md (4649b), references/source-data-schema.md (6141b), scripts/compute_metrics.py (6175b), scripts/daily_recommend.py (29207b), scripts/fetch_clawhub.py (4871b), scripts/push_to_feishu.py (10874b), scripts/push_to_ima.py (7217b), skill-card.md (2760b), SKILL.md (7602b), _meta.json (130b)\n\nArchive v1.0.2: 18 files, 48512 bytes\n\nFiles: CHANGELOG.md (2936b), docs/CONTRIBUTING.md (3427b), docs/PUBLISHING_GUIDE.md (5464b), README.md (10371b), references/api-contract.md (3850b), references/briefing-template.md (5530b), references/pain-points.md (5004b), references/prompt-templates.md (6462b), references/setup-wizard.md (4649b), references/source-data-schema.md (6141b), scripts/compute_metrics.py (4178b), scripts/daily_recommend.py (20562b), scripts/fetch_clawhub.py (4874b), scripts/push_to_feishu.py (8899b), scripts/push_to_ima.py (7217b), skill-card.md (2561b), SKILL.md (6606b), _meta.json (130b)\n\nArchive v1.0.0: 18 files, 48467 bytes\n\nFiles: CHANGELOG.md (2934b), docs/CONTRIBUTING.md (3413b), docs/PUBLISHING_GUIDE.md (5450b), README.md (10158b), references/api-contract.md (3850b), references/briefing-template.md (5530b), references/pain-points.md (5004b), references/prompt-templates.md (6452b), references/setup-wizard.md (4647b), references/source-data-schema.md (6141b), scripts/compute_metrics.py (4178b), scripts/daily_recommend.py (20562b), scripts/fetch_clawhub.py (4872b), scripts/push_to_feishu.py (8899b), scripts/push_to_ima.py (7215b), skill-card.md (2567b), SKILL.md (6604b), _meta.json (130b)","readmeExcerpt":"Skill: Clawhub Daily Owner: edwardwason Summary: 每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法 为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。 数据出口说明（用户知情同意）： - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳... Tags: clawhub:2.0.0, daily:2.0.0, latest:2.0.8, recommendation:2.0.0 Version history: v2.0.8 | 2026-07-12T05:51:36.598Z | user Fix Tp4 description-behavior mismatch (disclose IMA CLI and Obsidian saved fallback","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"feishu_app_id\": \"<your_feishu_app_id>\",\n  \"feishu_app_secret\": \"<your_feishu_app_secret>\",\n  \"feishu_user_open_id\": \"<your_user_open_id>\"\n}"},{"language":"bash","snippet":"# 抓取数据\npython scripts/fetch_clawhub.py --num 200 --output data/snapshots/2026-06-03.json\n\n# 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-03.json\n\n# 生成推荐\npython scripts/daily_recommend.py --date 2026-06-03 --dimension trending\n\n# 4. 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-03.json\n\n# 5. 推送到 IMA 知识库（可选）\npython scripts/push_to_ima.py --recommendation data/recommended/2026-06-03.json"},{"language":"bash","snippet":"python clawhub_daily_executor.py"},{"language":"text","snippet":"clawhub-daily/\n├── SKILL.md                          # 技能说明\n├── README.md                         # 本文档\n├── CHANGELOG.md                      # 变更日志\n├── LICENSE                           # MIT 协议\n├── .claude-plugin/\n│   └── plugin.json                   # ClawHub 发布元数据\n├── .gitignore                        # Git 忽略规则\n├── references/\n│   ├── setup-wizard.md               # 首次安装模式选择\n│   ├── prompt-templates.md           # Cron 提示词模板\n│   ├── config.json                   # 凭证配置模板（占位符）\n│   ├── config.local.json             # 本地凭证（不入 Git，不发布）\n│   ├── api-contract.md               # Convex API 详细参数\n│   ├── source-data-schema.md         # 数据字段说明\n│   ├── briefing-template.md          # 简报模板\n│   └── pain-points.md                # 痛点库\n├── scripts/\n│   ├── fetch_clawhub.py              # 抓取 200 个 Skill\n│   ├── compute_metrics.py            # 指标计算\n│   ├── daily_recommend.py            # 推荐生成（全维度）\n│   └── push_to_feishu.py             # 飞书推送\n└── data/\n    ├── snapshots/                    # 原始快照\n    └── recommended/                  # 推荐结果 + Markdown"},{"language":"bash","snippet":"# 进入技能目录\ncd clawhub-daily\n\n# 一键执行：抓取 → 指标 → 推荐 → 飞书\npython clawhub_daily_executor.py"},{"language":"bash","snippet":"# Step 1: 抓取数据\npython scripts/fetch_clawhub.py --num 200 --date 2026-06-05 --output data/snapshots\n\n# Step 2: 计算指标\npython scripts/compute_metrics.py --input data/snapshots/2026-06-05.json\n\n# Step 3: 生成推荐（默认全维度）\npython scripts/daily_recommend.py --date 2026-06-05 --data-dir data\n\n# Step 4: 推送到飞书\npython scripts/push_to_feishu.py --recommendation data/recommended/2026-06-05.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: clawhub-daily\nslug: clawhub-daily-ai\ndisplayName: ClawHub Daily\nversion: 2.0.8\nsummary: Daily ClawHub Skill insights with 6-dimension recommendation\nlicense: MIT-0\ndescription: |\n  每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法\n  为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。\n\n  数据出口说明（用户知情同意）：\n  - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳过）\n  - 腾讯 IMA 知识库：官方 OpenAPI 推送（方式 A，有凭证时自动推送）；若安装了 ima-skill CLI 则自动调用（方式 B）\n  - Obsidian 本地 vault：inbox/clawhub-daily/ 子目录（默认开启，仅写入本地磁盘）。vault 不可写时 fallback 到脚本目录 saved/ 子目录\n  - 本地文件：data/recommended/*.md 简报文件（默认开启，仅写入本地磁盘）\n  推送行为：executor 会尝试所有渠道，每个渠道独立 try/except，有凭证则推送，无凭证则跳过，一处失败不阻断其他渠道。\n\n  凭证来源（优先级：CLI 参数 > 环境变量 > config.json）：\n  - 飞书：FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_USER_OPEN_ID 环境变量，或 references/config.json\n  - IMA：IMA_OPENAPI_CLIENTID / IMA_OPENAPI_APIKEY 环境变量，或 references/config.json\n  - Obsidian：OBSIDIAN_VAULT_PATH 环境变量（默认 E:\\Obsidian\\md\\inbox\\clawhub-daily）\n  未配置任何凭证时仅生成本地文件，不执行外部推送。\n  本技能运行时不读取 GH_TOKEN、GITHUB_TOKEN 或其他与推荐功能无关的环境变量（GH_TOKEN 仅用于维护者发布新版本，见 docs/PUBLISHING_GUIDE.md）。\n\n  🔐 权限声明（capabilities）：\n  - network（必需）：访问 ClawHub API（wry-manatee-359.convex.cloud）抓取数据；有凭证时访问飞书 API（open.feishu.cn）和 IMA API（ima.qq.com）推送简报\n  - filesystem（必需）：写入 data/snapshots/（原始数据）、data/recommended/（简报）、Obsidian vault inbox/clawhub-daily/（简报副本）、saved/（vault 不可写时的 fallback）\n  - env_vars（可选）：FEISHU_APP_ID / FEISHU_APP_SECRET / FEISHU_USER_OPEN_ID / IMA_OPENAPI_CLIENTID / IMA_OPENAPI_APIKEY / OBSIDIAN_VAULT_PATH。未配置时仅生成本地文件\n  - subprocess（可选）：auto 模式下若官方 API 失败，可能调用 ima-skill CLI 命令（需用户预装）\n  不申请的权限：shell 执行（除 ima-skill CLI 外）、系统信息收集、GitHub 凭证读取（GH_TOKEN）、任意文件系统访问\n\n  触发场景：\n  - 用户希望每日/定时收到 ClawHub Skill 推荐简报\n  - 用户希望跟踪 AI Agent 生态的最新 Skill 趋势\n  - 用户希望按痛点场景（自动化办公/开发工具/内容创作/数据采集/AI 增强/中文支持/金融分析）匹配推荐\n  - 用户希望避免重复推荐，结合 7 天跨维度去重\n\n  核心能力：\n  - 真实抓取 ClawHub Top 500 Skill（基于 Convex API，0 token 消耗）\n  - 适配新 API 数据结构（stats.installs / categories / badges.verified / changelog）\n  - 6 维度全维度推荐：trending / quality / newcomers / panorama / actively_maintained / verified\n  - 降级策略：候选不足时自动放宽阈值（fallback_fn）\n  - optional 维度：verified 候选为 0 时自动跳过，不占配额\n  - 7 天跨维度去重，避免重复推荐\n  - 痛点匹配去重展示：同一 Skill 只在第一个命中场景展示\n  - changelog 展示：有最近变更摘要的 Skill 展示\"最近变更\"字段\n  - 痛点加权：基于 7 大场景库个性化排序\n  - 多渠道推送：飞书云文档 + Top 5 卡片消息 + IMA 知识库（可选）+ 本地 Markdown\n  - 简报中文化：中文一句话 + 英文原文 `<details>` 折叠\n---\n\n# ClawHub Daily Skill 洞察技能\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，生成 6 维度精选简报\n\n## 核心能力\n\n- **真实数据**：直接调用 ClawHub Convex API（`wry-manatee-359.convex.cloud`），抓取 Top 500 Skill\n- **新 API 适配**：`stats.installs`（非 `installsCurrent`）、`categories`（非 `capabilityTags`）、`badges.verified`、`latestVersion.changelog` 等嵌套字段\n- **6 维度全维度推荐**：每天遍历全部 6 个维度，用户每天看全貌\n  - 🔥 trending × 3（活跃安装≥100，降级≥30）\n  - ⭐ quality × 1（下载≥1000+口碑≥0.5%，降级≥500+0.3%）\n  - 🚀 newcomers × 1（≤60天+安装≥10+星≥3，降级≤90天+5+2）\n  - 🏆 panorama × 2（评论≥1）\n  - 🔧 actively_maintained × 1（90天内更新+版本≥3，降级180天+版本≥2）\n  - 🛡️ verified × 1（平台安全审计通过，候选为空时跳过）\n- **降级策略**：候选不足时自动放宽阈值（fallback_fn）\n- **optional 维度**：verified 候选为 0 时自动"},{"path":"README.md","content":"# ClawHub Daily Skill 洞察\n\n> 每日扫描 ClawHub 全球 AI Agent Skill 平台，6 维度全维度精选简报\n\n> **⚠️ 数据出口说明**：简报默认写入本地文件；若配置了飞书/IMA 凭证，会推送到飞书云文档和腾讯 IMA 知识库。未配置凭证时仅生成本地文件，不执行外部推送。详见 [SKILL.md](SKILL.md) 的\"数据出口说明\"。\n\n> **📌 命名说明**：本项目在 GitHub 仓库为 `clawhub-daily`；在 ClawHub 市场注册名为 `skill-daily`（因 ClawHub 保护 `clawhub-` 命名空间）。两个名字指向同一个 Skill。\n\n[![Status](https://img.shields.io/badge/status-active-brightgreen)]()\n[![Version](https://img.shields.io/badge/version-1.0.4-blue)]()\n[![Schedule](https://img.shields.io/badge/schedule-daily-orange)]()\n[![License](https://img.shields.io/badge/license-MIT-green)]()\n[![Modes](https://img.shields.io/badge/modes-interactive%20%2F%20cron-purple)]()\n\n## 🌐 English\n\n**ClawHub Daily** is an Agent Skill that scans 200 Skills from ClawHub (the global AI Agent Skill platform) every day, picks 6 most valuable ones through all-dimension daily recommendation + 7 pain-point matching + 7-day deduplication, and pushes a full brief to Lark/Feishu.\n\n- **Real data**: ClawHub Convex API (not hardcoded)\n- **All-dimension daily**: trending×2 / quality×1 / newcomers×1 / panorama×2 = 6 per day\n- **7 pain-points**: 🤖 automation / 🛠️ dev / ✍️ content / 🕷️ scraping / 🧠 AI / 🇨🇳 Chinese / 💰 finance\n- **7-day dedup**: avoid repeated recommendations\n- **Bilingual brief**: Chinese one-liner + English `<details>`\n- **Lark/Feishu push**: cloud doc + card message with direct link\n\n---\n\n## ✨ 核心能力\n\n- 🎯 **真实数据**：从 ClawHub Convex API 抓取 Top 200 Skill（不是硬编码）\n- 🔄 **全维度每日推荐**：趋势×2 + 质量×1 + 新星×1 + 全景×2 = 每日 6 个，每天看全貌\n- 🚫 **7 天去重**：自动避免重复推荐（7 天滚动窗口，跨维度去重）\n- 🎨 **痛点匹配**：基于 7 大场景库个性化推荐\n- 🇨🇳 **简报中文化**：中文一句话 + 英文原文 `<details>` 折叠\n- 📊 **多模块简报**：热装、口碑、新星、痛点、热议、分类王者\n- 📤 **多通道推送**：飞书云文档 + 卡片消息 / IMA 知识库 / 本地 Markdown\n- 🔗 **可点击链接**：云文档和 Markdown 中 Skill 名称/链接均可直接点击跳转\n\n## 🎯 使用模式（二选一）\n\nClawHub Daily 提供 **2 种使用模式**，**首次安装后请阅读** [`references/setup-wizard.md`](references/setup-wizard.md) 选择：\n\n| 模式 | 适合 | 触发方式 |\n|------|------|---------|\n| 💬 **A 常规对话** | 手动调用 | 在 Agent 对话中输入\"每日推荐\"、\"ClawHub 日报\"等 |\n| ⏰ **B Cron 定时** | 每天自动推送 | 参考 [`references/prompt-templates.md`](references/prompt-templates.md) 配置 |\n\n**推荐默认**：模式 B + 每天 1 次（全维度推荐，每日 6 个）。\n\n## 📦 技能包结构\n\n```\nclawhub-daily/\n├── SKILL.md                          # 技能说明\n├── README.md                         # 本文档\n├── CHANGELOG.md                      # 变更日志\n├── LICENSE                           # MIT 协议\n├── .claude-plugin/\n│   └── plugin.json                   # ClawHub 发布元数据\n├── .gitignore                        # Git 忽略规则\n├── references/\n│   ├── setup-wizard.md               # 首次安装模式选择\n│   ├── prompt-templates.md           # Cron 提示词模板\n│   ├── config.json                   # 凭证配置模板（占位符）\n│   ├── config.local.json             # 本地凭证（不入 Git，不发布）\n│   ├── api-contract.md               # Convex API 详细参数\n│   ├── source-data-schema.md         # 数据字段说明\n│   ├── briefing-template.md          # 简报模板\n│   └── pain-points.md                # 痛点库\n├── scripts/\n│   ├── fetch_clawhub.py              # 抓取 200 个 Skill\n│   ├── compute_metrics.py      "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn75zj7vzdyvap84adxa8heyyd82f5eh\",\n  \"slug\": \"skill-daily\",\n  \"version\": \"2.0.8\",\n  \"publishedAt\": 1783835496598\n}"},{"path":"references/api-contract.md","content":"# ClawHub Convex API 契约\n\n> 真实可用的 API 端点和参数，基于对 ClawHub 主 JS bundle（v6）的分析\n\n## 端点\n\n```\nPOST https://wry-manatee-359.convex.cloud/api/query\nContent-Type: application/json\n```\n\n## 函数签名\n\n### `skills:listPublicPageV4`\n\n抓取 Skill 列表（分页）\n\n#### 请求参数\n\n| 参数 | 类型 | 必填 | 默认 | 说明 |\n|------|------|------|------|------|\n| `numItems` | int | ✅ | 25 | 每页数量，1-200 稳定支持 |\n| `cursor` | str | ❌ | null | 翻页游标（首次为空） |\n| `sort` | str | ❌ | - | 排序字段 |\n| `dir` | str | ❌ | \"desc\" | `asc` / `desc` |\n| `highlightedOnly` | bool | ❌ | false | 仅精选 |\n| `capabilityTag` | str | ❌ | - | 能力标签筛选 |\n| `categorySlug` | str | ❌ | - | 分类筛选 |\n| `categoryKeywords` | str | ❌ | - | 分类关键词 |\n| `excludeCategoryKeywords` | str | ❌ | - | 排除关键词 |\n\n#### 排序字段 `sort` 取值\n\n| 值 | 含义 | 备注 |\n|---|---|---|\n| `\"downloads\"` | 按总下载量 | 主流榜单 |\n| `\"installs\"` | 按总安装量 | - |\n| `\"stars\"` | 按星标数 | - |\n| `\"updated\"` | 按更新时间 | 新近更新 |\n| `\"recommended\"` | 推荐排序 | ClawHub 算法 |\n| `\"relevance\"` | 相关性 | 仅搜索时有效 |\n\n#### 请求示例\n\n```json\n{\n  \"path\": \"skills:listPublicPageV4\",\n  \"args\": {\n    \"numItems\": 100,\n    \"sort\": \"downloads\",\n    \"dir\": \"desc\",\n    \"highlightedOnly\": false\n  },\n  \"format\": \"json\"\n}\n```\n\n#### 响应格式\n\n```json\n{\n  \"status\": \"success\",\n  \"value\": {\n    \"page\": [Skill, Skill, ...],\n    \"hasMore\": true,\n    \"nextCursor\": \"{\\\"v\\\":1,\\\"index\\\":\\\"by_active_stats_downloads\\\",...}\"\n  }\n}\n```\n\n#### 翻页机制\n\n- `nextCursor` 是 JSON 字符串，作为下次请求的 `cursor` 参数\n- 当 `hasMore: false` 时停止翻页\n- 推荐每次 `numItems=50`，翻 4 次 = 200 个\n\n### 完整翻页示例\n\n```python\ndef fetch_all_skills(num_target=200, sort=\"downloads\"):\n    \"\"\"翻页抓取所有 Skill\"\"\"\n    page_size = 50\n    all_skills = []\n    cursor = None\n\n    for i in range(0, num_target, page_size):\n        resp = requests.post(\n            \"https://wry-manatee-359.convex.cloud/api/query\",\n            json={\n                \"path\": \"skills:listPublicPageV4\",\n                \"args\": {\n                    \"numItems\": page_size,\n                    \"cursor\": cursor,\n                    \"sort\": sort,\n                    \"dir\": \"desc\"\n                },\n                \"format\": \"json\"\n            },\n            headers={\n                \"Content-Type\": \"application/json\",\n                \"Origin\": \"https://clawhub.ai\",\n                \"Referer\": \"https://clawhub.ai/\"\n            },\n            timeout=20\n        )\n        data = resp.json()\n        if data.get('status') != 'success':\n            break\n        value = data['value']\n        all_skills.extend(value['page'])\n        if not value.get('hasMore') or not value.get('nextCursor'):\n            break\n        cursor = value['nextCursor']\n\n    return all_skills\n```\n\n## 错误码\n\n| 错误 | 含义 | 处理 |\n|------|------|------|\n| `DEPLOYMENT_NOT_FOUND` | 端点 URL 错 | 检查 `wry-manatee-359.convex.cloud` |\n| `[Request ID: xxx] Server Error` | 服务端异常 | 重试 3 次，仍失败则跳过 |\n| `status != 'success'` | 函数报错 | 检查参数名/类型 |\n| HTTP 429 | 限流 | 退避 5 秒后重试 |\n| HTTP 5xx | 服务端故障 | 退避 10 秒后重试 |\n\n## 已知限制\n\n1. **无认证**：当前接口公开，无需 token\n2. **限流**：单 IP 短时间内大量请求可能被限（建议 ≥ 1 秒间隔）\n3. **稳定性**：Convex 服务本身可能有抖动，建议脚本内置重试"},{"path":"references/briefing-template.md","content":"# ClawHub 简报模板\n\n> 4 个维度对应 4 套简报结构，每个维度 6-10 个推荐\n\n## 通用头部\n\n```markdown\n# 🦞 ClawHub 每日洞察 | 2026-06-03（{维度名}）\n\n> 📊 数据日期：2026-06-03 | 🎯 推荐维度：{维度} | 📦 抓取数量：{N}个 | 🆕 新增推荐：{N}个\n\n## 🎯 TL;DR\n\n今天推荐 **{N}** 个 Skill，其中 **{M}** 个匹配你的关注场景。\n\n[一句话总结今日亮点]\n\n---\n```\n\n## D1 趋势（Trending）\n\n**主题**：今日热装（installsCurrent 高）\n\n```markdown\n## 🔥 今日热装 Top 5\n\n| 排名 | Skill | 作者 | 当前活跃 | 累计下载 | 活跃度 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Self-Improving Agent](url) | pskoett | 6,347 | 456k | 1.4% |\n| ... |\n\n> 💡 活跃度 = installsCurrent / installsAllTime，反映\"今天大家还在用什么\"\n\n## 🎯 痛点匹配（你的关注）\n\n### 🤖 自动化办公\n- **Gog** (作者: steipete) - Google Workspace 全套 CLI\n  > 价值: 把 Gmail/Calendar/Drive 都装进 AI Agent\n  > 下一步: 试试用 Gog 接管你的 Gmail 工作流\n\n### 🧠 AI 增强\n- **Self-Improving Agent** (作者: pskoett) - AI 自我进化\n  > 价值: AI 越用越聪明，自动记忆错误和优化\n  > 下一步: 把它加入你的 Skill 库，下次任务自动调用\n\n## 📅 7 天推荐回顾\n\n- 6/3 (今天): 5 个 - 重点在 AI 增强\n- 6/1: 4 个 - 重点在 自动化办公\n- 5/30: 5 个 - 重点在 数据采集\n- ...\n\n## 🆕 今日新增\n- 5 个新推荐（去重后）\n- 3 个被过滤（已在 7 天内推荐过）\n```\n\n---\n\n## D2 质量（Quality）\n\n**主题**：被埋没的金子（star_rate 高 + downloads 中等）\n\n```markdown\n## ⭐ 口碑精品 Top 8\n\n| 排名 | Skill | 作者 | ⭐ | 📥 | 口碑率 |\n| --- | --- | --- | --- | --- | --- |\n| 1 | [Skill A](url) | author | 100 | 5,000 | 2.0% |\n| 2 | [Skill B](url) | author | 80 | 4,500 | 1.78% |\n| ... |\n\n> 💡 口碑率 = ⭐ ÷ 📥 × 100%，高于 0.81% 即为高于平均\n\n## 🏆 详细分析（Top 3）\n\n### 1. Skill A ⭐ 100 / 📥 5,000 (口碑率 2.0%)\n- **它做什么**: [...]\n- **解决什么问题**: [...]\n- **下一步行动**: [...]\n\n### 2. Skill B\n[同上结构]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D3 新星（Newcomers）\n\n**主题**：7 天内新创建/更新的潜力股\n\n```markdown\n## 🚀 7 天内新星 Top 5\n\n| 排名 | Skill | 作者 | 年龄 | 活跃安装 | ⭐ | 价值 |\n| --- | --- | --- | --- | --- | --- | --- |\n| 1 | [New Skill A](url) | author | 3 天 | 120 | 12 | 描述... |\n| ... |\n\n> 💡 新星 = 创建时间 < 30 天 且 installsCurrent > 20\n\n## 🔥 新星焦点（Top 2）\n\n### 1. New Skill A (3 天前)\n- **它做什么**: [...]\n- **为什么值得关注**: [...]\n- **下一步行动**: [...]\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## D4 全景（Panorama）\n\n**主题**：分类全景 + 社区热议\n\n```markdown\n## 💬 本周热议 Top 3\n\n| 排名 | Skill | 作者 | 评论数 | 主题 |\n| --- | --- | --- | --- | --- |\n| 1 | [Hot Skill A](url) | author | 200+ | 用户在讨论... |\n| ... |\n\n> 💡 热议 = comments 数高，反映社区活跃\n\n## 🏆 9 大分类王者\n\n| 分类 | 冠军 Skill | ⭐ | 📥 | 能力标签 |\n| --- | --- | --- | --- | --- |\n| MCP Tools | [...] | [...] | [...] | [...] |\n| Prompts | [...] | [...] | [...] | [...] |\n| Workflows | [...] | [...] | [...] | [...] |\n| Dev Tools | [...] | [...] | [...] | [...] |\n| Data & APIs | [...] | [...] | [...] | [...] |\n| Security | [...] | [...] | [...] | [...] |\n| Automation | [...] | [...] | [...] | [...] |\n| Other | [...] | [...] | [...] | [...] |\n\n## 🎯 痛点匹配\n\n[同 D1 痛点匹配结构]\n\n## 📅 回顾\n\n[同 D1 回顾结构]\n```\n\n---\n\n## 通用页脚\n\n```markdown\n---\n\n## 📌 数据说明\n\n- **数据源**: ClawHub Convex API (`wry-manatee-359.convex.cloud`)\n- **抓取数量**: {N} 个 Skill\n- **时间窗口**: 最近 7 天去重\n- **筛选规则**:\n  - 趋势维度: installsCurrent > 100\n  - 质量维度: star_rate > 0.5%\n  - 新星维度: createdAt < 30 天\n  - 全景维度: comments > 50\n\n## 📎 相关链接\n\n- ClawHub 官网: https://clawhub.ai\n- 完整"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法 为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。 数据出口说明（用户知情同意）： - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳... Skill: Clawhub Daily Owner: edwardwason Summary: 每日扫描 ClawHub 全球 Skill 平台（500 个 Skill），通过 6 维度全维度推荐算法 为用户推荐 8 个有价值、不重复、值得关注的 AI Agent Skill，并通过多渠道推送完整简报。 数据出口说明（用户知情同意）： - 飞书（Lark）：云文档 + 卡片消息（有凭证时自动推送，无凭证时跳... Tags: clawhub:2.0.0, daily:2.0.0, latest:2.0.8, recommendation:2.0.0 Version history: v2.0.8 | 2026-07-12T05:51:36.598Z | user Fix Tp4 description-behavior mismatch (disclose IMA CLI and Obsidian saved fallback","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1135,"uniquenessScore":48,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T04:59:08.741Z","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-10T04:59:08.741Z","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-10T10:44:35.397Z","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"}]}}}