{"id":"5d696c44-1867-43b0-b4b4-430296593be1","entityType":"agent","slug":"clawhub-redfox-data-douyin-rank-tranker","name":"抖音每日最具影响力账号（红狐数据）","canonicalUrl":"https://www.xpersona.co/agent/clawhub-redfox-data-douyin-rank-tranker","canonicalPath":"/agent/clawhub-redfox-data-douyin-rank-tranker","generatedAt":"2026-10-11T14:15:12.488Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T10:29:41.525Z","emptyReason":null},"description":"抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用 Skill: 抖音每日最具影响力账号（红狐数据） Owner: redfox-data Summary: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用 Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-02T09:52:56.764Z | user - 项目更名为“douyin-top-account”，描述和目录均已更新 - 移除 Python 依赖说明，现使用 Python 标准库，无需第三方包 - 增加英文与中文两份 README，删除 skill-card.md - 文档结构全面优化，内容拆分为简介、功能、安装、使用、场景、架构、常见问答等板块 - 详细补充了 API Key 配置及","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171kp1a76rjevha5b9m61sxv984vncz:douyin-rank-tranker","sourceUrl":"https://clawhub.ai/redfox-data/douyin-rank-tranker","homepage":"https://clawhub.ai/redfox-data/skills/douyin-rank-tranker","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/redfox-data/douyin-rank-tranker","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/redfox-data/skills/douyin-rank-tranker","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用 Skill: 抖音每日最具影响力账号（红狐数据） Owner: redfox-data "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:29:41.525Z","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-11T10:29:41.525Z","emptyReason":null},"stars":null,"forks":null,"downloads":1087,"packageName":null,"latestVersion":"1.0.5","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T10:29:41.512Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T10:29:41.525Z","lastCrawledAt":"2026-10-11T10:29:41.512Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T10:29:41.512Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.5","createdAt":"2026-06-02T09:52:56.764Z","changelog":"- 项目更名为“douyin-top-account”，描述和目录均已更新 - 移除 Python 依赖说明，现使用 Python 标准库，无需第三方包 - 增加英文与中文两份 README，删除 skill-card.md - 文档结构全面优化，内容拆分为简介、功能、安装、使用、场景、架构、常见问答等板块 - 详细补充了 API Key 配置及项目一键安装说明，强调标准库依赖 - 保留并明确所有榜单规则、时间边界处理和数据一致性要求","fileCount":13,"zipByteSize":39397},{"version":"1.0.4","createdAt":"2026-05-19T08:46:24.181Z","changelog":"No changes detected for version 1.0.4. - No file or documentation updates in this release. - Functionality and workflows remain unchanged.","fileCount":11,"zipByteSize":32993},{"version":"1.0.3","createdAt":"2026-05-15T03:43:04.137Z","changelog":"No file changes detected for version 1.0.3. - No updates or modifications were made in this version.","fileCount":10,"zipByteSize":32080},{"version":"1.0.2","createdAt":"2026-05-15T03:30:48.837Z","changelog":"No code or content changes detected in this version. - No file modifications or documentation updates from the previous release. - Functionality and user experience remain unchanged.","fileCount":10,"zipByteSize":32080},{"version":"1.0.1","createdAt":"2026-05-15T03:29:36.432Z","changelog":"- No file changes detected in this release. - Documentation and instructions remain unchanged. - No new features, fixes, or updates introduced.","fileCount":10,"zipByteSize":32081},{"version":"1.0.0","createdAt":"2026-05-15T03:28:13.335Z","changelog":"- 初始发布，提供抖音账号日榜、周榜、月榜的榜单查询和分析。 - 支持多赛道（如美食、旅行、科技等）筛选和TOP账号排行展示。 - 每日/周/月榜单按固定时间更新，支持近7天/3周/3个月回溯。 - 可一键生成可视化HTML报告，支持导出PDF/截图。 - 明确执行流程、输出模板与常见用户场景。 - 内置用户意图识别、订阅推送、时间边界友好提示处理。","fileCount":10,"zipByteSize":32080}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171kp1a76rjevha5b9m61sxv984vncz:douyin-rank-tranker","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-redfox-data-douyin-rank-tranker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T14:15:12.483Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-redfox-data-douyin-rank-tranker/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-11T10:29:41.525Z","emptyReason":null},"readme":"Skill: 抖音每日最具影响力账号（红狐数据）\n\nOwner: redfox-data\n\nSummary: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\n\nTags: latest:1.0.5\n\nVersion history:\n\nv1.0.5 | 2026-06-02T09:52:56.764Z | user\n\n- 项目更名为“douyin-top-account”，描述和目录均已更新\n- 移除 Python 依赖说明，现使用 Python 标准库，无需第三方包\n- 增加英文与中文两份 README，删除 skill-card.md\n- 文档结构全面优化，内容拆分为简介、功能、安装、使用、场景、架构、常见问答等板块\n- 详细补充了 API Key 配置及项目一键安装说明，强调标准库依赖\n- 保留并明确所有榜单规则、时间边界处理和数据一致性要求\n\nv1.0.4 | 2026-05-19T08:46:24.181Z | user\n\nNo changes detected for version 1.0.4.\n\n- No file or documentation updates in this release.\n- Functionality and workflows remain unchanged.\n\nv1.0.3 | 2026-05-15T03:43:04.137Z | user\n\nNo file changes detected for version 1.0.3.\n\n- No updates or modifications were made in this version.\n\nv1.0.2 | 2026-05-15T03:30:48.837Z | user\n\nNo code or content changes detected in this version.\n\n- No file modifications or documentation updates from the previous release.\n- Functionality and user experience remain unchanged.\n\nv1.0.1 | 2026-05-15T03:29:36.432Z | user\n\n- No file changes detected in this release.\n- Documentation and instructions remain unchanged.\n- No new features, fixes, or updates introduced.\n\nv1.0.0 | 2026-05-15T03:28:13.335Z | user\n\n- 初始发布，提供抖音账号日榜、周榜、月榜的榜单查询和分析。\n- 支持多赛道（如美食、旅行、科技等）筛选和TOP账号排行展示。\n- 每日/周/月榜单按固定时间更新，支持近7天/3周/3个月回溯。\n- 可一键生成可视化HTML报告，支持导出PDF/截图。\n- 明确执行流程、输出模板与常见用户场景。\n- 内置用户意图识别、订阅推送、时间边界友好提示处理。\n\nArchive index:\n\nArchive v1.0.5: 13 files, 39397 bytes\n\nFiles: assets/category_config.json (13248b), assets/period_config.json (1186b), README.en.md (6513b), README.md (6039b), references/api_docs.md (5195b), references/category_map.md (2450b), references/score_rules.md (936b), references/update_rules.md (2766b), scripts/fetch_rank.py (31787b), scripts/generate_report.py (25290b), skill-card.md (2598b), SKILL.md (10090b), _meta.json (138b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: douyin-top-account\ndescription: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\ndependency: {}\n---\n\n# 抖音热门账号推荐\n\n## 1. 简介\n\n抖音每日最具影响力账号榜单追踪分析工具 -- 基于红狐数据 API，提供抖音全品类 / 分品类账号每日 / 每周 / 每月的表现榜单查询，支持排名查询、赛道筛选、HTML 可视化报告下载与定时订阅推送。\n\n**适用对象**：新手内容创作者、品牌方 / 商务投放人员、MCN 机构 / 内容团队、行业分析师 / 咨询从业者。\n\n---\n\n## 2. 功能特性\n\n**核心功能**：\n\n- 排名查询 -- 查日榜、周榜、月榜 TOP50，支持全品类和分品类\n- 赛道筛选 -- 按品类筛选（美食、旅行、科技、游戏等 27 个赛道）\n- 报告下载 -- 生成 HTML 可视化报告，支持导出 PDF / 截图\n- 定时订阅 -- 设置自动化定时推送，支持日 / 周 / 月频率\n\n**特色亮点**：\n\n- 日榜每日 17:30 更新 / 回溯 7 天，周榜每周一 17:30 更新 / 回溯 3 周，月榜每月 2 号 9 点更新 / 回溯 3 月\n- 综合评分算法：根据总粉丝数、新增粉丝增量、新增点赞 / 分享 / 评论加权计算，满分 100\n- 赛道模糊匹配：支持自然语言输入（如 \"美妆\" 自动映射到 \"化妆美容\"）\n- 数据一致性保障：对话展示的数据条数与 HTML 报告严格一致\n\n---\n\n## 3. 一键安装\n\n### 鉴权\n\n#### 获取 API Key\n\n请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=clawhub) 获取API KEY\n\n#### 配置 API Key\n\n方案1: 以OpenClaw为例，将REDFOX_API_KEY添加到~/.openclaw/openclaw.json中\n\n```bash\n{ \"env\": { \"REDFOX_API_KEY\": \"ak_xxxx...\" } }\n```\n\n方案2: 终端配置：export REDFOX_API_KEY=\"ak_xxxx...\"\n\n```bash\nexport REDFOX_API_KEY=\"ak_xxxx...\"\n```\n\n### 依赖安装\n\n无需安装第三方依赖，使用 Python 标准库即可运行。\n\n---\n\n## 4. 使用指南\n\n### 基础使用\n\n**查询榜单数据（默认展示 TOP 20）**：\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json\n```\n\n脚本会自动解析：\n- **时间**：从用户文本识别日 / 周 / 月，未明确则默认日榜\n- **日期**：自动计算最新可用日期（日榜 17:30 更新，周榜周一 17:30 更新，月榜每月 2 号 9 点更新）\n- **赛道**：支持模糊匹配（如 \"美妆\" 映射为 \"化妆美容\"）\n\n**生成 HTML 报告**：\n\n```bash\npython scripts/generate_report.py --data /path/to/data.json --limit 20\n```\n\n> 重要：HTML 报告展示的数据条数必须与对话中展示的数量保持一致。使用 `deliver_attachments` 交付 HTML 文件。\n\n**查看全部 50 条数据**：\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50\n```\n\n### 高级使用\n\n**更新时间与回溯范围**：\n\n| 榜单类型 | 更新时间    | 回溯范围 |\n| -------- | ----------- | -------- |\n| 日榜     | 每日17:30   | 过去7天  |\n| 周榜     | 每周一17:30 | 过去3周  |\n| 月榜     | 每月2号9点  | 过去3月  |\n\n**时间边界处理（必须严格遵守）**：\n- 查询当日及未来日期：回复「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」\n- 查询时间早于回溯日期：回复「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」\n\n**订阅服务**：\n\n用户确认订阅后，使用 `automation_update` 工具创建自动化任务：\n- 日榜：`FREQ=DAILY;BYHOUR=19;BYMINUTE=30`\n- 周榜：`FREQ=WEEKLY;BYDAY=MO;BYHOUR=19;BYMINUTE=30`\n- 月榜：`FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=16;BYMINUTE=0`\n\nautomation prompt 示例：`查询抖音最新日榜（全品类），生成报告并推送给用户`\n\n### 常用指令速查\n\n| 用户意图 | 典型触发词 | 对应操作 |\n| -------- | ---------- | -------- |\n| 排名查询 | 抖音日榜、周榜、月榜、TOP50、最夯账号、排行榜、最新推荐 | 调用脚本查询并格式化输出 |\n| 领域查询 | 美食类/旅行类/游戏类/科技类...抖音排名 | 调用脚本并按赛道筛选 |\n| 报告下载 | 下载报告、导出榜单、生成报告 | 运行 generate_report.py 生成 HTML |\n\n### 输出格式\n\n**Markdown 表格模板**：\n\n```\n📊 抖音{period_label} · {category_label}\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://www.douyin.com/user/xxx) | 96 | 254.06w | 6919 | 24.64w | 6.68w | 13.39w |\n| 🥈 2 | [账号B](https://www.douyin.com/user/xxx) | 89 | 113.55w | 1.91w | 7.90w | 4787 | 3.12w |\n| 🥉 3 | [账号C](https://www.douyin.com/user/xxx) | 87 | 439.14w | 5859 | 16.51w | 993 | 687 |\n```\n\n输出完榜单后追加：\n\n```\n⚡ 更多操作\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n2️⃣ 是否需要订阅具体赛道的账号表现？我们支持：个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```\n\n---\n\n## 5. 使用场景\n\n| 用户分层 | 核心痛点 | 使用方式 |\n| -------- | -------- | -------- |\n| 新手内容创作者 / 个体运营 | 不知道哪些账号做得好、无从借鉴、不知道自己水平在赛道内所处位置 | 查询 \"美食类账号 TOP50\"，获取对标参考 |\n| 品牌方 / 商务投放人员 | 找达人效率低、数据维度单一、不了解账号历史表现 | 查询 \"上周抖音美妆 TOP50\"，获取投放候选 |\n| MCN 机构 / 内容团队 | 竞品账号情报获取难、无法快速掌握市场动态 | 查询 \"最近一周游戏账号涨粉最快\"，监控市场 |\n| 行业分析师 / 咨询从业者 | 数据获取门槛高、缺乏可视化报告工具 | 生成 \"3 月份抖音游戏类榜单分析报告\" |\n\n**预期收益**：快速获取赛道动态、识别优质账号、降低投放决策成本、提升内容运营效率。\n\n---\n\n## 6. 项目架构\n\n### 目录结构\n\n```\ndouyin-top-account/\n├── SKILL.md                          # 本文件\n├── scripts/\n│   ├── fetch_rank.py                 # 查询抖音榜单数据\n│   └── generate_report.py            # 生成 HTML 可视化报告\n└── references/\n    ├── category_map.md               # 赛道映射表与匹配规则\n    ├── update_rules.md               # 更新规则与日期计算逻辑\n    ├── score_rules.md                # 评分算法说明\n    └── api_docs.md                   # API 接口详细文档（技术参考）\n```\n\n### 技术栈\n\n| 技术 | 用途 |\n| ---- | ---- |\n| Python 标准库 | 数据查询与报告生成 |\n| 红狐 API | 抖音榜单数据来源 |\n| HTML / CSS | 可视化报告渲染 |\n\n### 核心模块说明\n\n- **fetch_rank.py**：接收用户查询参数，调用红狐 API 获取榜单数据，自动解析时间、日期和赛道，输出 JSON 数据文件。\n- **generate_report.py**：读取 fetch_rank 输出的 JSON 数据，生成带排名表格、统计卡片、排名算法的 HTML 可视化报告；账号名均可点击跳转抖音主页。\n\n### 资源索引\n\n| 文件 | 用途 |\n| ---- | ---- |\n| [scripts/fetch_rank.py](scripts/fetch_rank.py) | 查询抖音榜单数据 |\n| [scripts/generate_report.py](scripts/generate_report.py) | 生成 HTML 可视化报告 |\n| [references/category_map.md](references/category_map.md) | 赛道映射表与匹配规则 |\n| [references/update_rules.md](references/update_rules.md) | 更新规则与日期计算逻辑 |\n| [references/score_rules.md](references/score_rules.md) | 评分算法说明 |\n| [references/api_docs.md](references/api_docs.md) | API 接口详细文档（技术参考） |\n\n---\n\n## 7. 常见问答\n\n### 安装\n\n**Q: 需要安装什么依赖？**\nA: 无需安装第三方依赖，使用 Python 标准库即可运行。\n\n**Q: 如何配置 API Key？**\nA: 请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=clawhub) 获取 API KEY，然后通过环境变量 `REDFOX_API_KEY` 配置。\n\n### 使用\n\n**Q: 日榜数据什么时候更新？**\nA: 每日 17:30 更新昨日数据。当前时间未到 17:30 时，脚本会自动取前天数据。\n\n**Q: 支持哪些赛道？**\nA: 支持 27 个赛道，完整列表见 [references/category_map.md](references/category_map.md)。\n\n**Q: 数据回溯范围？**\nA: 日榜可查过去 7 天，周榜可查过去 3 周，月榜可查过去 3 个月。\n\n**Q: 赛道识别失败怎么办？**\nA: 无法识别时，请列出完整赛道列表供用户选择。\n\n**Q: 默认展示多少条数据？**\nA: 日榜默认展示 TOP 20，完整 50 条通过报告或追问查看。\n\n### 故障排除\n\n**Q: HTML 报告生成失败？**\nA: 确保 workspace 有写权限，且 JSON 数据文件路径正确。\n\n**Q: 数据不一致？**\nA: 对话展示多少条，HTML 报告就展示多少条，两者必须一致。如果用户要求查看全部 50 条，需要重新生成完整报告。\n\n---\n\nFile v1.0.5:README.md\n\n# 抖音热门账号推荐 / douyin-top-account\n\n---\n\n## 简介\n\n帮你快速发现抖音平台最具影响力的账号，掌握赛道动态。\n\n**核心价值**\n基于每日抖音全赛道 TOP50 账号的涨粉、互动、增长趋势数据，帮你解决选题决策、对标账号、竞品监控、赛道选择四大核心问题。\n\n**适用对象**\n\n- 🎬 内容创作者 — 了解同赛道优秀账号表现，寻找对标和学习对象\n- 🏢 品牌方/商务投放 — 高效筛选优质达人，评估合作价值\n- 📦 MCN 机构/内容团队 — 掌握竞品动态，制定运营策略\n- 📊 行业分析师 — 获取数据洞察，生成分析报告\n\n---\n\n## 功能特性\n\n### 核心功能\n\n- **排名查询**：查询抖音账号日榜、周榜、月榜 TOP 50 账号，默认展示 TOP 20\n- **赛道筛选**：支持抖音全站热门、或者按 27 个赛道品类的精准查询，支持模糊词匹配\n- **综合评分**：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，多维指标排名客观可信，满分 100 分\n- **HTML 报告生成**：生成带可视化布局的 HTML 文件，账号名可点击跳转抖音主页，支持到处图片或 PDF\n- **订阅推送**：支持设置日榜、周榜、月榜定时自动推送，也可按指定赛道订阅\n\n---\n\n## 密钥获取与安全说明\n\n- 本技能需要使用环境变量：`REDFOX_API_KEY`。\n- `REDFOX_API_KEY` 由 [红狐 hub](https://redfox.hk/settings/api-keys?souce=github) (`https://redfox.hk`)提供。\n- 请前往 [红狐 hub](https://redfox.hk?souce=github) 注册账号，获取 `REDFOX_API_KEY`。\n- 配置设备环境变量 `REDFOX_API_KEY` 后使用本技能。\n- 在提供密钥前，请先确认密钥来源、可用范围、有效期及是否支持重置/撤销。\n- 禁止在代码、提示词、日志或输出文件中硬编码/明文暴露密钥。\n\n---\n\n## 使用指南\n\n直接用自然语言描述你的需求，无需记忆任何命令格式。\n\n### 常用说法速查\n\n| 意图       | 示例话术                             | 效果                        |\n| ---------- | ------------------------------------ | --------------------------- |\n| 查日榜     | \"最新抖音账号日榜排名？\"             | 返回全品类最新日榜 TOP 20   |\n| 查赛道周榜 | \"上周抖音美食类账号排行怎么样？\"     | 返回美食赛道最新周榜 TOP 20 |\n| 查月榜     | \"帮我看看上个月游戏类抖音账号的榜单\" | 返回游戏赛道最新月榜 TOP 20 |\n| 查完整榜单 | \"我想看完整的 50 条\"                 | 展示完整 TOP 50 并生成报告  |\n| 下载报告   | \"帮我生成这次榜单的 HTML 报告\"       | 生成可视化 HTML 文件并交付  |\n| 订阅推送   | \"我想每天收到美食类抖音日榜更新\"     | 创建定时自动推送任务        |\n\n### 输出示例\n\n📊 抖音日榜 · 全品类\n\n数据日期：2025-05-19\n共 50 个账号上榜（展示 TOP 20 条）\n\n💡 榜单说明：数据于每日 17:30 更新昨日数据，与实时数据存在差异\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分 100：\n\n| 排名 | 账号名           | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n| :--: | ---------------- | :------: | :------: | :------: | :------: | :------: | :------: |\n| 🥇 1 | 账号名（可点击） |    96    |   254w   |   6919   |  24.6w   |   6.7w   |  13.4w   |\n| 🥈 2 | 账号名（可点击） |    89    |   113w   |   1.9w   |   7.9w   |   4787   |   3.1w   |\n|  …   | …                |    …     |    …     |    …     |    …     |    …     |    …     |\n\n⚡ 更多操作\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n2️⃣ 是否需要订阅具体赛道的账号表现？\n\n---\n\n## 使用场景\n\n| 场景                 | 角色                  | 示例问法                                    | 收益                               |\n| -------------------- | --------------------- | ------------------------------------------- | ---------------------------------- |\n| 寻找赛道标杆账号     | 内容创作者 / 个体运营 | \"美食类账号哪些做得好？帮我看看最新日榜\"    | 快速找到行业头部，明确内容方向     |\n| 评估达人合作候选人   | 品牌方 / 商务投放     | \"上周抖音美妆类 TOP50 有哪些账号表现亮眼？\" | 批量筛选，提升投放决策效率         |\n| 监控竞品赛道动态     | MCN 机构 / 内容团队   | \"最近一周游戏账号有哪些涨粉最快？\"          | 实时掌握竞争格局，快速响应市场变化 |\n| 生成行业分析报告     | 行业分析师 / 咨询顾问 | \"帮我生成 3 月份抖音游戏类榜单分析报告\"     | 一键生成可视化 HTML，方便汇报分享  |\n| 定期追踪账号排名变化 | 运营团队              | \"我想每周一收到旅行赛道的最新周榜\"          | 订阅推送，自动化榜单情报获取       |\n\n---\n\n## 重要数据说明\n\n### 榜单更新时间与数据回溯\n\n| 榜单类型 | 更新时间                    | 可回溯范围 |\n| -------- | --------------------------- | ---------- |\n| 日榜     | 每日 17:30 更新昨日数据     | 过去 7 天  |\n| 周榜     | 每周一 17:30 更新上周数据   | 过去 3 周  |\n| 月榜     | 每月 2 号 9:00 更新上月数据 | 过去 3 月  |\n\n### 支持赛道（27 个）\n\n个人才艺、生活 vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n\n### 数据时效\n\n数据非实时更新，账号互动数据为采集时刻的真实数据，与实时数据存在差异\n\n---\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn73hdehkbe5dwfzckzj8yhcw984t4cc\",\n  \"slug\": \"douyin-rank-tranker\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780393976764\n}\n\nFile v1.0.5:references/api_docs.md\n\n# 抖音榜单 API 接口文档\n\n## 接口基础信息\n\n| 字段 | 值 |\n|------|-----|\n| 接口地址 | `https://redfox.hk/story/api/dyData/query` |\n| 请求方式 | POST |\n| Content-Type | `application/json` |\n| 认证方式 | `X-API-KEY`（从环境变量 `REDFOX_API_KEY` 获取，格式 `ak_xxxxxxxx`） |\n\n---\n\n## 请求参数\n\n```json\n{\n  \"dateType\": \"days\",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）\n  \"rankDate\": \"2026-04-27\",    // 榜单开始日期（结束时间由服务器自行计算）（必填）\n  \"type\": \"美食\",               // 赛道分类，默认\"全部\"（必填）\n  \"source\": \"抖音每日最具影响力账号-ClawHub\"  // 固定值（必填）\n}\n```\n\n> ⚠️ **重要**：`source` 必须为 `\"抖音每日最具影响力账号\"`，使用其他值会导致接口返回空数据！\n\n---\n\n## 响应结构\n\n```json\n{\n  \"code\": 2000,\n  \"data\": [\n    {\n      \"accountLink\":    \"https://www.douyin.com/user/...\",\n      \"accountName\":    \"账号名称\",\n      \"accountRanking\": 1,\n      \"category\":       \"美食\",\n      \"fansCount\":      \"254.06w\",\n      \"fansGrowth\":     \"6919\",\n      \"likedGrowth\":    \"24.64w\",\n      \"commentsGrowth\": \"6.68w\",\n      \"collectedGrowth\":\"2.53w\",\n      \"sharedGrowth\":   \"13.39w\",\n      \"rankDate\":       \"2026-04-27\",\n      \"rankPeriod\":     \"日榜\"\n    }\n  ]\n}\n```\n\n---\n\n## 错误码\n\n| code | 含义 |\n|------|------|\n| 2000 | **成功**（注意：成功码是 2000 不是 0！） |\n| 其他 | 错误，data 为空数组 |\n\n---\n\n## 字段映射（fetch_rank.py normalized JSON）\n\n| 接口原始字段 | normalized 字段 | 含义 |\n|------------|----------------|------|\n| `accountRanking` | `rank` | 排名 |\n| `accountName` | `accountName` | 账号名 |\n| `category` | `category` | 赛道 |\n| `fansCount` | `followers` | 总粉丝数 |\n| `fansGrowth` | `newFans` | 新增粉丝 |\n| `likedGrowth` | `newLikes` | 新增点赞 |\n| `commentsGrowth` | `newComments` | 新增评论 |\n| `sharedGrowth` | `newShares` | 新增分享 |\n| `accountLink` | `profileUrl` | 主页链接 |\n\n---\n\n## 可用赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 赛道模糊匹配规则\n\n> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为\"全部\"。\n\n| 用户说（示例）| 映射到 |\n|--------|--------|\n| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |\n| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |\n| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |\n| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |\n| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |\n| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |\n| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |\n| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |\n| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |\n| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |\n| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |\n| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |\n| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |\n| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |\n| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |\n| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |\n| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |\n| 动漫、ACG、cosplay、cos、番剧 | 二次元 |\n| vlog、日常、生活记录、日常vlog | 生活vlog |\n| 人文、历史、文化、传统文化、国学 | 人文 |\n| 汽车、车、车评、新能源、摩托车 | 汽车 |\n| 农村、三农、乡村、农业、种地 | 三农 |\n| 颜值、造型、发型、美发、变美 | 颜值造型 |\n| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |\n| 恋爱、婚姻、两性、情侣、相亲 | 情感 |\n| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |\n| 篮球、足球、NBA、世界杯、滑雪、羽毛球 | 体育 |\n| 综合、全品类、所有 | 全部 |\n\nFile v1.0.5:references/category_map.md\n\n# 赛道映射表\n\n## 支持的赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 常用模糊匹配映射\n\n| 用户说 | 映射到 |\n|--------|--------|\n| 游戏、网游、手游 | 游戏 |\n| 美食、探店、烹饪 | 美食 |\n| 旅行、旅游 | 旅行 |\n| 科技、数码、手机 | 数码科技 |\n| 美妆、彩妆、护肤 | 化妆美容 |\n| 健身、运动、瑜伽 | 身体锻炼 |\n| 亲子、育儿、母婴 | 亲子 |\n| 穿搭、时尚 | 潮流风尚 |\n| 音乐、唱歌、弹琴 | 音乐 |\n| 影视、电影、剧集 | 影视 |\n| 健康、养生 | 健康医学 |\n| 萌宠、宠物 | 动物 |\n| 理财、投资 | 财富理财 |\n\n---\n\n## 赛道识别处理\n\n脚本 `fetch_rank.py` 使用 `match_category()` 函数进行匹配：\n\n### 匹配策略（按优先级）\n\n1. **精确匹配**：大小写不敏感，完整词匹配\n2. **模糊匹配**：按关键词长度降序扫描，取最长命中词\n3. **子串匹配**：用户输入是某个key的子串时（如\"美妆博主\"→\"美妆\"）\n4. **兜底**：返回\"全部\"\n\n### 赛道识别失败时的处理\n\n当 `category_fuzzy=False` 且无法识别时：\n1. 告知用户\"抱歉，无法识别该赛道类别\"\n2. 列出完整赛道列表\n3. 询问用户指定某一赛道\n\n### 完整赛道关键词（用于匹配）\n\n```\n全部、个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```\n\nFile v1.0.5:references/score_rules.md\n\n# 抖音账号综合评分规则\n\n## 评分维度\n\n综合评分基于以下维度计算：\n\n| 维度 | 权重 | 计算方式 |\n|------|------|----------|\n| 总粉丝数 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增粉丝 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增点赞 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增分享 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增评论 | 20% | ln(x+1)/ln(max+1) × 100 |\n\n## 计算公式\n\n对数归一化公式：\n```\nscore = ln(x + 1) / ln(max + 1) × 100\n```\n\n其中：\n- `x` 为该账号的当前指标值\n- `max` 为本次榜单中该指标的最大值\n\n## 示例\n\n假设某榜单数据如下：\n\n| 账号 | 新增点赞 | 得分计算 |\n|------|----------|----------|\n| A | 10万 | ln(100001)/ln(100001) × 100 = 100 |\n| B | 5万 | ln(50001)/ln(100001) × 100 ≈ 85 |\n| C | 1万 | ln(10001)/ln(100001) × 100 ≈ 67 |\n\n## 最终得分\n\n各维度加权求和后，保留整数作为综合评分。\n\nFile v1.0.5:references/update_rules.md\n\n# 更新规则与日期计算\n\n## 榜单更新时间\n\n| 榜单类型 | 更新时间 | 说明 |\n|----------|----------|------|\n| 日榜 | 每日 17:30 | 更新前一天数据 |\n| 周榜 | 每周一 17:30 | 更新上周数据 |\n| 月榜 | 每月2号 9点 | 更新上月数据 |\n\n---\n\n## 自动 offset 计算\n\n根据当前时间是否已到更新时间，自动选择 offset：\n\n| 榜单类型 | 当前时间 < 更新时间 | 当前时间 >= 更新时间 |\n|----------|-------------------|-------------------|\n| 日榜 | offset=2（取前2天） | offset=1（取前一天） |\n| 周榜 | offset=2（取前2周） | offset=1（取前1周） |\n| 月榜 | offset=2（取前2月） | offset=1（取前1月） |\n\n---\n\n## 日期计算公式\n\n### 日榜\n```\ntarget_date = date.today() - timedelta(days=offset)\n```\n\n### 周榜\n```\ntarget_date = date.today() - timedelta(weeks=offset) 后的最近周一\ntarget_sunday = target_monday + timedelta(days=6)\n```\n\n### 月榜\n```\ntarget_date = date.today() - timedelta(days=30*offset) 后的每月1号\ntarget_last_day = 下月1号 - 1天\n```\n\n---\n\n## 回溯范围校验\n\n| 榜单类型 | 最大回溯 | 超出时提示语 |\n|----------|----------|--------------|\n| 日榜 | 过去7天 | \"非常抱歉🙏，目前榜单最多支持回溯「过去7天」\" |\n| 周榜 | 过去3周 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3周」\" |\n| 月榜 | 过去3个月 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3月」\" |\n\n> ⚠️ **注意**：自动计算的日期（如\"最新\"）不受回溯窗口限制，脚本会自动调整 offset 取最近可用数据。\n\n---\n\n## 时间越界场景\n\n当用户明确指定日期但超出范围时：\n\n| 场景 | 提示语 |\n|------|--------|\n| 查询当日或未来日期 | `非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月AI热榜。` |\n| 查询超出回溯范围的历史日期 | `非常抱歉🙏，目前榜单最多支持回溯「过去X天/周/月」，我将为您查询最接近您需求的时间范围~` |\n\n---\n\n## 周期关键词识别\n\n自动从用户文本中识别日/周/月（无明确则默认**日榜**）：\n\n| 用户说 | 识别结果 |\n|--------|----------|\n| 含\"周\"、\"周榜\" | week |\n| 含\"月\"、\"月榜\" | month |\n| 其余默认 | day |\n\n### 识别优先级\n1. 优先识别周/月（长词优先）\n2. 日/月/年中的\"日\"不参与识别（如\"04月27日\"中的\"日\"）\n3. 无明确时间词时默认日榜\n\n---\n\n## 近期日期关键词\n\n| 关键词 | 含义 |\n|--------|------|\n| 昨日、昨天 | offset=1 |\n| 今日、今天 | offset=1 |\n| 最新 | 根据更新时间自动计算 offset |\n| 本周、这周 | 当前周 |\n| 本月、这个月 | 当前月 |\n\nFile v1.0.5:README.en.md\n\n# Douyin Top Account Rankings / douyin-top-account\n\n---\n\n## Introduction\n\nQuickly discover the most influential accounts on Douyin and stay on top of niche trends.\n\n**Core Value**\n\nBased on daily TOP 50 account data across all Douyin niches — follower growth, engagement, and growth trends — this skill helps you with topic decisions, benchmark accounts, competitor monitoring, and niche selection.\n\n**Who It's For**\n\n- 🎬 Content creators — see how top accounts perform in your niche and find benchmarks to learn from\n- 🏢 Brands / ad buyers — efficiently screen quality creators and evaluate partnership value\n- 📦 MCN agencies / content teams — track competitor dynamics and shape operations strategy\n- 📊 Industry analysts — get data insights and generate analysis reports\n\n---\n\n## Features\n\n### Core Capabilities\n\n- **Ranking queries**: Daily, weekly, and monthly TOP 50 account rankings; TOP 20 shown by default\n- **Niche filtering**: Query across all hot niches on Douyin or drill into any of 27 track categories with fuzzy keyword matching\n- **Composite score**: Weighted ranking from total followers, new followers, and new likes/shares/comments — objective and credible, scored out of 100\n- **HTML report generation**: Visual HTML reports with clickable account names linking to Douyin profiles; export as image or PDF\n- **Subscription push**: Schedule daily, weekly, or monthly ranking updates, or subscribe by specific niche\n\n---\n\n## API Key Acquisition & Security\n\n- This skill requires the environment variable: `REDFOX_API_KEY`.\n- `REDFOX_API_KEY` is provided by [RedFoxHub](https://redfox.hk/settings/api-keys?souce=github) (`https://redfox.hk`).\n- Register at [RedFoxHub](https://redfox.hk?souce=github) to obtain your `REDFOX_API_KEY`.\n- Configure `REDFOX_API_KEY` as a device environment variable before using this skill.\n- Before providing your key, confirm its source, available scope, validity period, and whether reset/revocation is supported.\n- Do not hard-code or expose the key in plaintext in code, prompts, logs, or output files.\n\n---\n\n## Usage Guide\n\nDescribe what you need in plain language — no commands to memorize.\n\n### Quick phrase reference\n\n| Intent               | Example phrase                                          | What you get                       |\n| -------------------- | ------------------------------------------------------- | ---------------------------------- |\n| Daily ranking        | \"What's the latest Douyin daily account ranking?\"       | Latest all-niche daily TOP 20      |\n| Weekly niche ranking | \"How did food accounts rank on Douyin last week?\"       | Latest food-niche weekly TOP 20    |\n| Monthly ranking      | \"Show me last month's gaming account ranking on Douyin\" | Latest gaming-niche monthly TOP 20 |\n| Full ranking         | \"I want to see all 50 entries\"                          | Full TOP 50 with report            |\n| Download report      | \"Generate an HTML report for this ranking\"              | Visual HTML file delivered         |\n| Subscribe            | \"Send me daily food-niche Douyin ranking updates\"       | Scheduled push task created        |\n\n### Sample output\n\n📊 Douyin Daily Ranking · All niches\n\nData date: 2025-05-19\n50 accounts on the list (showing TOP 20)\n\n💡 Ranking note: Data updates daily at 17:30 with yesterday's figures; may differ from real-time data.\n\n📐 Composite score: Weighted from total followers, new followers, and new likes/shares/comments; max 100:\n\n| Rank | Account (clickable) | Score | Total followers | New followers | New likes | New comments | New shares |\n| :--: | ------------------- | :---: | :-------------: | :-----------: | :-------: | :----------: | :--------: |\n| 🥇 1 | Account name        |  96   |      2.54M      |     6,919     |   246K    |     67K      |    134K    |\n| 🥈 2 | Account name        |  89   |      1.13M      |     19.1K     |    79K    |    4,787     |   31.2K    |\n|  …   | …                   |   …   |        …        |       …       |     …     |      …       |     …      |\n\n⚡ More actions\n⏺️ This ranking has 50 entries in total. View the remaining 30?\n\n📬 Subscription\n1️⃣ Subscribe to daily/weekly/monthly Douyin account ranking updates?\n2️⃣ Subscribe to a specific niche?\n\n---\n\n## Use Cases\n\n| Scenario                        | Role                    | Example question                                                | Benefit                                             |\n| ------------------------------- | ----------------------- | --------------------------------------------------------------- | --------------------------------------------------- |\n| Find niche benchmark accounts   | Creator / solo operator | \"Which food accounts are doing well? Show me the daily ranking\" | Quickly spot category leaders and clarify direction |\n| Evaluate creator partnerships   | Brand / ad buyer        | \"Who stood out in last week's Douyin beauty TOP 50?\"            | Batch screening for faster partnership decisions    |\n| Monitor competitor niches       | MCN / content team      | \"Which gaming accounts gained followers fastest this week?\"     | Track competitive landscape and respond quickly     |\n| Generate industry reports       | Analyst / consultant    | \"Generate a March Douyin gaming ranking report for me\"          | One-click visual HTML for sharing and presentations |\n| Track ranking changes regularly | Operations team         | \"Send me the latest travel weekly ranking every Monday\"         | Automated ranking intelligence via subscription     |\n\n---\n\n## Important data notes\n\n### Update schedule and lookback\n\n| Ranking type | Update time                           | Lookback      |\n| ------------ | ------------------------------------- | ------------- |\n| Daily        | Daily 17:30 — yesterday's data        | Past 7 days   |\n| Weekly       | Monday 17:30 — last week's data       | Past 3 weeks  |\n| Monthly      | 2nd of month 9:00 — last month's data | Past 3 months |\n\n### Supported niches (27)\n\nPersonal talent, lifestyle vlog, wealth & finance, anime/2D, home decor, education, short drama, tech, travel, food, beauty, pets, parenting, automotive, relationships, agriculture, health & medicine, fashion, dance, looks & styling, humanities, music, film & TV, fitness, sports, celebrity entertainment, gaming\n\n### Data freshness\n\nData is not real-time. Engagement figures reflect the collection moment and may differ from live platform data.\n\n---\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nTracks influential Douyin accounts by daily, weekly, and monthly rankings, with niche filtering, Markdown summaries, and HTML report generation based on RedFox API data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[redfox-data](https://clawhub.ai/user/redfox-data)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users such as content creators, brand marketers, MCN teams, and analysts use this skill to find top Douyin accounts, compare niche performance, monitor competitors, and generate shareable ranking reports.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Generated reports may behave like active web pages, including remote JavaScript loaded by the HTML report.\n\nMitigation: Open reports only when the RedFox API data source is trusted, and review generated HTML before sharing or archiving it.\n\nRisk: Report generation creates local files and may open them automatically in a browser.\n\nMitigation: Use trusted output locations and disable or avoid automatic opening when reviewing output in a sensitive environment.\n\nRisk: Custom Windows output paths with shell metacharacters can increase command-execution risk.\n\nMitigation: Use simple, trusted output paths without shell metacharacters when generating reports on Windows.\n\nRisk: Ranking results depend on the external RedFox API data source and may not reflect real-time Douyin data.\n\nMitigation: Treat rankings as dated snapshots and include the reported data date and update schedule when making decisions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/redfox-data/skills/douyin-rank-tranker)\n- [RedFox API documentation](references/api_docs.md)\n- [Category mapping rules](references/category_map.md)\n- [Scoring rules](references/score_rules.md)\n- [Update and date calculation rules](references/update_rules.md)\n- [RedFox API endpoint](https://redfox.hk/story/api/dyData/query)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Files, Shell commands, Configuration]\n\n**Output Format:** [Markdown ranking tables with optional JSON data files and HTML reports]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires REDFOX_API_KEY and may create local report files.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.5:assets/category_config.json\n\n{\n  \"category_map\": {\n    \"全部\": \"全部\",\n    \"个人才艺\": \"个人才艺\",\n    \"生活vlog\": \"生活vlog\",\n    \"生活VLOG\": \"生活vlog\",\n    \"财富理财\": \"财富理财\",\n    \"二次元\": \"二次元\",\n    \"居家装修\": \"居家装修\",\n    \"学习教育\": \"学习教育\",\n    \"小剧场\": \"小剧场\",\n    \"数码科技\": \"数码科技\",\n    \"旅行\": \"旅行\",\n    \"美食\": \"美食\",\n    \"化妆美容\": \"化妆美容\",\n    \"动物\": \"动物\",\n    \"亲子\": \"亲子\",\n    \"汽车\": \"汽车\",\n    \"情感\": \"情感\",\n    \"三农\": \"三农\",\n    \"健康医学\": \"健康医学\",\n    \"潮流风尚\": \"潮流风尚\",\n    \"舞蹈才艺\": \"舞蹈才艺\",\n    \"颜值造型\": \"颜值造型\",\n    \"人文\": \"人文\",\n    \"音乐\": \"音乐\",\n    \"影视\": \"影视\",\n    \"身体锻炼\": \"身体锻炼\",\n    \"体育\": \"体育\",\n    \"明星娱乐\": \"明星娱乐\",\n    \"游戏\": \"游戏\",\n    \"美妆护肤\": \"化妆美容\",\n    \"彩妆护肤\": \"化妆美容\",\n    \"美妆博主\": \"化妆美容\",\n    \"护肤美妆\": \"化妆美容\",\n    \"化妆品\": \"化妆美容\",\n    \"美妆\": \"化妆美容\",\n    \"彩妆\": \"化妆美容\",\n    \"护肤\": \"化妆美容\",\n    \"美容\": \"化妆美容\",\n    \"口红\": \"化妆美容\",\n    \"粉底\": \"化妆美容\",\n    \"眼妆\": \"化妆美容\",\n    \"美白\": \"化妆美容\",\n    \"防晒\": \"化妆美容\",\n    \"抗老\": \"化妆美容\",\n    \"素颜\": \"化妆美容\",\n    \"科技数码\": \"数码科技\",\n    \"数码测评\": \"数码科技\",\n    \"手机评测\": \"数码科技\",\n    \"电脑配件\": \"数码科技\",\n    \"人工智能\": \"数码科技\",\n    \"科技\": \"数码科技\",\n    \"数码\": \"数码科技\",\n    \"手机\": \"数码科技\",\n    \"电脑\": \"数码科技\",\n    \"平板\": \"数码科技\",\n    \"耳机\": \"数码科技\",\n    \"相机\": \"数码科技\",\n    \"智能硬件\": \"数码科技\",\n    \"智能家居\": \"数码科技\",\n    \"AI\": \"数码科技\",\n    \"ai\": \"数码科技\",\n    \"互联网\": \"数码科技\",\n    \"程序员\": \"数码科技\",\n    \"软件\": \"数码科技\",\n    \"硬件\": \"数码科技\",\n    \"极客\": \"数码科技\",\n    \"健康养生\": \"健康医学\",\n    \"中医养生\": \"健康医学\",\n    \"健康医疗\": \"健康医学\",\n    \"健康\": \"健康医学\",\n    \"养生\": \"健康医学\",\n    \"医疗\": \"健康医学\",\n    \"医生\": \"健康医学\",\n    \"医院\": \"健康医学\",\n    \"中医\": \"健康医学\",\n    \"减肥\": \"健康医学\",\n    \"营养\": \"健康医学\",\n    \"食疗\": \"健康医学\",\n    \"保健\": \"健康医学\",\n    \"心理\": \"健康医学\",\n    \"睡眠\": \"健康医学\",\n    \"美食探店\": \"美食\",\n    \"探店博主\": \"美食\",\n    \"吃播\": \"美食\",\n    \"烹饪\": \"美食\",\n    \"探店\": \"美食\",\n    \"下厨\": \"美食\",\n    \"厨艺\": \"美食\",\n    \"菜谱\": \"美食\",\n    \"甜品\": \"美食\",\n    \"烘焙\": \"美食\",\n    \"火锅\": \"美食\",\n    \"小吃\": \"美食\",\n    \"料理\": \"美食\",\n    \"食材\": \"美食\",\n    \"厨房\": \"美食\",\n    \"餐厅\": \"美食\",\n    \"网红餐\": \"美食\",\n    \"旅行vlog\": \"旅行\",\n    \"旅游博主\": \"旅行\",\n    \"旅游攻略\": \"旅行\",\n    \"旅游\": \"旅行\",\n    \"出行\": \"旅行\",\n    \"打卡\": \"旅行\",\n    \"景区\": \"旅行\",\n    \"景点\": \"旅行\",\n    \"民宿\": \"旅行\",\n    \"户外探险\": \"旅行\",\n    \"露营\": \"旅行\",\n    \"徒步\": \"旅行\",\n    \"背包客\": \"旅行\",\n    \"出国\": \"旅行\",\n    \"签证\": \"旅行\",\n    \"时尚穿搭\": \"潮流风尚\",\n    \"穿搭博主\": \"潮流风尚\",\n    \"街头时尚\": \"潮流风尚\",\n    \"穿搭\": \"潮流风尚\",\n    \"时尚\": \"潮流风尚\",\n    \"搭配\": \"潮流风尚\",\n    \"ootd\": \"潮流风尚\",\n    \"OOTD\": \"潮流风尚\",\n    \"潮牌\": \"潮流风尚\",\n    \"球鞋\": \"潮流风尚\",\n    \"sneaker\": \"潮流风尚\",\n    \"潮流\": \"潮流风尚\",\n    \"国潮\": \"潮流风尚\",\n    \"汉服\": \"潮流风尚\",\n    \"衣服\": \"潮流风尚\",\n    \"服装\": \"潮流风尚\",\n    \"品牌\": \"潮流风尚\",\n    \"奢侈品\": \"潮流风尚\",\n    \"包包\": \"潮流风尚\",\n    \"亲子育儿\": \"亲子\",\n    \"母婴育儿\": \"亲子\",\n    \"育儿经验\": \"亲子\",\n    \"育儿\": \"亲子\",\n    \"母婴\": \"亲子\",\n    \"宝宝\": \"亲子\",\n    \"婴儿\": \"亲子\",\n    \"儿童\": \"亲子\",\n    \"孕妈\": \"亲子\",\n    \"妈妈\": \"亲子\",\n    \"奶爸\": \"亲子\",\n    \"辅食\": \"亲子\",\n    \"胎教\": \"亲子\",\n    \"早教\": \"亲子\",\n    \"知识教育\": \"学习教育\",\n    \"在线教育\": \"学习教育\",\n    \"考研\": \"学习教育\",\n    \"高考\": \"学习教育\",\n    \"英语\": \"学习教育\",\n    \"数学\": \"学习教育\",\n    \"语文\": \"学习教育\",\n    \"教育\": \"学习教育\",\n    \"学习\": \"学习教育\",\n    \"读书\": \"学习教育\",\n    \"备考\": \"学习教育\",\n    \"刷题\": \"学习教育\",\n    \"知识\": \"学习教育\",\n    \"学科\": \"学习教育\",\n    \"老师\": \"学习教育\",\n    \"课程\": \"学习教育\",\n    \"讲解\": \"学习教育\",\n    \"考试\": \"学习教育\",\n    \"技能\": \"学习教育\",\n    \"宠物猫狗\": \"动物\",\n    \"猫咪\": \"动物\",\n    \"宠物\": \"动物\",\n    \"猫\": \"动物\",\n    \"狗\": \"动物\",\n    \"dog\": \"动物\",\n    \"cat\": \"动物\",\n    \"狗狗\": \"动物\",\n    \"萌宠\": \"动物\",\n    \"鸟\": \"动物\",\n    \"鱼\": \"动物\",\n    \"兔子\": \"动物\",\n    \"仓鼠\": \"动物\",\n    \"野生动物\": \"动物\",\n    \"健身运动\": \"身体锻炼\",\n    \"减脂塑形\": \"身体锻炼\",\n    \"健身打卡\": \"身体锻炼\",\n    \"健身\": \"身体锻炼\",\n    \"运动\": \"身体锻炼\",\n    \"瑜伽\": \"身体锻炼\",\n    \"锻炼\": \"身体锻炼\",\n    \"跑步\": \"身体锻炼\",\n    \"增肌\": \"身体锻炼\",\n    \"减脂\": \"身体锻炼\",\n    \"塑形\": \"身体锻炼\",\n    \"马拉松\": \"身体锻炼\",\n    \"游泳\": \"身体锻炼\",\n    \"拳击\": \"身体锻炼\",\n    \"格斗\": \"身体锻炼\",\n    \"器械\": \"身体锻炼\",\n    \"撸铁\": \"身体锻炼\",\n    \"健美\": \"身体锻炼\",\n    \"家居装修\": \"居家装修\",\n    \"室内设计\": \"居家装修\",\n    \"装修改造\": \"居家装修\",\n    \"房屋装修\": \"居家装修\",\n    \"装修\": \"居家装修\",\n    \"家居\": \"居家装修\",\n    \"家装\": \"居家装修\",\n    \"软装\": \"居家装修\",\n    \"硬装\": \"居家装修\",\n    \"整理收纳\": \"居家装修\",\n    \"收纳\": \"居家装修\",\n    \"设计师\": \"居家装修\",\n    \"北欧风\": \"居家装修\",\n    \"极简风\": \"居家装修\",\n    \"新中式\": \"居家装修\",\n    \"二手改造\": \"居家装修\",\n    \"影视解说\": \"影视\",\n    \"电影解说\": \"影视\",\n    \"剧集推荐\": \"影视\",\n    \"电影\": \"影视\",\n    \"剧集\": \"影视\",\n    \"电视剧\": \"影视\",\n    \"短剧\": \"影视\",\n    \"综艺\": \"影视\",\n    \"动画片\": \"影视\",\n    \"纪录片\": \"影视\",\n    \"电影推荐\": \"影视\",\n    \"追剧\": \"影视\",\n    \"影评\": \"影视\",\n    \"剧评\": \"影视\",\n    \"番剧\": \"影视\",\n    \"音乐创作\": \"音乐\",\n    \"原创音乐\": \"音乐\",\n    \"翻唱\": \"音乐\",\n    \"唱歌\": \"音乐\",\n    \"弹琴\": \"音乐\",\n    \"弹吉他\": \"音乐\",\n    \"吉他\": \"音乐\",\n    \"钢琴\": \"音乐\",\n    \"古琴\": \"音乐\",\n    \"编曲\": \"音乐\",\n    \"说唱\": \"音乐\",\n    \"rap\": \"音乐\",\n    \"RAP\": \"音乐\",\n    \"歌手\": \"音乐\",\n    \"乐器\": \"音乐\",\n    \"DJ\": \"音乐\",\n    \"dj\": \"音乐\",\n    \"电音\": \"音乐\",\n    \"民谣\": \"音乐\",\n    \"古风\": \"音乐\",\n    \"舞蹈教学\": \"舞蹈才艺\",\n    \"街舞\": \"舞蹈才艺\",\n    \"舞蹈\": \"舞蹈才艺\",\n    \"跳舞\": \"舞蹈才艺\",\n    \"古典舞\": \"舞蹈才艺\",\n    \"民族舞\": \"舞蹈才艺\",\n    \"爵士舞\": \"舞蹈才艺\",\n    \"芭蕾\": \"舞蹈才艺\",\n    \"breaking\": \"舞蹈才艺\",\n    \"hiphop\": \"舞蹈才艺\",\n    \"HIPHOP\": \"舞蹈才艺\",\n    \"编舞\": \"舞蹈才艺\",\n    \"明星八卦\": \"明星娱乐\",\n    \"娱乐八卦\": \"明星娱乐\",\n    \"明星\": \"明星娱乐\",\n    \"娱乐\": \"明星娱乐\",\n    \"偶像\": \"明星娱乐\",\n    \"idol\": \"明星娱乐\",\n    \"追星\": \"明星娱乐\",\n    \"八卦\": \"明星娱乐\",\n    \"艺人\": \"明星娱乐\",\n    \"网红\": \"明星娱乐\",\n    \"名人\": \"明星娱乐\",\n    \"游戏直播\": \"游戏\",\n    \"游戏解说\": \"游戏\",\n    \"手游攻略\": \"游戏\",\n    \"网游\": \"游戏\",\n    \"手游\": \"游戏\",\n    \"电竞\": \"游戏\",\n    \"主机游戏\": \"游戏\",\n    \"电子游戏\": \"游戏\",\n    \"主播\": \"游戏\",\n    \"LOL\": \"游戏\",\n    \"lol\": \"游戏\",\n    \"王者荣耀\": \"游戏\",\n    \"和平精英\": \"游戏\",\n    \"原神\": \"游戏\",\n    \"MC\": \"游戏\",\n    \"我的世界\": \"游戏\",\n    \"英雄联盟\": \"游戏\",\n    \"PUBG\": \"游戏\",\n    \"使命召唤\": \"游戏\",\n    \"战双\": \"游戏\",\n    \"鸣潮\": \"游戏\",\n    \"steam\": \"游戏\",\n    \"Steam\": \"游戏\",\n    \"投资理财\": \"财富理财\",\n    \"股票基金\": \"财富理财\",\n    \"理财\": \"财富理财\",\n    \"财经\": \"财富理财\",\n    \"股票\": \"财富理财\",\n    \"基金\": \"财富理财\",\n    \"炒股\": \"财富理财\",\n    \"期货\": \"财富理财\",\n    \"加密货币\": \"财富理财\",\n    \"比特币\": \"财富理财\",\n    \"投资\": \"财富理财\",\n    \"创业\": \"财富理财\",\n    \"副业\": \"财富理财\",\n    \"二次元动漫\": \"二次元\",\n    \"动漫\": \"二次元\",\n    \"漫画\": \"二次元\",\n    \"ACG\": \"二次元\",\n    \"acg\": \"二次元\",\n    \"anime\": \"二次元\",\n    \"cosplay\": \"二次元\",\n    \"cos\": \"二次元\",\n    \"COS\": \"二次元\",\n    \"Cosplay\": \"二次元\",\n    \"鬼灭\": \"二次元\",\n    \"海贼王\": \"二次元\",\n    \"火影\": \"二次元\",\n    \"进击的巨人\": \"二次元\",\n    \"漫威\": \"二次元\",\n    \"抱枕\": \"二次元\",\n    \"生活日常\": \"生活vlog\",\n    \"日常vlog\": \"生活vlog\",\n    \"vlog博主\": \"生活vlog\",\n    \"vlog\": \"生活vlog\",\n    \"VLOG\": \"生活vlog\",\n    \"Vlog\": \"生活vlog\",\n    \"日常\": \"生活vlog\",\n    \"生活记录\": \"生活vlog\",\n    \"生活分享\": \"生活vlog\",\n    \"城市生活\": \"生活vlog\",\n    \"人文历史\": \"人文\",\n    \"历史文化\": \"人文\",\n    \"历史\": \"人文\",\n    \"文化\": \"人文\",\n    \"文物\": \"人文\",\n    \"传统文化\": \"人文\",\n    \"国学\": \"人文\",\n    \"地理\": \"人文\",\n    \"人文地理\": \"人文\",\n    \"纪实\": \"人文\",\n    \"社会\": \"人文\",\n    \"汽车测评\": \"汽车\",\n    \"买车选车\": \"汽车\",\n    \"新能源车\": \"汽车\",\n    \"新能源\": \"汽车\",\n    \"驾车\": \"汽车\",\n    \"车评\": \"汽车\",\n    \"摩托车\": \"汽车\",\n    \"越野\": \"汽车\",\n    \"车\": \"汽车\",\n    \"三农生活\": \"三农\",\n    \"农村生活\": \"三农\",\n    \"乡村\": \"三农\",\n    \"农村\": \"三农\",\n    \"农业\": \"三农\",\n    \"种地\": \"三农\",\n    \"农民\": \"三农\",\n    \"土地\": \"三农\",\n    \"渔村\": \"三农\",\n    \"颜值博主\": \"颜值造型\",\n    \"发型\": \"颜值造型\",\n    \"造型\": \"颜值造型\",\n    \"颜值\": \"颜值造型\",\n    \"发色\": \"颜值造型\",\n    \"美发\": \"颜值造型\",\n    \"变美\": \"颜值造型\",\n    \"整形\": \"颜值造型\",\n    \"修容\": \"颜值造型\",\n    \"才艺展示\": \"个人才艺\",\n    \"才艺\": \"个人才艺\",\n    \"魔术\": \"个人才艺\",\n    \"杂技\": \"个人才艺\",\n    \"变装\": \"个人才艺\",\n    \"脱口秀\": \"个人才艺\",\n    \"相声\": \"个人才艺\",\n    \"小品\": \"个人才艺\",\n    \"情感博主\": \"情感\",\n    \"恋爱\": \"情感\",\n    \"婚姻\": \"情感\",\n    \"失恋\": \"情感\",\n    \"两性\": \"情感\",\n    \"情侣\": \"情感\",\n    \"家庭关系\": \"情感\",\n    \"相亲\": \"情感\",\n    \"单身\": \"情感\",\n    \"情景剧\": \"小剧场\",\n    \"微剧\": \"小剧场\",\n    \"短视频剧\": \"小剧场\",\n    \"剧情\": \"小剧场\",\n    \"搞笑视频\": \"小剧场\",\n    \"幽默\": \"小剧场\",\n    \"搞笑\": \"小剧场\",\n    \"喜剧\": \"小剧场\",\n    \"反转\": \"小剧场\",\n    \"体育赛事\": \"体育\",\n    \"篮球\": \"体育\",\n    \"足球\": \"体育\",\n    \"乒乓球\": \"体育\",\n    \"羽毛球\": \"体育\",\n    \"网球\": \"体育\",\n    \"排球\": \"体育\",\n    \"冰雪运动\": \"体育\",\n    \"滑雪\": \"体育\",\n    \"滑板\": \"体育\",\n    \"电竞体育\": \"体育\",\n    \"NBA\": \"体育\",\n    \"CBA\": \"体育\",\n    \"世界杯\": \"体育\",\n    \"奥运\": \"体育\",\n    \"综合\": \"全部\",\n    \"全品类\": \"全部\",\n    \"所有\": \"全部\",\n    \"全\": \"全部\"\n  },\n  \"exact_categories\": [\n    \"汽车\",\n    \"数码科技\",\n    \"生活vlog\",\n    \"颜值造型\",\n    \"小剧场\",\n    \"体育\",\n    \"学习教育\",\n    \"潮流风尚\",\n    \"人文\",\n    \"音乐\",\n    \"亲子\",\n    \"情感\",\n    \"旅行\",\n    \"个人才艺\",\n    \"舞蹈才艺\",\n    \"二次元\",\n    \"动物\",\n    \"健康医学\",\n    \"游戏\",\n    \"居家装修\",\n    \"化妆美容\",\n    \"明星娱乐\",\n    \"美食\",\n    \"影视\",\n    \"三农\",\n    \"身体锻炼\",\n    \"全部\",\n    \"财富理财\"\n  ],\n  \"cat_display\": {\n    \"全部\": \"全品类\",\n    \"化妆美容\": \"美妆类\",\n    \"美食\": \"美食类\",\n    \"旅行\": \"旅行类\",\n    \"数码科技\": \"科技类\",\n    \"游戏\": \"游戏类\",\n    \"健康医学\": \"健康类\",\n    \"亲子\": \"亲子类\",\n    \"身体锻炼\": \"运动类\",\n    \"学习教育\": \"教育类\",\n    \"动物\": \"动物类\",\n    \"潮流风尚\": \"时尚类\",\n    \"居家装修\": \"家居类\",\n    \"影视\": \"影视类\",\n    \"音乐\": \"音乐类\",\n    \"舞蹈才艺\": \"舞蹈类\",\n    \"明星娱乐\": \"娱乐类\",\n    \"体育\": \"体育类\",\n    \"情感\": \"情感类\",\n    \"财富理财\": \"理财类\",\n    \"二次元\": \"二次元类\",\n    \"小剧场\": \"小剧场类\",\n    \"汽车\": \"汽车类\",\n    \"三农\": \"三农类\",\n    \"人文\": \"人文类\",\n    \"颜值造型\": \"颜值类\",\n    \"个人才艺\": \"才艺类\",\n    \"生活vlog\": \"生活类\"\n  }\n}\n\nFile v1.0.5:assets/period_config.json\n\n{\n  \"period_map\": {\n    \"day\": \"days\",\n    \"week\": \"weeks\",\n    \"month\": \"months\"\n  },\n  \"period_labels\": {\n    \"day\": \"日榜\",\n    \"week\": \"周榜\",\n    \"month\": \"月榜\"\n  },\n  \"period_keys\": {\n    \"days\": \"day\",\n    \"weeks\": \"week\",\n    \"months\": \"month\"\n  },\n  \"short_aliases\": {\n    \"day\": \"日\",\n    \"week\": \"周\",\n    \"month\": \"月\"\n  },\n  \"long_aliases\": {\n    \"day\": [\n      \"day\",\n      \"daily\",\n      \"日榜\",\n      \"日排名\",\n      \"日间\",\n      \"今日\",\n      \"今天\",\n      \"昨日\"\n    ],\n    \"week\": [\n      \"week\",\n      \"weekly\",\n      \"周榜\",\n      \"周排名\",\n      \"周间\",\n      \"上周\",\n      \"本周\",\n      \"这周\",\n      \"本周期\"\n    ],\n    \"month\": [\n      \"month\",\n      \"monthly\",\n      \"月榜\",\n      \"月排名\",\n      \"月间\",\n      \"上月\",\n      \"本月\",\n      \"这个月\"\n    ]\n  },\n  \"update_rules\": {\n    \"day\": {\n      \"label\": \"日榜\",\n      \"update_time\": \"每日17:30\",\n      \"window_days\": 9\n    },\n    \"week\": {\n      \"label\": \"周榜\",\n      \"update_time\": \"每周一17:30\",\n      \"window_days\": 21\n    },\n    \"month\": {\n      \"label\": \"月榜\",\n      \"update_time\": \"每月2号9点\",\n      \"window_days\": 90\n    }\n  }\n}\n\nArchive v1.0.4: 11 files, 32993 bytes\n\nFiles: assets/category_config.json (13248b), assets/period_config.json (1186b), references/api_docs.md (5129b), references/category_map.md (2450b), references/score_rules.md (936b), references/update_rules.md (2766b), scripts/fetch_rank.py (31095b), scripts/generate_report.py (25290b), skill-card.md (2617b), SKILL.md (9499b), _meta.json (138b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: douyin-rank-tranker\ndescription: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\ndependency:\n  python:\n    - requests>=2.28.0\n---\n\n# 抖音每日最具影响力账号\n\n## 概述\n\n提供抖音全品类/分品类账号每日/每周/每月的表现榜单查询。\n\n**更新时间与回溯范围：**\n\n| 榜单类型 | 更新时间 | 回溯范围 |\n|---------|---------|---------|\n| 日榜 | 每日17:30 | 过去7天 |\n| 周榜 | 每周一17:30 | 过去3周 |\n| 月榜 | 每月2号9点 | 过去3月 |\n\n**三大核心能力：**\n\n- 📊 **排名查询** — 查日榜、周榜、月榜 TOP50\n- 🎯 **领域查询** — 按品类筛选（美食、旅行、科技、游戏等）\n- 📥 **报告下载** — 生成 HTML 可视化报告，支持导出 PDF/截图\n\n---\n\n## 目标用户与使用场景\n\n| 用户分层                  | 核心痛点                                                             | 查询示例                                             |\n| ------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------- |\n| 新手内容创作者 / 个体运营 | 不知道哪些账号做得好、无从借鉴、不知道自己的水平在赛道内处于什么位置 | \"美食类账号怎么找？帮我看看我的账号在美食赛道排多少\" |\n| 品牌方 / 商务投放人员     | 找达人效率低、数据维度单一、不了解账号历史表现                       | \"上周抖音美妆类TOP50有哪些账号表现好？\"              |\n| MCN机构 / 内容团队        | 竞品账号情报获取难、无法快速掌握市场动态                             | \"最近一周哪些游戏账号涨粉最快？\"                     |\n| 行业分析师 / 咨询从业者   | 数据获取门槛高、缺乏可视化报告工具                                   | \"帮我生成一份3月份的抖音游戏类榜单分析报告\"          |\n\n---\n\n## 触发词与意图识别\n\n| 用户意图 | 典型触发词                                              | 对应操作                          |\n| -------- | ------------------------------------------------------- | --------------------------------- |\n| 排名查询 | 抖音日榜、周榜、月榜、TOP50、最夯账号、排行榜、最新推荐 | 调用脚本查询并格式化输出          |\n| 领域查询 | 美食类/旅行类/游戏类/科技类...抖音排名                  | 调用脚本并按赛道筛选              |\n| 报告下载 | 下载报告、导出榜单、生成报告                            | 运行 generate_report.py 生成 HTML |\n\n---\n\n## 执行流程\n\n### 第一步：查询数据（默认展示 TOP 20）\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json\n```\n\n脚本会自动解析：\n\n- **时间**：从用户文本识别日/周/月，未明确则默认日榜\n- **日期**：自动计算最新可用日期（日榜17:30更新，周榜周一17:30更新，月榜每月2号9点更新）\n- **赛道**：支持模糊匹配（如\"美妆\"→\"化妆美容\"）\n\n脚本输出包含：\n1. Markdown 格式榜单表格（最多20条）\n2. \"更多操作\"引导模块\n3. \"订阅服务\"引导模块（根据用户选择的赛道动态展示）\n\n### 第二步：生成 HTML 报告（立即执行）\n\n```bash\npython scripts/generate_report.py --data /path/to/data.json --limit 20  # 自动生成文件名\n```\n\n> **重要**：HTML 报告展示的数据条数必须与对话中展示的数量保持一致！\n> - 对话默认展示 20 条 → HTML 报告也只展示 20 条\n> - 用户要求查看全部 50 条 → 重新生成完整报告\n\n使用 `deliver_attachments` 交付 HTML 文件。\n\n### 用户查看全部数据时\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50  # 自动生成完整文件名\n```\n\n使用 `deliver_attachments` 交付完整 HTML 文件。\n\n---\n\n## 输出模板\n\n### Markdown 表格（对话输出）\n\n```\n📊 抖音{period_label} · {category_label}\n\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n> **时间边界处理**（warning 插入榜单说明开头）：\n> - 查询当日/未来日期：「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」\n> - 查询早于回溯日期：「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」\n> - 正常查询：warning 为空，直接展示更新时间\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://www.douyin.com/user/xxx) | 96 | 254.06w | 6919 | 24.64w | 6.68w | 13.39w |\n| 🥈 2 | [账号B](https://www.douyin.com/user/xxx) | 89 | 113.55w | 1.91w | 7.90w | 4787 | 3.12w |\n| 🥉 3 | [账号C](https://www.douyin.com/user/xxx) | 87 | 439.14w | 5859 | 16.51w | 993 | 687 |\n| ... | ... | ... | ... | ... | ... | ... | ... |\n```\n\n⚡ **更多操作**\n\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n\n2️⃣ 是否需要订阅具体赛道的账号表现？我们支持：个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n\n## 生成 HTML 报告\n- 执行脚本生成 HTML 报告文件\n  - 脚本调用示例：`python scripts/generate_report.py --data <fetch_rank输出> --limit 20  # 自动生成文件名`\n  - 文件名格式：`{赛道}{周期}{YYYYMMDD}_{时间戳}.html（如 美食周榜20260511_时间戳.html）`（如 `20260511_美食.html`）\n\n> ⚠️ **字段说明**：默认展示 TOP 20 条数据，最高互动 = 点赞 + 评论 + 分享\n\n---\n\n## 订阅服务\n\n用户确认订阅后，使用 `automation_update` 工具创建自动化任务：\n\n### 订阅排名更新推送\n- **日榜**：`FREQ=DAILY;BYHOUR=19;BYMINUTE=30`\n- **周榜**：`FREQ=WEEKLY;BYDAY=MO;BYHOUR=19;BYMINUTE=30`\n- **月榜**：`FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=16;BYMINUTE=0`\n\nautomation prompt 示例：`查询抖音最新日榜（全品类），生成报告并推送给用户`\n\n### 订阅赛道账号表现\n- automation prompt 示例：`查询抖音最新日榜（美食赛道），生成报告并推送给用户`\n\n---\n\n## 常见问题\n\n**Q: 日榜数据什么时候更新？**\nA: 每日 17:30 更新昨日数据。当前时间未到17:30时，脚本会自动取前天数据。\n\n**Q: 支持哪些赛道？**\nA: 支持27个赛道，完整列表见 [references/category_map.md](references/category_map.md)。\n\n**Q: 数据回溯范围？**\nA: 日榜可查过去7天，周榜可查过去3周，月榜可查过去3个月。\n\n**Q: 赛道识别失败怎么办？**\nA: 无法识别时，请列出完整赛道列表供用户选择。\n\n---\n\n## 资源索引\n\n| 文件                                                     | 用途                         |\n| -------------------------------------------------------- | ---------------------------- |\n| [scripts/fetch_rank.py](scripts/fetch_rank.py)           | 查询抖音榜单数据             |\n| [scripts/generate_report.py](scripts/generate_report.py) | 生成 HTML 可视化报告         |\n| [references/category_map.md](references/category_map.md) | 赛道映射表与匹配规则         |\n| [references/update_rules.md](references/update_rules.md) | 更新规则与日期计算逻辑       |\n| [references/score_rules.md](references/score_rules.md)   | 评分算法说明                 |\n| [references/api_docs.md](references/api_docs.md)         | API 接口详细文档（技术参考） |\n\n---\n\n## 注意事项\n\n- ⚠️ **时间边界处理（必须严格遵守）**：\n  - **查询当日及未来日期**：在输出开头回复「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」然后继续展示最近一期数据\n  - **查询时间早于回溯日期**：在输出开头回复「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」然后继续展示最接近的可查数据\n- 严禁任何联网搜索\n- ⚠️ **数据一致性**：对话展示多少条，HTML 报告就展示多少条，两者必须一致\n- 日榜默认展示 TOP 20，完整 50 条通过报告或追问查看\n- HTML 报告账号名均可点击跳转抖音主页\n- 生成报告前确保 workspace 有写权限\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn73hdehkbe5dwfzckzj8yhcw984t4cc\",\n  \"slug\": \"douyin-rank-tranker\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1779180384181\n}\n\nFile v1.0.4:references/api_docs.md\n\n# 抖音榜单 API 接口文档\n\n## 接口基础信息\n\n| 字段 | 值 |\n|------|-----|\n| 接口地址 | `https://redfox.hk/story/api/dyData/query` |\n| 请求方式 | POST |\n| Content-Type | `application/json` |\n| 认证方式 | 无（公开接口） |\n\n---\n\n## 请求参数\n\n```json\n{\n  \"dateType\": \"days\",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）\n  \"rankDate\": \"2026-04-27\",    // 榜单开始日期（结束时间由服务器自行计算）（必填）\n  \"type\": \"美食\",               // 赛道分类，默认\"全部\"（必填）\n  \"source\": \"抖音每日最具影响力账号\"  // 固定值（必填）\n}\n```\n\n> ⚠️ **重要**：`source` 必须为 `\"抖音每日最具影响力账号\"`，使用其他值会导致接口返回空数据！\n\n---\n\n## 响应结构\n\n```json\n{\n  \"code\": 2000,\n  \"data\": [\n    {\n      \"accountLink\":    \"https://www.douyin.com/user/...\",\n      \"accountName\":    \"账号名称\",\n      \"accountRanking\": 1,\n      \"category\":       \"美食\",\n      \"fansCount\":      \"254.06w\",\n      \"fansGrowth\":     \"6919\",\n      \"likedGrowth\":    \"24.64w\",\n      \"commentsGrowth\": \"6.68w\",\n      \"collectedGrowth\":\"2.53w\",\n      \"sharedGrowth\":   \"13.39w\",\n      \"rankDate\":       \"2026-04-27\",\n      \"rankPeriod\":     \"日榜\"\n    }\n  ]\n}\n```\n\n---\n\n## 错误码\n\n| code | 含义 |\n|------|------|\n| 2000 | **成功**（注意：成功码是 2000 不是 0！） |\n| 其他 | 错误，data 为空数组 |\n\n---\n\n## 字段映射（fetch_rank.py normalized JSON）\n\n| 接口原始字段 | normalized 字段 | 含义 |\n|------------|----------------|------|\n| `accountRanking` | `rank` | 排名 |\n| `accountName` | `accountName` | 账号名 |\n| `category` | `category` | 赛道 |\n| `fansCount` | `followers` | 总粉丝数 |\n| `fansGrowth` | `newFans` | 新增粉丝 |\n| `likedGrowth` | `newLikes` | 新增点赞 |\n| `commentsGrowth` | `newComments` | 新增评论 |\n| `sharedGrowth` | `newShares` | 新增分享 |\n| `accountLink` | `profileUrl` | 主页链接 |\n\n---\n\n## 可用赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 赛道模糊匹配规则\n\n> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为\"全部\"。\n\n| 用户说（示例）| 映射到 |\n|--------|--------|\n| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |\n| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |\n| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |\n| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |\n| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |\n| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |\n| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |\n| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |\n| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |\n| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |\n| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |\n| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |\n| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |\n| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |\n| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |\n| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |\n| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |\n| 动漫、ACG、cosplay、cos、番剧 | 二次元 |\n| vlog、日常、生活记录、日常vlog | 生活vlog |\n| 人文、历史、文化、传统文化、国学 | 人文 |\n| 汽车、车、车评、新能源、摩托车 | 汽车 |\n| 农村、三农、乡村、农业、种地 | 三农 |\n| 颜值、造型、发型、美发、变美 | 颜值造型 |\n| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |\n| 恋爱、婚姻、两性、情侣、相亲 | 情感 |\n| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |\n| 篮球、足球、NBA、世界杯、滑雪、羽毛球 | 体育 |\n| 综合、全品类、所有 | 全部 |\n\nFile v1.0.4:references/category_map.md\n\n# 赛道映射表\n\n## 支持的赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 常用模糊匹配映射\n\n| 用户说 | 映射到 |\n|--------|--------|\n| 游戏、网游、手游 | 游戏 |\n| 美食、探店、烹饪 | 美食 |\n| 旅行、旅游 | 旅行 |\n| 科技、数码、手机 | 数码科技 |\n| 美妆、彩妆、护肤 | 化妆美容 |\n| 健身、运动、瑜伽 | 身体锻炼 |\n| 亲子、育儿、母婴 | 亲子 |\n| 穿搭、时尚 | 潮流风尚 |\n| 音乐、唱歌、弹琴 | 音乐 |\n| 影视、电影、剧集 | 影视 |\n| 健康、养生 | 健康医学 |\n| 萌宠、宠物 | 动物 |\n| 理财、投资 | 财富理财 |\n\n---\n\n## 赛道识别处理\n\n脚本 `fetch_rank.py` 使用 `match_category()` 函数进行匹配：\n\n### 匹配策略（按优先级）\n\n1. **精确匹配**：大小写不敏感，完整词匹配\n2. **模糊匹配**：按关键词长度降序扫描，取最长命中词\n3. **子串匹配**：用户输入是某个key的子串时（如\"美妆博主\"→\"美妆\"）\n4. **兜底**：返回\"全部\"\n\n### 赛道识别失败时的处理\n\n当 `category_fuzzy=False` 且无法识别时：\n1. 告知用户\"抱歉，无法识别该赛道类别\"\n2. 列出完整赛道列表\n3. 询问用户指定某一赛道\n\n### 完整赛道关键词（用于匹配）\n\n```\n全部、个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```\n\nFile v1.0.4:references/score_rules.md\n\n# 抖音账号综合评分规则\n\n## 评分维度\n\n综合评分基于以下维度计算：\n\n| 维度 | 权重 | 计算方式 |\n|------|------|----------|\n| 总粉丝数 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增粉丝 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增点赞 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增分享 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增评论 | 20% | ln(x+1)/ln(max+1) × 100 |\n\n## 计算公式\n\n对数归一化公式：\n```\nscore = ln(x + 1) / ln(max + 1) × 100\n```\n\n其中：\n- `x` 为该账号的当前指标值\n- `max` 为本次榜单中该指标的最大值\n\n## 示例\n\n假设某榜单数据如下：\n\n| 账号 | 新增点赞 | 得分计算 |\n|------|----------|----------|\n| A | 10万 | ln(100001)/ln(100001) × 100 = 100 |\n| B | 5万 | ln(50001)/ln(100001) × 100 ≈ 85 |\n| C | 1万 | ln(10001)/ln(100001) × 100 ≈ 67 |\n\n## 最终得分\n\n各维度加权求和后，保留整数作为综合评分。\n\nFile v1.0.4:references/update_rules.md\n\n# 更新规则与日期计算\n\n## 榜单更新时间\n\n| 榜单类型 | 更新时间 | 说明 |\n|----------|----------|------|\n| 日榜 | 每日 17:30 | 更新前一天数据 |\n| 周榜 | 每周一 17:30 | 更新上周数据 |\n| 月榜 | 每月2号 9点 | 更新上月数据 |\n\n---\n\n## 自动 offset 计算\n\n根据当前时间是否已到更新时间，自动选择 offset：\n\n| 榜单类型 | 当前时间 < 更新时间 | 当前时间 >= 更新时间 |\n|----------|-------------------|-------------------|\n| 日榜 | offset=2（取前2天） | offset=1（取前一天） |\n| 周榜 | offset=2（取前2周） | offset=1（取前1周） |\n| 月榜 | offset=2（取前2月） | offset=1（取前1月） |\n\n---\n\n## 日期计算公式\n\n### 日榜\n```\ntarget_date = date.today() - timedelta(days=offset)\n```\n\n### 周榜\n```\ntarget_date = date.today() - timedelta(weeks=offset) 后的最近周一\ntarget_sunday = target_monday + timedelta(days=6)\n```\n\n### 月榜\n```\ntarget_date = date.today() - timedelta(days=30*offset) 后的每月1号\ntarget_last_day = 下月1号 - 1天\n```\n\n---\n\n## 回溯范围校验\n\n| 榜单类型 | 最大回溯 | 超出时提示语 |\n|----------|----------|--------------|\n| 日榜 | 过去7天 | \"非常抱歉🙏，目前榜单最多支持回溯「过去7天」\" |\n| 周榜 | 过去3周 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3周」\" |\n| 月榜 | 过去3个月 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3月」\" |\n\n> ⚠️ **注意**：自动计算的日期（如\"最新\"）不受回溯窗口限制，脚本会自动调整 offset 取最近可用数据。\n\n---\n\n## 时间越界场景\n\n当用户明确指定日期但超出范围时：\n\n| 场景 | 提示语 |\n|------|--------|\n| 查询当日或未来日期 | `非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月AI热榜。` |\n| 查询超出回溯范围的历史日期 | `非常抱歉🙏，目前榜单最多支持回溯「过去X天/周/月」，我将为您查询最接近您需求的时间范围~` |\n\n---\n\n## 周期关键词识别\n\n自动从用户文本中识别日/周/月（无明确则默认**日榜**）：\n\n| 用户说 | 识别结果 |\n|--------|----------|\n| 含\"周\"、\"周榜\" | week |\n| 含\"月\"、\"月榜\" | month |\n| 其余默认 | day |\n\n### 识别优先级\n1. 优先识别周/月（长词优先）\n2. 日/月/年中的\"日\"不参与识别（如\"04月27日\"中的\"日\"）\n3. 无明确时间词时默认日榜\n\n---\n\n## 近期日期关键词\n\n| 关键词 | 含义 |\n|--------|------|\n| 昨日、昨天 | offset=1 |\n| 今日、今天 | offset=1 |\n| 最新 | 根据更新时间自动计算 offset |\n| 本周、这周 | 当前周 |\n| 本月、这个月 | 当前月 |\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\n查询和分析抖音全品类及分品类账号的日榜、周榜、月榜，并生成 Markdown 榜单、JSON 数据或 HTML 报告。 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[redfox-data](https://clawhub.ai/user/redfox-data) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, content creators, brands, MCN teams, and analysts use this skill to inspect Douyin account rankings by period and category, compare creator performance, and download visual ranking reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill queries the Redfox Douyin ranking API and depends on that external data source. <br>\nMitigation: Use it only when that API access is acceptable, and treat results as ranking snapshots rather than real-time Douyin data. <br>\nRisk: Generated HTML reports load a jsdelivr script for image export. <br>\nMitigation: Open generated reports in a trusted browser context and review the report before sharing or exporting it. <br>\nRisk: Report generation accepts local JSON input. <br>\nMitigation: Prefer JSON produced by the bundled fetch script, and inspect any externally supplied JSON before generating a report. <br>\nRisk: The skill can propose scheduled subscription workflows. <br>\nMitigation: Review the schedule, prompt, and category scope before confirming any recurring automation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/redfox-data/douyin-rank-tranker) <br>\n- [RedFox Publisher Profile](https://clawhub.ai/user/redfox-data) <br>\n- [API Documentation](references/api_docs.md) <br>\n- [Category Map](references/category_map.md) <br>\n- [Score Rules](references/score_rules.md) <br>\n- [Update Rules](references/update_rules.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, HTML, Shell commands, Guidance] <br>\n**Output Format:** [Markdown ranking tables, normalized JSON data files, and generated HTML report files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Default responses show TOP 20 results; full reports can include up to TOP 50 results and may be delivered as attachments.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server-resolved release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.4:assets/category_config.json\n\n{\n  \"category_map\": {\n    \"全部\": \"全部\",\n    \"个人才艺\": \"个人才艺\",\n    \"生活vlog\": \"生活vlog\",\n    \"生活VLOG\": \"生活vlog\",\n    \"财富理财\": \"财富理财\",\n    \"二次元\": \"二次元\",\n    \"居家装修\": \"居家装修\",\n    \"学习教育\": \"学习教育\",\n    \"小剧场\": \"小剧场\",\n    \"数码科技\": \"数码科技\",\n    \"旅行\": \"旅行\",\n    \"美食\": \"美食\",\n    \"化妆美容\": \"化妆美容\",\n    \"动物\": \"动物\",\n    \"亲子\": \"亲子\",\n    \"汽车\": \"汽车\",\n    \"情感\": \"情感\",\n    \"三农\": \"三农\",\n    \"健康医学\": \"健康医学\",\n    \"潮流风尚\": \"潮流风尚\",\n    \"舞蹈才艺\": \"舞蹈才艺\",\n    \"颜值造型\": \"颜值造型\",\n    \"人文\": \"人文\",\n    \"音乐\": \"音乐\",\n    \"影视\": \"影视\",\n    \"身体锻炼\": \"身体锻炼\",\n    \"体育\": \"体育\",\n    \"明星娱乐\": \"明星娱乐\",\n    \"游戏\": \"游戏\",\n    \"美妆护肤\": \"化妆美容\",\n    \"彩妆护肤\": \"化妆美容\",\n    \"美妆博主\": \"化妆美容\",\n    \"护肤美妆\": \"化妆美容\",\n    \"化妆品\": \"化妆美容\",\n    \"美妆\": \"化妆美容\",\n    \"彩妆\": \"化妆美容\",\n    \"护肤\": \"化妆美容\",\n    \"美容\": \"化妆美容\",\n    \"口红\": \"化妆美容\",\n    \"粉底\": \"化妆美容\",\n    \"眼妆\": \"化妆美容\",\n    \"美白\": \"化妆美容\",\n    \"防晒\": \"化妆美容\",\n    \"抗老\": \"化妆美容\",\n    \"素颜\": \"化妆美容\",\n    \"科技数码\": \"数码科技\",\n    \"数码测评\": \"数码科技\",\n    \"手机评测\": \"数码科技\",\n    \"电脑配件\": \"数码科技\",\n    \"人工智能\": \"数码科技\",\n    \"科技\": \"数码科技\",\n    \"数码\": \"数码科技\",\n    \"手机\": \"数码科技\",\n    \"电脑\": \"数码科技\",\n    \"平板\": \"数码科技\",\n    \"耳机\": \"数码科技\",\n    \"相机\": \"数码科技\",\n    \"智能硬件\": \"数码科技\",\n    \"智能家居\": \"数码科技\",\n    \"AI\": \"数码科技\",\n    \"ai\": \"数码科技\",\n    \"互联网\": \"数码科技\",\n    \"程序员\": \"数码科技\",\n    \"软件\": \"数码科技\",\n    \"硬件\": \"数码科技\",\n    \"极客\": \"数码科技\",\n    \"健康养生\": \"健康医学\",\n    \"中医养生\": \"健康医学\",\n    \"健康医疗\": \"健康医学\",\n    \"健康\": \"健康医学\",\n    \"养生\": \"健康医学\",\n    \"医疗\": \"健康医学\",\n    \"医生\": \"健康医学\",\n    \"医院\": \"健康医学\",\n    \"中医\": \"健康医学\",\n    \"减肥\": \"健康医学\",\n    \"营养\": \"健康医学\",\n    \"食疗\": \"健康医学\",\n    \"保健\": \"健康医学\",\n    \"心理\": \"健康医学\",\n    \"睡眠\": \"健康医学\",\n    \"美食探店\": \"美食\",\n    \"探店博主\": \"美食\",\n    \"吃播\": \"美食\",\n    \"烹饪\": \"美食\",\n    \"探店\": \"美食\",\n    \"下厨\": \"美食\",\n    \"厨艺\": \"美食\",\n    \"菜谱\": \"美食\",\n    \"甜品\": \"美食\",\n    \"烘焙\": \"美食\",\n    \"火锅\": \"美食\",\n    \"小吃\": \"美食\",\n    \"料理\": \"美食\",\n    \"食材\": \"美食\",\n    \"厨房\": \"美食\",\n    \"餐厅\": \"美食\",\n    \"网红餐\": \"美食\",\n    \"旅行vlog\": \"旅行\",\n    \"旅游博主\": \"旅行\",\n    \"旅游攻略\": \"旅行\",\n    \"旅游\": \"旅行\",\n    \"出行\": \"旅行\",\n    \"打卡\": \"旅行\",\n    \"景区\": \"旅行\",\n    \"景点\": \"旅行\",\n    \"民宿\": \"旅行\",\n    \"户外探险\": \"旅行\",\n    \"露营\": \"旅行\",\n    \"徒步\": \"旅行\",\n    \"背包客\": \"旅行\",\n    \"出国\": \"旅行\",\n    \"签证\": \"旅行\",\n    \"时尚穿搭\": \"潮流风尚\",\n    \"穿搭博主\": \"潮流风尚\",\n    \"街头时尚\": \"潮流风尚\",\n    \"穿搭\": \"潮流风尚\",\n    \"时尚\": \"潮流风尚\",\n    \"搭配\": \"潮流风尚\",\n    \"ootd\": \"潮流风尚\",\n    \"OOTD\": \"潮流风尚\",\n    \"潮牌\": \"潮流风尚\",\n    \"球鞋\": \"潮流风尚\",\n    \"sneaker\": \"潮流风尚\",\n    \"潮流\": \"潮流风尚\",\n    \"国潮\": \"潮流风尚\",\n    \"汉服\": \"潮流风尚\",\n    \"衣服\": \"潮流风尚\",\n    \"服装\": \"潮流风尚\",\n    \"品牌\": \"潮流风尚\",\n    \"奢侈品\": \"潮流风尚\",\n    \"包包\": \"潮流风尚\",\n    \"亲子育儿\": \"亲子\",\n    \"母婴育儿\": \"亲子\",\n    \"育儿经验\": \"亲子\",\n    \"育儿\": \"亲子\",\n    \"母婴\": \"亲子\",\n    \"宝宝\": \"亲子\",\n    \"婴儿\": \"亲子\",\n    \"儿童\": \"亲子\",\n    \"孕妈\": \"亲子\",\n    \"妈妈\": \"亲子\",\n    \"奶爸\": \"亲子\",\n    \"辅食\": \"亲子\",\n    \"胎教\": \"亲子\",\n    \"早教\": \"亲子\",\n    \"知识教育\": \"学习教育\",\n    \"在线教育\": \"学习教育\",\n    \"考研\": \"学习教育\",\n    \"高考\": \"学习教育\",\n    \"英语\": \"学习教育\",\n    \"数学\": \"学习教育\",\n    \"语文\": \"学习教育\",\n    \"教育\": \"学习教育\",\n    \"学习\": \"学习教育\",\n    \"读书\": \"学习教育\",\n    \"备考\": \"学习教育\",\n    \"刷题\": \"学习教育\",\n    \"知识\": \"学习教育\",\n    \"学科\": \"学习教育\",\n    \"老师\": \"学习教育\",\n    \"课程\": \"学习教育\",\n    \"讲解\": \"学习教育\",\n    \"考试\": \"学习教育\",\n    \"技能\": \"学习教育\",\n    \"宠物猫狗\": \"动物\",\n    \"猫咪\": \"动物\",\n    \"宠物\": \"动物\",\n    \"猫\": \"动物\",\n    \"狗\": \"动物\",\n    \"dog\": \"动物\",\n    \"cat\": \"动物\",\n    \"狗狗\": \"动物\",\n    \"萌宠\": \"动物\",\n    \"鸟\": \"动物\",\n    \"鱼\": \"动物\",\n    \"兔子\": \"动物\",\n    \"仓鼠\": \"动物\",\n    \"野生动物\": \"动物\",\n    \"健身运动\": \"身体锻炼\",\n    \"减脂塑形\": \"身体锻炼\",\n    \"健身打卡\": \"身体锻炼\",\n    \"健身\": \"身体锻炼\",\n    \"运动\": \"身体锻炼\",\n    \"瑜伽\": \"身体锻炼\",\n    \"锻炼\": \"身体锻炼\",\n    \"跑步\": \"身体锻炼\",\n    \"增肌\": \"身体锻炼\",\n    \"减脂\": \"身体锻炼\",\n    \"塑形\": \"身体锻炼\",\n    \"马拉松\": \"身体锻炼\",\n    \"游泳\": \"身体锻炼\",\n    \"拳击\": \"身体锻炼\",\n    \"格斗\": \"身体锻炼\",\n    \"器械\": \"身体锻炼\",\n    \"撸铁\": \"身体锻炼\",\n    \"健美\": \"身体锻炼\",\n    \"家居装修\": \"居家装修\",\n    \"室内设计\": \"居家装修\",\n    \"装修改造\": \"居家装修\",\n    \"房屋装修\": \"居家装修\",\n    \"装修\": \"居家装修\",\n    \"家居\": \"居家装修\",\n    \"家装\": \"居家装修\",\n    \"软装\": \"居家装修\",\n    \"硬装\": \"居家装修\",\n    \"整理收纳\": \"居家装修\",\n    \"收纳\": \"居家装修\",\n    \"设计师\": \"居家装修\",\n    \"北欧风\": \"居家装修\",\n    \"极简风\": \"居家装修\",\n    \"新中式\": \"居家装修\",\n    \"二手改造\": \"居家装修\",\n    \"影视解说\": \"影视\",\n    \"电影解说\": \"影视\",\n    \"剧集推荐\": \"影视\",\n    \"电影\": \"影视\",\n    \"剧集\": \"影视\",\n    \"电视剧\": \"影视\",\n    \"短剧\": \"影视\",\n    \"综艺\": \"影视\",\n    \"动画片\": \"影视\",\n    \"纪录片\": \"影视\",\n    \"电影推荐\": \"影视\",\n    \"追剧\": \"影视\",\n    \"影评\": \"影视\",\n    \"剧评\": \"影视\",\n    \"番剧\": \"影视\",\n    \"音乐创作\": \"音乐\",\n    \"原创音乐\": \"音乐\",\n    \"翻唱\": \"音乐\",\n    \"唱歌\": \"音乐\",\n    \"弹琴\": \"音乐\",\n    \"弹吉他\": \"音乐\",\n    \"吉他\": \"音乐\",\n    \"钢琴\": \"音乐\",\n    \"古琴\": \"音乐\",\n    \"编曲\": \"音乐\",\n    \"说唱\": \"音乐\",\n    \"rap\": \"音乐\",\n    \"RAP\": \"音乐\",\n    \"歌手\": \"音乐\",\n    \"乐器\": \"音乐\",\n    \"DJ\": \"音乐\",\n    \"dj\": \"音乐\",\n    \"电音\": \"音乐\",\n    \"民谣\": \"音乐\",\n    \"古风\": \"音乐\",\n    \"舞蹈教学\": \"舞蹈才艺\",\n    \"街舞\": \"舞蹈才艺\",\n    \"舞蹈\": \"舞蹈才艺\",\n    \"跳舞\": \"舞蹈才艺\",\n    \"古典舞\": \"舞蹈才艺\",\n    \"民族舞\": \"舞蹈才艺\",\n    \"爵士舞\": \"舞蹈才艺\",\n    \"芭蕾\": \"舞蹈才艺\",\n    \"breaking\": \"舞蹈才艺\",\n    \"hiphop\": \"舞蹈才艺\",\n    \"HIPHOP\": \"舞蹈才艺\",\n    \"编舞\": \"舞蹈才艺\",\n    \"明星八卦\": \"明星娱乐\",\n    \"娱乐八卦\": \"明星娱乐\",\n    \"明星\": \"明星娱乐\",\n    \"娱乐\": \"明星娱乐\",\n    \"偶像\": \"明星娱乐\",\n    \"idol\": \"明星娱乐\",\n    \"追星\": \"明星娱乐\",\n    \"八卦\": \"明星娱乐\",\n    \"艺人\": \"明星娱乐\",\n    \"网红\": \"明星娱乐\",\n    \"名人\": \"明星娱乐\",\n    \"游戏直播\": \"游戏\",\n    \"游戏解说\": \"游戏\",\n    \"手游攻略\": \"游戏\",\n    \"网游\": \"游戏\",\n    \"手游\": \"游戏\",\n    \"电竞\": \"游戏\",\n    \"主机游戏\": \"游戏\",\n    \"电子游戏\": \"游戏\",\n    \"主播\": \"游戏\",\n    \"LOL\": \"游戏\",\n    \"lol\": \"游戏\",\n    \"王者荣耀\": \"游戏\",\n    \"和平精英\": \"游戏\",\n    \"原神\": \"游戏\",\n    \"MC\": \"游戏\",\n    \"我的世界\": \"游戏\",\n    \"英雄联盟\": \"游戏\",\n    \"PUBG\": \"游戏\",\n    \"使命召唤\": \"游戏\",\n    \"战双\": \"游戏\",\n    \"鸣潮\": \"游戏\",\n    \"steam\": \"游戏\",\n    \"Steam\": \"游戏\",\n    \"投资理财\": \"财富理财\",\n    \"股票基金\": \"财富理财\",\n    \"理财\": \"财富理财\",\n    \"财经\": \"财富理财\",\n    \"股票\": \"财富理财\",\n    \"基金\": \"财富理财\",\n    \"炒股\": \"财富理财\",\n    \"期货\": \"财富理财\",\n    \"加密货币\": \"财富理财\",\n    \"比特币\": \"财富理财\",\n    \"投资\": \"财富理财\",\n    \"创业\": \"财富理财\",\n    \"副业\": \"财富理财\",\n    \"二次元动漫\": \"二次元\",\n    \"动漫\": \"二次元\",\n    \"漫画\": \"二次元\",\n    \"ACG\": \"二次元\",\n    \"acg\": \"二次元\",\n    \"anime\": \"二次元\",\n    \"cosplay\": \"二次元\",\n    \"cos\": \"二次元\",\n    \"COS\": \"二次元\",\n    \"Cosplay\": \"二次元\",\n    \"鬼灭\": \"二次元\",\n    \"海贼王\": \"二次元\",\n    \"火影\": \"二次元\",\n    \"进击的巨人\": \"二次元\",\n    \"漫威\": \"二次元\",\n    \"抱枕\": \"二次元\",\n    \"生活日常\": \"生活vlog\",\n    \"日常vlog\": \"生活vlog\",\n    \"vlog博主\": \"生活vlog\",\n    \"vlog\": \"生活vlog\",\n    \"VLOG\": \"生活vlog\",\n    \"Vlog\": \"生活vlog\",\n    \"日常\": \"生活vlog\",\n    \"生活记录\": \"生活vlog\",\n    \"生活分享\": \"生活vlog\",\n    \"城市生活\": \"生活vlog\",\n    \"人文历史\": \"人文\",\n    \"历史文化\": \"人文\",\n    \"历史\": \"人文\",\n    \"文化\": \"人文\",\n    \"文物\": \"人文\",\n    \"传统文化\": \"人文\",\n    \"国学\": \"人文\",\n    \"地理\": \"人文\",\n    \"人文地理\": \"人文\",\n    \"纪实\": \"人文\",\n    \"社会\": \"人文\",\n    \"汽车测评\": \"汽车\",\n    \"买车选车\": \"汽车\",\n    \"新能源车\": \"汽车\",\n    \"新能源\": \"汽车\",\n    \"驾车\": \"汽车\",\n    \"车评\": \"汽车\",\n    \"摩托车\": \"汽车\",\n    \"越野\": \"汽车\",\n    \"车\": \"汽车\",\n    \"三农生活\": \"三农\",\n    \"农村生活\": \"三农\",\n    \"乡村\": \"三农\",\n    \"农村\": \"三农\",\n    \"农业\": \"三农\",\n    \"种地\": \"三农\",\n    \"农民\": \"三农\",\n    \"土地\": \"三农\",\n    \"渔村\": \"三农\",\n    \"颜值博主\": \"颜值造型\",\n    \"发型\": \"颜值造型\",\n    \"造型\": \"颜值造型\",\n    \"颜值\": \"颜值造型\",\n    \"发色\": \"颜值造型\",\n    \"美发\": \"颜值造型\",\n    \"变美\": \"颜值造型\",\n    \"整形\": \"颜值造型\",\n    \"修容\": \"颜值造型\",\n    \"才艺展示\": \"个人才艺\",\n    \"才艺\": \"个人才艺\",\n    \"魔术\": \"个人才艺\",\n    \"杂技\": \"个人才艺\",\n    \"变装\": \"个人才艺\",\n    \"脱口秀\": \"个人才艺\",\n    \"相声\": \"个人才艺\",\n    \"小品\": \"个人才艺\",\n    \"情感博主\": \"情感\",\n    \"恋爱\": \"情感\",\n    \"婚姻\": \"情感\",\n    \"失恋\": \"情感\",\n    \"两性\": \"情感\",\n    \"情侣\": \"情感\",\n    \"家庭关系\": \"情感\",\n    \"相亲\": \"情感\",\n    \"单身\": \"情感\",\n    \"情景剧\": \"小剧场\",\n    \"微剧\": \"小剧场\",\n    \"短视频剧\": \"小剧场\",\n    \"剧情\": \"小剧场\",\n    \"搞笑视频\": \"小剧场\",\n    \"幽默\": \"小剧场\",\n    \"搞笑\": \"小剧场\",\n    \"喜剧\": \"小剧场\",\n    \"反转\": \"小剧场\",\n    \"体育赛事\": \"体育\",\n    \"篮球\": \"体育\",\n    \"足球\": \"体育\",\n    \"乒乓球\": \"体育\",\n    \"羽毛球\": \"体育\",\n    \"网球\": \"体育\",\n    \"排球\": \"体育\",\n    \"冰雪运动\": \"体育\",\n    \"滑雪\": \"体育\",\n    \"滑板\": \"体育\",\n    \"电竞体育\": \"体育\",\n    \"NBA\": \"体育\",\n    \"CBA\": \"体育\",\n    \"世界杯\": \"体育\",\n    \"奥运\": \"体育\",\n    \"综合\": \"全部\",\n    \"全品类\": \"全部\",\n    \"所有\": \"全部\",\n    \"全\": \"全部\"\n  },\n  \"exact_categories\": [\n    \"汽车\",\n    \"数码科技\",\n    \"生活vlog\",\n    \"颜值造型\",\n    \"小剧场\",\n    \"体育\",\n    \"学习教育\",\n    \"潮流风尚\",\n    \"人文\",\n    \"音乐\",\n    \"亲子\",\n    \"情感\",\n    \"旅行\",\n    \"个人才艺\",\n    \"舞蹈才艺\",\n    \"二次元\",\n    \"动物\",\n    \"健康医学\",\n    \"游戏\",\n    \"居家装修\",\n    \"化妆美容\",\n    \"明星娱乐\",\n    \"美食\",\n    \"影视\",\n    \"三农\",\n    \"身体锻炼\",\n    \"全部\",\n    \"财富理财\"\n  ],\n  \"cat_display\": {\n    \"全部\": \"全品类\",\n    \"化妆美容\": \"美妆类\",\n    \"美食\": \"美食类\",\n    \"旅行\": \"旅行类\",\n    \"数码科技\": \"科技类\",\n    \"游戏\": \"游戏类\",\n    \"健康医学\": \"健康类\",\n    \"亲子\": \"亲子类\",\n    \"身体锻炼\": \"运动类\",\n    \"学习教育\": \"教育类\",\n    \"动物\": \"动物类\",\n    \"潮流风尚\": \"时尚类\",\n    \"居家装修\": \"家居类\",\n    \"影视\": \"影视类\",\n    \"音乐\": \"音乐类\",\n    \"舞蹈才艺\": \"舞蹈类\",\n    \"明星娱乐\": \"娱乐类\",\n    \"体育\": \"体育类\",\n    \"情感\": \"情感类\",\n    \"财富理财\": \"理财类\",\n    \"二次元\": \"二次元类\",\n    \"小剧场\": \"小剧场类\",\n    \"汽车\": \"汽车类\",\n    \"三农\": \"三农类\",\n    \"人文\": \"人文类\",\n    \"颜值造型\": \"颜值类\",\n    \"个人才艺\": \"才艺类\",\n    \"生活vlog\": \"生活类\"\n  }\n}\n\nFile v1.0.4:assets/period_config.json\n\n{\n  \"period_map\": {\n    \"day\": \"days\",\n    \"week\": \"weeks\",\n    \"month\": \"months\"\n  },\n  \"period_labels\": {\n    \"day\": \"日榜\",\n    \"week\": \"周榜\",\n    \"month\": \"月榜\"\n  },\n  \"period_keys\": {\n    \"days\": \"day\",\n    \"weeks\": \"week\",\n    \"months\": \"month\"\n  },\n  \"short_aliases\": {\n    \"day\": \"日\",\n    \"week\": \"周\",\n    \"month\": \"月\"\n  },\n  \"long_aliases\": {\n    \"day\": [\n      \"day\",\n      \"daily\",\n      \"日榜\",\n      \"日排名\",\n      \"日间\",\n      \"今日\",\n      \"今天\",\n      \"昨日\"\n    ],\n    \"week\": [\n      \"week\",\n      \"weekly\",\n      \"周榜\",\n      \"周排名\",\n      \"周间\",\n      \"上周\",\n      \"本周\",\n      \"这周\",\n      \"本周期\"\n    ],\n    \"month\": [\n      \"month\",\n      \"monthly\",\n      \"月榜\",\n      \"月排名\",\n      \"月间\",\n      \"上月\",\n      \"本月\",\n      \"这个月\"\n    ]\n  },\n  \"update_rules\": {\n    \"day\": {\n      \"label\": \"日榜\",\n      \"update_time\": \"每日17:30\",\n      \"window_days\": 9\n    },\n    \"week\": {\n      \"label\": \"周榜\",\n      \"update_time\": \"每周一17:30\",\n      \"window_days\": 21\n    },\n    \"month\": {\n      \"label\": \"月榜\",\n      \"update_time\": \"每月2号9点\",\n      \"window_days\": 90\n    }\n  }\n}\n\nArchive v1.0.3: 10 files, 32080 bytes\n\nFiles: assets/category_config.json (13248b), assets/period_config.json (1186b), references/api_docs.md (5131b), references/category_map.md (2450b), references/score_rules.md (936b), references/update_rules.md (2766b), scripts/fetch_rank.py (32550b), scripts/generate_report.py (25290b), SKILL.md (9499b), _meta.json (138b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: douyin-rank-tranker\ndescription: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\ndependency:\n  python:\n    - requests>=2.28.0\n---\n\n# 抖音每日最具影响力账号\n\n## 概述\n\n提供抖音全品类/分品类账号每日/每周/每月的表现榜单查询。\n\n**更新时间与回溯范围：**\n\n| 榜单类型 | 更新时间 | 回溯范围 |\n|---------|---------|---------|\n| 日榜 | 每日17:30 | 过去7天 |\n| 周榜 | 每周一17:30 | 过去3周 |\n| 月榜 | 每月2号9点 | 过去3月 |\n\n**三大核心能力：**\n\n- 📊 **排名查询** — 查日榜、周榜、月榜 TOP50\n- 🎯 **领域查询** — 按品类筛选（美食、旅行、科技、游戏等）\n- 📥 **报告下载** — 生成 HTML 可视化报告，支持导出 PDF/截图\n\n---\n\n## 目标用户与使用场景\n\n| 用户分层                  | 核心痛点                                                             | 查询示例                                             |\n| ------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------- |\n| 新手内容创作者 / 个体运营 | 不知道哪些账号做得好、无从借鉴、不知道自己的水平在赛道内处于什么位置 | \"美食类账号怎么找？帮我看看我的账号在美食赛道排多少\" |\n| 品牌方 / 商务投放人员     | 找达人效率低、数据维度单一、不了解账号历史表现                       | \"上周抖音美妆类TOP50有哪些账号表现好？\"              |\n| MCN机构 / 内容团队        | 竞品账号情报获取难、无法快速掌握市场动态                             | \"最近一周哪些游戏账号涨粉最快？\"                     |\n| 行业分析师 / 咨询从业者   | 数据获取门槛高、缺乏可视化报告工具                                   | \"帮我生成一份3月份的抖音游戏类榜单分析报告\"          |\n\n---\n\n## 触发词与意图识别\n\n| 用户意图 | 典型触发词                                              | 对应操作                          |\n| -------- | ------------------------------------------------------- | --------------------------------- |\n| 排名查询 | 抖音日榜、周榜、月榜、TOP50、最夯账号、排行榜、最新推荐 | 调用脚本查询并格式化输出          |\n| 领域查询 | 美食类/旅行类/游戏类/科技类...抖音排名                  | 调用脚本并按赛道筛选              |\n| 报告下载 | 下载报告、导出榜单、生成报告                            | 运行 generate_report.py 生成 HTML |\n\n---\n\n## 执行流程\n\n### 第一步：查询数据（默认展示 TOP 20）\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json\n```\n\n脚本会自动解析：\n\n- **时间**：从用户文本识别日/周/月，未明确则默认日榜\n- **日期**：自动计算最新可用日期（日榜17:30更新，周榜周一17:30更新，月榜每月2号9点更新）\n- **赛道**：支持模糊匹配（如\"美妆\"→\"化妆美容\"）\n\n脚本输出包含：\n1. Markdown 格式榜单表格（最多20条）\n2. \"更多操作\"引导模块\n3. \"订阅服务\"引导模块（根据用户选择的赛道动态展示）\n\n### 第二步：生成 HTML 报告（立即执行）\n\n```bash\npython scripts/generate_report.py --data /path/to/data.json --limit 20  # 自动生成文件名\n```\n\n> **重要**：HTML 报告展示的数据条数必须与对话中展示的数量保持一致！\n> - 对话默认展示 20 条 → HTML 报告也只展示 20 条\n> - 用户要求查看全部 50 条 → 重新生成完整报告\n\n使用 `deliver_attachments` 交付 HTML 文件。\n\n### 用户查看全部数据时\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50  # 自动生成完整文件名\n```\n\n使用 `deliver_attachments` 交付完整 HTML 文件。\n\n---\n\n## 输出模板\n\n### Markdown 表格（对话输出）\n\n```\n📊 抖音{period_label} · {category_label}\n\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n> **时间边界处理**（warning 插入榜单说明开头）：\n> - 查询当日/未来日期：「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」\n> - 查询早于回溯日期：「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」\n> - 正常查询：warning 为空，直接展示更新时间\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://www.douyin.com/user/xxx) | 96 | 254.06w | 6919 | 24.64w | 6.68w | 13.39w |\n| 🥈 2 | [账号B](https://www.douyin.com/user/xxx) | 89 | 113.55w | 1.91w | 7.90w | 4787 | 3.12w |\n| 🥉 3 | [账号C](https://www.douyin.com/user/xxx) | 87 | 439.14w | 5859 | 16.51w | 993 | 687 |\n| ... | ... | ... | ... | ... | ... | ... | ... |\n```\n\n⚡ **更多操作**\n\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n\n2️⃣ 是否需要订阅具体赛道的账号表现？我们支持：个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n\n## 生成 HTML 报告\n- 执行脚本生成 HTML 报告文件\n  - 脚本调用示例：`python scripts/generate_report.py --data <fetch_rank输出> --limit 20  # 自动生成文件名`\n  - 文件名格式：`{赛道}{周期}{YYYYMMDD}_{时间戳}.html（如 美食周榜20260511_时间戳.html）`（如 `20260511_美食.html`）\n\n> ⚠️ **字段说明**：默认展示 TOP 20 条数据，最高互动 = 点赞 + 评论 + 分享\n\n---\n\n## 订阅服务\n\n用户确认订阅后，使用 `automation_update` 工具创建自动化任务：\n\n### 订阅排名更新推送\n- **日榜**：`FREQ=DAILY;BYHOUR=19;BYMINUTE=30`\n- **周榜**：`FREQ=WEEKLY;BYDAY=MO;BYHOUR=19;BYMINUTE=30`\n- **月榜**：`FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=16;BYMINUTE=0`\n\nautomation prompt 示例：`查询抖音最新日榜（全品类），生成报告并推送给用户`\n\n### 订阅赛道账号表现\n- automation prompt 示例：`查询抖音最新日榜（美食赛道），生成报告并推送给用户`\n\n---\n\n## 常见问题\n\n**Q: 日榜数据什么时候更新？**\nA: 每日 17:30 更新昨日数据。当前时间未到17:30时，脚本会自动取前天数据。\n\n**Q: 支持哪些赛道？**\nA: 支持27个赛道，完整列表见 [references/category_map.md](references/category_map.md)。\n\n**Q: 数据回溯范围？**\nA: 日榜可查过去7天，周榜可查过去3周，月榜可查过去3个月。\n\n**Q: 赛道识别失败怎么办？**\nA: 无法识别时，请列出完整赛道列表供用户选择。\n\n---\n\n## 资源索引\n\n| 文件                                                     | 用途                         |\n| -------------------------------------------------------- | ---------------------------- |\n| [scripts/fetch_rank.py](scripts/fetch_rank.py)           | 查询抖音榜单数据             |\n| [scripts/generate_report.py](scripts/generate_report.py) | 生成 HTML 可视化报告         |\n| [references/category_map.md](references/category_map.md) | 赛道映射表与匹配规则         |\n| [references/update_rules.md](references/update_rules.md) | 更新规则与日期计算逻辑       |\n| [references/score_rules.md](references/score_rules.md)   | 评分算法说明                 |\n| [references/api_docs.md](references/api_docs.md)         | API 接口详细文档（技术参考） |\n\n---\n\n## 注意事项\n\n- ⚠️ **时间边界处理（必须严格遵守）**：\n  - **查询当日及未来日期**：在输出开头回复「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」然后继续展示最近一期数据\n  - **查询时间早于回溯日期**：在输出开头回复「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」然后继续展示最接近的可查数据\n- 严禁任何联网搜索\n- ⚠️ **数据一致性**：对话展示多少条，HTML 报告就展示多少条，两者必须一致\n- 日榜默认展示 TOP 20，完整 50 条通过报告或追问查看\n- HTML 报告账号名均可点击跳转抖音主页\n- 生成报告前确保 workspace 有写权限\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn73hdehkbe5dwfzckzj8yhcw984t4cc\",\n  \"slug\": \"douyin-rank-tranker\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1778816584137\n}\n\nFile v1.0.3:references/api_docs.md\n\n# 抖音榜单 API 接口文档\n\n## 接口基础信息\n\n| 字段 | 值 |\n|------|-----|\n| 接口地址 | `https://onetotenvip.com/story/dyData/query` |\n| 请求方式 | POST |\n| Content-Type | `application/json` |\n| 认证方式 | 无（公开接口） |\n\n---\n\n## 请求参数\n\n```json\n{\n  \"dateType\": \"days\",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）\n  \"rankDate\": \"2026-04-27\",    // 榜单开始日期（结束时间由服务器自行计算）（必填）\n  \"type\": \"美食\",               // 赛道分类，默认\"全部\"（必填）\n  \"source\": \"抖音每日最具影响力账号\"  // 固定值（必填）\n}\n```\n\n> ⚠️ **重要**：`source` 必须为 `\"抖音每日最具影响力账号\"`，使用其他值会导致接口返回空数据！\n\n---\n\n## 响应结构\n\n```json\n{\n  \"code\": 2000,\n  \"data\": [\n    {\n      \"accountLink\":    \"https://www.douyin.com/user/...\",\n      \"accountName\":    \"账号名称\",\n      \"accountRanking\": 1,\n      \"category\":       \"美食\",\n      \"fansCount\":      \"254.06w\",\n      \"fansGrowth\":     \"6919\",\n      \"likedGrowth\":    \"24.64w\",\n      \"commentsGrowth\": \"6.68w\",\n      \"collectedGrowth\":\"2.53w\",\n      \"sharedGrowth\":   \"13.39w\",\n      \"rankDate\":       \"2026-04-27\",\n      \"rankPeriod\":     \"日榜\"\n    }\n  ]\n}\n```\n\n---\n\n## 错误码\n\n| code | 含义 |\n|------|------|\n| 2000 | **成功**（注意：成功码是 2000 不是 0！） |\n| 其他 | 错误，data 为空数组 |\n\n---\n\n## 字段映射（fetch_rank.py normalized JSON）\n\n| 接口原始字段 | normalized 字段 | 含义 |\n|------------|----------------|------|\n| `accountRanking` | `rank` | 排名 |\n| `accountName` | `accountName` | 账号名 |\n| `category` | `category` | 赛道 |\n| `fansCount` | `followers` | 总粉丝数 |\n| `fansGrowth` | `newFans` | 新增粉丝 |\n| `likedGrowth` | `newLikes` | 新增点赞 |\n| `commentsGrowth` | `newComments` | 新增评论 |\n| `sharedGrowth` | `newShares` | 新增分享 |\n| `accountLink` | `profileUrl` | 主页链接 |\n\n---\n\n## 可用赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 赛道模糊匹配规则\n\n> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为\"全部\"。\n\n| 用户说（示例）| 映射到 |\n|--------|--------|\n| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |\n| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |\n| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |\n| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |\n| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |\n| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |\n| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |\n| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |\n| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |\n| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |\n| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |\n| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |\n| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |\n| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |\n| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |\n| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |\n| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |\n| 动漫、ACG、cosplay、cos、番剧 | 二次元 |\n| vlog、日常、生活记录、日常vlog | 生活vlog |\n| 人文、历史、文化、传统文化、国学 | 人文 |\n| 汽车、车、车评、新能源、摩托车 | 汽车 |\n| 农村、三农、乡村、农业、种地 | 三农 |\n| 颜值、造型、发型、美发、变美 | 颜值造型 |\n| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |\n| 恋爱、婚姻、两性、情侣、相亲 | 情感 |\n| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |\n| 篮球、足球、NBA、世界杯、滑雪、羽毛球 | 体育 |\n| 综合、全品类、所有 | 全部 |\n\nFile v1.0.3:references/category_map.md\n\n# 赛道映射表\n\n## 支持的赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 常用模糊匹配映射\n\n| 用户说 | 映射到 |\n|--------|--------|\n| 游戏、网游、手游 | 游戏 |\n| 美食、探店、烹饪 | 美食 |\n| 旅行、旅游 | 旅行 |\n| 科技、数码、手机 | 数码科技 |\n| 美妆、彩妆、护肤 | 化妆美容 |\n| 健身、运动、瑜伽 | 身体锻炼 |\n| 亲子、育儿、母婴 | 亲子 |\n| 穿搭、时尚 | 潮流风尚 |\n| 音乐、唱歌、弹琴 | 音乐 |\n| 影视、电影、剧集 | 影视 |\n| 健康、养生 | 健康医学 |\n| 萌宠、宠物 | 动物 |\n| 理财、投资 | 财富理财 |\n\n---\n\n## 赛道识别处理\n\n脚本 `fetch_rank.py` 使用 `match_category()` 函数进行匹配：\n\n### 匹配策略（按优先级）\n\n1. **精确匹配**：大小写不敏感，完整词匹配\n2. **模糊匹配**：按关键词长度降序扫描，取最长命中词\n3. **子串匹配**：用户输入是某个key的子串时（如\"美妆博主\"→\"美妆\"）\n4. **兜底**：返回\"全部\"\n\n### 赛道识别失败时的处理\n\n当 `category_fuzzy=False` 且无法识别时：\n1. 告知用户\"抱歉，无法识别该赛道类别\"\n2. 列出完整赛道列表\n3. 询问用户指定某一赛道\n\n### 完整赛道关键词（用于匹配）\n\n```\n全部、个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```\n\nFile v1.0.3:references/score_rules.md\n\n# 抖音账号综合评分规则\n\n## 评分维度\n\n综合评分基于以下维度计算：\n\n| 维度 | 权重 | 计算方式 |\n|------|------|----------|\n| 总粉丝数 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增粉丝 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增点赞 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增分享 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增评论 | 20% | ln(x+1)/ln(max+1) × 100 |\n\n## 计算公式\n\n对数归一化公式：\n```\nscore = ln(x + 1) / ln(max + 1) × 100\n```\n\n其中：\n- `x` 为该账号的当前指标值\n- `max` 为本次榜单中该指标的最大值\n\n## 示例\n\n假设某榜单数据如下：\n\n| 账号 | 新增点赞 | 得分计算 |\n|------|----------|----------|\n| A | 10万 | ln(100001)/ln(100001) × 100 = 100 |\n| B | 5万 | ln(50001)/ln(100001) × 100 ≈ 85 |\n| C | 1万 | ln(10001)/ln(100001) × 100 ≈ 67 |\n\n## 最终得分\n\n各维度加权求和后，保留整数作为综合评分。\n\nFile v1.0.3:references/update_rules.md\n\n# 更新规则与日期计算\n\n## 榜单更新时间\n\n| 榜单类型 | 更新时间 | 说明 |\n|----------|----------|------|\n| 日榜 | 每日 17:30 | 更新前一天数据 |\n| 周榜 | 每周一 17:30 | 更新上周数据 |\n| 月榜 | 每月2号 9点 | 更新上月数据 |\n\n---\n\n## 自动 offset 计算\n\n根据当前时间是否已到更新时间，自动选择 offset：\n\n| 榜单类型 | 当前时间 < 更新时间 | 当前时间 >= 更新时间 |\n|----------|-------------------|-------------------|\n| 日榜 | offset=2（取前2天） | offset=1（取前一天） |\n| 周榜 | offset=2（取前2周） | offset=1（取前1周） |\n| 月榜 | offset=2（取前2月） | offset=1（取前1月） |\n\n---\n\n## 日期计算公式\n\n### 日榜\n```\ntarget_date = date.today() - timedelta(days=offset)\n```\n\n### 周榜\n```\ntarget_date = date.today() - timedelta(weeks=offset) 后的最近周一\ntarget_sunday = target_monday + timedelta(days=6)\n```\n\n### 月榜\n```\ntarget_date = date.today() - timedelta(days=30*offset) 后的每月1号\ntarget_last_day = 下月1号 - 1天\n```\n\n---\n\n## 回溯范围校验\n\n| 榜单类型 | 最大回溯 | 超出时提示语 |\n|----------|----------|--------------|\n| 日榜 | 过去7天 | \"非常抱歉🙏，目前榜单最多支持回溯「过去7天」\" |\n| 周榜 | 过去3周 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3周」\" |\n| 月榜 | 过去3个月 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3月」\" |\n\n> ⚠️ **注意**：自动计算的日期（如\"最新\"）不受回溯窗口限制，脚本会自动调整 offset 取最近可用数据。\n\n---\n\n## 时间越界场景\n\n当用户明确指定日期但超出范围时：\n\n| 场景 | 提示语 |\n|------|--------|\n| 查询当日或未来日期 | `非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月AI热榜。` |\n| 查询超出回溯范围的历史日期 | `非常抱歉🙏，目前榜单最多支持回溯「过去X天/周/月」，我将为您查询最接近您需求的时间范围~` |\n\n---\n\n## 周期关键词识别\n\n自动从用户文本中识别日/周/月（无明确则默认**日榜**）：\n\n| 用户说 | 识别结果 |\n|--------|----------|\n| 含\"周\"、\"周榜\" | week |\n| 含\"月\"、\"月榜\" | month |\n| 其余默认 | day |\n\n### 识别优先级\n1. 优先识别周/月（长词优先）\n2. 日/月/年中的\"日\"不参与识别（如\"04月27日\"中的\"日\"）\n3. 无明确时间词时默认日榜\n\n---\n\n## 近期日期关键词\n\n| 关键词 | 含义 |\n|--------|------|\n| 昨日、昨天 | offset=1 |\n| 今日、今天 | offset=1 |\n| 最新 | 根据更新时间自动计算 offset |\n| 本周、这周 | 当前周 |\n| 本月、这个月 | 当前月 |\n\nFile v1.0.3:assets/category_config.json\n\n{\n  \"category_map\": {\n    \"全部\": \"全部\",\n    \"个人才艺\": \"个人才艺\",\n    \"生活vlog\": \"生活vlog\",\n    \"生活VLOG\": \"生活vlog\",\n    \"财富理财\": \"财富理财\",\n    \"二次元\": \"二次元\",\n    \"居家装修\": \"居家装修\",\n    \"学习教育\": \"学习教育\",\n    \"小剧场\": \"小剧场\",\n    \"数码科技\": \"数码科技\",\n    \"旅行\": \"旅行\",\n    \"美食\": \"美食\",\n    \"化妆美容\": \"化妆美容\",\n    \"动物\": \"动物\",\n    \"亲子\": \"亲子\",\n    \"汽车\": \"汽车\",\n    \"情感\": \"情感\",\n    \"三农\": \"三农\",\n    \"健康医学\": \"健康医学\",\n    \"潮流风尚\": \"潮流风尚\",\n    \"舞蹈才艺\": \"舞蹈才艺\",\n    \"颜值造型\": \"颜值造型\",\n    \"人文\": \"人文\",\n    \"音乐\": \"音乐\",\n    \"影视\": \"影视\",\n    \"身体锻炼\": \"身体锻炼\",\n    \"体育\": \"体育\",\n    \"明星娱乐\": \"明星娱乐\",\n    \"游戏\": \"游戏\",\n    \"美妆护肤\": \"化妆美容\",\n    \"彩妆护肤\": \"化妆美容\",\n    \"美妆博主\": \"化妆美容\",\n    \"护肤美妆\": \"化妆美容\",\n    \"化妆品\": \"化妆美容\",\n    \"美妆\": \"化妆美容\",\n    \"彩妆\": \"化妆美容\",\n    \"护肤\": \"化妆美容\",\n    \"美容\": \"化妆美容\",\n    \"口红\": \"化妆美容\",\n    \"粉底\": \"化妆美容\",\n    \"眼妆\": \"化妆美容\",\n    \"美白\": \"化妆美容\",\n    \"防晒\": \"化妆美容\",\n    \"抗老\": \"化妆美容\",\n    \"素颜\": \"化妆美容\",\n    \"科技数码\": \"数码科技\",\n    \"数码测评\": \"数码科技\",\n    \"手机评测\": \"数码科技\",\n    \"电脑配件\": \"数码科技\",\n    \"人工智能\": \"数码科技\",\n    \"科技\": \"数码科技\",\n    \"数码\": \"数码科技\",\n    \"手机\": \"数码科技\",\n    \"电脑\": \"数码科技\",\n    \"平板\": \"数码科技\",\n    \"耳机\": \"数码科技\",\n    \"相机\": \"数码科技\",\n    \"智能硬件\": \"数码科技\",\n    \"智能家居\": \"数码科技\",\n    \"AI\": \"数码科技\",\n    \"ai\": \"数码科技\",\n    \"互联网\": \"数码科技\",\n    \"程序员\": \"数码科技\",\n    \"软件\": \"数码科技\",\n    \"硬件\": \"数码科技\",\n    \"极客\": \"数码科技\",\n    \"健康养生\": \"健康医学\",\n    \"中医养生\": \"健康医学\",\n    \"健康医疗\": \"健康医学\",\n    \"健康\": \"健康医学\",\n    \"养生\": \"健康医学\",\n    \"医疗\": \"健康医学\",\n    \"医生\": \"健康医学\",\n    \"医院\": \"健康医学\",\n    \"中医\": \"健康医学\",\n    \"减肥\": \"健康医学\",\n    \"营养\": \"健康医学\",\n    \"食疗\": \"健康医学\",\n    \"保健\": \"健康医学\",\n    \"心理\": \"健康医学\",\n    \"睡眠\": \"健康医学\",\n    \"美食探店\": \"美食\",\n    \"探店博主\": \"美食\",\n    \"吃播\": \"美食\",\n    \"烹饪\": \"美食\",\n    \"探店\": \"美食\",\n    \"下厨\": \"美食\",\n    \"厨艺\": \"美食\",\n    \"菜谱\": \"美食\",\n    \"甜品\": \"美食\",\n    \"烘焙\": \"美食\",\n    \"火锅\": \"美食\",\n    \"小吃\": \"美食\",\n    \"料理\": \"美食\",\n    \"食材\": \"美食\",\n    \"厨房\": \"美食\",\n    \"餐厅\": \"美食\",\n    \"网红餐\": \"美食\",\n    \"旅行vlog\": \"旅行\",\n    \"旅游博主\": \"旅行\",\n    \"旅游攻略\": \"旅行\",\n    \"旅游\": \"旅行\",\n    \"出行\": \"旅行\",\n    \"打卡\": \"旅行\",\n    \"景区\": \"旅行\",\n    \"景点\": \"旅行\",\n    \"民宿\": \"旅行\",\n    \"户外探险\": \"旅行\",\n    \"露营\": \"旅行\",\n    \"徒步\": \"旅行\",\n    \"背包客\": \"旅行\",\n    \"出国\": \"旅行\",\n    \"签证\": \"旅行\",\n    \"时尚穿搭\": \"潮流风尚\",\n    \"穿搭博主\": \"潮流风尚\",\n    \"街头时尚\": \"潮流风尚\",\n    \"穿搭\": \"潮流风尚\",\n    \"时尚\": \"潮流风尚\",\n    \"搭配\": \"潮流风尚\",\n    \"ootd\": \"潮流风尚\",\n    \"OOTD\": \"潮流风尚\",\n    \"潮牌\": \"潮流风尚\",\n    \"球鞋\": \"潮流风尚\",\n    \"sneaker\": \"潮流风尚\",\n    \"潮流\": \"潮流风尚\",\n    \"国潮\": \"潮流风尚\",\n    \"汉服\": \"潮流风尚\",\n    \"衣服\": \"潮流风尚\",\n    \"服装\": \"潮流风尚\",\n    \"品牌\": \"潮流风尚\",\n    \"奢侈品\": \"潮流风尚\",\n    \"包包\": \"潮流风尚\",\n    \"亲子育儿\": \"亲子\",\n    \"母婴育儿\": \"亲子\",\n    \"育儿经验\": \"亲子\",\n    \"育儿\": \"亲子\",\n    \"母婴\": \"亲子\",\n    \"宝宝\": \"亲子\",\n    \"婴儿\": \"亲子\",\n    \"儿童\": \"亲子\",\n    \"孕妈\": \"亲子\",\n    \"妈妈\": \"亲子\",\n    \"奶爸\": \"亲子\",\n    \"辅食\": \"亲子\",\n    \"胎教\": \"亲子\",\n    \"早教\": \"亲子\",\n    \"知识教育\": \"学习教育\",\n    \"在线教育\": \"学习教育\",\n    \"考研\": \"学习教育\",\n    \"高考\": \"学习教育\",\n    \"英语\": \"学习教育\",\n    \"数学\": \"学习教育\",\n    \"语文\": \"学习教育\",\n    \"教育\": \"学习教育\",\n    \"学习\": \"学习教育\",\n    \"读书\": \"学习教育\",\n    \"备考\": \"学习教育\",\n    \"刷题\": \"学习教育\",\n    \"知识\": \"学习教育\",\n    \"学科\": \"学习教育\",\n    \"老师\": \"学习教育\",\n    \"课程\": \"学习教育\",\n    \"讲解\": \"学习教育\",\n    \"考试\": \"学习教育\",\n    \"技能\": \"学习教育\",\n    \"宠物猫狗\": \"动物\",\n    \"猫咪\": \"动物\",\n    \"宠物\": \"动物\",\n    \"猫\": \"动物\",\n    \"狗\": \"动物\",\n    \"dog\": \"动物\",\n    \"cat\": \"动物\",\n    \"狗狗\": \"动物\",\n    \"萌宠\": \"动物\",\n    \"鸟\": \"动物\",\n    \"鱼\": \"动物\",\n    \"兔子\": \"动物\",\n    \"仓鼠\": \"动物\",\n    \"野生动物\": \"动物\",\n    \"健身运动\": \"身体锻炼\",\n    \"减脂塑形\": \"身体锻炼\",\n    \"健身打卡\": \"身体锻炼\",\n    \"健身\": \"身体锻炼\",\n    \"运动\": \"身体锻炼\",\n    \"瑜伽\": \"身体锻炼\",\n    \"锻炼\": \"身体锻炼\",\n    \"跑步\": \"身体锻炼\",\n    \"增肌\": \"身体锻炼\",\n    \"减脂\": \"身体锻炼\",\n    \"塑形\": \"身体锻炼\",\n    \"马拉松\": \"身体锻炼\",\n    \"游泳\": \"身体锻炼\",\n    \"拳击\": \"身体锻炼\",\n    \"格斗\": \"身体锻炼\",\n    \"器械\": \"身体锻炼\",\n    \"撸铁\": \"身体锻炼\",\n    \"健美\": \"身体锻炼\",\n    \"家居装修\": \"居家装修\",\n    \"室内设计\": \"居家装修\",\n    \"装修改造\": \"居家装修\",\n    \"房屋装修\": \"居家装修\",\n    \"装修\": \"居家装修\",\n    \"家居\": \"居家装修\",\n    \"家装\": \"居家装修\",\n    \"软装\": \"居家装修\",\n    \"硬装\": \"居家装修\",\n    \"整理收纳\": \"居家装修\",\n    \"收纳\": \"居家装修\",\n    \"设计师\": \"居家装修\",\n    \"北欧风\": \"居家装修\",\n    \"极简风\": \"居家装修\",\n    \"新中式\": \"居家装修\",\n    \"二手改造\": \"居家装修\",\n    \"影视解说\": \"影视\",\n    \"电影解说\": \"影视\",\n    \"剧集推荐\": \"影视\",\n    \"电影\": \"影视\",\n    \"剧集\": \"影视\",\n    \"电视剧\": \"影视\",\n    \"短剧\": \"影视\",\n    \"综艺\": \"影视\",\n    \"动画片\": \"影视\",\n    \"纪录片\": \"影视\",\n    \"电影推荐\": \"影视\",\n    \"追剧\": \"影视\",\n    \"影评\": \"影视\",\n    \"剧评\": \"影视\",\n    \"番剧\": \"影视\",\n    \"音乐创作\": \"音乐\",\n    \"原创音乐\": \"音乐\",\n    \"翻唱\": \"音乐\",\n    \"唱歌\": \"音乐\",\n    \"弹琴\": \"音乐\",\n    \"弹吉他\": \"音乐\",\n    \"吉他\": \"音乐\",\n    \"钢琴\": \"音乐\",\n    \"古琴\": \"音乐\",\n    \"编曲\": \"音乐\",\n    \"说唱\": \"音乐\",\n    \"rap\": \"音乐\",\n    \"RAP\": \"音乐\",\n    \"歌手\": \"音乐\",\n    \"乐器\": \"音乐\",\n    \"DJ\": \"音乐\",\n    \"dj\": \"音乐\",\n    \"电音\": \"音乐\",\n    \"民谣\": \"音乐\",\n    \"古风\": \"音乐\",\n    \"舞蹈教学\": \"舞蹈才艺\",\n    \"街舞\": \"舞蹈才艺\",\n    \"舞蹈\": \"舞蹈才艺\",\n    \"跳舞\": \"舞蹈才艺\",\n    \"古典舞\": \"舞蹈才艺\",\n    \"民族舞\": \"舞蹈才艺\",\n    \"爵士舞\": \"舞蹈才艺\",\n    \"芭蕾\": \"舞蹈才艺\",\n    \"breaking\": \"舞蹈才艺\",\n    \"hiphop\": \"舞蹈才艺\",\n    \"HIPHOP\": \"舞蹈才艺\",\n    \"编舞\": \"舞蹈才艺\",\n    \"明星八卦\": \"明星娱乐\",\n    \"娱乐八卦\": \"明星娱乐\",\n    \"明星\": \"明星娱乐\",\n    \"娱乐\": \"明星娱乐\",\n    \"偶像\": \"明星娱乐\",\n    \"idol\": \"明星娱乐\",\n    \"追星\": \"明星娱乐\",\n    \"八卦\": \"明星娱乐\",\n    \"艺人\": \"明星娱乐\",\n    \"网红\": \"明星娱乐\",\n    \"名人\": \"明星娱乐\",\n    \"游戏直播\": \"游戏\",\n    \"游戏解说\": \"游戏\",\n    \"手游攻略\": \"游戏\",\n    \"网游\": \"游戏\",\n    \"手游\": \"游戏\",\n    \"电竞\": \"游戏\",\n    \"主机游戏\": \"游戏\",\n    \"电子游戏\": \"游戏\",\n    \"主播\": \"游戏\",\n    \"LOL\": \"游戏\",\n    \"lol\": \"游戏\",\n    \"王者荣耀\": \"游戏\",\n    \"和平精英\": \"游戏\",\n    \"原神\": \"游戏\",\n    \"MC\": \"游戏\",\n    \"我的世界\": \"游戏\",\n    \"英雄联盟\": \"游戏\",\n    \"PUBG\": \"游戏\",\n    \"使命召唤\": \"游戏\",\n    \"战双\": \"游戏\",\n    \"鸣潮\": \"游戏\",\n    \"steam\": \"游戏\",\n    \"Steam\": \"游戏\",\n    \"投资理财\": \"财富理财\",\n    \"股票基金\": \"财富理财\",\n    \"理财\": \"财富理财\",\n    \"财经\": \"财富理财\",\n    \"股票\": \"财富理财\",\n    \"基金\": \"财富理财\",\n    \"炒股\": \"财富理财\",\n    \"期货\": \"财富理财\",\n    \"加密货币\": \"财富理财\",\n    \"比特币\": \"财富理财\",\n    \"投资\": \"财富理财\",\n    \"创业\": \"财富理财\",\n    \"副业\": \"财富理财\",\n    \"二次元动漫\": \"二次元\",\n    \"动漫\": \"二次元\",\n    \"漫画\": \"二次元\",\n    \"ACG\": \"二次元\",\n    \"acg\": \"二次元\",\n    \"anime\": \"二次元\",\n    \"cosplay\": \"二次元\",\n    \"cos\": \"二次元\",\n    \"COS\": \"二次元\",\n    \"Cosplay\": \"二次元\",\n    \"鬼灭\": \"二次元\",\n    \"海贼王\": \"二次元\",\n    \"火影\": \"二次元\",\n    \"进击的巨人\": \"二次元\",\n    \"漫威\": \"二次元\",\n    \"抱枕\": \"二次元\",\n    \"生活日常\": \"生活vlog\",\n    \"日常vlog\": \"生活vlog\",\n    \"vlog博主\": \"生活vlog\",\n    \"vlog\": \"生活vlog\",\n    \"VLOG\": \"生活vlog\",\n    \"Vlog\": \"生活vlog\",\n    \"日常\": \"生活vlog\",\n    \"生活记录\": \"生活vlog\",\n    \"生活分享\": \"生活vlog\",\n    \"城市生活\": \"生活vlog\",\n    \"人文历史\": \"人文\",\n    \"历史文化\": \"人文\",\n    \"历史\": \"人文\",\n    \"文化\": \"人文\",\n    \"文物\": \"人文\",\n    \"传统文化\": \"人文\",\n    \"国学\": \"人文\",\n    \"地理\": \"人文\",\n    \"人文地理\": \"人文\",\n    \"纪实\": \"人文\",\n    \"社会\": \"人文\",\n    \"汽车测评\": \"汽车\",\n    \"买车选车\": \"汽车\",\n    \"新能源车\": \"汽车\",\n    \"新能源\": \"汽车\",\n    \"驾车\": \"汽车\",\n    \"车评\": \"汽车\",\n    \"摩托车\": \"汽车\",\n    \"越野\": \"汽车\",\n    \"车\": \"汽车\",\n    \"三农生活\": \"三农\",\n    \"农村生活\": \"三农\",\n    \"乡村\": \"三农\",\n    \"农村\": \"三农\",\n    \"农业\": \"三农\",\n    \"种地\": \"三农\",\n    \"农民\": \"三农\",\n    \"土地\": \"三农\",\n    \"渔村\": \"三农\",\n    \"颜值博主\": \"颜值造型\",\n    \"发型\": \"颜值造型\",\n    \"造型\": \"颜值造型\",\n    \"颜值\": \"颜值造型\",\n    \"发色\": \"颜值造型\",\n    \"美发\": \"颜值造型\",\n    \"变美\": \"颜值造型\",\n    \"整形\": \"颜值造型\",\n    \"修容\": \"颜值造型\",\n    \"才艺展示\": \"个人才艺\",\n    \"才艺\": \"个人才艺\",\n    \"魔术\": \"个人才艺\",\n    \"杂技\": \"个人才艺\",\n    \"变装\": \"个人才艺\",\n    \"脱口秀\": \"个人才艺\",\n    \"相声\": \"个人才艺\",\n    \"小品\": \"个人才艺\",\n    \"情感博主\": \"情感\",\n    \"恋爱\": \"情感\",\n    \"婚姻\": \"情感\",\n    \"失恋\": \"情感\",\n    \"两性\": \"情感\",\n    \"情侣\": \"情感\",\n    \"家庭关系\": \"情感\",\n    \"相亲\": \"情感\",\n    \"单身\": \"情感\",\n    \"情景剧\": \"小剧场\",\n    \"微剧\": \"小剧场\",\n    \"短视频剧\": \"小剧场\",\n    \"剧情\": \"小剧场\",\n    \"搞笑视频\": \"小剧场\",\n    \"幽默\": \"小剧场\",\n    \"搞笑\": \"小剧场\",\n    \"喜剧\": \"小剧场\",\n    \"反转\": \"小剧场\",\n    \"体育赛事\": \"体育\",\n    \"篮球\": \"体育\",\n    \"足球\": \"体育\",\n    \"乒乓球\": \"体育\",\n    \"羽毛球\": \"体育\",\n    \"网球\": \"体育\",\n    \"排球\": \"体育\",\n    \"冰雪运动\": \"体育\",\n    \"滑雪\": \"体育\",\n    \"滑板\": \"体育\",\n    \"电竞体育\": \"体育\",\n    \"NBA\": \"体育\",\n    \"CBA\": \"体育\",\n    \"世界杯\": \"体育\",\n    \"奥运\": \"体育\",\n    \"综合\": \"全部\",\n    \"全品类\": \"全部\",\n    \"所有\": \"全部\",\n    \"全\": \"全部\"\n  },\n  \"exact_categories\": [\n    \"汽车\",\n    \"数码科技\",\n    \"生活vlog\",\n    \"颜值造型\",\n    \"小剧场\",\n    \"体育\",\n    \"学习教育\",\n    \"潮流风尚\",\n    \"人文\",\n    \"音乐\",\n    \"亲子\",\n    \"情感\",\n    \"旅行\",\n    \"个人才艺\",\n    \"舞蹈才艺\",\n    \"二次元\",\n    \"动物\",\n    \"健康医学\",\n    \"游戏\",\n    \"居家装修\",\n    \"化妆美容\",\n    \"明星娱乐\",\n    \"美食\",\n    \"影视\",\n    \"三农\",\n    \"身体锻炼\",\n    \"全部\",\n    \"财富理财\"\n  ],\n  \"cat_display\": {\n    \"全部\": \"全品类\",\n    \"化妆美容\": \"美妆类\",\n    \"美食\": \"美食类\",\n    \"旅行\": \"旅行类\",\n    \"数码科技\": \"科技类\",\n    \"游戏\": \"游戏类\",\n    \"健康医学\": \"健康类\",\n    \"亲子\": \"亲子类\",\n    \"身体锻炼\": \"运动类\",\n    \"学习教育\": \"教育类\",\n    \"动物\": \"动物类\",\n    \"潮流风尚\": \"时尚类\",\n    \"居家装修\": \"家居类\",\n    \"影视\": \"影视类\",\n    \"音乐\": \"音乐类\",\n    \"舞蹈才艺\": \"舞蹈类\",\n    \"明星娱乐\": \"娱乐类\",\n    \"体育\": \"体育类\",\n    \"情感\": \"情感类\",\n    \"财富理财\": \"理财类\",\n    \"二次元\": \"二次元类\",\n    \"小剧场\": \"小剧场类\",\n    \"汽车\": \"汽车类\",\n    \"三农\": \"三农类\",\n    \"人文\": \"人文类\",\n    \"颜值造型\": \"颜值类\",\n    \"个人才艺\": \"才艺类\",\n    \"生活vlog\": \"生活类\"\n  }\n}\n\nFile v1.0.3:assets/period_config.json\n\n{\n  \"period_map\": {\n    \"day\": \"days\",\n    \"week\": \"weeks\",\n    \"month\": \"months\"\n  },\n  \"period_labels\": {\n    \"day\": \"日榜\",\n    \"week\": \"周榜\",\n    \"month\": \"月榜\"\n  },\n  \"period_keys\": {\n    \"days\": \"day\",\n    \"weeks\": \"week\",\n    \"months\": \"month\"\n  },\n  \"short_aliases\": {\n    \"day\": \"日\",\n    \"week\": \"周\",\n    \"month\": \"月\"\n  },\n  \"long_aliases\": {\n    \"day\": [\n      \"day\",\n      \"daily\",\n      \"日榜\",\n      \"日排名\",\n      \"日间\",\n      \"今日\",\n      \"今天\",\n      \"昨日\"\n    ],\n    \"week\": [\n      \"week\",\n      \"weekly\",\n      \"周榜\",\n      \"周排名\",\n      \"周间\",\n      \"上周\",\n      \"本周\",\n      \"这周\",\n      \"本周期\"\n    ],\n    \"month\": [\n      \"month\",\n      \"monthly\",\n      \"月榜\",\n      \"月排名\",\n      \"月间\",\n      \"上月\",\n      \"本月\",\n      \"这个月\"\n    ]\n  },\n  \"update_rules\": {\n    \"day\": {\n      \"label\": \"日榜\",\n      \"update_time\": \"每日17:30\",\n      \"window_days\": 9\n    },\n    \"week\": {\n      \"label\": \"周榜\",\n      \"update_time\": \"每周一17:30\",\n      \"window_days\": 21\n    },\n    \"month\": {\n      \"label\": \"月榜\",\n      \"update_time\": \"每月2号9点\",\n      \"window_days\": 90\n    }\n  }\n}\n\nArchive v1.0.2: 10 files, 32080 bytes\n\nFiles: assets/category_config.json (13248b), assets/period_config.json (1186b), references/api_docs.md (5131b), references/category_map.md (2450b), references/score_rules.md (936b), references/update_rules.md (2766b), scripts/fetch_rank.py (32549b), scripts/generate_report.py (25290b), SKILL.md (9499b), _meta.json (138b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: douyin-rank-tranker\ndescription: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\ndependency:\n  python:\n    - requests>=2.28.0\n---\n\n# 抖音每日最具影响力账号\n\n## 概述\n\n提供抖音全品类/分品类账号每日/每周/每月的表现榜单查询。\n\n**更新时间与回溯范围：**\n\n| 榜单类型 | 更新时间 | 回溯范围 |\n|---------|---------|---------|\n| 日榜 | 每日17:30 | 过去7天 |\n| 周榜 | 每周一17:30 | 过去3周 |\n| 月榜 | 每月2号9点 | 过去3月 |\n\n**三大核心能力：**\n\n- 📊 **排名查询** — 查日榜、周榜、月榜 TOP50\n- 🎯 **领域查询** — 按品类筛选（美食、旅行、科技、游戏等）\n- 📥 **报告下载** — 生成 HTML 可视化报告，支持导出 PDF/截图\n\n---\n\n## 目标用户与使用场景\n\n| 用户分层                  | 核心痛点                                                             | 查询示例                                             |\n| ------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------- |\n| 新手内容创作者 / 个体运营 | 不知道哪些账号做得好、无从借鉴、不知道自己的水平在赛道内处于什么位置 | \"美食类账号怎么找？帮我看看我的账号在美食赛道排多少\" |\n| 品牌方 / 商务投放人员     | 找达人效率低、数据维度单一、不了解账号历史表现                       | \"上周抖音美妆类TOP50有哪些账号表现好？\"              |\n| MCN机构 / 内容团队        | 竞品账号情报获取难、无法快速掌握市场动态                             | \"最近一周哪些游戏账号涨粉最快？\"                     |\n| 行业分析师 / 咨询从业者   | 数据获取门槛高、缺乏可视化报告工具                                   | \"帮我生成一份3月份的抖音游戏类榜单分析报告\"          |\n\n---\n\n## 触发词与意图识别\n\n| 用户意图 | 典型触发词                                              | 对应操作                          |\n| -------- | ------------------------------------------------------- | --------------------------------- |\n| 排名查询 | 抖音日榜、周榜、月榜、TOP50、最夯账号、排行榜、最新推荐 | 调用脚本查询并格式化输出          |\n| 领域查询 | 美食类/旅行类/游戏类/科技类...抖音排名                  | 调用脚本并按赛道筛选              |\n| 报告下载 | 下载报告、导出榜单、生成报告                            | 运行 generate_report.py 生成 HTML |\n\n---\n\n## 执行流程\n\n### 第一步：查询数据（默认展示 TOP 20）\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json\n```\n\n脚本会自动解析：\n\n- **时间**：从用户文本识别日/周/月，未明确则默认日榜\n- **日期**：自动计算最新可用日期（日榜17:30更新，周榜周一17:30更新，月榜每月2号9点更新）\n- **赛道**：支持模糊匹配（如\"美妆\"→\"化妆美容\"）\n\n脚本输出包含：\n1. Markdown 格式榜单表格（最多20条）\n2. \"更多操作\"引导模块\n3. \"订阅服务\"引导模块（根据用户选择的赛道动态展示）\n\n### 第二步：生成 HTML 报告（立即执行）\n\n```bash\npython scripts/generate_report.py --data /path/to/data.json --limit 20  # 自动生成文件名\n```\n\n> **重要**：HTML 报告展示的数据条数必须与对话中展示的数量保持一致！\n> - 对话默认展示 20 条 → HTML 报告也只展示 20 条\n> - 用户要求查看全部 50 条 → 重新生成完整报告\n\n使用 `deliver_attachments` 交付 HTML 文件。\n\n### 用户查看全部数据时\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50  # 自动生成完整文件名\n```\n\n使用 `deliver_attachments` 交付完整 HTML 文件。\n\n---\n\n## 输出模板\n\n### Markdown 表格（对话输出）\n\n```\n📊 抖音{period_label} · {category_label}\n\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n> **时间边界处理**（warning 插入榜单说明开头）：\n> - 查询当日/未来日期：「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」\n> - 查询早于回溯日期：「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」\n> - 正常查询：warning 为空，直接展示更新时间\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://www.douyin.com/user/xxx) | 96 | 254.06w | 6919 | 24.64w | 6.68w | 13.39w |\n| 🥈 2 | [账号B](https://www.douyin.com/user/xxx) | 89 | 113.55w | 1.91w | 7.90w | 4787 | 3.12w |\n| 🥉 3 | [账号C](https://www.douyin.com/user/xxx) | 87 | 439.14w | 5859 | 16.51w | 993 | 687 |\n| ... | ... | ... | ... | ... | ... | ... | ... |\n```\n\n⚡ **更多操作**\n\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n\n2️⃣ 是否需要订阅具体赛道的账号表现？我们支持：个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n\n## 生成 HTML 报告\n- 执行脚本生成 HTML 报告文件\n  - 脚本调用示例：`python scripts/generate_report.py --data <fetch_rank输出> --limit 20  # 自动生成文件名`\n  - 文件名格式：`{赛道}{周期}{YYYYMMDD}_{时间戳}.html（如 美食周榜20260511_时间戳.html）`（如 `20260511_美食.html`）\n\n> ⚠️ **字段说明**：默认展示 TOP 20 条数据，最高互动 = 点赞 + 评论 + 分享\n\n---\n\n## 订阅服务\n\n用户确认订阅后，使用 `automation_update` 工具创建自动化任务：\n\n### 订阅排名更新推送\n- **日榜**：`FREQ=DAILY;BYHOUR=19;BYMINUTE=30`\n- **周榜**：`FREQ=WEEKLY;BYDAY=MO;BYHOUR=19;BYMINUTE=30`\n- **月榜**：`FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=16;BYMINUTE=0`\n\nautomation prompt 示例：`查询抖音最新日榜（全品类），生成报告并推送给用户`\n\n### 订阅赛道账号表现\n- automation prompt 示例：`查询抖音最新日榜（美食赛道），生成报告并推送给用户`\n\n---\n\n## 常见问题\n\n**Q: 日榜数据什么时候更新？**\nA: 每日 17:30 更新昨日数据。当前时间未到17:30时，脚本会自动取前天数据。\n\n**Q: 支持哪些赛道？**\nA: 支持27个赛道，完整列表见 [references/category_map.md](references/category_map.md)。\n\n**Q: 数据回溯范围？**\nA: 日榜可查过去7天，周榜可查过去3周，月榜可查过去3个月。\n\n**Q: 赛道识别失败怎么办？**\nA: 无法识别时，请列出完整赛道列表供用户选择。\n\n---\n\n## 资源索引\n\n| 文件                                                     | 用途                         |\n| -------------------------------------------------------- | ---------------------------- |\n| [scripts/fetch_rank.py](scripts/fetch_rank.py)           | 查询抖音榜单数据             |\n| [scripts/generate_report.py](scripts/generate_report.py) | 生成 HTML 可视化报告         |\n| [references/category_map.md](references/category_map.md) | 赛道映射表与匹配规则         |\n| [references/update_rules.md](references/update_rules.md) | 更新规则与日期计算逻辑       |\n| [references/score_rules.md](references/score_rules.md)   | 评分算法说明                 |\n| [references/api_docs.md](references/api_docs.md)         | API 接口详细文档（技术参考） |\n\n---\n\n## 注意事项\n\n- ⚠️ **时间边界处理（必须严格遵守）**：\n  - **查询当日及未来日期**：在输出开头回复「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」然后继续展示最近一期数据\n  - **查询时间早于回溯日期**：在输出开头回复「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」然后继续展示最接近的可查数据\n- 严禁任何联网搜索\n- ⚠️ **数据一致性**：对话展示多少条，HTML 报告就展示多少条，两者必须一致\n- 日榜默认展示 TOP 20，完整 50 条通过报告或追问查看\n- HTML 报告账号名均可点击跳转抖音主页\n- 生成报告前确保 workspace 有写权限\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn73hdehkbe5dwfzckzj8yhcw984t4cc\",\n  \"slug\": \"douyin-rank-tranker\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1778815848837\n}\n\nFile v1.0.2:references/api_docs.md\n\n# 抖音榜单 API 接口文档\n\n## 接口基础信息\n\n| 字段 | 值 |\n|------|-----|\n| 接口地址 | `https://onetotenvip.com/story/dyData/query` |\n| 请求方式 | POST |\n| Content-Type | `application/json` |\n| 认证方式 | 无（公开接口） |\n\n---\n\n## 请求参数\n\n```json\n{\n  \"dateType\": \"days\",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）\n  \"rankDate\": \"2026-04-27\",    // 榜单开始日期（结束时间由服务器自行计算）（必填）\n  \"type\": \"美食\",               // 赛道分类，默认\"全部\"（必填）\n  \"source\": \"抖音每日最具影响力账号\"  // 固定值（必填）\n}\n```\n\n> ⚠️ **重要**：`source` 必须为 `\"抖音每日最具影响力账号\"`，使用其他值会导致接口返回空数据！\n\n---\n\n## 响应结构\n\n```json\n{\n  \"code\": 2000,\n  \"data\": [\n    {\n      \"accountLink\":    \"https://www.douyin.com/user/...\",\n      \"accountName\":    \"账号名称\",\n      \"accountRanking\": 1,\n      \"category\":       \"美食\",\n      \"fansCount\":      \"254.06w\",\n      \"fansGrowth\":     \"6919\",\n      \"likedGrowth\":    \"24.64w\",\n      \"commentsGrowth\": \"6.68w\",\n      \"collectedGrowth\":\"2.53w\",\n      \"sharedGrowth\":   \"13.39w\",\n      \"rankDate\":       \"2026-04-27\",\n      \"rankPeriod\":     \"日榜\"\n    }\n  ]\n}\n```\n\n---\n\n## 错误码\n\n| code | 含义 |\n|------|------|\n| 2000 | **成功**（注意：成功码是 2000 不是 0！） |\n| 其他 | 错误，data 为空数组 |\n\n---\n\n## 字段映射（fetch_rank.py normalized JSON）\n\n| 接口原始字段 | normalized 字段 | 含义 |\n|------------|----------------|------|\n| `accountRanking` | `rank` | 排名 |\n| `accountName` | `accountName` | 账号名 |\n| `category` | `category` | 赛道 |\n| `fansCount` | `followers` | 总粉丝数 |\n| `fansGrowth` | `newFans` | 新增粉丝 |\n| `likedGrowth` | `newLikes` | 新增点赞 |\n| `commentsGrowth` | `newComments` | 新增评论 |\n| `sharedGrowth` | `newShares` | 新增分享 |\n| `accountLink` | `profileUrl` | 主页链接 |\n\n---\n\n## 可用赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 赛道模糊匹配规则\n\n> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为\"全部\"。\n\n| 用户说（示例）| 映射到 |\n|--------|--------|\n| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |\n| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |\n| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |\n| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |\n| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |\n| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |\n| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |\n| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |\n| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |\n| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |\n| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |\n| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |\n| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |\n| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |\n| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |\n| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |\n| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |\n| 动漫、ACG、cosplay、cos、番剧 | 二次元 |\n| vlog、日常、生活记录、日常vlog | 生活vlog |\n| 人文、历史、文化、传统文化、国学 | 人文 |\n| 汽车、车、车评、新能源、摩托车 | 汽车 |\n| 农村、三农、乡村、农业、种地 | 三农 |\n| 颜值、造型、发型、美发、变美 | 颜值造型 |\n| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |\n| 恋爱、婚姻、两性、情侣、相亲 | 情感 |\n| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |\n| 篮球、足球、NBA、世界杯、滑雪、羽毛球 | 体育 |\n| 综合、全品类、所有 | 全部 |\n\nFile v1.0.2:references/category_map.md\n\n# 赛道映射表\n\n## 支持的赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 常用模糊匹配映射\n\n| 用户说 | 映射到 |\n|--------|--------|\n| 游戏、网游、手游 | 游戏 |\n| 美食、探店、烹饪 | 美食 |\n| 旅行、旅游 | 旅行 |\n| 科技、数码、手机 | 数码科技 |\n| 美妆、彩妆、护肤 | 化妆美容 |\n| 健身、运动、瑜伽 | 身体锻炼 |\n| 亲子、育儿、母婴 | 亲子 |\n| 穿搭、时尚 | 潮流风尚 |\n| 音乐、唱歌、弹琴 | 音乐 |\n| 影视、电影、剧集 | 影视 |\n| 健康、养生 | 健康医学 |\n| 萌宠、宠物 | 动物 |\n| 理财、投资 | 财富理财 |\n\n---\n\n## 赛道识别处理\n\n脚本 `fetch_rank.py` 使用 `match_category()` 函数进行匹配：\n\n### 匹配策略（按优先级）\n\n1. **精确匹配**：大小写不敏感，完整词匹配\n2. **模糊匹配**：按关键词长度降序扫描，取最长命中词\n3. **子串匹配**：用户输入是某个key的子串时（如\"美妆博主\"→\"美妆\"）\n4. **兜底**：返回\"全部\"\n\n### 赛道识别失败时的处理\n\n当 `category_fuzzy=False` 且无法识别时：\n1. 告知用户\"抱歉，无法识别该赛道类别\"\n2. 列出完整赛道列表\n3. 询问用户指定某一赛道\n\n### 完整赛道关键词（用于匹配）\n\n```\n全部、个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```\n\nFile v1.0.2:references/score_rules.md\n\n# 抖音账号综合评分规则\n\n## 评分维度\n\n综合评分基于以下维度计算：\n\n| 维度 | 权重 | 计算方式 |\n|------|------|----------|\n| 总粉丝数 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增粉丝 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增点赞 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增分享 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增评论 | 20% | ln(x+1)/ln(max+1) × 100 |\n\n## 计算公式\n\n对数归一化公式：\n```\nscore = ln(x + 1) / ln(max + 1) × 100\n```\n\n其中：\n- `x` 为该账号的当前指标值\n- `max` 为本次榜单中该指标的最大值\n\n## 示例\n\n假设某榜单数据如下：\n\n| 账号 | 新增点赞 | 得分计算 |\n|------|----------|----------|\n| A | 10万 | ln(100001)/ln(100001) × 100 = 100 |\n| B | 5万 | ln(50001)/ln(100001) × 100 ≈ 85 |\n| C | 1万 | ln(10001)/ln(100001) × 100 ≈ 67 |\n\n## 最终得分\n\n各维度加权求和后，保留整数作为综合评分。\n\nFile v1.0.2:references/update_rules.md\n\n# 更新规则与日期计算\n\n## 榜单更新时间\n\n| 榜单类型 | 更新时间 | 说明 |\n|----------|----------|------|\n| 日榜 | 每日 17:30 | 更新前一天数据 |\n| 周榜 | 每周一 17:30 | 更新上周数据 |\n| 月榜 | 每月2号 9点 | 更新上月数据 |\n\n---\n\n## 自动 offset 计算\n\n根据当前时间是否已到更新时间，自动选择 offset：\n\n| 榜单类型 | 当前时间 < 更新时间 | 当前时间 >= 更新时间 |\n|----------|-------------------|-------------------|\n| 日榜 | offset=2（取前2天） | offset=1（取前一天） |\n| 周榜 | offset=2（取前2周） | offset=1（取前1周） |\n| 月榜 | offset=2（取前2月） | offset=1（取前1月） |\n\n---\n\n## 日期计算公式\n\n### 日榜\n```\ntarget_date = date.today() - timedelta(days=offset)\n```\n\n### 周榜\n```\ntarget_date = date.today() - timedelta(weeks=offset) 后的最近周一\ntarget_sunday = target_monday + timedelta(days=6)\n```\n\n### 月榜\n```\ntarget_date = date.today() - timedelta(days=30*offset) 后的每月1号\ntarget_last_day = 下月1号 - 1天\n```\n\n---\n\n## 回溯范围校验\n\n| 榜单类型 | 最大回溯 | 超出时提示语 |\n|----------|----------|--------------|\n| 日榜 | 过去7天 | \"非常抱歉🙏，目前榜单最多支持回溯「过去7天」\" |\n| 周榜 | 过去3周 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3周」\" |\n| 月榜 | 过去3个月 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3月」\" |\n\n> ⚠️ **注意**：自动计算的日期（如\"最新\"）不受回溯窗口限制，脚本会自动调整 offset 取最近可用数据。\n\n---\n\n## 时间越界场景\n\n当用户明确指定日期但超出范围时：\n\n| 场景 | 提示语 |\n|------|--------|\n| 查询当日或未来日期 | `非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月AI热榜。` |\n| 查询超出回溯范围的历史日期 | `非常抱歉🙏，目前榜单最多支持回溯「过去X天/周/月」，我将为您查询最接近您需求的时间范围~` |\n\n---\n\n## 周期关键词识别\n\n自动从用户文本中识别日/周/月（无明确则默认**日榜**）：\n\n| 用户说 | 识别结果 |\n|--------|----------|\n| 含\"周\"、\"周榜\" | week |\n| 含\"月\"、\"月榜\" | month |\n| 其余默认 | day |\n\n### 识别优先级\n1. 优先识别周/月（长词优先）\n2. 日/月/年中的\"日\"不参与识别（如\"04月27日\"中的\"日\"）\n3. 无明确时间词时默认日榜\n\n---\n\n## 近期日期关键词\n\n| 关键词 | 含义 |\n|--------|------|\n| 昨日、昨天 | offset=1 |\n| 今日、今天 | offset=1 |\n| 最新 | 根据更新时间自动计算 offset |\n| 本周、这周 | 当前周 |\n| 本月、这个月 | 当前月 |\n\nFile v1.0.2:assets/category_config.json\n\n{\n  \"category_map\": {\n    \"全部\": \"全部\",\n    \"个人才艺\": \"个人才艺\",\n    \"生活vlog\": \"生活vlog\",\n    \"生活VLOG\": \"生活vlog\",\n    \"财富理财\": \"财富理财\",\n    \"二次元\": \"二次元\",\n    \"居家装修\": \"居家装修\",\n    \"学习教育\": \"学习教育\",\n    \"小剧场\": \"小剧场\",\n    \"数码科技\": \"数码科技\",\n    \"旅行\": \"旅行\",\n    \"美食\": \"美食\",\n    \"化妆美容\": \"化妆美容\",\n    \"动物\": \"动物\",\n    \"亲子\": \"亲子\",\n    \"汽车\": \"汽车\",\n    \"情感\": \"情感\",\n    \"三农\": \"三农\",\n    \"健康医学\": \"健康医学\",\n    \"潮流风尚\": \"潮流风尚\",\n    \"舞蹈才艺\": \"舞蹈才艺\",\n    \"颜值造型\": \"颜值造型\",\n    \"人文\": \"人文\",\n    \"音乐\": \"音乐\",\n    \"影视\": \"影视\",\n    \"身体锻炼\": \"身体锻炼\",\n    \"体育\": \"体育\",\n    \"明星娱乐\": \"明星娱乐\",\n    \"游戏\": \"游戏\",\n    \"美妆护肤\": \"化妆美容\",\n    \"彩妆护肤\": \"化妆美容\",\n    \"美妆博主\": \"化妆美容\",\n    \"护肤美妆\": \"化妆美容\",\n    \"化妆品\": \"化妆美容\",\n    \"美妆\": \"化妆美容\",\n    \"彩妆\": \"化妆美容\",\n    \"护肤\": \"化妆美容\",\n    \"美容\": \"化妆美容\",\n    \"口红\": \"化妆美容\",\n    \"粉底\": \"化妆美容\",\n    \"眼妆\": \"化妆美容\",\n    \"美白\": \"化妆美容\",\n    \"防晒\": \"化妆美容\",\n    \"抗老\": \"化妆美容\",\n    \"素颜\": \"化妆美容\",\n    \"科技数码\": \"数码科技\",\n    \"数码测评\": \"数码科技\",\n    \"手机评测\": \"数码科技\",\n    \"电脑配件\": \"数码科技\",\n    \"人工智能\": \"数码科技\",\n    \"科技\": \"数码科技\",\n    \"数码\": \"数码科技\",\n    \"手机\": \"数码科技\",\n    \"电脑\": \"数码科技\",\n    \"平板\": \"数码科技\",\n    \"耳机\": \"数码科技\",\n    \"相机\": \"数码科技\",\n    \"智能硬件\": \"数码科技\",\n    \"智能家居\": \"数码科技\",\n    \"AI\": \"数码科技\",\n    \"ai\": \"数码科技\",\n    \"互联网\": \"数码科技\",\n    \"程序员\": \"数码科技\",\n    \"软件\": \"数码科技\",\n    \"硬件\": \"数码科技\",\n    \"极客\": \"数码科技\",\n    \"健康养生\": \"健康医学\",\n    \"中医养生\": \"健康医学\",\n    \"健康医疗\": \"健康医学\",\n    \"健康\": \"健康医学\",\n    \"养生\": \"健康医学\",\n    \"医疗\": \"健康医学\",\n    \"医生\": \"健康医学\",\n    \"医院\": \"健康医学\",\n    \"中医\": \"健康医学\",\n    \"减肥\": \"健康医学\",\n    \"营养\": \"健康医学\",\n    \"食疗\": \"健康医学\",\n    \"保健\": \"健康医学\",\n    \"心理\": \"健康医学\",\n    \"睡眠\": \"健康医学\",\n    \"美食探店\": \"美食\",\n    \"探店博主\": \"美食\",\n    \"吃播\": \"美食\",\n    \"烹饪\": \"美食\",\n    \"探店\": \"美食\",\n    \"下厨\": \"美食\",\n    \"厨艺\": \"美食\",\n    \"菜谱\": \"美食\",\n    \"甜品\": \"美食\",\n    \"烘焙\": \"美食\",\n    \"火锅\": \"美食\",\n    \"小吃\": \"美食\",\n    \"料理\": \"美食\",\n    \"食材\": \"美食\",\n    \"厨房\": \"美食\",\n    \"餐厅\": \"美食\",\n    \"网红餐\": \"美食\",\n    \"旅行vlog\": \"旅行\",\n    \"旅游博主\": \"旅行\",\n    \"旅游攻略\": \"旅行\",\n    \"旅游\": \"旅行\",\n    \"出行\": \"旅行\",\n    \"打卡\": \"旅行\",\n    \"景区\": \"旅行\",\n    \"景点\": \"旅行\",\n    \"民宿\": \"旅行\",\n    \"户外探险\": \"旅行\",\n    \"露营\": \"旅行\",\n    \"徒步\": \"旅行\",\n    \"背包客\": \"旅行\",\n    \"出国\": \"旅行\",\n    \"签证\": \"旅行\",\n    \"时尚穿搭\": \"潮流风尚\",\n    \"穿搭博主\": \"潮流风尚\",\n    \"街头时尚\": \"潮流风尚\",\n    \"穿搭\": \"潮流风尚\",\n    \"时尚\": \"潮流风尚\",\n    \"搭配\": \"潮流风尚\",\n    \"ootd\": \"潮流风尚\",\n    \"OOTD\": \"潮流风尚\",\n    \"潮牌\": \"潮流风尚\",\n    \"球鞋\": \"潮流风尚\",\n    \"sneaker\": \"潮流风尚\",\n    \"潮流\": \"潮流风尚\",\n    \"国潮\": \"潮流风尚\",\n    \"汉服\": \"潮流风尚\",\n    \"衣服\": \"潮流风尚\",\n    \"服装\": \"潮流风尚\",\n    \"品牌\": \"潮流风尚\",\n    \"奢侈品\": \"潮流风尚\",\n    \"包包\": \"潮流风尚\",\n    \"亲子育儿\": \"亲子\",\n    \"母婴育儿\": \"亲子\",\n    \"育儿经验\": \"亲子\",\n    \"育儿\": \"亲子\",\n    \"母婴\": \"亲子\",\n    \"宝宝\": \"亲子\",\n    \"婴儿\": \"亲子\",\n    \"儿童\": \"亲子\",\n    \"孕妈\": \"亲子\",\n    \"妈妈\": \"亲子\",\n    \"奶爸\": \"亲子\",\n    \"辅食\": \"亲子\",\n    \"胎教\": \"亲子\",\n    \"早教\": \"亲子\",\n    \"知识教育\": \"学习教育\",\n    \"在线教育\": \"学习教育\",\n    \"考研\": \"学习教育\",\n    \"高考\": \"学习教育\",\n    \"英语\": \"学习教育\",\n    \"数学\": \"学习教育\",\n    \"语文\": \"学习教育\",\n    \"教育\": \"学习教育\",\n    \"学习\": \"学习教育\",\n    \"读书\": \"学习教育\",\n    \"备考\": \"学习教育\",\n    \"刷题\": \"学习教育\",\n    \"知识\": \"学习教育\",\n    \"学科\": \"学习教育\",\n    \"老师\": \"学习教育\",\n    \"课程\": \"学习教育\",\n    \"讲解\": \"学习教育\",\n    \"考试\": \"学习教育\",\n    \"技能\": \"学习教育\",\n    \"宠物猫狗\": \"动物\",\n    \"猫咪\": \"动物\",\n    \"宠物\": \"动物\",\n    \"猫\": \"动物\",\n    \"狗\": \"动物\",\n    \"dog\": \"动物\",\n    \"cat\": \"动物\",\n    \"狗狗\": \"动物\",\n    \"萌宠\": \"动物\",\n    \"鸟\": \"动物\",\n    \"鱼\": \"动物\",\n    \"兔子\": \"动物\",\n    \"仓鼠\": \"动物\",\n    \"野生动物\": \"动物\",\n    \"健身运动\": \"身体锻炼\",\n    \"减脂塑形\": \"身体锻炼\",\n    \"健身打卡\": \"身体锻炼\",\n    \"健身\": \"身体锻炼\",\n    \"运动\": \"身体锻炼\",\n    \"瑜伽\": \"身体锻炼\",\n    \"锻炼\": \"身体锻炼\",\n    \"跑步\": \"身体锻炼\",\n    \"增肌\": \"身体锻炼\",\n    \"减脂\": \"身体锻炼\",\n    \"塑形\": \"身体锻炼\",\n    \"马拉松\": \"身体锻炼\",\n    \"游泳\": \"身体锻炼\",\n    \"拳击\": \"身体锻炼\",\n    \"格斗\": \"身体锻炼\",\n    \"器械\": \"身体锻炼\",\n    \"撸铁\": \"身体锻炼\",\n    \"健美\": \"身体锻炼\",\n    \"家居装修\": \"居家装修\",\n    \"室内设计\": \"居家装修\",\n    \"装修改造\": \"居家装修\",\n    \"房屋装修\": \"居家装修\",\n    \"装修\": \"居家装修\",\n    \"家居\": \"居家装修\",\n    \"家装\": \"居家装修\",\n    \"软装\": \"居家装修\",\n    \"硬装\": \"居家装修\",\n    \"整理收纳\": \"居家装修\",\n    \"收纳\": \"居家装修\",\n    \"设计师\": \"居家装修\",\n    \"北欧风\": \"居家装修\",\n    \"极简风\": \"居家装修\",\n    \"新中式\": \"居家装修\",\n    \"二手改造\": \"居家装修\",\n    \"影视解说\": \"影视\",\n    \"电影解说\": \"影视\",\n    \"剧集推荐\": \"影视\",\n    \"电影\": \"影视\",\n    \"剧集\": \"影视\",\n    \"电视剧\": \"影视\",\n    \"短剧\": \"影视\",\n    \"综艺\": \"影视\",\n    \"动画片\": \"影视\",\n    \"纪录片\": \"影视\",\n    \"电影推荐\": \"影视\",\n    \"追剧\": \"影视\",\n    \"影评\": \"影视\",\n    \"剧评\": \"影视\",\n    \"番剧\": \"影视\",\n    \"音乐创作\": \"音乐\",\n    \"原创音乐\": \"音乐\",\n    \"翻唱\": \"音乐\",\n    \"唱歌\": \"音乐\",\n    \"弹琴\": \"音乐\",\n    \"弹吉他\": \"音乐\",\n    \"吉他\": \"音乐\",\n    \"钢琴\": \"音乐\",\n    \"古琴\": \"音乐\",\n    \"编曲\": \"音乐\",\n    \"说唱\": \"音乐\",\n    \"rap\": \"音乐\",\n    \"RAP\": \"音乐\",\n    \"歌手\": \"音乐\",\n    \"乐器\": \"音乐\",\n    \"DJ\": \"音乐\",\n    \"dj\": \"音乐\",\n    \"电音\": \"音乐\",\n    \"民谣\": \"音乐\",\n    \"古风\": \"音乐\",\n    \"舞蹈教学\": \"舞蹈才艺\",\n    \"街舞\": \"舞蹈才艺\",\n    \"舞蹈\": \"舞蹈才艺\",\n    \"跳舞\": \"舞蹈才艺\",\n    \"古典舞\": \"舞蹈才艺\",\n    \"民族舞\": \"舞蹈才艺\",\n    \"爵士舞\": \"舞蹈才艺\",\n    \"芭蕾\": \"舞蹈才艺\",\n    \"breaking\": \"舞蹈才艺\",\n    \"hiphop\": \"舞蹈才艺\",\n    \"HIPHOP\": \"舞蹈才艺\",\n    \"编舞\": \"舞蹈才艺\",\n    \"明星八卦\": \"明星娱乐\",\n    \"娱乐八卦\": \"明星娱乐\",\n    \"明星\": \"明星娱乐\",\n    \"娱乐\": \"明星娱乐\",\n    \"偶像\": \"明星娱乐\",\n    \"idol\": \"明星娱乐\",\n    \"追星\": \"明星娱乐\",\n    \"八卦\": \"明星娱乐\",\n    \"艺人\": \"明星娱乐\",\n    \"网红\": \"明星娱乐\",\n    \"名人\": \"明星娱乐\",\n    \"游戏直播\": \"游戏\",\n    \"游戏解说\": \"游戏\",\n    \"手游攻略\": \"游戏\",\n    \"网游\": \"游戏\",\n    \"手游\": \"游戏\",\n    \"电竞\": \"游戏\",\n    \"主机游戏\": \"游戏\",\n    \"电子游戏\": \"游戏\",\n    \"主播\": \"游戏\",\n    \"LOL\": \"游戏\",\n    \"lol\": \"游戏\",\n    \"王者荣耀\": \"游戏\",\n    \"和平精英\": \"游戏\",\n    \"原神\": \"游戏\",\n    \"MC\": \"游戏\",\n    \"我的世界\": \"游戏\",\n    \"英雄联盟\": \"游戏\",\n    \"PUBG\": \"游戏\",\n    \"使命召唤\": \"游戏\",\n    \"战双\": \"游戏\",\n    \"鸣潮\": \"游戏\",\n    \"steam\": \"游戏\",\n    \"Steam\": \"游戏\",\n    \"投资理财\": \"财富理财\",\n    \"股票基金\": \"财富理财\",\n    \"理财\": \"财富理财\",\n    \"财经\": \"财富理财\",\n    \"股票\": \"财富理财\",\n    \"基金\": \"财富理财\",\n    \"炒股\": \"财富理财\",\n    \"期货\": \"财富理财\",\n    \"加密货币\": \"财富理财\",\n    \"比特币\": \"财富理财\",\n    \"投资\": \"财富理财\",\n    \"创业\": \"财富理财\",\n    \"副业\": \"财富理财\",\n    \"二次元动漫\": \"二次元\",\n    \"动漫\": \"二次元\",\n    \"漫画\": \"二次元\",\n    \"ACG\": \"二次元\",\n    \"acg\": \"二次元\",\n    \"anime\": \"二次元\",\n    \"cosplay\": \"二次元\",\n    \"cos\": \"二次元\",\n    \"COS\": \"二次元\",\n    \"Cosplay\": \"二次元\",\n    \"鬼灭\": \"二次元\",\n    \"海贼王\": \"二次元\",\n    \"火影\": \"二次元\",\n    \"进击的巨人\": \"二次元\",\n    \"漫威\": \"二次元\",\n    \"抱枕\": \"二次元\",\n    \"生活日常\": \"生活vlog\",\n    \"日常vlog\": \"生活vlog\",\n    \"vlog博主\": \"生活vlog\",\n    \"vlog\": \"生活vlog\",\n    \"VLOG\": \"生活vlog\",\n    \"Vlog\": \"生活vlog\",\n    \"日常\": \"生活vlog\",\n    \"生活记录\": \"生活vlog\",\n    \"生活分享\": \"生活vlog\",\n    \"城市生活\": \"生活vlog\",\n    \"人文历史\": \"人文\",\n    \"历史文化\": \"人文\",\n    \"历史\": \"人文\",\n    \"文化\": \"人文\",\n    \"文物\": \"人文\",\n    \"传统文化\": \"人文\",\n    \"国学\": \"人文\",\n    \"地理\": \"人文\",\n    \"人文地理\": \"人文\",\n    \"纪实\": \"人文\",\n    \"社会\": \"人文\",\n    \"汽车测评\": \"汽车\",\n    \"买车选车\": \"汽车\",\n    \"新能源车\": \"汽车\",\n    \"新能源\": \"汽车\",\n    \"驾车\": \"汽车\",\n    \"车评\": \"汽车\",\n    \"摩托车\": \"汽车\",\n    \"越野\": \"汽车\",\n    \"车\": \"汽车\",\n    \"三农生活\": \"三农\",\n    \"农村生活\": \"三农\",\n    \"乡村\": \"三农\",\n    \"农村\": \"三农\",\n    \"农业\": \"三农\",\n    \"种地\": \"三农\",\n    \"农民\": \"三农\",\n    \"土地\": \"三农\",\n    \"渔村\": \"三农\",\n    \"颜值博主\": \"颜值造型\",\n    \"发型\": \"颜值造型\",\n    \"造型\": \"颜值造型\",\n    \"颜值\": \"颜值造型\",\n    \"发色\": \"颜值造型\",\n    \"美发\": \"颜值造型\",\n    \"变美\": \"颜值造型\",\n    \"整形\": \"颜值造型\",\n    \"修容\": \"颜值造型\",\n    \"才艺展示\": \"个人才艺\",\n    \"才艺\": \"个人才艺\",\n    \"魔术\": \"个人才艺\",\n    \"杂技\": \"个人才艺\",\n    \"变装\": \"个人才艺\",\n    \"脱口秀\": \"个人才艺\",\n    \"相声\": \"个人才艺\",\n    \"小品\": \"个人才艺\",\n    \"情感博主\": \"情感\",\n    \"恋爱\": \"情感\",\n    \"婚姻\": \"情感\",\n    \"失恋\": \"情感\",\n    \"两性\": \"情感\",\n    \"情侣\": \"情感\",\n    \"家庭关系\": \"情感\",\n    \"相亲\": \"情感\",\n    \"单身\": \"情感\",\n    \"情景剧\": \"小剧场\",\n    \"微剧\": \"小剧场\",\n    \"短视频剧\": \"小剧场\",\n    \"剧情\": \"小剧场\",\n    \"搞笑视频\": \"小剧场\",\n    \"幽默\": \"小剧场\",\n    \"搞笑\": \"小剧场\",\n    \"喜剧\": \"小剧场\",\n    \"反转\": \"小剧场\",\n    \"体育赛事\": \"体育\",\n    \"篮球\": \"体育\",\n    \"足球\": \"体育\",\n    \"乒乓球\": \"体育\",\n    \"羽毛球\": \"体育\",\n    \"网球\": \"体育\",\n    \"排球\": \"体育\",\n    \"冰雪运动\": \"体育\",\n    \"滑雪\": \"体育\",\n    \"滑板\": \"体育\",\n    \"电竞体育\": \"体育\",\n    \"NBA\": \"体育\",\n    \"CBA\": \"体育\",\n    \"世界杯\": \"体育\",\n    \"奥运\": \"体育\",\n    \"综合\": \"全部\",\n    \"全品类\": \"全部\",\n    \"所有\": \"全部\",\n    \"全\": \"全部\"\n  },\n  \"exact_categories\": [\n    \"汽车\",\n    \"数码科技\",\n    \"生活vlog\",\n    \"颜值造型\",\n    \"小剧场\",\n    \"体育\",\n    \"学习教育\",\n    \"潮流风尚\",\n    \"人文\",\n    \"音乐\",\n    \"亲子\",\n    \"情感\",\n    \"旅行\",\n    \"个人才艺\",\n    \"舞蹈才艺\",\n    \"二次元\",\n    \"动物\",\n    \"健康医学\",\n    \"游戏\",\n    \"居家装修\",\n    \"化妆美容\",\n    \"明星娱乐\",\n    \"美食\",\n    \"影视\",\n    \"三农\",\n    \"身体锻炼\",\n    \"全部\",\n    \"财富理财\"\n  ],\n  \"cat_display\": {\n    \"全部\": \"全品类\",\n    \"化妆美容\": \"美妆类\",\n    \"美食\": \"美食类\",\n    \"旅行\": \"旅行类\",\n    \"数码科技\": \"科技类\",\n    \"游戏\": \"游戏类\",\n    \"健康医学\": \"健康类\",\n    \"亲子\": \"亲子类\",\n    \"身体锻炼\": \"运动类\",\n    \"学习教育\": \"教育类\",\n    \"动物\": \"动物类\",\n    \"潮流风尚\": \"时尚类\",\n    \"居家装修\": \"家居类\",\n    \"影视\": \"影视类\",\n    \"音乐\": \"音乐类\",\n    \"舞蹈才艺\": \"舞蹈类\",\n    \"明星娱乐\": \"娱乐类\",\n    \"体育\": \"体育类\",\n    \"情感\": \"情感类\",\n    \"财富理财\": \"理财类\",\n    \"二次元\": \"二次元类\",\n    \"小剧场\": \"小剧场类\",\n    \"汽车\": \"汽车类\",\n    \"三农\": \"三农类\",\n    \"人文\": \"人文类\",\n    \"颜值造型\": \"颜值类\",\n    \"个人才艺\": \"才艺类\",\n    \"生活vlog\": \"生活类\"\n  }\n}\n\nFile v1.0.2:assets/period_config.json\n\n{\n  \"period_map\": {\n    \"day\": \"days\",\n    \"week\": \"weeks\",\n    \"month\": \"months\"\n  },\n  \"period_labels\": {\n    \"day\": \"日榜\",\n    \"week\": \"周榜\",\n    \"month\": \"月榜\"\n  },\n  \"period_keys\": {\n    \"days\": \"day\",\n    \"weeks\": \"week\",\n    \"months\": \"month\"\n  },\n  \"short_aliases\": {\n    \"day\": \"日\",\n    \"week\": \"周\",\n    \"month\": \"月\"\n  },\n  \"long_aliases\": {\n    \"day\": [\n      \"day\",\n      \"daily\",\n      \"日榜\",\n      \"日排名\",\n      \"日间\",\n      \"今日\",\n      \"今天\",\n      \"昨日\"\n    ],\n    \"week\": [\n      \"week\",\n      \"weekly\",\n      \"周榜\",\n      \"周排名\",\n      \"周间\",\n      \"上周\",\n      \"本周\",\n      \"这周\",\n      \"本周期\"\n    ],\n    \"month\": [\n      \"month\",\n      \"monthly\",\n      \"月榜\",\n      \"月排名\",\n      \"月间\",\n      \"上月\",\n      \"本月\",\n      \"这个月\"\n    ]\n  },\n  \"update_rules\": {\n    \"day\": {\n      \"label\": \"日榜\",\n      \"update_time\": \"每日17:30\",\n      \"window_days\": 9\n    },\n    \"week\": {\n      \"label\": \"周榜\",\n      \"update_time\": \"每周一17:30\",\n      \"window_days\": 21\n    },\n    \"month\": {\n      \"label\": \"月榜\",\n      \"update_time\": \"每月2号9点\",\n      \"window_days\": 90\n    }\n  }\n}\n\nArchive v1.0.1: 10 files, 32081 bytes\n\nFiles: assets/category_config.json (13248b), assets/period_config.json (1186b), references/api_docs.md (5131b), references/category_map.md (2450b), references/score_rules.md (936b), references/update_rules.md (2766b), scripts/fetch_rank.py (32549b), scripts/generate_report.py (25290b), SKILL.md (9499b), _meta.json (138b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: douyin-rank-tranker\ndescription: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\ndependency:\n  python:\n    - requests>=2.28.0\n---\n\n# 抖音每日最具影响力账号\n\n## 概述\n\n提供抖音全品类/分品类账号每日/每周/每月的表现榜单查询。\n\n**更新时间与回溯范围：**\n\n| 榜单类型 | 更新时间 | 回溯范围 |\n|---------|---------|---------|\n| 日榜 | 每日17:30 | 过去7天 |\n| 周榜 | 每周一17:30 | 过去3周 |\n| 月榜 | 每月2号9点 | 过去3月 |\n\n**三大核心能力：**\n\n- 📊 **排名查询** — 查日榜、周榜、月榜 TOP50\n- 🎯 **领域查询** — 按品类筛选（美食、旅行、科技、游戏等）\n- 📥 **报告下载** — 生成 HTML 可视化报告，支持导出 PDF/截图\n\n---\n\n## 目标用户与使用场景\n\n| 用户分层                  | 核心痛点                                                             | 查询示例                                             |\n| ------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------- |\n| 新手内容创作者 / 个体运营 | 不知道哪些账号做得好、无从借鉴、不知道自己的水平在赛道内处于什么位置 | \"美食类账号怎么找？帮我看看我的账号在美食赛道排多少\" |\n| 品牌方 / 商务投放人员     | 找达人效率低、数据维度单一、不了解账号历史表现                       | \"上周抖音美妆类TOP50有哪些账号表现好？\"              |\n| MCN机构 / 内容团队        | 竞品账号情报获取难、无法快速掌握市场动态                             | \"最近一周哪些游戏账号涨粉最快？\"                     |\n| 行业分析师 / 咨询从业者   | 数据获取门槛高、缺乏可视化报告工具                                   | \"帮我生成一份3月份的抖音游戏类榜单分析报告\"          |\n\n---\n\n## 触发词与意图识别\n\n| 用户意图 | 典型触发词                                              | 对应操作                          |\n| -------- | ------------------------------------------------------- | --------------------------------- |\n| 排名查询 | 抖音日榜、周榜、月榜、TOP50、最夯账号、排行榜、最新推荐 | 调用脚本查询并格式化输出          |\n| 领域查询 | 美食类/旅行类/游戏类/科技类...抖音排名                  | 调用脚本并按赛道筛选              |\n| 报告下载 | 下载报告、导出榜单、生成报告                            | 运行 generate_report.py 生成 HTML |\n\n---\n\n## 执行流程\n\n### 第一步：查询数据（默认展示 TOP 20）\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json\n```\n\n脚本会自动解析：\n\n- **时间**：从用户文本识别日/周/月，未明确则默认日榜\n- **日期**：自动计算最新可用日期（日榜17:30更新，周榜周一17:30更新，月榜每月2号9点更新）\n- **赛道**：支持模糊匹配（如\"美妆\"→\"化妆美容\"）\n\n脚本输出包含：\n1. Markdown 格式榜单表格（最多20条）\n2. \"更多操作\"引导模块\n3. \"订阅服务\"引导模块（根据用户选择的赛道动态展示）\n\n### 第二步：生成 HTML 报告（立即执行）\n\n```bash\npython scripts/generate_report.py --data /path/to/data.json --limit 20  # 自动生成文件名\n```\n\n> **重要**：HTML 报告展示的数据条数必须与对话中展示的数量保持一致！\n> - 对话默认展示 20 条 → HTML 报告也只展示 20 条\n> - 用户要求查看全部 50 条 → 重新生成完整报告\n\n使用 `deliver_attachments` 交付 HTML 文件。\n\n### 用户查看全部数据时\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50  # 自动生成完整文件名\n```\n\n使用 `deliver_attachments` 交付完整 HTML 文件。\n\n---\n\n## 输出模板\n\n### Markdown 表格（对话输出）\n\n```\n📊 抖音{period_label} · {category_label}\n\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n> **时间边界处理**（warning 插入榜单说明开头）：\n> - 查询当日/未来日期：「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」\n> - 查询早于回溯日期：「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」\n> - 正常查询：warning 为空，直接展示更新时间\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://www.douyin.com/user/xxx) | 96 | 254.06w | 6919 | 24.64w | 6.68w | 13.39w |\n| 🥈 2 | [账号B](https://www.douyin.com/user/xxx) | 89 | 113.55w | 1.91w | 7.90w | 4787 | 3.12w |\n| 🥉 3 | [账号C](https://www.douyin.com/user/xxx) | 87 | 439.14w | 5859 | 16.51w | 993 | 687 |\n| ... | ... | ... | ... | ... | ... | ... | ... |\n```\n\n⚡ **更多操作**\n\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n\n2️⃣ 是否需要订阅具体赛道的账号表现？我们支持：个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n\n## 生成 HTML 报告\n- 执行脚本生成 HTML 报告文件\n  - 脚本调用示例：`python scripts/generate_report.py --data <fetch_rank输出> --limit 20  # 自动生成文件名`\n  - 文件名格式：`{赛道}{周期}{YYYYMMDD}_{时间戳}.html（如 美食周榜20260511_时间戳.html）`（如 `20260511_美食.html`）\n\n> ⚠️ **字段说明**：默认展示 TOP 20 条数据，最高互动 = 点赞 + 评论 + 分享\n\n---\n\n## 订阅服务\n\n用户确认订阅后，使用 `automation_update` 工具创建自动化任务：\n\n### 订阅排名更新推送\n- **日榜**：`FREQ=DAILY;BYHOUR=19;BYMINUTE=30`\n- **周榜**：`FREQ=WEEKLY;BYDAY=MO;BYHOUR=19;BYMINUTE=30`\n- **月榜**：`FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=16;BYMINUTE=0`\n\nautomation prompt 示例：`查询抖音最新日榜（全品类），生成报告并推送给用户`\n\n### 订阅赛道账号表现\n- automation prompt 示例：`查询抖音最新日榜（美食赛道），生成报告并推送给用户`\n\n---\n\n## 常见问题\n\n**Q: 日榜数据什么时候更新？**\nA: 每日 17:30 更新昨日数据。当前时间未到17:30时，脚本会自动取前天数据。\n\n**Q: 支持哪些赛道？**\nA: 支持27个赛道，完整列表见 [references/category_map.md](references/category_map.md)。\n\n**Q: 数据回溯范围？**\nA: 日榜可查过去7天，周榜可查过去3周，月榜可查过去3个月。\n\n**Q: 赛道识别失败怎么办？**\nA: 无法识别时，请列出完整赛道列表供用户选择。\n\n---\n\n## 资源索引\n\n| 文件                                                     | 用途                         |\n| -------------------------------------------------------- | ---------------------------- |\n| [scripts/fetch_rank.py](scripts/fetch_rank.py)           | 查询抖音榜单数据             |\n| [scripts/generate_report.py](scripts/generate_report.py) | 生成 HTML 可视化报告         |\n| [references/category_map.md](references/category_map.md) | 赛道映射表与匹配规则         |\n| [references/update_rules.md](references/update_rules.md) | 更新规则与日期计算逻辑       |\n| [references/score_rules.md](references/score_rules.md)   | 评分算法说明                 |\n| [references/api_docs.md](references/api_docs.md)         | API 接口详细文档（技术参考） |\n\n---\n\n## 注意事项\n\n- ⚠️ **时间边界处理（必须严格遵守）**：\n  - **查询当日及未来日期**：在输出开头回复「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」然后继续展示最近一期数据\n  - **查询时间早于回溯日期**：在输出开头回复「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」然后继续展示最接近的可查数据\n- 严禁任何联网搜索\n- ⚠️ **数据一致性**：对话展示多少条，HTML 报告就展示多少条，两者必须一致\n- 日榜默认展示 TOP 20，完整 50 条通过报告或追问查看\n- HTML 报告账号名均可点击跳转抖音主页\n- 生成报告前确保 workspace 有写权限\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn73hdehkbe5dwfzckzj8yhcw984t4cc\",\n  \"slug\": \"douyin-rank-tranker\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1778815776432\n}\n\nFile v1.0.1:references/api_docs.md\n\n# 抖音榜单 API 接口文档\n\n## 接口基础信息\n\n| 字段 | 值 |\n|------|-----|\n| 接口地址 | `https://onetotenvip.com/story/dyData/query` |\n| 请求方式 | POST |\n| Content-Type | `application/json` |\n| 认证方式 | 无（公开接口） |\n\n---\n\n## 请求参数\n\n```json\n{\n  \"dateType\": \"days\",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）\n  \"rankDate\": \"2026-04-27\",    // 榜单开始日期（结束时间由服务器自行计算）（必填）\n  \"type\": \"美食\",               // 赛道分类，默认\"全部\"（必填）\n  \"source\": \"抖音每日最具影响力账号\"  // 固定值（必填）\n}\n```\n\n> ⚠️ **重要**：`source` 必须为 `\"抖音每日最具影响力账号\"`，使用其他值会导致接口返回空数据！\n\n---\n\n## 响应结构\n\n```json\n{\n  \"code\": 2000,\n  \"data\": [\n    {\n      \"accountLink\":    \"https://www.douyin.com/user/...\",\n      \"accountName\":    \"账号名称\",\n      \"accountRanking\": 1,\n      \"category\":       \"美食\",\n      \"fansCount\":      \"254.06w\",\n      \"fansGrowth\":     \"6919\",\n      \"likedGrowth\":    \"24.64w\",\n      \"commentsGrowth\": \"6.68w\",\n      \"collectedGrowth\":\"2.53w\",\n      \"sharedGrowth\":   \"13.39w\",\n      \"rankDate\":       \"2026-04-27\",\n      \"rankPeriod\":     \"日榜\"\n    }\n  ]\n}\n```\n\n---\n\n## 错误码\n\n| code | 含义 |\n|------|------|\n| 2000 | **成功**（注意：成功码是 2000 不是 0！） |\n| 其他 | 错误，data 为空数组 |\n\n---\n\n## 字段映射（fetch_rank.py normalized JSON）\n\n| 接口原始字段 | normalized 字段 | 含义 |\n|------------|----------------|------|\n| `accountRanking` | `rank` | 排名 |\n| `accountName` | `accountName` | 账号名 |\n| `category` | `category` | 赛道 |\n| `fansCount` | `followers` | 总粉丝数 |\n| `fansGrowth` | `newFans` | 新增粉丝 |\n| `likedGrowth` | `newLikes` | 新增点赞 |\n| `commentsGrowth` | `newComments` | 新增评论 |\n| `sharedGrowth` | `newShares` | 新增分享 |\n| `accountLink` | `profileUrl` | 主页链接 |\n\n---\n\n## 可用赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 赛道模糊匹配规则\n\n> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为\"全部\"。\n\n| 用户说（示例）| 映射到 |\n|--------|--------|\n| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |\n| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |\n| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |\n| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |\n| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |\n| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |\n| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |\n| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |\n| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |\n| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |\n| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |\n| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |\n| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |\n| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |\n| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |\n| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |\n| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |\n| 动漫、ACG、cosplay、cos、番剧 | 二次元 |\n| vlog、日常、生活记录、日常vlog | 生活vlog |\n| 人文、历史、文化、传统文化、国学 | 人文 |\n| 汽车、车、车评、新能源、摩托车 | 汽车 |\n| 农村、三农、乡村、农业、种地 | 三农 |\n| 颜值、造型、发型、美发、变美 | 颜值造型 |\n| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |\n| 恋爱、婚姻、两性、情侣、相亲 | 情感 |\n| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |\n| 篮球、足球、NBA、世界杯、滑雪、羽毛球 | 体育 |\n| 综合、全品类、所有 | 全部 |\n\nFile v1.0.1:references/category_map.md\n\n# 赛道映射表\n\n## 支持的赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 常用模糊匹配映射\n\n| 用户说 | 映射到 |\n|--------|--------|\n| 游戏、网游、手游 | 游戏 |\n| 美食、探店、烹饪 | 美食 |\n| 旅行、旅游 | 旅行 |\n| 科技、数码、手机 | 数码科技 |\n| 美妆、彩妆、护肤 | 化妆美容 |\n| 健身、运动、瑜伽 | 身体锻炼 |\n| 亲子、育儿、母婴 | 亲子 |\n| 穿搭、时尚 | 潮流风尚 |\n| 音乐、唱歌、弹琴 | 音乐 |\n| 影视、电影、剧集 | 影视 |\n| 健康、养生 | 健康医学 |\n| 萌宠、宠物 | 动物 |\n| 理财、投资 | 财富理财 |\n\n---\n\n## 赛道识别处理\n\n脚本 `fetch_rank.py` 使用 `match_category()` 函数进行匹配：\n\n### 匹配策略（按优先级）\n\n1. **精确匹配**：大小写不敏感，完整词匹配\n2. **模糊匹配**：按关键词长度降序扫描，取最长命中词\n3. **子串匹配**：用户输入是某个key的子串时（如\"美妆博主\"→\"美妆\"）\n4. **兜底**：返回\"全部\"\n\n### 赛道识别失败时的处理\n\n当 `category_fuzzy=False` 且无法识别时：\n1. 告知用户\"抱歉，无法识别该赛道类别\"\n2. 列出完整赛道列表\n3. 询问用户指定某一赛道\n\n### 完整赛道关键词（用于匹配）\n\n```\n全部、个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```\n\nFile v1.0.1:references/score_rules.md\n\n# 抖音账号综合评分规则\n\n## 评分维度\n\n综合评分基于以下维度计算：\n\n| 维度 | 权重 | 计算方式 |\n|------|------|----------|\n| 总粉丝数 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增粉丝 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增点赞 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增分享 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增评论 | 20% | ln(x+1)/ln(max+1) × 100 |\n\n## 计算公式\n\n对数归一化公式：\n```\nscore = ln(x + 1) / ln(max + 1) × 100\n```\n\n其中：\n- `x` 为该账号的当前指标值\n- `max` 为本次榜单中该指标的最大值\n\n## 示例\n\n假设某榜单数据如下：\n\n| 账号 | 新增点赞 | 得分计算 |\n|------|----------|----------|\n| A | 10万 | ln(100001)/ln(100001) × 100 = 100 |\n| B | 5万 | ln(50001)/ln(100001) × 100 ≈ 85 |\n| C | 1万 | ln(10001)/ln(100001) × 100 ≈ 67 |\n\n## 最终得分\n\n各维度加权求和后，保留整数作为综合评分。\n\nFile v1.0.1:references/update_rules.md\n\n# 更新规则与日期计算\n\n## 榜单更新时间\n\n| 榜单类型 | 更新时间 | 说明 |\n|----------|----------|------|\n| 日榜 | 每日 17:30 | 更新前一天数据 |\n| 周榜 | 每周一 17:30 | 更新上周数据 |\n| 月榜 | 每月2号 9点 | 更新上月数据 |\n\n---\n\n## 自动 offset 计算\n\n根据当前时间是否已到更新时间，自动选择 offset：\n\n| 榜单类型 | 当前时间 < 更新时间 | 当前时间 >= 更新时间 |\n|----------|-------------------|-------------------|\n| 日榜 | offset=2（取前2天） | offset=1（取前一天） |\n| 周榜 | offset=2（取前2周） | offset=1（取前1周） |\n| 月榜 | offset=2（取前2月） | offset=1（取前1月） |\n\n---\n\n## 日期计算公式\n\n### 日榜\n```\ntarget_date = date.today() - timedelta(days=offset)\n```\n\n### 周榜\n```\ntarget_date = date.today() - timedelta(weeks=offset) 后的最近周一\ntarget_sunday = target_monday + timedelta(days=6)\n```\n\n### 月榜\n```\ntarget_date = date.today() - timedelta(days=30*offset) 后的每月1号\ntarget_last_day = 下月1号 - 1天\n```\n\n---\n\n## 回溯范围校验\n\n| 榜单类型 | 最大回溯 | 超出时提示语 |\n|----------|----------|--------------|\n| 日榜 | 过去7天 | \"非常抱歉🙏，目前榜单最多支持回溯「过去7天」\" |\n| 周榜 | 过去3周 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3周」\" |\n| 月榜 | 过去3个月 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3月」\" |\n\n> ⚠️ **注意**：自动计算的日期（如\"最新\"）不受回溯窗口限制，脚本会自动调整 offset 取最近可用数据。\n\n---\n\n## 时间越界场景\n\n当用户明确指定日期但超出范围时：\n\n| 场景 | 提示语 |\n|------|--------|\n| 查询当日或未来日期 | `非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月AI热榜。` |\n| 查询超出回溯范围的历史日期 | `非常抱歉🙏，目前榜单最多支持回溯「过去X天/周/月」，我将为您查询最接近您需求的时间范围~` |\n\n---\n\n## 周期关键词识别\n\n自动从用户文本中识别日/周/月（无明确则默认**日榜**）：\n\n| 用户说 | 识别结果 |\n|--------|----------|\n| 含\"周\"、\"周榜\" | week |\n| 含\"月\"、\"月榜\" | month |\n| 其余默认 | day |\n\n### 识别优先级\n1. 优先识别周/月（长词优先）\n2. 日/月/年中的\"日\"不参与识别（如\"04月27日\"中的\"日\"）\n3. 无明确时间词时默认日榜\n\n---\n\n## 近期日期关键词\n\n| 关键词 | 含义 |\n|--------|------|\n| 昨日、昨天 | offset=1 |\n| 今日、今天 | offset=1 |\n| 最新 | 根据更新时间自动计算 offset |\n| 本周、这周 | 当前周 |\n| 本月、这个月 | 当前月 |\n\nFile v1.0.1:assets/category_config.json\n\n{\n  \"category_map\": {\n    \"全部\": \"全部\",\n    \"个人才艺\": \"个人才艺\",\n    \"生活vlog\": \"生活vlog\",\n    \"生活VLOG\": \"生活vlog\",\n    \"财富理财\": \"财富理财\",\n    \"二次元\": \"二次元\",\n    \"居家装修\": \"居家装修\",\n    \"学习教育\": \"学习教育\",\n    \"小剧场\": \"小剧场\",\n    \"数码科技\": \"数码科技\",\n    \"旅行\": \"旅行\",\n    \"美食\": \"美食\",\n    \"化妆美容\": \"化妆美容\",\n    \"动物\": \"动物\",\n    \"亲子\": \"亲子\",\n    \"汽车\": \"汽车\",\n    \"情感\": \"情感\",\n    \"三农\": \"三农\",\n    \"健康医学\": \"健康医学\",\n    \"潮流风尚\": \"潮流风尚\",\n    \"舞蹈才艺\": \"舞蹈才艺\",\n    \"颜值造型\": \"颜值造型\",\n    \"人文\": \"人文\",\n    \"音乐\": \"音乐\",\n    \"影视\": \"影视\",\n    \"身体锻炼\": \"身体锻炼\",\n    \"体育\": \"体育\",\n    \"明星娱乐\": \"明星娱乐\",\n    \"游戏\": \"游戏\",\n    \"美妆护肤\": \"化妆美容\",\n    \"彩妆护肤\": \"化妆美容\",\n    \"美妆博主\": \"化妆美容\",\n    \"护肤美妆\": \"化妆美容\",\n    \"化妆品\": \"化妆美容\",\n    \"美妆\": \"化妆美容\",\n    \"彩妆\": \"化妆美容\",\n    \"护肤\": \"化妆美容\",\n    \"美容\": \"化妆美容\",\n    \"口红\": \"化妆美容\",\n    \"粉底\": \"化妆美容\",\n    \"眼妆\": \"化妆美容\",\n    \"美白\": \"化妆美容\",\n    \"防晒\": \"化妆美容\",\n    \"抗老\": \"化妆美容\",\n    \"素颜\": \"化妆美容\",\n    \"科技数码\": \"数码科技\",\n    \"数码测评\": \"数码科技\",\n    \"手机评测\": \"数码科技\",\n    \"电脑配件\": \"数码科技\",\n    \"人工智能\": \"数码科技\",\n    \"科技\": \"数码科技\",\n    \"数码\": \"数码科技\",\n    \"手机\": \"数码科技\",\n    \"电脑\": \"数码科技\",\n    \"平板\": \"数码科技\",\n    \"耳机\": \"数码科技\",\n    \"相机\": \"数码科技\",\n    \"智能硬件\": \"数码科技\",\n    \"智能家居\": \"数码科技\",\n    \"AI\": \"数码科技\",\n    \"ai\": \"数码科技\",\n    \"互联网\": \"数码科技\",\n    \"程序员\": \"数码科技\",\n    \"软件\": \"数码科技\",\n    \"硬件\": \"数码科技\",\n    \"极客\": \"数码科技\",\n    \"健康养生\": \"健康医学\",\n    \"中医养生\": \"健康医学\",\n    \"健康医疗\": \"健康医学\",\n    \"健康\": \"健康医学\",\n    \"养生\": \"健康医学\",\n    \"医疗\": \"健康医学\",\n    \"医生\": \"健康医学\",\n    \"医院\": \"健康医学\",\n    \"中医\": \"健康医学\",\n    \"减肥\": \"健康医学\",\n    \"营养\": \"健康医学\",\n    \"食疗\": \"健康医学\",\n    \"保健\": \"健康医学\",\n    \"心理\": \"健康医学\",\n    \"睡眠\": \"健康医学\",\n    \"美食探店\": \"美食\",\n    \"探店博主\": \"美食\",\n    \"吃播\": \"美食\",\n    \"烹饪\": \"美食\",\n    \"探店\": \"美食\",\n    \"下厨\": \"美食\",\n    \"厨艺\": \"美食\",\n    \"菜谱\": \"美食\",\n    \"甜品\": \"美食\",\n    \"烘焙\": \"美食\",\n    \"火锅\": \"美食\",\n    \"小吃\": \"美食\",\n    \"料理\": \"美食\",\n    \"食材\": \"美食\",\n    \"厨房\": \"美食\",\n    \"餐厅\": \"美食\",\n    \"网红餐\": \"美食\",\n    \"旅行vlog\": \"旅行\",\n    \"旅游博主\": \"旅行\",\n    \"旅游攻略\": \"旅行\",\n    \"旅游\": \"旅行\",\n    \"出行\": \"旅行\",\n    \"打卡\": \"旅行\",\n    \"景区\": \"旅行\",\n    \"景点\": \"旅行\",\n    \"民宿\": \"旅行\",\n    \"户外探险\": \"旅行\",\n    \"露营\": \"旅行\",\n    \"徒步\": \"旅行\",\n    \"背包客\": \"旅行\",\n    \"出国\": \"旅行\",\n    \"签证\": \"旅行\",\n    \"时尚穿搭\": \"潮流风尚\",\n    \"穿搭博主\": \"潮流风尚\",\n    \"街头时尚\": \"潮流风尚\",\n    \"穿搭\": \"潮流风尚\",\n    \"时尚\": \"潮流风尚\",\n    \"搭配\": \"潮流风尚\",\n    \"ootd\": \"潮流风尚\",\n    \"OOTD\": \"潮流风尚\",\n    \"潮牌\": \"潮流风尚\",\n    \"球鞋\": \"潮流风尚\",\n    \"sneaker\": \"潮流风尚\",\n    \"潮流\": \"潮流风尚\",\n    \"国潮\": \"潮流风尚\",\n    \"汉服\": \"潮流风尚\",\n    \"衣服\": \"潮流风尚\",\n    \"服装\": \"潮流风尚\",\n    \"品牌\": \"潮流风尚\",\n    \"奢侈品\": \"潮流风尚\",\n    \"包包\": \"潮流风尚\",\n    \"亲子育儿\": \"亲子\",\n    \"母婴育儿\": \"亲子\",\n    \"育儿经验\": \"亲子\",\n    \"育儿\": \"亲子\",\n    \"母婴\": \"亲子\",\n    \"宝宝\": \"亲子\",\n    \"婴儿\": \"亲子\",\n    \"儿童\": \"亲子\",\n    \"孕妈\": \"亲子\",\n    \"妈妈\": \"亲子\",\n    \"奶爸\": \"亲子\",\n    \"辅食\": \"亲子\",\n    \"胎教\": \"亲子\",\n    \"早教\": \"亲子\",\n    \"知识教育\": \"学习教育\",\n    \"在线教育\": \"学习教育\",\n    \"考研\": \"学习教育\",\n    \"高考\": \"学习教育\",\n    \"英语\": \"学习教育\",\n    \"数学\": \"学习教育\",\n    \"语文\": \"学习教育\",\n    \"教育\": \"学习教育\",\n    \"学习\": \"学习教育\",\n    \"读书\": \"学习教育\",\n    \"备考\": \"学习教育\",\n    \"刷题\": \"学习教育\",\n    \"知识\": \"学习教育\",\n    \"学科\": \"学习教育\",\n    \"老师\": \"学习教育\",\n    \"课程\": \"学习教育\",\n    \"讲解\": \"学习教育\",\n    \"考试\": \"学习教育\",\n    \"技能\": \"学习教育\",\n    \"宠物猫狗\": \"动物\",\n    \"猫咪\": \"动物\",\n    \"宠物\": \"动物\",\n    \"猫\": \"动物\",\n    \"狗\": \"动物\",\n    \"dog\": \"动物\",\n    \"cat\": \"动物\",\n    \"狗狗\": \"动物\",\n    \"萌宠\": \"动物\",\n    \"鸟\": \"动物\",\n    \"鱼\": \"动物\",\n    \"兔子\": \"动物\",\n    \"仓鼠\": \"动物\",\n    \"野生动物\": \"动物\",\n    \"健身运动\": \"身体锻炼\",\n    \"减脂塑形\": \"身体锻炼\",\n    \"健身打卡\": \"身体锻炼\",\n    \"健身\": \"身体锻炼\",\n    \"运动\": \"身体锻炼\",\n    \"瑜伽\": \"身体锻炼\",\n    \"锻炼\": \"身体锻炼\",\n    \"跑步\": \"身体锻炼\",\n    \"增肌\": \"身体锻炼\",\n    \"减脂\": \"身体锻炼\",\n    \"塑形\": \"身体锻炼\",\n    \"马拉松\": \"身体锻炼\",\n    \"游泳\": \"身体锻炼\",\n    \"拳击\": \"身体锻炼\",\n    \"格斗\": \"身体锻炼\",\n    \"器械\": \"身体锻炼\",\n    \"撸铁\": \"身体锻炼\",\n    \"健美\": \"身体锻炼\",\n    \"家居装修\": \"居家装修\",\n    \"室内设计\": \"居家装修\",\n    \"装修改造\": \"居家装修\",\n    \"房屋装修\": \"居家装修\",\n    \"装修\": \"居家装修\",\n    \"家居\": \"居家装修\",\n    \"家装\": \"居家装修\",\n    \"软装\": \"居家装修\",\n    \"硬装\": \"居家装修\",\n    \"整理收纳\": \"居家装修\",\n    \"收纳\": \"居家装修\",\n    \"设计师\": \"居家装修\",\n    \"北欧风\": \"居家装修\",\n    \"极简风\": \"居家装修\",\n    \"新中式\": \"居家装修\",\n    \"二手改造\": \"居家装修\",\n    \"影视解说\": \"影视\",\n    \"电影解说\": \"影视\",\n    \"剧集推荐\": \"影视\",\n    \"电影\": \"影视\",\n    \"剧集\": \"影视\",\n    \"电视剧\": \"影视\",\n    \"短剧\": \"影视\",\n    \"综艺\": \"影视\",\n    \"动画片\": \"影视\",\n    \"纪录片\": \"影视\",\n    \"电影推荐\": \"影视\",\n    \"追剧\": \"影视\",\n    \"影评\": \"影视\",\n    \"剧评\": \"影视\",\n    \"番剧\": \"影视\",\n    \"音乐创作\": \"音乐\",\n    \"原创音乐\": \"音乐\",\n    \"翻唱\": \"音乐\",\n    \"唱歌\": \"音乐\",\n    \"弹琴\": \"音乐\",\n    \"弹吉他\": \"音乐\",\n    \"吉他\": \"音乐\",\n    \"钢琴\": \"音乐\",\n    \"古琴\": \"音乐\",\n    \"编曲\": \"音乐\",\n    \"说唱\": \"音乐\",\n    \"rap\": \"音乐\",\n    \"RAP\": \"音乐\",\n    \"歌手\": \"音乐\",\n    \"乐器\": \"音乐\",\n    \"DJ\": \"音乐\",\n    \"dj\": \"音乐\",\n    \"电音\": \"音乐\",\n    \"民谣\": \"音乐\",\n    \"古风\": \"音乐\",\n    \"舞蹈教学\": \"舞蹈才艺\",\n    \"街舞\": \"舞蹈才艺\",\n    \"舞蹈\": \"舞蹈才艺\",\n    \"跳舞\": \"舞蹈才艺\",\n    \"古典舞\": \"舞蹈才艺\",\n    \"民族舞\": \"舞蹈才艺\",\n    \"爵士舞\": \"舞蹈才艺\",\n    \"芭蕾\": \"舞蹈才艺\",\n    \"breaking\": \"舞蹈才艺\",\n    \"hiphop\": \"舞蹈才艺\",\n    \"HIPHOP\": \"舞蹈才艺\",\n    \"编舞\": \"舞蹈才艺\",\n    \"明星八卦\": \"明星娱乐\",\n    \"娱乐八卦\": \"明星娱乐\",\n    \"明星\": \"明星娱乐\",\n    \"娱乐\": \"明星娱乐\",\n    \"偶像\": \"明星娱乐\",\n    \"idol\": \"明星娱乐\",\n    \"追星\": \"明星娱乐\",\n    \"八卦\": \"明星娱乐\",\n    \"艺人\": \"明星娱乐\",\n    \"网红\": \"明星娱乐\",\n    \"名人\": \"明星娱乐\",\n    \"游戏直播\": \"游戏\",\n    \"游戏解说\": \"游戏\",\n    \"手游攻略\": \"游戏\",\n    \"网游\": \"游戏\",\n    \"手游\": \"游戏\",\n    \"电竞\": \"游戏\",\n    \"主机游戏\": \"游戏\",\n    \"电子游戏\": \"游戏\",\n    \"主播\": \"游戏\",\n    \"LOL\": \"游戏\",\n    \"lol\": \"游戏\",\n    \"王者荣耀\": \"游戏\",\n    \"和平精英\": \"游戏\",\n    \"原神\": \"游戏\",\n    \"MC\": \"游戏\",\n    \"我的世界\": \"游戏\",\n    \"英雄联盟\": \"游戏\",\n    \"PUBG\": \"游戏\",\n    \"使命召唤\": \"游戏\",\n    \"战双\": \"游戏\",\n    \"鸣潮\": \"游戏\",\n    \"steam\": \"游戏\",\n    \"Steam\": \"游戏\",\n    \"投资理财\": \"财富理财\",\n    \"股票基金\": \"财富理财\",\n    \"理财\": \"财富理财\",\n    \"财经\": \"财富理财\",\n    \"股票\": \"财富理财\",\n    \"基金\": \"财富理财\",\n    \"炒股\": \"财富理财\",\n    \"期货\": \"财富理财\",\n    \"加密货币\": \"财富理财\",\n    \"比特币\": \"财富理财\",\n    \"投资\": \"财富理财\",\n    \"创业\": \"财富理财\",\n    \"副业\": \"财富理财\",\n    \"二次元动漫\": \"二次元\",\n    \"动漫\": \"二次元\",\n    \"漫画\": \"二次元\",\n    \"ACG\": \"二次元\",\n    \"acg\": \"二次元\",\n    \"anime\": \"二次元\",\n    \"cosplay\": \"二次元\",\n    \"cos\": \"二次元\",\n    \"COS\": \"二次元\",\n    \"Cosplay\": \"二次元\",\n    \"鬼灭\": \"二次元\",\n    \"海贼王\": \"二次元\",\n    \"火影\": \"二次元\",\n    \"进击的巨人\": \"二次元\",\n    \"漫威\": \"二次元\",\n    \"抱枕\": \"二次元\",\n    \"生活日常\": \"生活vlog\",\n    \"日常vlog\": \"生活vlog\",\n    \"vlog博主\": \"生活vlog\",\n    \"vlog\": \"生活vlog\",\n    \"VLOG\": \"生活vlog\",\n    \"Vlog\": \"生活vlog\",\n    \"日常\": \"生活vlog\",\n    \"生活记录\": \"生活vlog\",\n    \"生活分享\": \"生活vlog\",\n    \"城市生活\": \"生活vlog\",\n    \"人文历史\": \"人文\",\n    \"历史文化\": \"人文\",\n    \"历史\": \"人文\",\n    \"文化\": \"人文\",\n    \"文物\": \"人文\",\n    \"传统文化\": \"人文\",\n    \"国学\": \"人文\",\n    \"地理\": \"人文\",\n    \"人文地理\": \"人文\",\n    \"纪实\": \"人文\",\n    \"社会\": \"人文\",\n    \"汽车测评\": \"汽车\",\n    \"买车选车\": \"汽车\",\n    \"新能源车\": \"汽车\",\n    \"新能源\": \"汽车\",\n    \"驾车\": \"汽车\",\n    \"车评\": \"汽车\",\n    \"摩托车\": \"汽车\",\n    \"越野\": \"汽车\",\n    \"车\": \"汽车\",\n    \"三农生活\": \"三农\",\n    \"农村生活\": \"三农\",\n    \"乡村\": \"三农\",\n    \"农村\": \"三农\",\n    \"农业\": \"三农\",\n    \"种地\": \"三农\",\n    \"农民\": \"三农\",\n    \"土地\": \"三农\",\n    \"渔村\": \"三农\",\n    \"颜值博主\": \"颜值造型\",\n    \"发型\": \"颜值造型\",\n    \"造型\": \"颜值造型\",\n    \"颜值\": \"颜值造型\",\n    \"发色\": \"颜值造型\",\n    \"美发\": \"颜值造型\",\n    \"变美\": \"颜值造型\",\n    \"整形\": \"颜值造型\",\n    \"修容\": \"颜值造型\",\n    \"才艺展示\": \"个人才艺\",\n    \"才艺\": \"个人才艺\",\n    \"魔术\": \"个人才艺\",\n    \"杂技\": \"个人才艺\",\n    \"变装\": \"个人才艺\",\n    \"脱口秀\": \"个人才艺\",\n    \"相声\": \"个人才艺\",\n    \"小品\": \"个人才艺\",\n    \"情感博主\": \"情感\",\n    \"恋爱\": \"情感\",\n    \"婚姻\": \"情感\",\n    \"失恋\": \"情感\",\n    \"两性\": \"情感\",\n    \"情侣\": \"情感\",\n    \"家庭关系\": \"情感\",\n    \"相亲\": \"情感\",\n    \"单身\": \"情感\",\n    \"情景剧\": \"小剧场\",\n    \"微剧\": \"小剧场\",\n    \"短视频剧\": \"小剧场\",\n    \"剧情\": \"小剧场\",\n    \"搞笑视频\": \"小剧场\",\n    \"幽默\": \"小剧场\",\n    \"搞笑\": \"小剧场\",\n    \"喜剧\": \"小剧场\",\n    \"反转\": \"小剧场\",\n    \"体育赛事\": \"体育\",\n    \"篮球\": \"体育\",\n    \"足球\": \"体育\",\n    \"乒乓球\": \"体育\",\n    \"羽毛球\": \"体育\",\n    \"网球\": \"体育\",\n    \"排球\": \"体育\",\n    \"冰雪运动\": \"体育\",\n    \"滑雪\": \"体育\",\n    \"滑板\": \"体育\",\n    \"电竞体育\": \"体育\",\n    \"NBA\": \"体育\",\n    \"CBA\": \"体育\",\n    \"世界杯\": \"体育\",\n    \"奥运\": \"体育\",\n    \"综合\": \"全部\",\n    \"全品类\": \"全部\",\n    \"所有\": \"全部\",\n    \"全\": \"全部\"\n  },\n  \"exact_categories\": [\n    \"汽车\",\n    \"数码科技\",\n    \"生活vlog\",\n    \"颜值造型\",\n    \"小剧场\",\n    \"体育\",\n    \"学习教育\",\n    \"潮流风尚\",\n    \"人文\",\n    \"音乐\",\n    \"亲子\",\n    \"情感\",\n    \"旅行\",\n    \"个人才艺\",\n    \"舞蹈才艺\",\n    \"二次元\",\n    \"动物\",\n    \"健康医学\",\n    \"游戏\",\n    \"居家装修\",\n    \"化妆美容\",\n    \"明星娱乐\",\n    \"美食\",\n    \"影视\",\n    \"三农\",\n    \"身体锻炼\",\n    \"全部\",\n    \"财富理财\"\n  ],\n  \"cat_display\": {\n    \"全部\": \"全品类\",\n    \"化妆美容\": \"美妆类\",\n    \"美食\": \"美食类\",\n    \"旅行\": \"旅行类\",\n    \"数码科技\": \"科技类\",\n    \"游戏\": \"游戏类\",\n    \"健康医学\": \"健康类\",\n    \"亲子\": \"亲子类\",\n    \"身体锻炼\": \"运动类\",\n    \"学习教育\": \"教育类\",\n    \"动物\": \"动物类\",\n    \"潮流风尚\": \"时尚类\",\n    \"居家装修\": \"家居类\",\n    \"影视\": \"影视类\",\n    \"音乐\": \"音乐类\",\n    \"舞蹈才艺\": \"舞蹈类\",\n    \"明星娱乐\": \"娱乐类\",\n    \"体育\": \"体育类\",\n    \"情感\": \"情感类\",\n    \"财富理财\": \"理财类\",\n    \"二次元\": \"二次元类\",\n    \"小剧场\": \"小剧场类\",\n    \"汽车\": \"汽车类\",\n    \"三农\": \"三农类\",\n    \"人文\": \"人文类\",\n    \"颜值造型\": \"颜值类\",\n    \"个人才艺\": \"才艺类\",\n    \"生活vlog\": \"生活类\"\n  }\n}\n\nFile v1.0.1:assets/period_config.json\n\n{\n  \"period_map\": {\n    \"day\": \"days\",\n    \"week\": \"weeks\",\n    \"month\": \"months\"\n  },\n  \"period_labels\": {\n    \"day\": \"日榜\",\n    \"week\": \"周榜\",\n    \"month\": \"月榜\"\n  },\n  \"period_keys\": {\n    \"days\": \"day\",\n    \"weeks\": \"week\",\n    \"months\": \"month\"\n  },\n  \"short_aliases\": {\n    \"day\": \"日\",\n    \"week\": \"周\",\n    \"month\": \"月\"\n  },\n  \"long_aliases\": {\n    \"day\": [\n      \"day\",\n      \"daily\",\n      \"日榜\",\n      \"日排名\",\n      \"日间\",\n      \"今日\",\n      \"今天\",\n      \"昨日\"\n    ],\n    \"week\": [\n      \"week\",\n      \"weekly\",\n      \"周榜\",\n      \"周排名\",\n      \"周间\",\n      \"上周\",\n      \"本周\",\n      \"这周\",\n      \"本周期\"\n    ],\n    \"month\": [\n      \"month\",\n      \"monthly\",\n      \"月榜\",\n      \"月排名\",\n      \"月间\",\n      \"上月\",\n      \"本月\",\n      \"这个月\"\n    ]\n  },\n  \"update_rules\": {\n    \"day\": {\n      \"label\": \"日榜\",\n      \"update_time\": \"每日17:30\",\n      \"window_days\": 9\n    },\n    \"week\": {\n      \"label\": \"周榜\",\n      \"update_time\": \"每周一17:30\",\n      \"window_days\": 21\n    },\n    \"month\": {\n      \"label\": \"月榜\",\n      \"update_time\": \"每月2号9点\",\n      \"window_days\": 90\n    }\n  }\n}\n\nArchive v1.0.0: 10 files, 32080 bytes\n\nFiles: assets/category_config.json (13248b), assets/period_config.json (1186b), references/api_docs.md (5131b), references/category_map.md (2450b), references/score_rules.md (936b), references/update_rules.md (2766b), scripts/fetch_rank.py (32549b), scripts/generate_report.py (25290b), SKILL.md (9499b), _meta.json (138b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: douyin-rank-tranker\ndescription: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\ndependency:\n  python:\n    - requests>=2.28.0\n---\n\n# 抖音每日最具影响力账号\n\n## 概述\n\n提供抖音全品类/分品类账号每日/每周/每月的表现榜单查询。\n\n**更新时间与回溯范围：**\n\n| 榜单类型 | 更新时间 | 回溯范围 |\n|---------|---------|---------|\n| 日榜 | 每日17:30 | 过去7天 |\n| 周榜 | 每周一17:30 | 过去3周 |\n| 月榜 | 每月2号9点 | 过去3月 |\n\n**三大核心能力：**\n\n- 📊 **排名查询** — 查日榜、周榜、月榜 TOP50\n- 🎯 **领域查询** — 按品类筛选（美食、旅行、科技、游戏等）\n- 📥 **报告下载** — 生成 HTML 可视化报告，支持导出 PDF/截图\n\n---\n\n## 目标用户与使用场景\n\n| 用户分层                  | 核心痛点                                                             | 查询示例                                             |\n| ------------------------- | -------------------------------------------------------------------- | ---------------------------------------------------- |\n| 新手内容创作者 / 个体运营 | 不知道哪些账号做得好、无从借鉴、不知道自己的水平在赛道内处于什么位置 | \"美食类账号怎么找？帮我看看我的账号在美食赛道排多少\" |\n| 品牌方 / 商务投放人员     | 找达人效率低、数据维度单一、不了解账号历史表现                       | \"上周抖音美妆类TOP50有哪些账号表现好？\"              |\n| MCN机构 / 内容团队        | 竞品账号情报获取难、无法快速掌握市场动态                             | \"最近一周哪些游戏账号涨粉最快？\"                     |\n| 行业分析师 / 咨询从业者   | 数据获取门槛高、缺乏可视化报告工具                                   | \"帮我生成一份3月份的抖音游戏类榜单分析报告\"          |\n\n---\n\n## 触发词与意图识别\n\n| 用户意图 | 典型触发词                                              | 对应操作                          |\n| -------- | ------------------------------------------------------- | --------------------------------- |\n| 排名查询 | 抖音日榜、周榜、月榜、TOP50、最夯账号、排行榜、最新推荐 | 调用脚本查询并格式化输出          |\n| 领域查询 | 美食类/旅行类/游戏类/科技类...抖音排名                  | 调用脚本并按赛道筛选              |\n| 报告下载 | 下载报告、导出榜单、生成报告                            | 运行 generate_report.py 生成 HTML |\n\n---\n\n## 执行流程\n\n### 第一步：查询数据（默认展示 TOP 20）\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json\n```\n\n脚本会自动解析：\n\n- **时间**：从用户文本识别日/周/月，未明确则默认日榜\n- **日期**：自动计算最新可用日期（日榜17:30更新，周榜周一17:30更新，月榜每月2号9点更新）\n- **赛道**：支持模糊匹配（如\"美妆\"→\"化妆美容\"）\n\n脚本输出包含：\n1. Markdown 格式榜单表格（最多20条）\n2. \"更多操作\"引导模块\n3. \"订阅服务\"引导模块（根据用户选择的赛道动态展示）\n\n### 第二步：生成 HTML 报告（立即执行）\n\n```bash\npython scripts/generate_report.py --data /path/to/data.json --limit 20  # 自动生成文件名\n```\n\n> **重要**：HTML 报告展示的数据条数必须与对话中展示的数量保持一致！\n> - 对话默认展示 20 条 → HTML 报告也只展示 20 条\n> - 用户要求查看全部 50 条 → 重新生成完整报告\n\n使用 `deliver_attachments` 交付 HTML 文件。\n\n### 用户查看全部数据时\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50  # 自动生成完整文件名\n```\n\n使用 `deliver_attachments` 交付完整 HTML 文件。\n\n---\n\n## 输出模板\n\n### Markdown 表格（对话输出）\n\n```\n📊 抖音{period_label} · {category_label}\n\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n> **时间边界处理**（warning 插入榜单说明开头）：\n> - 查询当日/未来日期：「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」\n> - 查询早于回溯日期：「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」\n> - 正常查询：warning 为空，直接展示更新时间\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://www.douyin.com/user/xxx) | 96 | 254.06w | 6919 | 24.64w | 6.68w | 13.39w |\n| 🥈 2 | [账号B](https://www.douyin.com/user/xxx) | 89 | 113.55w | 1.91w | 7.90w | 4787 | 3.12w |\n| 🥉 3 | [账号C](https://www.douyin.com/user/xxx) | 87 | 439.14w | 5859 | 16.51w | 993 | 687 |\n| ... | ... | ... | ... | ... | ... | ... | ... |\n```\n\n⚡ **更多操作**\n\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n\n2️⃣ 是否需要订阅具体赛道的账号表现？我们支持：个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n\n## 生成 HTML 报告\n- 执行脚本生成 HTML 报告文件\n  - 脚本调用示例：`python scripts/generate_report.py --data <fetch_rank输出> --limit 20  # 自动生成文件名`\n  - 文件名格式：`{赛道}{周期}{YYYYMMDD}_{时间戳}.html（如 美食周榜20260511_时间戳.html）`（如 `20260511_美食.html`）\n\n> ⚠️ **字段说明**：默认展示 TOP 20 条数据，最高互动 = 点赞 + 评论 + 分享\n\n---\n\n## 订阅服务\n\n用户确认订阅后，使用 `automation_update` 工具创建自动化任务：\n\n### 订阅排名更新推送\n- **日榜**：`FREQ=DAILY;BYHOUR=19;BYMINUTE=30`\n- **周榜**：`FREQ=WEEKLY;BYDAY=MO;BYHOUR=19;BYMINUTE=30`\n- **月榜**：`FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=16;BYMINUTE=0`\n\nautomation prompt 示例：`查询抖音最新日榜（全品类），生成报告并推送给用户`\n\n### 订阅赛道账号表现\n- automation prompt 示例：`查询抖音最新日榜（美食赛道），生成报告并推送给用户`\n\n---\n\n## 常见问题\n\n**Q: 日榜数据什么时候更新？**\nA: 每日 17:30 更新昨日数据。当前时间未到17:30时，脚本会自动取前天数据。\n\n**Q: 支持哪些赛道？**\nA: 支持27个赛道，完整列表见 [references/category_map.md](references/category_map.md)。\n\n**Q: 数据回溯范围？**\nA: 日榜可查过去7天，周榜可查过去3周，月榜可查过去3个月。\n\n**Q: 赛道识别失败怎么办？**\nA: 无法识别时，请列出完整赛道列表供用户选择。\n\n---\n\n## 资源索引\n\n| 文件                                                     | 用途                         |\n| -------------------------------------------------------- | ---------------------------- |\n| [scripts/fetch_rank.py](scripts/fetch_rank.py)           | 查询抖音榜单数据             |\n| [scripts/generate_report.py](scripts/generate_report.py) | 生成 HTML 可视化报告         |\n| [references/category_map.md](references/category_map.md) | 赛道映射表与匹配规则         |\n| [references/update_rules.md](references/update_rules.md) | 更新规则与日期计算逻辑       |\n| [references/score_rules.md](references/score_rules.md)   | 评分算法说明                 |\n| [references/api_docs.md](references/api_docs.md)         | API 接口详细文档（技术参考） |\n\n---\n\n## 注意事项\n\n- ⚠️ **时间边界处理（必须严格遵守）**：\n  - **查询当日及未来日期**：在输出开头回复「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」然后继续展示最近一期数据\n  - **查询时间早于回溯日期**：在输出开头回复「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」然后继续展示最接近的可查数据\n- 严禁任何联网搜索\n- ⚠️ **数据一致性**：对话展示多少条，HTML 报告就展示多少条，两者必须一致\n- 日榜默认展示 TOP 20，完整 50 条通过报告或追问查看\n- HTML 报告账号名均可点击跳转抖音主页\n- 生成报告前确保 workspace 有写权限\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn73hdehkbe5dwfzckzj8yhcw984t4cc\",\n  \"slug\": \"douyin-rank-tranker\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778815693335\n}\n\nFile v1.0.0:references/api_docs.md\n\n# 抖音榜单 API 接口文档\n\n## 接口基础信息\n\n| 字段 | 值 |\n|------|-----|\n| 接口地址 | `https://onetotenvip.com/story/dyData/query` |\n| 请求方式 | POST |\n| Content-Type | `application/json` |\n| 认证方式 | 无（公开接口） |\n\n---\n\n## 请求参数\n\n```json\n{\n  \"dateType\": \"days\",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）\n  \"rankDate\": \"2026-04-27\",    // 榜单开始日期（结束时间由服务器自行计算）（必填）\n  \"type\": \"美食\",               // 赛道分类，默认\"全部\"（必填）\n  \"source\": \"抖音每日最具影响力账号\"  // 固定值（必填）\n}\n```\n\n> ⚠️ **重要**：`source` 必须为 `\"抖音每日最具影响力账号\"`，使用其他值会导致接口返回空数据！\n\n---\n\n## 响应结构\n\n```json\n{\n  \"code\": 2000,\n  \"data\": [\n    {\n      \"accountLink\":    \"https://www.douyin.com/user/...\",\n      \"accountName\":    \"账号名称\",\n      \"accountRanking\": 1,\n      \"category\":       \"美食\",\n      \"fansCount\":      \"254.06w\",\n      \"fansGrowth\":     \"6919\",\n      \"likedGrowth\":    \"24.64w\",\n      \"commentsGrowth\": \"6.68w\",\n      \"collectedGrowth\":\"2.53w\",\n      \"sharedGrowth\":   \"13.39w\",\n      \"rankDate\":       \"2026-04-27\",\n      \"rankPeriod\":     \"日榜\"\n    }\n  ]\n}\n```\n\n---\n\n## 错误码\n\n| code | 含义 |\n|------|------|\n| 2000 | **成功**（注意：成功码是 2000 不是 0！） |\n| 其他 | 错误，data 为空数组 |\n\n---\n\n## 字段映射（fetch_rank.py normalized JSON）\n\n| 接口原始字段 | normalized 字段 | 含义 |\n|------------|----------------|------|\n| `accountRanking` | `rank` | 排名 |\n| `accountName` | `accountName` | 账号名 |\n| `category` | `category` | 赛道 |\n| `fansCount` | `followers` | 总粉丝数 |\n| `fansGrowth` | `newFans` | 新增粉丝 |\n| `likedGrowth` | `newLikes` | 新增点赞 |\n| `commentsGrowth` | `newComments` | 新增评论 |\n| `sharedGrowth` | `newShares` | 新增分享 |\n| `accountLink` | `profileUrl` | 主页链接 |\n\n---\n\n## 可用赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 赛道模糊匹配规则\n\n> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为\"全部\"。\n\n| 用户说（示例）| 映射到 |\n|--------|--------|\n| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |\n| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |\n| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |\n| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |\n| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |\n| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |\n| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |\n| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |\n| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |\n| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |\n| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |\n| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |\n| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |\n| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |\n| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |\n| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |\n| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |\n| 动漫、ACG、cosplay、cos、番剧 | 二次元 |\n| vlog、日常、生活记录、日常vlog | 生活vlog |\n| 人文、历史、文化、传统文化、国学 | 人文 |\n| 汽车、车、车评、新能源、摩托车 | 汽车 |\n| 农村、三农、乡村、农业、种地 | 三农 |\n| 颜值、造型、发型、美发、变美 | 颜值造型 |\n| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |\n| 恋爱、婚姻、两性、情侣、相亲 | 情感 |\n| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |\n| 篮球、足球、NBA、世界杯、滑雪、羽毛球 | 体育 |\n| 综合、全品类、所有 | 全部 |\n\nFile v1.0.0:references/category_map.md\n\n# 赛道映射表\n\n## 支持的赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 常用模糊匹配映射\n\n| 用户说 | 映射到 |\n|--------|--------|\n| 游戏、网游、手游 | 游戏 |\n| 美食、探店、烹饪 | 美食 |\n| 旅行、旅游 | 旅行 |\n| 科技、数码、手机 | 数码科技 |\n| 美妆、彩妆、护肤 | 化妆美容 |\n| 健身、运动、瑜伽 | 身体锻炼 |\n| 亲子、育儿、母婴 | 亲子 |\n| 穿搭、时尚 | 潮流风尚 |\n| 音乐、唱歌、弹琴 | 音乐 |\n| 影视、电影、剧集 | 影视 |\n| 健康、养生 | 健康医学 |\n| 萌宠、宠物 | 动物 |\n| 理财、投资 | 财富理财 |\n\n---\n\n## 赛道识别处理\n\n脚本 `fetch_rank.py` 使用 `match_category()` 函数进行匹配：\n\n### 匹配策略（按优先级）\n\n1. **精确匹配**：大小写不敏感，完整词匹配\n2. **模糊匹配**：按关键词长度降序扫描，取最长命中词\n3. **子串匹配**：用户输入是某个key的子串时（如\"美妆博主\"→\"美妆\"）\n4. **兜底**：返回\"全部\"\n\n### 赛道识别失败时的处理\n\n当 `category_fuzzy=False` 且无法识别时：\n1. 告知用户\"抱歉，无法识别该赛道类别\"\n2. 列出完整赛道列表\n3. 询问用户指定某一赛道\n\n### 完整赛道关键词（用于匹配）\n\n```\n全部、个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```\n\nFile v1.0.0:references/score_rules.md\n\n# 抖音账号综合评分规则\n\n## 评分维度\n\n综合评分基于以下维度计算：\n\n| 维度 | 权重 | 计算方式 |\n|------|------|----------|\n| 总粉丝数 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增粉丝 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增点赞 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增分享 | 20% | ln(x+1)/ln(max+1) × 100 |\n| 新增评论 | 20% | ln(x+1)/ln(max+1) × 100 |\n\n## 计算公式\n\n对数归一化公式：\n```\nscore = ln(x + 1) / ln(max + 1) × 100\n```\n\n其中：\n- `x` 为该账号的当前指标值\n- `max` 为本次榜单中该指标的最大值\n\n## 示例\n\n假设某榜单数据如下：\n\n| 账号 | 新增点赞 | 得分计算 |\n|------|----------|----------|\n| A | 10万 | ln(100001)/ln(100001) × 100 = 100 |\n| B | 5万 | ln(50001)/ln(100001) × 100 ≈ 85 |\n| C | 1万 | ln(10001)/ln(100001) × 100 ≈ 67 |\n\n## 最终得分\n\n各维度加权求和后，保留整数作为综合评分。\n\nFile v1.0.0:references/update_rules.md\n\n# 更新规则与日期计算\n\n## 榜单更新时间\n\n| 榜单类型 | 更新时间 | 说明 |\n|----------|----------|------|\n| 日榜 | 每日 17:30 | 更新前一天数据 |\n| 周榜 | 每周一 17:30 | 更新上周数据 |\n| 月榜 | 每月2号 9点 | 更新上月数据 |\n\n---\n\n## 自动 offset 计算\n\n根据当前时间是否已到更新时间，自动选择 offset：\n\n| 榜单类型 | 当前时间 < 更新时间 | 当前时间 >= 更新时间 |\n|----------|-------------------|-------------------|\n| 日榜 | offset=2（取前2天） | offset=1（取前一天） |\n| 周榜 | offset=2（取前2周） | offset=1（取前1周） |\n| 月榜 | offset=2（取前2月） | offset=1（取前1月） |\n\n---\n\n## 日期计算公式\n\n### 日榜\n```\ntarget_date = date.today() - timedelta(days=offset)\n```\n\n### 周榜\n```\ntarget_date = date.today() - timedelta(weeks=offset) 后的最近周一\ntarget_sunday = target_monday + timedelta(days=6)\n```\n\n### 月榜\n```\ntarget_date = date.today() - timedelta(days=30*offset) 后的每月1号\ntarget_last_day = 下月1号 - 1天\n```\n\n---\n\n## 回溯范围校验\n\n| 榜单类型 | 最大回溯 | 超出时提示语 |\n|----------|----------|--------------|\n| 日榜 | 过去7天 | \"非常抱歉🙏，目前榜单最多支持回溯「过去7天」\" |\n| 周榜 | 过去3周 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3周」\" |\n| 月榜 | 过去3个月 | \"非常抱歉🙏，目前榜单最多支持回溯「过去3月」\" |\n\n> ⚠️ **注意**：自动计算的日期（如\"最新\"）不受回溯窗口限制，脚本会自动调整 offset 取最近可用数据。\n\n---\n\n## 时间越界场景\n\n当用户明确指定日期但超出范围时：\n\n| 场景 | 提示语 |\n|------|--------|\n| 查询当日或未来日期 | `非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月AI热榜。` |\n| 查询超出回溯范围的历史日期 | `非常抱歉🙏，目前榜单最多支持回溯「过去X天/周/月」，我将为您查询最接近您需求的时间范围~` |\n\n---\n\n## 周期关键词识别\n\n自动从用户文本中识别日/周/月（无明确则默认**日榜**）：\n\n| 用户说 | 识别结果 |\n|--------|----------|\n| 含\"周\"、\"周榜\" | week |\n| 含\"月\"、\"月榜\" | month |\n| 其余默认 | day |\n\n### 识别优先级\n1. 优先识别周/月（长词优先）\n2. 日/月/年中的\"日\"不参与识别（如\"04月27日\"中的\"日\"）\n3. 无明确时间词时默认日榜\n\n---\n\n## 近期日期关键词\n\n| 关键词 | 含义 |\n|--------|------|\n| 昨日、昨天 | offset=1 |\n| 今日、今天 | offset=1 |\n| 最新 | 根据更新时间自动计算 offset |\n| 本周、这周 | 当前周 |\n| 本月、这个月 | 当前月 |\n\nFile v1.0.0:assets/category_config.json\n\n{\n  \"category_map\": {\n    \"全部\": \"全部\",\n    \"个人才艺\": \"个人才艺\",\n    \"生活vlog\": \"生活vlog\",\n    \"生活VLOG\": \"生活vlog\",\n    \"财富理财\": \"财富理财\",\n    \"二次元\": \"二次元\",\n    \"居家装修\": \"居家装修\",\n    \"学习教育\": \"学习教育\",\n    \"小剧场\": \"小剧场\",\n    \"数码科技\": \"数码科技\",\n    \"旅行\": \"旅行\",\n    \"美食\": \"美食\",\n    \"化妆美容\": \"化妆美容\",\n    \"动物\": \"动物\",\n    \"亲子\": \"亲子\",\n    \"汽车\": \"汽车\",\n    \"情感\": \"情感\",\n    \"三农\": \"三农\",\n    \"健康医学\": \"健康医学\",\n    \"潮流风尚\": \"潮流风尚\",\n    \"舞蹈才艺\": \"舞蹈才艺\",\n    \"颜值造型\": \"颜值造型\",\n    \"人文\": \"人文\",\n    \"音乐\": \"音乐\",\n    \"影视\": \"影视\",\n    \"身体锻炼\": \"身体锻炼\",\n    \"体育\": \"体育\",\n    \"明星娱乐\": \"明星娱乐\",\n    \"游戏\": \"游戏\",\n    \"美妆护肤\": \"化妆美容\",\n    \"彩妆护肤\": \"化妆美容\",\n    \"美妆博主\": \"化妆美容\",\n    \"护肤美妆\": \"化妆美容\",\n    \"化妆品\": \"化妆美容\",\n    \"美妆\": \"化妆美容\",\n    \"彩妆\": \"化妆美容\",\n    \"护肤\": \"化妆美容\",\n    \"美容\": \"化妆美容\",\n    \"口红\": \"化妆美容\",\n    \"粉底\": \"化妆美容\",\n    \"眼妆\": \"化妆美容\",\n    \"美白\": \"化妆美容\",\n    \"防晒\": \"化妆美容\",\n    \"抗老\": \"化妆美容\",\n    \"素颜\": \"化妆美容\",\n    \"科技数码\": \"数码科技\",\n    \"数码测评\": \"数码科技\",\n    \"手机评测\": \"数码科技\",\n    \"电脑配件\": \"数码科技\",\n    \"人工智能\": \"数码科技\",\n    \"科技\": \"数码科技\",\n    \"数码\": \"数码科技\",\n    \"手机\": \"数码科技\",\n    \"电脑\": \"数码科技\",\n    \"平板\": \"数码科技\",\n    \"耳机\": \"数码科技\",\n    \"相机\": \"数码科技\",\n    \"智能硬件\": \"数码科技\",\n    \"智能家居\": \"数码科技\",\n    \"AI\": \"数码科技\",\n    \"ai\": \"数码科技\",\n    \"互联网\": \"数码科技\",\n    \"程序员\": \"数码科技\",\n    \"软件\": \"数码科技\",\n    \"硬件\": \"数码科技\",\n    \"极客\": \"数码科技\",\n    \"健康养生\": \"健康医学\",\n    \"中医养生\": \"健康医学\",\n    \"健康医疗\": \"健康医学\",\n    \"健康\": \"健康医学\",\n    \"养生\": \"健康医学\",\n    \"医疗\": \"健康医学\",\n    \"医生\": \"健康医学\",\n    \"医院\": \"健康医学\",\n    \"中医\": \"健康医学\",\n    \"减肥\": \"健康医学\",\n    \"营养\": \"健康医学\",\n    \"食疗\": \"健康医学\",\n    \"保健\": \"健康医学\",\n    \"心理\": \"健康医学\",\n    \"睡眠\": \"健康医学\",\n    \"美食探店\": \"美食\",\n    \"探店博主\": \"美食\",\n    \"吃播\": \"美食\",\n    \"烹饪\": \"美食\",\n    \"探店\": \"美食\",\n    \"下厨\": \"美食\",\n    \"厨艺\": \"美食\",\n    \"菜谱\": \"美食\",\n    \"甜品\": \"美食\",\n    \"烘焙\": \"美食\",\n    \"火锅\": \"美食\",\n    \"小吃\": \"美食\",\n    \"料理\": \"美食\",\n    \"食材\": \"美食\",\n    \"厨房\": \"美食\",\n    \"餐厅\": \"美食\",\n    \"网红餐\": \"美食\",\n    \"旅行vlog\": \"旅行\",\n    \"旅游博主\": \"旅行\",\n    \"旅游攻略\": \"旅行\",\n    \"旅游\": \"旅行\",\n    \"出行\": \"旅行\",\n    \"打卡\": \"旅行\",\n    \"景区\": \"旅行\",\n    \"景点\": \"旅行\",\n    \"民宿\": \"旅行\",\n    \"户外探险\": \"旅行\",\n    \"露营\": \"旅行\",\n    \"徒步\": \"旅行\",\n    \"背包客\": \"旅行\",\n    \"出国\": \"旅行\",\n    \"签证\": \"旅行\",\n    \"时尚穿搭\": \"潮流风尚\",\n    \"穿搭博主\": \"潮流风尚\",\n    \"街头时尚\": \"潮流风尚\",\n    \"穿搭\": \"潮流风尚\",\n    \"时尚\": \"潮流风尚\",\n    \"搭配\": \"潮流风尚\",\n    \"ootd\": \"潮流风尚\",\n    \"OOTD\": \"潮流风尚\",\n    \"潮牌\": \"潮流风尚\",\n    \"球鞋\": \"潮流风尚\",\n    \"sneaker\": \"潮流风尚\",\n    \"潮流\": \"潮流风尚\",\n    \"国潮\": \"潮流风尚\",\n    \"汉服\": \"潮流风尚\",\n    \"衣服\": \"潮流风尚\",\n    \"服装\": \"潮流风尚\",\n    \"品牌\": \"潮流风尚\",\n    \"奢侈品\": \"潮流风尚\",\n    \"包包\": \"潮流风尚\",\n    \"亲子育儿\": \"亲子\",\n    \"母婴育儿\": \"亲子\",\n    \"育儿经验\": \"亲子\",\n    \"育儿\": \"亲子\",\n    \"母婴\": \"亲子\",\n    \"宝宝\": \"亲子\",\n    \"婴儿\": \"亲子\",\n    \"儿童\": \"亲子\",\n    \"孕妈\": \"亲子\",\n    \"妈妈\": \"亲子\",\n    \"奶爸\": \"亲子\",\n    \"辅食\": \"亲子\",\n    \"胎教\": \"亲子\",\n    \"早教\": \"亲子\",\n    \"知识教育\": \"学习教育\",\n    \"在线教育\": \"学习教育\",\n    \"考研\": \"学习教育\",\n    \"高考\": \"学习教育\",\n    \"英语\": \"学习教育\",\n    \"数学\": \"学习教育\",\n    \"语文\": \"学习教育\",\n    \"教育\": \"学习教育\",\n    \"学习\": \"学习教育\",\n    \"读书\": \"学习教育\",\n    \"备考\": \"学习教育\",\n    \"刷题\": \"学习教育\",\n    \"知识\": \"学习教育\",\n    \"学科\": \"学习教育\",\n    \"老师\": \"学习教育\",\n    \"课程\": \"学习教育\",\n    \"讲解\": \"学习教育\",\n    \"考试\": \"学习教育\",\n    \"技能\": \"学习教育\",\n    \"宠物猫狗\": \"动物\",\n    \"猫咪\": \"动物\",\n    \"宠物\": \"动物\",\n    \"猫\": \"动物\",\n    \"狗\": \"动物\",\n    \"dog\": \"动物\",\n    \"cat\": \"动物\",\n    \"狗狗\": \"动物\",\n    \"萌宠\": \"动物\",\n    \"鸟\": \"动物\",\n    \"鱼\": \"动物\",\n    \"兔子\": \"动物\",\n    \"仓鼠\": \"动物\",\n    \"野生动物\": \"动物\",\n    \"健身运动\": \"身体锻炼\",\n    \"减脂塑形\": \"身体锻炼\",\n    \"健身打卡\": \"身体锻炼\",\n    \"健身\": \"身体锻炼\",\n    \"运动\": \"身体锻炼\",\n    \"瑜伽\": \"身体锻炼\",\n    \"锻炼\": \"身体锻炼\",\n    \"跑步\": \"身体锻炼\",\n    \"增肌\": \"身体锻炼\",\n    \"减脂\": \"身体锻炼\",\n    \"塑形\": \"身体锻炼\",\n    \"马拉松\": \"身体锻炼\",\n    \"游泳\": \"身体锻炼\",\n    \"拳击\": \"身体锻炼\",\n    \"格斗\": \"身体锻炼\",\n    \"器械\": \"身体锻炼\",\n    \"撸铁\": \"身体锻炼\",\n    \"健美\": \"身体锻炼\",\n    \"家居装修\": \"居家装修\",\n    \"室内设计\": \"居家装修\",\n    \"装修改造\": \"居家装修\",\n    \"房屋装修\": \"居家装修\",\n    \"装修\": \"居家装修\",\n    \"家居\": \"居家装修\",\n    \"家装\": \"居家装修\",\n    \"软装\": \"居家装修\",\n    \"硬装\": \"居家装修\",\n    \"整理收纳\": \"居家装修\",\n    \"收纳\": \"居家装修\",\n    \"设计师\": \"居家装修\",\n    \"北欧风\": \"居家装修\",\n    \"极简风\": \"居家装修\",\n    \"新中式\": \"居家装修\",\n    \"二手改造\": \"居家装修\",\n    \"影视解说\": \"影视\",\n    \"电影解说\": \"影视\",\n    \"剧集推荐\": \"影视\",\n    \"电影\": \"影视\",\n    \"剧集\": \"影视\",\n    \"电视剧\": \"影视\",\n    \"短剧\": \"影视\",\n    \"综艺\": \"影视\",\n    \"动画片\": \"影视\",\n    \"纪录片\": \"影视\",\n    \"电影推荐\": \"影视\",\n    \"追剧\": \"影视\",\n    \"影评\": \"影视\",\n    \"剧评\": \"影视\",\n    \"番剧\": \"影视\",\n    \"音乐创作\": \"音乐\",\n    \"原创音乐\": \"音乐\",\n    \"翻唱\": \"音乐\",\n    \"唱歌\": \"音乐\",\n    \"弹琴\": \"音乐\",\n    \"弹吉他\": \"音乐\",\n    \"吉他\": \"音乐\",\n    \"钢琴\": \"音乐\",\n    \"古琴\": \"音乐\",\n    \"编曲\": \"音乐\",\n    \"说唱\": \"音乐\",\n    \"rap\": \"音乐\",\n    \"RAP\": \"音乐\",\n    \"歌手\": \"音乐\",\n    \"乐器\": \"音乐\",\n    \"DJ\": \"音乐\",\n    \"dj\": \"音乐\",\n    \"电音\": \"音乐\",\n    \"民谣\": \"音乐\",\n    \"古风\": \"音乐\",\n    \"舞蹈教学\": \"舞蹈才艺\",\n    \"街舞\": \"舞蹈才艺\",\n    \"舞蹈\": \"舞蹈才艺\",\n    \"跳舞\": \"舞蹈才艺\",\n    \"古典舞\": \"舞蹈才艺\",\n    \"民族舞\": \"舞蹈才艺\",\n    \"爵士舞\": \"舞蹈才艺\",\n    \"芭蕾\": \"舞蹈才艺\",\n    \"breaking\": \"舞蹈才艺\",\n    \"hiphop\": \"舞蹈才艺\",\n    \"HIPHOP\": \"舞蹈才艺\",\n    \"编舞\": \"舞蹈才艺\",\n    \"明星八卦\": \"明星娱乐\",\n    \"娱乐八卦\": \"明星娱乐\",\n    \"明星\": \"明星娱乐\",\n    \"娱乐\": \"明星娱乐\",\n    \"偶像\": \"明星娱乐\",\n    \"idol\": \"明星娱乐\",\n    \"追星\": \"明星娱乐\",\n    \"八卦\": \"明星娱乐\",\n    \"艺人\": \"明星娱乐\",\n    \"网红\": \"明星娱乐\",\n    \"名人\": \"明星娱乐\",\n    \"游戏直播\": \"游戏\",\n    \"游戏解说\": \"游戏\",\n    \"手游攻略\": \"游戏\",\n    \"网游\": \"游戏\",\n    \"手游\": \"游戏\",\n    \"电竞\": \"游戏\",\n    \"主机游戏\": \"游戏\",\n    \"电子游戏\": \"游戏\",\n    \"主播\": \"游戏\",\n    \"LOL\": \"游戏\",\n    \"lol\": \"游戏\",\n    \"王者荣耀\": \"游戏\",\n    \"和平精英\": \"游戏\",\n    \"原神\": \"游戏\",\n    \"MC\": \"游戏\",\n    \"我的世界\": \"游戏\",\n    \"英雄联盟\": \"游戏\",\n    \"PUBG\": \"游戏\",\n    \"使命召唤\": \"游戏\",\n    \"战双\": \"游戏\",\n    \"鸣潮\": \"游戏\",\n    \"steam\": \"游戏\",\n    \"Steam\": \"游戏\",\n    \"投资理财\": \"财富理财\",\n    \"股票基金\": \"财富理财\",\n    \"理","readmeExcerpt":"Skill: 抖音每日最具影响力账号（红狐数据） Owner: redfox-data Summary: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用 Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-02T09:52:56.764Z | user - 项目更名为“douyin-top-account”，描述和目录均已更新 - 移除 Python 依赖说明，现使用 Python 标准库，无需第三方包 - 增加英文与中文两份 README，删除 skill-card.md - 文档结构全面优化，内容拆分为简介、功能、安装、使用、场景、架构、常见问答等板块 - 详细补充了 API Key 配置及","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"{ \"env\": { \"REDFOX_API_KEY\": \"ak_xxxx...\" } }"},{"language":"bash","snippet":"export REDFOX_API_KEY=\"ak_xxxx...\""},{"language":"bash","snippet":"python scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json"},{"language":"bash","snippet":"python scripts/generate_report.py --data /path/to/data.json --limit 20"},{"language":"bash","snippet":"python scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50"},{"language":"text","snippet":"📊 抖音{period_label} · {category_label}\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://www.douyin.com/user/xxx) | 96 | 254.06w | 6919 | 24.64w | 6.68w | 13.39w |\n| 🥈 2 | [账号B](https://www.douyin.com/user/xxx) | 89 | 113.55w | 1.91w | 7.90w | 4787 | 3.12w |\n| 🥉 3 | [账号C](https://www.douyin.com/user/xxx) | 87 | 439.14w | 5859 | 16.51w | 993 | 687 |"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: douyin-top-account\ndescription: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用\ndependency: {}\n---\n\n# 抖音热门账号推荐\n\n## 1. 简介\n\n抖音每日最具影响力账号榜单追踪分析工具 -- 基于红狐数据 API，提供抖音全品类 / 分品类账号每日 / 每周 / 每月的表现榜单查询，支持排名查询、赛道筛选、HTML 可视化报告下载与定时订阅推送。\n\n**适用对象**：新手内容创作者、品牌方 / 商务投放人员、MCN 机构 / 内容团队、行业分析师 / 咨询从业者。\n\n---\n\n## 2. 功能特性\n\n**核心功能**：\n\n- 排名查询 -- 查日榜、周榜、月榜 TOP50，支持全品类和分品类\n- 赛道筛选 -- 按品类筛选（美食、旅行、科技、游戏等 27 个赛道）\n- 报告下载 -- 生成 HTML 可视化报告，支持导出 PDF / 截图\n- 定时订阅 -- 设置自动化定时推送，支持日 / 周 / 月频率\n\n**特色亮点**：\n\n- 日榜每日 17:30 更新 / 回溯 7 天，周榜每周一 17:30 更新 / 回溯 3 周，月榜每月 2 号 9 点更新 / 回溯 3 月\n- 综合评分算法：根据总粉丝数、新增粉丝增量、新增点赞 / 分享 / 评论加权计算，满分 100\n- 赛道模糊匹配：支持自然语言输入（如 \"美妆\" 自动映射到 \"化妆美容\"）\n- 数据一致性保障：对话展示的数据条数与 HTML 报告严格一致\n\n---\n\n## 3. 一键安装\n\n### 鉴权\n\n#### 获取 API Key\n\n请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=clawhub) 获取API KEY\n\n#### 配置 API Key\n\n方案1: 以OpenClaw为例，将REDFOX_API_KEY添加到~/.openclaw/openclaw.json中\n\n```bash\n{ \"env\": { \"REDFOX_API_KEY\": \"ak_xxxx...\" } }\n```\n\n方案2: 终端配置：export REDFOX_API_KEY=\"ak_xxxx...\"\n\n```bash\nexport REDFOX_API_KEY=\"ak_xxxx...\"\n```\n\n### 依赖安装\n\n无需安装第三方依赖，使用 Python 标准库即可运行。\n\n---\n\n## 4. 使用指南\n\n### 基础使用\n\n**查询榜单数据（默认展示 TOP 20）**：\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 20 --output /path/to/data.json\n```\n\n脚本会自动解析：\n- **时间**：从用户文本识别日 / 周 / 月，未明确则默认日榜\n- **日期**：自动计算最新可用日期（日榜 17:30 更新，周榜周一 17:30 更新，月榜每月 2 号 9 点更新）\n- **赛道**：支持模糊匹配（如 \"美妆\" 映射为 \"化妆美容\"）\n\n**生成 HTML 报告**：\n\n```bash\npython scripts/generate_report.py --data /path/to/data.json --limit 20\n```\n\n> 重要：HTML 报告展示的数据条数必须与对话中展示的数量保持一致。使用 `deliver_attachments` 交付 HTML 文件。\n\n**查看全部 50 条数据**：\n\n```bash\npython scripts/fetch_rank.py --query \"用户原始问题\" --limit 50 --output /path/to/data_full.json\npython scripts/generate_report.py --data /path/to/data_full.json --limit 50\n```\n\n### 高级使用\n\n**更新时间与回溯范围**：\n\n| 榜单类型 | 更新时间    | 回溯范围 |\n| -------- | ----------- | -------- |\n| 日榜     | 每日17:30   | 过去7天  |\n| 周榜     | 每周一17:30 | 过去3周  |\n| 月榜     | 每月2号9点  | 过去3月  |\n\n**时间边界处理（必须严格遵守）**：\n- 查询当日及未来日期：回复「非常抱歉🙏，我们最新的是昨日/上周/上月的数据，将为您提供最接近您需求的昨日/上周/上月热榜。」\n- 查询时间早于回溯日期：回复「非常抱歉🙏，目前榜单最多支持回溯「过去7天/过去3周/过去3月」，我将为您查询最接近您需求的时间范围~」\n\n**订阅服务**：\n\n用户确认订阅后，使用 `automation_update` 工具创建自动化任务：\n- 日榜：`FREQ=DAILY;BYHOUR=19;BYMINUTE=30`\n- 周榜：`FREQ=WEEKLY;BYDAY=MO;BYHOUR=19;BYMINUTE=30`\n- 月榜：`FREQ=MONTHLY;BYMONTHDAY=1;BYHOUR=16;BYMINUTE=0`\n\nautomation prompt 示例：`查询抖音最新日榜（全品类），生成报告并推送给用户`\n\n### 常用指令速查\n\n| 用户意图 | 典型触发词 | 对应操作 |\n| -------- | ---------- | -------- |\n| 排名查询 | 抖音日榜、周榜、月榜、TOP50、最夯账号、排行榜、最新推荐 | 调用脚本查询并格式化输出 |\n| 领域查询 | 美食类/旅行类/游戏类/科技类...抖音排名 | 调用脚本并按赛道筛选 |\n| 报告下载 | 下载报告、导出榜单、生成报告 | 运行 generate_report.py 生成 HTML |\n\n### 输出格式\n\n**Markdown 表格模板**：\n\n```\n📊 抖音{period_label} · {category_label}\n数据日期：{date}\n共 {total} 个账号上榜（展示 TOP {displayed} 条）\n\n💡 榜单说明：{warning}{period_update_time}，与实时数据存在差异\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分100\n\n| 排名 | 账号名 | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n|:---:|--------|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|:-------:|\n| 🥇 1 | [账号A](https://w"},{"path":"README.md","content":"# 抖音热门账号推荐 / douyin-top-account\n\n---\n\n## 简介\n\n帮你快速发现抖音平台最具影响力的账号，掌握赛道动态。\n\n**核心价值**\n基于每日抖音全赛道 TOP50 账号的涨粉、互动、增长趋势数据，帮你解决选题决策、对标账号、竞品监控、赛道选择四大核心问题。\n\n**适用对象**\n\n- 🎬 内容创作者 — 了解同赛道优秀账号表现，寻找对标和学习对象\n- 🏢 品牌方/商务投放 — 高效筛选优质达人，评估合作价值\n- 📦 MCN 机构/内容团队 — 掌握竞品动态，制定运营策略\n- 📊 行业分析师 — 获取数据洞察，生成分析报告\n\n---\n\n## 功能特性\n\n### 核心功能\n\n- **排名查询**：查询抖音账号日榜、周榜、月榜 TOP 50 账号，默认展示 TOP 20\n- **赛道筛选**：支持抖音全站热门、或者按 27 个赛道品类的精准查询，支持模糊词匹配\n- **综合评分**：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，多维指标排名客观可信，满分 100 分\n- **HTML 报告生成**：生成带可视化布局的 HTML 文件，账号名可点击跳转抖音主页，支持到处图片或 PDF\n- **订阅推送**：支持设置日榜、周榜、月榜定时自动推送，也可按指定赛道订阅\n\n---\n\n## 密钥获取与安全说明\n\n- 本技能需要使用环境变量：`REDFOX_API_KEY`。\n- `REDFOX_API_KEY` 由 [红狐 hub](https://redfox.hk/settings/api-keys?souce=github) (`https://redfox.hk`)提供。\n- 请前往 [红狐 hub](https://redfox.hk?souce=github) 注册账号，获取 `REDFOX_API_KEY`。\n- 配置设备环境变量 `REDFOX_API_KEY` 后使用本技能。\n- 在提供密钥前，请先确认密钥来源、可用范围、有效期及是否支持重置/撤销。\n- 禁止在代码、提示词、日志或输出文件中硬编码/明文暴露密钥。\n\n---\n\n## 使用指南\n\n直接用自然语言描述你的需求，无需记忆任何命令格式。\n\n### 常用说法速查\n\n| 意图       | 示例话术                             | 效果                        |\n| ---------- | ------------------------------------ | --------------------------- |\n| 查日榜     | \"最新抖音账号日榜排名？\"             | 返回全品类最新日榜 TOP 20   |\n| 查赛道周榜 | \"上周抖音美食类账号排行怎么样？\"     | 返回美食赛道最新周榜 TOP 20 |\n| 查月榜     | \"帮我看看上个月游戏类抖音账号的榜单\" | 返回游戏赛道最新月榜 TOP 20 |\n| 查完整榜单 | \"我想看完整的 50 条\"                 | 展示完整 TOP 50 并生成报告  |\n| 下载报告   | \"帮我生成这次榜单的 HTML 报告\"       | 生成可视化 HTML 文件并交付  |\n| 订阅推送   | \"我想每天收到美食类抖音日榜更新\"     | 创建定时自动推送任务        |\n\n### 输出示例\n\n📊 抖音日榜 · 全品类\n\n数据日期：2025-05-19\n共 50 个账号上榜（展示 TOP 20 条）\n\n💡 榜单说明：数据于每日 17:30 更新昨日数据，与实时数据存在差异\n\n📐 综合评分：根据总粉丝数、新增粉丝增量、新增点赞/分享/评论加权计算，满分 100：\n\n| 排名 | 账号名           | 综合评分 | 总粉丝数 | 新增粉丝 | 新增点赞 | 新增评论 | 新增分享 |\n| :--: | ---------------- | :------: | :------: | :------: | :------: | :------: | :------: |\n| 🥇 1 | 账号名（可点击） |    96    |   254w   |   6919   |  24.6w   |   6.7w   |  13.4w   |\n| 🥈 2 | 账号名（可点击） |    89    |   113w   |   1.9w   |   7.9w   |   4787   |   3.1w   |\n|  …   | …                |    …     |    …     |    …     |    …     |    …     |    …     |\n\n⚡ 更多操作\n⏺️ 本次榜单完整共 50 条数据，是否需要查看剩余 30 条？\n\n📬 订阅服务\n1️⃣ 是否需要订阅每日/周/月的抖音账号最新排名？\n2️⃣ 是否需要订阅具体赛道的账号表现？\n\n---\n\n## 使用场景\n\n| 场景                 | 角色                  | 示例问法                                    | 收益                               |\n| -------------------- | --------------------- | ------------------------------------------- | ---------------------------------- |\n| 寻找赛道标杆账号     | 内容创作者 / 个体运营 | \"美食类账号哪些做得好？帮我看看最新日榜\"    | 快速找到行业头部，明确内容方向     |\n| 评估达人合作候选人   | 品牌方 / 商务投放     | \"上周抖音美妆类 TOP50 有哪些账号表现亮眼？\" | 批量筛选，提升投放决策效率         |\n| 监控竞品赛道动态     | MCN 机构 / 内容团队   | \"最近一周游戏账号有哪些涨粉最快？\"          | 实时掌握竞争格局，快速响应市场变化 |\n| 生成行业分析报告     | 行业分析师 / 咨询顾问 | \"帮我生成 3 月份抖音游戏类榜单分析报告\"     | 一键生成可视化 HTML，方便汇报分享  |\n| 定期追踪账号排名变化 | 运营团队              | \"我想每周一收到旅行赛道的最新周榜\"          | 订阅推送，自动化榜单情报获取       |\n\n---\n\n## 重要数据说明\n\n### 榜单更新时间与数据回溯\n\n| 榜单类型 | 更新时间                    | 可回溯范围 |\n| -------- | --------------------------- | ---------- |\n| 日榜     | 每日 17:30 更新昨日数据     | 过去 7 天  |\n"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn73hdehkbe5dwfzckzj8yhcw984t4cc\",\n  \"slug\": \"douyin-rank-tranker\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780393976764\n}"},{"path":"references/api_docs.md","content":"# 抖音榜单 API 接口文档\n\n## 接口基础信息\n\n| 字段 | 值 |\n|------|-----|\n| 接口地址 | `https://redfox.hk/story/api/dyData/query` |\n| 请求方式 | POST |\n| Content-Type | `application/json` |\n| 认证方式 | `X-API-KEY`（从环境变量 `REDFOX_API_KEY` 获取，格式 `ak_xxxxxxxx`） |\n\n---\n\n## 请求参数\n\n```json\n{\n  \"dateType\": \"days\",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）\n  \"rankDate\": \"2026-04-27\",    // 榜单开始日期（结束时间由服务器自行计算）（必填）\n  \"type\": \"美食\",               // 赛道分类，默认\"全部\"（必填）\n  \"source\": \"抖音每日最具影响力账号-ClawHub\"  // 固定值（必填）\n}\n```\n\n> ⚠️ **重要**：`source` 必须为 `\"抖音每日最具影响力账号\"`，使用其他值会导致接口返回空数据！\n\n---\n\n## 响应结构\n\n```json\n{\n  \"code\": 2000,\n  \"data\": [\n    {\n      \"accountLink\":    \"https://www.douyin.com/user/...\",\n      \"accountName\":    \"账号名称\",\n      \"accountRanking\": 1,\n      \"category\":       \"美食\",\n      \"fansCount\":      \"254.06w\",\n      \"fansGrowth\":     \"6919\",\n      \"likedGrowth\":    \"24.64w\",\n      \"commentsGrowth\": \"6.68w\",\n      \"collectedGrowth\":\"2.53w\",\n      \"sharedGrowth\":   \"13.39w\",\n      \"rankDate\":       \"2026-04-27\",\n      \"rankPeriod\":     \"日榜\"\n    }\n  ]\n}\n```\n\n---\n\n## 错误码\n\n| code | 含义 |\n|------|------|\n| 2000 | **成功**（注意：成功码是 2000 不是 0！） |\n| 其他 | 错误，data 为空数组 |\n\n---\n\n## 字段映射（fetch_rank.py normalized JSON）\n\n| 接口原始字段 | normalized 字段 | 含义 |\n|------------|----------------|------|\n| `accountRanking` | `rank` | 排名 |\n| `accountName` | `accountName` | 账号名 |\n| `category` | `category` | 赛道 |\n| `fansCount` | `followers` | 总粉丝数 |\n| `fansGrowth` | `newFans` | 新增粉丝 |\n| `likedGrowth` | `newLikes` | 新增点赞 |\n| `commentsGrowth` | `newComments` | 新增评论 |\n| `sharedGrowth` | `newShares` | 新增分享 |\n| `accountLink` | `profileUrl` | 主页链接 |\n\n---\n\n## 可用赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 赛道模糊匹配规则\n\n> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为\"全部\"。\n\n| 用户说（示例）| 映射到 |\n|--------|--------|\n| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |\n| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |\n| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |\n| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |\n| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |\n| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |\n| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |\n| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |\n| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |\n| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |\n| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |\n| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |\n| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |\n| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |\n| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |\n| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |\n| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |\n| 动漫、ACG、cosplay、cos、番剧 | 二次元 |\n| vlog、日常、生活记录、日常vlog | 生活vlog |\n| 人文、历史、文化、传统文化、国学 | 人文 |\n| 汽车、车、车评、新能源、摩托车 | 汽车 |\n| 农村、三农、乡村、农业、种地 | 三农 |\n| 颜值、造型、发型、美发、变美 | 颜值造型 |\n| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |\n| 恋爱、婚姻、两性、情侣、相亲 | 情感 |\n| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |\n| 篮球、足球、NBA、世界杯、滑雪、羽毛球"},{"path":"references/category_map.md","content":"# 赛道映射表\n\n## 支持的赛道列表\n\n| 赛道名称 | 说明 |\n|----------|------|\n| 全部 | 综合全部 |\n| 个人才艺 | 个人才艺类 |\n| 生活vlog | 生活Vlog类 |\n| 财富理财 | 财富理财类 |\n| 二次元 | 二次元类 |\n| 居家装修 | 居家装修类 |\n| 学习教育 | 学习教育类 |\n| 小剧场 | 小剧场类 |\n| 数码科技 | 数码科技类 |\n| 旅行 | 旅行类 |\n| 美食 | 美食类 |\n| 化妆美容 | 化妆美容类 |\n| 动物 | 动物类 |\n| 亲子 | 亲子类 |\n| 汽车 | 汽车类 |\n| 情感 | 情感类 |\n| 三农 | 三农类 |\n| 健康医学 | 健康医学类 |\n| 潮流风尚 | 潮流风尚类 |\n| 舞蹈才艺 | 舞蹈才艺类 |\n| 颜值造型 | 颜值造型类 |\n| 人文 | 人文类 |\n| 音乐 | 音乐类 |\n| 影视 | 影视类 |\n| 身体锻炼 | 身体锻炼类 |\n| 体育 | 体育类 |\n| 明星娱乐 | 明星娱乐类 |\n| 游戏 | 游戏类 |\n\n---\n\n## 常用模糊匹配映射\n\n| 用户说 | 映射到 |\n|--------|--------|\n| 游戏、网游、手游 | 游戏 |\n| 美食、探店、烹饪 | 美食 |\n| 旅行、旅游 | 旅行 |\n| 科技、数码、手机 | 数码科技 |\n| 美妆、彩妆、护肤 | 化妆美容 |\n| 健身、运动、瑜伽 | 身体锻炼 |\n| 亲子、育儿、母婴 | 亲子 |\n| 穿搭、时尚 | 潮流风尚 |\n| 音乐、唱歌、弹琴 | 音乐 |\n| 影视、电影、剧集 | 影视 |\n| 健康、养生 | 健康医学 |\n| 萌宠、宠物 | 动物 |\n| 理财、投资 | 财富理财 |\n\n---\n\n## 赛道识别处理\n\n脚本 `fetch_rank.py` 使用 `match_category()` 函数进行匹配：\n\n### 匹配策略（按优先级）\n\n1. **精确匹配**：大小写不敏感，完整词匹配\n2. **模糊匹配**：按关键词长度降序扫描，取最长命中词\n3. **子串匹配**：用户输入是某个key的子串时（如\"美妆博主\"→\"美妆\"）\n4. **兜底**：返回\"全部\"\n\n### 赛道识别失败时的处理\n\n当 `category_fuzzy=False` 且无法识别时：\n1. 告知用户\"抱歉，无法识别该赛道类别\"\n2. 列出完整赛道列表\n3. 询问用户指定某一赛道\n\n### 完整赛道关键词（用于匹配）\n\n```\n全部、个人才艺、生活vlog、财富理财、二次元、居家装修、学习教育、小剧场、数码科技、旅行、美食、化妆美容、动物、亲子、汽车、情感、三农、健康医学、潮流风尚、舞蹈才艺、颜值造型、人文、音乐、影视、身体锻炼、体育、明星娱乐、游戏\n```"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用 Skill: 抖音每日最具影响力账号（红狐数据） Owner: redfox-data Summary: 抖音每日最具影响力账号榜单追踪分析工具；日榜每日17:30更新/回溯7天，周榜每周一17:30更新/回溯3周，月榜每月2号9点更新/回溯3月；当用户需要查询抖音账号排名、抖音日榜/周榜/月榜、抖音赛道TOP账号或下载榜单报告时使用 Tags: latest:1.0.5 Version history: v1.0.5 | 2026-06-02T09:52:56.764Z | user - 项目更名为“douyin-top-account”，描述和目录均已更新 - 移除 Python 依赖说明，现使用 Python 标准库，无需第三方包 - 增加英文与中文两份 README，删除 skill-card.md - 文档结构全面优化，内容拆分为简介、功能、安装、使用、场景、架构、常见问答等板块 - 详细补充了 API Key 配置及","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":557,"uniquenessScore":63,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T10:29:41.525Z","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-11T10:29:41.525Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T14:15:12.488Z","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"}]}}}