@tikomni/skills 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.skill-package-allowlist.txt +4 -0
- package/LICENSE +21 -0
- package/README.md +167 -0
- package/README.zh-CN.md +167 -0
- package/bin/tikomni-skills.js +127 -0
- package/env.example +160 -0
- package/lib/installer.js +176 -0
- package/package.json +44 -0
- package/skills/creator-analysis/SKILL.md +71 -0
- package/skills/creator-analysis/agents/openai.yaml +4 -0
- package/skills/creator-analysis/env.example +36 -0
- package/skills/creator-analysis/references/api-capability-index.md +92 -0
- package/skills/creator-analysis/references/api-contracts/asr-api.md +130 -0
- package/skills/creator-analysis/references/api-contracts/bilibili-app-api.md +776 -0
- package/skills/creator-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
- package/skills/creator-analysis/references/api-contracts/demo-api.md +717 -0
- package/skills/creator-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
- package/skills/creator-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
- package/skills/creator-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
- package/skills/creator-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
- package/skills/creator-analysis/references/api-contracts/douyin-search-api.md +4118 -0
- package/skills/creator-analysis/references/api-contracts/douyin-web-api.md +5544 -0
- package/skills/creator-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
- package/skills/creator-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
- package/skills/creator-analysis/references/api-contracts/health-check.md +69 -0
- package/skills/creator-analysis/references/api-contracts/hybrid-parsing.md +78 -0
- package/skills/creator-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
- package/skills/creator-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
- package/skills/creator-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
- package/skills/creator-analysis/references/api-contracts/ios-shortcut.md +44 -0
- package/skills/creator-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
- package/skills/creator-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
- package/skills/creator-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
- package/skills/creator-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
- package/skills/creator-analysis/references/api-contracts/media-ingest-api.md +126 -0
- package/skills/creator-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
- package/skills/creator-analysis/references/api-contracts/reddit-app-api.md +2025 -0
- package/skills/creator-analysis/references/api-contracts/sora2-api.md +2266 -0
- package/skills/creator-analysis/references/api-contracts/temp-mail-api.md +208 -0
- package/skills/creator-analysis/references/api-contracts/threads-web-api.md +897 -0
- package/skills/creator-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
- package/skills/creator-analysis/references/api-contracts/tikhub-user-api.md +494 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
- package/skills/creator-analysis/references/api-contracts/toutiao-app-api.md +342 -0
- package/skills/creator-analysis/references/api-contracts/toutiao-web-api.md +143 -0
- package/skills/creator-analysis/references/api-contracts/twitter-web-api.md +989 -0
- package/skills/creator-analysis/references/api-contracts/wechat-channels-api.md +809 -0
- package/skills/creator-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
- package/skills/creator-analysis/references/api-contracts/weibo-app-api.md +1547 -0
- package/skills/creator-analysis/references/api-contracts/weibo-web-api.md +798 -0
- package/skills/creator-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
- package/skills/creator-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
- package/skills/creator-analysis/references/api-contracts/youtube-web-api.md +2636 -0
- package/skills/creator-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
- package/skills/creator-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
- package/skills/creator-analysis/references/api-tags/asr-api.md +100 -0
- package/skills/creator-analysis/references/api-tags/bilibili-app-api.md +482 -0
- package/skills/creator-analysis/references/api-tags/bilibili-web-api.md +1267 -0
- package/skills/creator-analysis/references/api-tags/demo-api.md +365 -0
- package/skills/creator-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
- package/skills/creator-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
- package/skills/creator-analysis/references/api-tags/douyin-creator-api.md +694 -0
- package/skills/creator-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
- package/skills/creator-analysis/references/api-tags/douyin-search-api.md +1059 -0
- package/skills/creator-analysis/references/api-tags/douyin-web-api.md +3314 -0
- package/skills/creator-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
- package/skills/creator-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
- package/skills/creator-analysis/references/api-tags/health-check.md +40 -0
- package/skills/creator-analysis/references/api-tags/hybrid-parsing.md +57 -0
- package/skills/creator-analysis/references/api-tags/instagram-v1-api.md +1224 -0
- package/skills/creator-analysis/references/api-tags/instagram-v2-api.md +1147 -0
- package/skills/creator-analysis/references/api-tags/instagram-v3-api.md +1123 -0
- package/skills/creator-analysis/references/api-tags/ios-shortcut.md +45 -0
- package/skills/creator-analysis/references/api-tags/kuaishou-app-api.md +846 -0
- package/skills/creator-analysis/references/api-tags/kuaishou-web-api.md +551 -0
- package/skills/creator-analysis/references/api-tags/lemon8-app-api.md +687 -0
- package/skills/creator-analysis/references/api-tags/linkedin-web-api.md +1105 -0
- package/skills/creator-analysis/references/api-tags/media-ingest-api.md +112 -0
- package/skills/creator-analysis/references/api-tags/pipixia-app-api.md +721 -0
- package/skills/creator-analysis/references/api-tags/reddit-app-api.md +1057 -0
- package/skills/creator-analysis/references/api-tags/sora2-api.md +737 -0
- package/skills/creator-analysis/references/api-tags/temp-mail-api.md +136 -0
- package/skills/creator-analysis/references/api-tags/threads-web-api.md +472 -0
- package/skills/creator-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
- package/skills/creator-analysis/references/api-tags/tikhub-user-api.md +253 -0
- package/skills/creator-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
- package/skills/creator-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
- package/skills/creator-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
- package/skills/creator-analysis/references/api-tags/tiktok-creator-api.md +709 -0
- package/skills/creator-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
- package/skills/creator-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
- package/skills/creator-analysis/references/api-tags/tiktok-web-api.md +2516 -0
- package/skills/creator-analysis/references/api-tags/toutiao-app-api.md +220 -0
- package/skills/creator-analysis/references/api-tags/toutiao-web-api.md +96 -0
- package/skills/creator-analysis/references/api-tags/twitter-web-api.md +562 -0
- package/skills/creator-analysis/references/api-tags/wechat-channels-api.md +405 -0
- package/skills/creator-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
- package/skills/creator-analysis/references/api-tags/weibo-app-api.md +851 -0
- package/skills/creator-analysis/references/api-tags/weibo-web-api.md +470 -0
- package/skills/creator-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
- package/skills/creator-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
- package/skills/creator-analysis/references/api-tags/youtube-web-api.md +934 -0
- package/skills/creator-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
- package/skills/creator-analysis/references/api-tags/zhihu-web-api.md +1384 -0
- package/skills/creator-analysis/references/asr-orchestration.md +33 -0
- package/skills/creator-analysis/references/config-templates/defaults.yaml +60 -0
- package/skills/creator-analysis/references/contracts/creator-card-fields.md +23 -0
- package/skills/creator-analysis/references/contracts/work-card-fields.md +32 -0
- package/skills/creator-analysis/references/platform-guides/douyin.md +49 -0
- package/skills/creator-analysis/references/platform-guides/generic.md +46 -0
- package/skills/creator-analysis/references/platform-guides/xiaohongshu.md +54 -0
- package/skills/creator-analysis/references/prompt-contracts/asr-clean.md +28 -0
- package/skills/creator-analysis/references/prompt-contracts/author-analysis-v2.md +46 -0
- package/skills/creator-analysis/references/prompt-contracts/author-analysis.md +49 -0
- package/skills/creator-analysis/references/prompt-contracts/cta.md +24 -0
- package/skills/creator-analysis/references/prompt-contracts/hook.md +25 -0
- package/skills/creator-analysis/references/prompt-contracts/insight.md +47 -0
- package/skills/creator-analysis/references/prompt-contracts/sampled-work-batch-explanations.md +30 -0
- package/skills/creator-analysis/references/prompt-contracts/structure.md +25 -0
- package/skills/creator-analysis/references/prompt-contracts/style.md +27 -0
- package/skills/creator-analysis/references/prompt-contracts/summary.md +29 -0
- package/skills/creator-analysis/references/prompt-contracts/topic.md +29 -0
- package/skills/creator-analysis/references/schemas/author-analysis-input-v1.schema.json +325 -0
- package/skills/creator-analysis/references/schemas/author-analysis-v2.schema.json +158 -0
- package/skills/creator-analysis/references/schemas/sampled-work-batch-explanations.schema.json +41 -0
- package/skills/creator-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
- package/skills/creator-analysis/references/workflow.md +18 -0
- package/skills/creator-analysis/scripts/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/adapters/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/adapters/platform_adapters.py +299 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/author_analysis_v2_support.py +1122 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/prompt_first_analyzers.py +260 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/sampled_work_batch_explainer.py +260 -0
- package/skills/creator-analysis/scripts/author_home/asr/__init__.py +5 -0
- package/skills/creator-analysis/scripts/author_home/asr/home_asr.py +961 -0
- package/skills/creator-analysis/scripts/author_home/builders/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/builders/home_builders.py +149 -0
- package/skills/creator-analysis/scripts/author_home/collectors/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/collectors/homepage_collectors.py +636 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/run_author_analysis.py +491 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/work_analysis_artifacts.py +553 -0
- package/skills/creator-analysis/scripts/author_home/schema.py +417 -0
- package/skills/creator-analysis/scripts/core/__init__.py +0 -0
- package/skills/creator-analysis/scripts/core/analysis_pipeline.py +133 -0
- package/skills/creator-analysis/scripts/core/bootstrap_env.py +35 -0
- package/skills/creator-analysis/scripts/core/config_loader.py +418 -0
- package/skills/creator-analysis/scripts/core/extract_pipeline.py +173 -0
- package/skills/creator-analysis/scripts/core/progress_report.py +111 -0
- package/skills/creator-analysis/scripts/core/storage_router.py +253 -0
- package/skills/creator-analysis/scripts/core/tikomni_common.py +588 -0
- package/skills/creator-analysis/scripts/pipeline/__init__.py +0 -0
- package/skills/creator-analysis/scripts/pipeline/asr/__init__.py +0 -0
- package/skills/creator-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
- package/skills/creator-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
- package/skills/creator-analysis/scripts/platform/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/douyin/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
- package/skills/creator-analysis/scripts/platform/douyin/run_douyin_single_video.py +1208 -0
- package/skills/creator-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
- package/skills/creator-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2128 -0
- package/skills/creator-analysis/scripts/writers/__init__.py +0 -0
- package/skills/creator-analysis/scripts/writers/write_author_homepage_samples.py +106 -0
- package/skills/creator-analysis/scripts/writers/write_benchmark_card.py +1402 -0
- package/skills/meta-capability/SKILL.md +69 -0
- package/skills/meta-capability/agents/openai.yaml +4 -0
- package/skills/meta-capability/env.example +42 -0
- package/skills/meta-capability/references/api-capability-index.md +92 -0
- package/skills/meta-capability/references/api-contracts/asr-api.md +130 -0
- package/skills/meta-capability/references/api-contracts/bilibili-app-api.md +776 -0
- package/skills/meta-capability/references/api-contracts/bilibili-web-api.md +2017 -0
- package/skills/meta-capability/references/api-contracts/demo-api.md +717 -0
- package/skills/meta-capability/references/api-contracts/douyin-app-v3-api.md +3594 -0
- package/skills/meta-capability/references/api-contracts/douyin-billboard-api.md +2274 -0
- package/skills/meta-capability/references/api-contracts/douyin-creator-api.md +1575 -0
- package/skills/meta-capability/references/api-contracts/douyin-creator-v2-api.md +3254 -0
- package/skills/meta-capability/references/api-contracts/douyin-search-api.md +4118 -0
- package/skills/meta-capability/references/api-contracts/douyin-web-api.md +5544 -0
- package/skills/meta-capability/references/api-contracts/douyin-xingtu-api.md +1916 -0
- package/skills/meta-capability/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
- package/skills/meta-capability/references/api-contracts/health-check.md +69 -0
- package/skills/meta-capability/references/api-contracts/hybrid-parsing.md +78 -0
- package/skills/meta-capability/references/api-contracts/instagram-v1-api.md +2256 -0
- package/skills/meta-capability/references/api-contracts/instagram-v2-api.md +2011 -0
- package/skills/meta-capability/references/api-contracts/instagram-v3-api.md +2630 -0
- package/skills/meta-capability/references/api-contracts/ios-shortcut.md +44 -0
- package/skills/meta-capability/references/api-contracts/kuaishou-app-api.md +1518 -0
- package/skills/meta-capability/references/api-contracts/kuaishou-web-api.md +1242 -0
- package/skills/meta-capability/references/api-contracts/lemon8-app-api.md +1088 -0
- package/skills/meta-capability/references/api-contracts/linkedin-web-api.md +1949 -0
- package/skills/meta-capability/references/api-contracts/media-ingest-api.md +126 -0
- package/skills/meta-capability/references/api-contracts/pipixia-app-api.md +1142 -0
- package/skills/meta-capability/references/api-contracts/reddit-app-api.md +2025 -0
- package/skills/meta-capability/references/api-contracts/sora2-api.md +2266 -0
- package/skills/meta-capability/references/api-contracts/temp-mail-api.md +208 -0
- package/skills/meta-capability/references/api-contracts/threads-web-api.md +897 -0
- package/skills/meta-capability/references/api-contracts/tikhub-downloader-api.md +134 -0
- package/skills/meta-capability/references/api-contracts/tikhub-user-api.md +494 -0
- package/skills/meta-capability/references/api-contracts/tiktok-ads-api.md +5947 -0
- package/skills/meta-capability/references/api-contracts/tiktok-analytics-api.md +968 -0
- package/skills/meta-capability/references/api-contracts/tiktok-app-v3-api.md +5735 -0
- package/skills/meta-capability/references/api-contracts/tiktok-creator-api.md +1951 -0
- package/skills/meta-capability/references/api-contracts/tiktok-interaction-api.md +742 -0
- package/skills/meta-capability/references/api-contracts/tiktok-shop-web-api.md +1890 -0
- package/skills/meta-capability/references/api-contracts/tiktok-web-api.md +4448 -0
- package/skills/meta-capability/references/api-contracts/toutiao-app-api.md +342 -0
- package/skills/meta-capability/references/api-contracts/toutiao-web-api.md +143 -0
- package/skills/meta-capability/references/api-contracts/twitter-web-api.md +989 -0
- package/skills/meta-capability/references/api-contracts/wechat-channels-api.md +809 -0
- package/skills/meta-capability/references/api-contracts/wechat-media-platform-web-api.md +677 -0
- package/skills/meta-capability/references/api-contracts/weibo-app-api.md +1547 -0
- package/skills/meta-capability/references/api-contracts/weibo-web-api.md +798 -0
- package/skills/meta-capability/references/api-contracts/weibo-web-v2-api.md +2459 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-app-api.md +1291 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-web-api.md +1324 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
- package/skills/meta-capability/references/api-contracts/xigua-app-v2-api.md +489 -0
- package/skills/meta-capability/references/api-contracts/youtube-web-api.md +2636 -0
- package/skills/meta-capability/references/api-contracts/youtube-web-v2-api.md +2660 -0
- package/skills/meta-capability/references/api-contracts/zhihu-web-api.md +2315 -0
- package/skills/meta-capability/references/api-tags/asr-api.md +100 -0
- package/skills/meta-capability/references/api-tags/bilibili-app-api.md +482 -0
- package/skills/meta-capability/references/api-tags/bilibili-web-api.md +1267 -0
- package/skills/meta-capability/references/api-tags/demo-api.md +365 -0
- package/skills/meta-capability/references/api-tags/douyin-app-v3-api.md +2012 -0
- package/skills/meta-capability/references/api-tags/douyin-billboard-api.md +1428 -0
- package/skills/meta-capability/references/api-tags/douyin-creator-api.md +694 -0
- package/skills/meta-capability/references/api-tags/douyin-creator-v2-api.md +694 -0
- package/skills/meta-capability/references/api-tags/douyin-search-api.md +1059 -0
- package/skills/meta-capability/references/api-tags/douyin-web-api.md +3314 -0
- package/skills/meta-capability/references/api-tags/douyin-xingtu-api.md +935 -0
- package/skills/meta-capability/references/api-tags/douyin-xingtu-v2-api.md +925 -0
- package/skills/meta-capability/references/api-tags/health-check.md +40 -0
- package/skills/meta-capability/references/api-tags/hybrid-parsing.md +57 -0
- package/skills/meta-capability/references/api-tags/instagram-v1-api.md +1224 -0
- package/skills/meta-capability/references/api-tags/instagram-v2-api.md +1147 -0
- package/skills/meta-capability/references/api-tags/instagram-v3-api.md +1123 -0
- package/skills/meta-capability/references/api-tags/ios-shortcut.md +45 -0
- package/skills/meta-capability/references/api-tags/kuaishou-app-api.md +846 -0
- package/skills/meta-capability/references/api-tags/kuaishou-web-api.md +551 -0
- package/skills/meta-capability/references/api-tags/lemon8-app-api.md +687 -0
- package/skills/meta-capability/references/api-tags/linkedin-web-api.md +1105 -0
- package/skills/meta-capability/references/api-tags/media-ingest-api.md +112 -0
- package/skills/meta-capability/references/api-tags/pipixia-app-api.md +721 -0
- package/skills/meta-capability/references/api-tags/reddit-app-api.md +1057 -0
- package/skills/meta-capability/references/api-tags/sora2-api.md +737 -0
- package/skills/meta-capability/references/api-tags/temp-mail-api.md +136 -0
- package/skills/meta-capability/references/api-tags/threads-web-api.md +472 -0
- package/skills/meta-capability/references/api-tags/tikhub-downloader-api.md +65 -0
- package/skills/meta-capability/references/api-tags/tikhub-user-api.md +253 -0
- package/skills/meta-capability/references/api-tags/tiktok-ads-api.md +1393 -0
- package/skills/meta-capability/references/api-tags/tiktok-analytics-api.md +179 -0
- package/skills/meta-capability/references/api-tags/tiktok-app-v3-api.md +3264 -0
- package/skills/meta-capability/references/api-tags/tiktok-creator-api.md +709 -0
- package/skills/meta-capability/references/api-tags/tiktok-interaction-api.md +366 -0
- package/skills/meta-capability/references/api-tags/tiktok-shop-web-api.md +663 -0
- package/skills/meta-capability/references/api-tags/tiktok-web-api.md +2516 -0
- package/skills/meta-capability/references/api-tags/toutiao-app-api.md +220 -0
- package/skills/meta-capability/references/api-tags/toutiao-web-api.md +96 -0
- package/skills/meta-capability/references/api-tags/twitter-web-api.md +562 -0
- package/skills/meta-capability/references/api-tags/wechat-channels-api.md +405 -0
- package/skills/meta-capability/references/api-tags/wechat-media-platform-web-api.md +431 -0
- package/skills/meta-capability/references/api-tags/weibo-app-api.md +851 -0
- package/skills/meta-capability/references/api-tags/weibo-web-api.md +470 -0
- package/skills/meta-capability/references/api-tags/weibo-web-v2-api.md +1405 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-app-api.md +534 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-web-api.md +757 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
- package/skills/meta-capability/references/api-tags/xigua-app-v2-api.md +308 -0
- package/skills/meta-capability/references/api-tags/youtube-web-api.md +934 -0
- package/skills/meta-capability/references/api-tags/youtube-web-v2-api.md +717 -0
- package/skills/meta-capability/references/api-tags/zhihu-web-api.md +1384 -0
- package/skills/meta-capability/references/config-templates/defaults.yaml +18 -0
- package/skills/meta-capability/references/dispatch.md +27 -0
- package/skills/meta-capability/references/execution-guidelines.md +25 -0
- package/skills/meta-capability/references/implemented-route-map.md +177 -0
- package/skills/meta-capability/references/service-guides/asr-u2-u3-fallback.md +75 -0
- package/skills/meta-capability/scripts/__init__.py +1 -0
- package/skills/meta-capability/scripts/call_route.py +141 -0
- package/skills/meta-capability/scripts/core/__init__.py +1 -0
- package/skills/meta-capability/scripts/core/bootstrap_env.py +32 -0
- package/skills/meta-capability/scripts/core/config_loader.py +204 -0
- package/skills/meta-capability/scripts/core/tikomni_common.py +443 -0
- package/skills/meta-capability/scripts/test_auth.py +98 -0
- package/skills/single-work-analysis/SKILL.md +62 -0
- package/skills/single-work-analysis/agents/openai.yaml +4 -0
- package/skills/single-work-analysis/env.example +36 -0
- package/skills/single-work-analysis/references/api-capability-index.md +92 -0
- package/skills/single-work-analysis/references/api-contracts/asr-api.md +130 -0
- package/skills/single-work-analysis/references/api-contracts/bilibili-app-api.md +776 -0
- package/skills/single-work-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
- package/skills/single-work-analysis/references/api-contracts/demo-api.md +717 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-search-api.md +4118 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-web-api.md +5544 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
- package/skills/single-work-analysis/references/api-contracts/health-check.md +69 -0
- package/skills/single-work-analysis/references/api-contracts/hybrid-parsing.md +78 -0
- package/skills/single-work-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
- package/skills/single-work-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
- package/skills/single-work-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
- package/skills/single-work-analysis/references/api-contracts/ios-shortcut.md +44 -0
- package/skills/single-work-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
- package/skills/single-work-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
- package/skills/single-work-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
- package/skills/single-work-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
- package/skills/single-work-analysis/references/api-contracts/media-ingest-api.md +126 -0
- package/skills/single-work-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
- package/skills/single-work-analysis/references/api-contracts/reddit-app-api.md +2025 -0
- package/skills/single-work-analysis/references/api-contracts/sora2-api.md +2266 -0
- package/skills/single-work-analysis/references/api-contracts/temp-mail-api.md +208 -0
- package/skills/single-work-analysis/references/api-contracts/threads-web-api.md +897 -0
- package/skills/single-work-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
- package/skills/single-work-analysis/references/api-contracts/tikhub-user-api.md +494 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
- package/skills/single-work-analysis/references/api-contracts/toutiao-app-api.md +342 -0
- package/skills/single-work-analysis/references/api-contracts/toutiao-web-api.md +143 -0
- package/skills/single-work-analysis/references/api-contracts/twitter-web-api.md +989 -0
- package/skills/single-work-analysis/references/api-contracts/wechat-channels-api.md +809 -0
- package/skills/single-work-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
- package/skills/single-work-analysis/references/api-contracts/weibo-app-api.md +1547 -0
- package/skills/single-work-analysis/references/api-contracts/weibo-web-api.md +798 -0
- package/skills/single-work-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
- package/skills/single-work-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
- package/skills/single-work-analysis/references/api-contracts/youtube-web-api.md +2636 -0
- package/skills/single-work-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
- package/skills/single-work-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
- package/skills/single-work-analysis/references/api-tags/asr-api.md +100 -0
- package/skills/single-work-analysis/references/api-tags/bilibili-app-api.md +482 -0
- package/skills/single-work-analysis/references/api-tags/bilibili-web-api.md +1267 -0
- package/skills/single-work-analysis/references/api-tags/demo-api.md +365 -0
- package/skills/single-work-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
- package/skills/single-work-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
- package/skills/single-work-analysis/references/api-tags/douyin-creator-api.md +694 -0
- package/skills/single-work-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
- package/skills/single-work-analysis/references/api-tags/douyin-search-api.md +1059 -0
- package/skills/single-work-analysis/references/api-tags/douyin-web-api.md +3314 -0
- package/skills/single-work-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
- package/skills/single-work-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
- package/skills/single-work-analysis/references/api-tags/health-check.md +40 -0
- package/skills/single-work-analysis/references/api-tags/hybrid-parsing.md +57 -0
- package/skills/single-work-analysis/references/api-tags/instagram-v1-api.md +1224 -0
- package/skills/single-work-analysis/references/api-tags/instagram-v2-api.md +1147 -0
- package/skills/single-work-analysis/references/api-tags/instagram-v3-api.md +1123 -0
- package/skills/single-work-analysis/references/api-tags/ios-shortcut.md +45 -0
- package/skills/single-work-analysis/references/api-tags/kuaishou-app-api.md +846 -0
- package/skills/single-work-analysis/references/api-tags/kuaishou-web-api.md +551 -0
- package/skills/single-work-analysis/references/api-tags/lemon8-app-api.md +687 -0
- package/skills/single-work-analysis/references/api-tags/linkedin-web-api.md +1105 -0
- package/skills/single-work-analysis/references/api-tags/media-ingest-api.md +112 -0
- package/skills/single-work-analysis/references/api-tags/pipixia-app-api.md +721 -0
- package/skills/single-work-analysis/references/api-tags/reddit-app-api.md +1057 -0
- package/skills/single-work-analysis/references/api-tags/sora2-api.md +737 -0
- package/skills/single-work-analysis/references/api-tags/temp-mail-api.md +136 -0
- package/skills/single-work-analysis/references/api-tags/threads-web-api.md +472 -0
- package/skills/single-work-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
- package/skills/single-work-analysis/references/api-tags/tikhub-user-api.md +253 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-creator-api.md +709 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-web-api.md +2516 -0
- package/skills/single-work-analysis/references/api-tags/toutiao-app-api.md +220 -0
- package/skills/single-work-analysis/references/api-tags/toutiao-web-api.md +96 -0
- package/skills/single-work-analysis/references/api-tags/twitter-web-api.md +562 -0
- package/skills/single-work-analysis/references/api-tags/wechat-channels-api.md +405 -0
- package/skills/single-work-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
- package/skills/single-work-analysis/references/api-tags/weibo-app-api.md +851 -0
- package/skills/single-work-analysis/references/api-tags/weibo-web-api.md +470 -0
- package/skills/single-work-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
- package/skills/single-work-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
- package/skills/single-work-analysis/references/api-tags/youtube-web-api.md +934 -0
- package/skills/single-work-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
- package/skills/single-work-analysis/references/api-tags/zhihu-web-api.md +1384 -0
- package/skills/single-work-analysis/references/asr-and-fallback.md +20 -0
- package/skills/single-work-analysis/references/config-templates/defaults.yaml +58 -0
- package/skills/single-work-analysis/references/contracts/work-card-fields.md +41 -0
- package/skills/single-work-analysis/references/platform-guides/douyin.md +47 -0
- package/skills/single-work-analysis/references/platform-guides/generic.md +43 -0
- package/skills/single-work-analysis/references/platform-guides/xiaohongshu.md +54 -0
- package/skills/single-work-analysis/references/prompt-contracts/asr-clean.md +28 -0
- package/skills/single-work-analysis/references/prompt-contracts/cta.md +24 -0
- package/skills/single-work-analysis/references/prompt-contracts/hook.md +25 -0
- package/skills/single-work-analysis/references/prompt-contracts/insight.md +47 -0
- package/skills/single-work-analysis/references/prompt-contracts/structure.md +25 -0
- package/skills/single-work-analysis/references/prompt-contracts/style.md +27 -0
- package/skills/single-work-analysis/references/prompt-contracts/summary.md +29 -0
- package/skills/single-work-analysis/references/prompt-contracts/topic.md +29 -0
- package/skills/single-work-analysis/references/schemas/work-card.schema.json +39 -0
- package/skills/single-work-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
- package/skills/single-work-analysis/scripts/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/core/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/core/analysis_pipeline.py +133 -0
- package/skills/single-work-analysis/scripts/core/bootstrap_env.py +35 -0
- package/skills/single-work-analysis/scripts/core/config_loader.py +418 -0
- package/skills/single-work-analysis/scripts/core/extract_pipeline.py +173 -0
- package/skills/single-work-analysis/scripts/core/progress_report.py +111 -0
- package/skills/single-work-analysis/scripts/core/storage_router.py +253 -0
- package/skills/single-work-analysis/scripts/core/tikomni_common.py +588 -0
- package/skills/single-work-analysis/scripts/pipeline/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
- package/skills/single-work-analysis/scripts/platform/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/douyin/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
- package/skills/single-work-analysis/scripts/platform/douyin/run_douyin_single_video.py +1233 -0
- package/skills/single-work-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
- package/skills/single-work-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2156 -0
- package/skills/single-work-analysis/scripts/writers/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/writers/write_benchmark_card.py +1402 -0
package/lib/installer.js
ADDED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const fs = require("node:fs");
|
|
4
|
+
const os = require("node:os");
|
|
5
|
+
const path = require("node:path");
|
|
6
|
+
|
|
7
|
+
const PACKAGE_ROOT = path.resolve(__dirname, "..");
|
|
8
|
+
const SKILLS_ROOT = path.join(PACKAGE_ROOT, "skills");
|
|
9
|
+
const ALLOWLIST_FILE = path.join(PACKAGE_ROOT, ".skill-package-allowlist.txt");
|
|
10
|
+
const ROOT_ENV_EXAMPLE = path.join(PACKAGE_ROOT, "env.example");
|
|
11
|
+
const RUNTIME_ALIASES = {
|
|
12
|
+
claude: "claude-code",
|
|
13
|
+
"claude-code": "claude-code",
|
|
14
|
+
codex: "codex",
|
|
15
|
+
openclaw: "openclaw"
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
function listAvailableSkills() {
|
|
19
|
+
const allowlistEntries = loadAllowlistEntries();
|
|
20
|
+
if (allowlistEntries.length > 0) {
|
|
21
|
+
return allowlistEntries
|
|
22
|
+
.map((entry) => {
|
|
23
|
+
const absolutePath = path.join(PACKAGE_ROOT, entry);
|
|
24
|
+
return {
|
|
25
|
+
name: path.basename(entry),
|
|
26
|
+
relativePath: entry,
|
|
27
|
+
absolutePath
|
|
28
|
+
};
|
|
29
|
+
})
|
|
30
|
+
.filter((entry) => fs.existsSync(path.join(entry.absolutePath, "SKILL.md")));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return fs
|
|
34
|
+
.readdirSync(SKILLS_ROOT, { withFileTypes: true })
|
|
35
|
+
.filter((entry) => entry.isDirectory())
|
|
36
|
+
.map((entry) => ({
|
|
37
|
+
name: entry.name,
|
|
38
|
+
relativePath: path.join("skills", entry.name),
|
|
39
|
+
absolutePath: path.join(SKILLS_ROOT, entry.name)
|
|
40
|
+
}))
|
|
41
|
+
.filter((entry) => fs.existsSync(path.join(entry.absolutePath, "SKILL.md")));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function loadAllowlistEntries() {
|
|
45
|
+
if (!fs.existsSync(ALLOWLIST_FILE)) {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return fs
|
|
50
|
+
.readFileSync(ALLOWLIST_FILE, "utf8")
|
|
51
|
+
.split(/\r?\n/)
|
|
52
|
+
.map((line) => line.trim())
|
|
53
|
+
.filter((line) => line && !line.startsWith("#") && line.startsWith("skills/"));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function normalizeRuntime(runtime) {
|
|
57
|
+
const normalized = RUNTIME_ALIASES[String(runtime || "").trim().toLowerCase()];
|
|
58
|
+
if (!normalized) {
|
|
59
|
+
throw new Error(`不支持的运行时: ${runtime}`);
|
|
60
|
+
}
|
|
61
|
+
return normalized;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function resolveRuntimeDestination(runtime, explicitDir) {
|
|
65
|
+
if (explicitDir) {
|
|
66
|
+
return path.resolve(explicitDir);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const normalizedRuntime = normalizeRuntime(runtime);
|
|
70
|
+
if (normalizedRuntime === "codex") {
|
|
71
|
+
const codexHome = process.env.CODEX_HOME || path.join(os.homedir(), ".codex");
|
|
72
|
+
return path.join(codexHome, "skills");
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (normalizedRuntime === "claude-code") {
|
|
76
|
+
if (process.env.CLAUDE_SKILLS_DIR) {
|
|
77
|
+
return path.resolve(process.env.CLAUDE_SKILLS_DIR);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const claudeHome =
|
|
81
|
+
process.env.CLAUDE_CODE_HOME ||
|
|
82
|
+
process.env.CLAUDE_HOME ||
|
|
83
|
+
path.join(os.homedir(), ".claude");
|
|
84
|
+
return path.join(claudeHome, "skills");
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (process.env.OPENCLAW_SKILLS_DIR) {
|
|
88
|
+
return path.resolve(process.env.OPENCLAW_SKILLS_DIR);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (process.env.OPENCLAW_HOME) {
|
|
92
|
+
return pickExistingOrDefault([
|
|
93
|
+
path.join(process.env.OPENCLAW_HOME, "workspace", "skills"),
|
|
94
|
+
path.join(process.env.OPENCLAW_HOME, "skills")
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return pickExistingOrDefault([
|
|
99
|
+
path.join(os.homedir(), ".openclaw", "workspace", "skills"),
|
|
100
|
+
path.join(os.homedir(), ".openclaw", "skills")
|
|
101
|
+
]);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function pickExistingOrDefault(candidates) {
|
|
105
|
+
for (const candidate of candidates) {
|
|
106
|
+
if (fs.existsSync(candidate)) {
|
|
107
|
+
return candidate;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return candidates[0];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function resolveSkillSelection(skillNames) {
|
|
114
|
+
const requested = skillNames.length === 0 ? ["all"] : skillNames;
|
|
115
|
+
const availableSkills = listAvailableSkills();
|
|
116
|
+
const byName = new Map(availableSkills.map((skill) => [skill.name, skill]));
|
|
117
|
+
|
|
118
|
+
if (requested.includes("all")) {
|
|
119
|
+
return availableSkills;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return requested.map((name) => {
|
|
123
|
+
const skill = byName.get(name);
|
|
124
|
+
if (!skill) {
|
|
125
|
+
const candidates = availableSkills.map((entry) => entry.name).join(", ");
|
|
126
|
+
throw new Error(`未知 skill: ${name};可选值: ${candidates}`);
|
|
127
|
+
}
|
|
128
|
+
return skill;
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function installSkills(options) {
|
|
133
|
+
const runtime = normalizeRuntime(options.runtime);
|
|
134
|
+
const destinationRoot = resolveRuntimeDestination(runtime, options.explicitDir);
|
|
135
|
+
const selectedSkills = resolveSkillSelection(options.skillNames || []);
|
|
136
|
+
const force = Boolean(options.force);
|
|
137
|
+
|
|
138
|
+
fs.mkdirSync(destinationRoot, { recursive: true });
|
|
139
|
+
|
|
140
|
+
const installed = [];
|
|
141
|
+
for (const skill of selectedSkills) {
|
|
142
|
+
const targetPath = path.join(destinationRoot, skill.name);
|
|
143
|
+
if (fs.existsSync(targetPath)) {
|
|
144
|
+
if (!force) {
|
|
145
|
+
throw new Error(`目标目录已存在: ${targetPath};如需覆盖请加 --force`);
|
|
146
|
+
}
|
|
147
|
+
fs.rmSync(targetPath, { recursive: true, force: true });
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
fs.cpSync(skill.absolutePath, targetPath, { recursive: true });
|
|
151
|
+
installed.push({
|
|
152
|
+
name: skill.name,
|
|
153
|
+
sourcePath: skill.absolutePath,
|
|
154
|
+
targetPath
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const sharedEnvTargetPath = path.join(destinationRoot, "env.example");
|
|
159
|
+
if (fs.existsSync(ROOT_ENV_EXAMPLE) && (force || !fs.existsSync(sharedEnvTargetPath))) {
|
|
160
|
+
fs.copyFileSync(ROOT_ENV_EXAMPLE, sharedEnvTargetPath);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return {
|
|
164
|
+
runtime,
|
|
165
|
+
destinationRoot,
|
|
166
|
+
installed
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
module.exports = {
|
|
171
|
+
installSkills,
|
|
172
|
+
listAvailableSkills,
|
|
173
|
+
normalizeRuntime,
|
|
174
|
+
resolveRuntimeDestination,
|
|
175
|
+
resolveSkillSelection
|
|
176
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tikomni/skills",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "TikOmni skill installer CLI for Codex, Claude Code, and OpenClaw",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://github.com/mark-ly-wang/TikOmni-Skills#readme",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/mark-ly-wang/TikOmni-Skills/issues"
|
|
9
|
+
},
|
|
10
|
+
"bin": {
|
|
11
|
+
"tikomni-skills": "./bin/tikomni-skills.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"bin/",
|
|
15
|
+
"lib/",
|
|
16
|
+
"skills/",
|
|
17
|
+
".skill-package-allowlist.txt",
|
|
18
|
+
"env.example",
|
|
19
|
+
"README.md",
|
|
20
|
+
"README.zh-CN.md"
|
|
21
|
+
],
|
|
22
|
+
"engines": {
|
|
23
|
+
"node": ">=18"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"test": "node --test",
|
|
27
|
+
"pack:dry-run": "npm pack --dry-run"
|
|
28
|
+
},
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
31
|
+
},
|
|
32
|
+
"keywords": [
|
|
33
|
+
"tikomni",
|
|
34
|
+
"skills",
|
|
35
|
+
"codex",
|
|
36
|
+
"claude-code",
|
|
37
|
+
"openclaw",
|
|
38
|
+
"installer"
|
|
39
|
+
],
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "git+https://github.com/mark-ly-wang/TikOmni-Skills.git"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: creator-analysis
|
|
3
|
+
description: Use this skill for creator, account profile, and content-collection retrieval, benchmarking, breakdown, and analysis. Trigger when the user asks to analyze creator / analyze account / profile analysis / creator benchmark / creator breakdown, or 创作者分析 / 账号分析 / 主页分析 / 博主分析 / 博主对标 / 账号拆解 / 作者卡 / 主页作品汇总, and the target is a creator, account profile, channel, or content collection rather than one content item.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Creator Analysis
|
|
7
|
+
|
|
8
|
+
## When To Use
|
|
9
|
+
|
|
10
|
+
- Use this skill when the target is a creator, account, profile page, channel, or content collection rather than a single content item.
|
|
11
|
+
- Use this skill when the user wants a creator card, a full set of work cards, sampled explanations, or aggregated creator-level conclusions.
|
|
12
|
+
- Use this skill when multiple videos under one profile should go through batch ASR first.
|
|
13
|
+
- Use this skill when the user provides a profile URL, creator handle, account identifier, channel entry, or another creator-level entry point.
|
|
14
|
+
|
|
15
|
+
## What It Can Do
|
|
16
|
+
|
|
17
|
+
- Fetch and normalize creator-side fact fields.
|
|
18
|
+
- Fetch and normalize the full content collection under a profile.
|
|
19
|
+
- Produce work fact cards for the retrieved items.
|
|
20
|
+
- Run batch ASR for video items when needed.
|
|
21
|
+
- Complete bucketing, sampling, sampled explanations, and creator-level analysis.
|
|
22
|
+
- Return creator cards, work cards, and aggregated conclusions.
|
|
23
|
+
|
|
24
|
+
## Core Rules
|
|
25
|
+
|
|
26
|
+
- Keep the task scoped to a creator, account profile, or content collection.
|
|
27
|
+
- Prefer the platform guide first. Only go back to API discovery references when the guide is insufficient.
|
|
28
|
+
- Keep fact cards for all retrieved works, but do not run per-work deep LLM analysis.
|
|
29
|
+
- Prefer batch ASR for video items, with up to 100 links per batch.
|
|
30
|
+
- Let sampled-work explanation fields come from one batch LLM step only.
|
|
31
|
+
- Treat `author_analysis_v2` as the formal creator-level analysis object.
|
|
32
|
+
- If `analysis_eligibility=incomplete`, keep the fact card but exclude the item from sampling, sampled explanations, and creator-level analysis.
|
|
33
|
+
|
|
34
|
+
## Do Not
|
|
35
|
+
|
|
36
|
+
- Do not paste sampled explanations directly into every work-card body.
|
|
37
|
+
- Do not expose platform process fields directly in the final card body.
|
|
38
|
+
- Do not introduce per-work LLM explanations inside the creator path.
|
|
39
|
+
- Do not collapse a creator task into single-item analysis when the user clearly wants creator-level output.
|
|
40
|
+
|
|
41
|
+
## Workflow
|
|
42
|
+
|
|
43
|
+
1. Identify the platform and confirm that the target is a creator, account profile, channel, or content collection.
|
|
44
|
+
2. Read `references/contracts/creator-card-fields.md` to confirm required creator-card fields.
|
|
45
|
+
3. Read `references/contracts/work-card-fields.md` to confirm required work-card fields for the collected items.
|
|
46
|
+
4. Read the platform guide first:
|
|
47
|
+
- Douyin: `references/platform-guides/douyin.md`
|
|
48
|
+
- Xiaohongshu: `references/platform-guides/xiaohongshu.md`
|
|
49
|
+
- Other platforms: `references/platform-guides/generic.md`
|
|
50
|
+
5. If video items are involved, read `references/service-guides/asr-u2-u3-fallback.md` and then `references/asr-orchestration.md` to run batch ASR and fallback.
|
|
51
|
+
6. Read `references/api-capability-index.md`, `references/api-tags/`, and `references/api-contracts/` only when the platform guide does not provide enough route or field detail.
|
|
52
|
+
7. Read `references/workflow.md` to complete bucketing, sampling, sampled explanations, and `author_analysis_v2`.
|
|
53
|
+
8. Return the creator card, work cards, and aggregated conclusions.
|
|
54
|
+
|
|
55
|
+
## References
|
|
56
|
+
|
|
57
|
+
- API capability index: `references/api-capability-index.md`
|
|
58
|
+
- Tag-level route summaries: `references/api-tags/`
|
|
59
|
+
- Tag-level full contracts: `references/api-contracts/`
|
|
60
|
+
- U2/U3 ASR fallback: `references/service-guides/asr-u2-u3-fallback.md`
|
|
61
|
+
- Creator-card fields: `references/contracts/creator-card-fields.md`
|
|
62
|
+
- Work-card fields: `references/contracts/work-card-fields.md`
|
|
63
|
+
- ASR orchestration: `references/asr-orchestration.md`
|
|
64
|
+
- Creator workflow: `references/workflow.md`
|
|
65
|
+
- Author-analysis prompt contract: `references/prompt-contracts/author-analysis-v2.md`
|
|
66
|
+
- Sampled-explanations prompt contract: `references/prompt-contracts/sampled-work-batch-explanations.md`
|
|
67
|
+
- Author-analysis schema: `references/schemas/author-analysis-v2.schema.json`
|
|
68
|
+
- Sampled-explanations schema: `references/schemas/sampled-work-batch-explanations.schema.json`
|
|
69
|
+
- Generic platform guide: `references/platform-guides/generic.md`
|
|
70
|
+
- Douyin guide: `references/platform-guides/douyin.md`
|
|
71
|
+
- Xiaohongshu guide: `references/platform-guides/xiaohongshu.md`
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Creator Analysis"
|
|
3
|
+
short_description: "Creator, profile, and collection benchmark analysis"
|
|
4
|
+
default_prompt: "Use $creator-analysis to analyze a creator, account profile, or content collection and return the creator card, work cards, creator benchmark breakdown, and aggregated conclusions."
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# [ZH] 本文件是 creator-analysis 的环境变量示例。
|
|
2
|
+
# [EN] This file is the env example for creator-analysis.
|
|
3
|
+
#
|
|
4
|
+
# [ZH] 正常情况下,请先把仓库根 env.example 复制到 skills/.env。
|
|
5
|
+
# [EN] In normal use, copy the repo-root env.example to skills/.env first.
|
|
6
|
+
#
|
|
7
|
+
# [ZH] 只有当 creator-analysis 需要局部覆盖时,才把下面字段复制到本目录的 .env.local。
|
|
8
|
+
# [EN] Only copy selected keys into this folder's .env.local when creator-analysis needs local overrides.
|
|
9
|
+
|
|
10
|
+
# [ZH] 输出根目录。默认值:继承 skills/.env;如需局部覆盖,必须是绝对路径。
|
|
11
|
+
# [EN] Output root. Default: inherited from skills/.env; must be absolute when overridden locally.
|
|
12
|
+
# TIKOMNI_OUTPUT_ROOT="/absolute/path/to/tikomni-output"
|
|
13
|
+
|
|
14
|
+
# [ZH] 卡片根目录。默认值:继承 skills/.env;如需局部覆盖,必须是绝对路径。
|
|
15
|
+
# [EN] Card root. Default: inherited from skills/.env; must be absolute when overridden locally.
|
|
16
|
+
# TIKOMNI_CARD_ROOT="/absolute/path/to/tikomni-cards"
|
|
17
|
+
|
|
18
|
+
# [ZH] 路由语言预设。默认值:zh
|
|
19
|
+
# [EN] Route locale preset. Default: zh
|
|
20
|
+
TIKOMNI_PATH_LOCALE="zh"
|
|
21
|
+
|
|
22
|
+
# [ZH] 作者级 LLM 分析超时,单位秒。默认值:45
|
|
23
|
+
# [EN] Timeout for creator-level LLM analysis in seconds. Default: 45
|
|
24
|
+
TIKOMNI_AUTHOR_ANALYSIS_TIMEOUT_SEC="45"
|
|
25
|
+
|
|
26
|
+
# [ZH] sampled works 少于该阈值时跳过作者级 LLM 分析。默认值:5
|
|
27
|
+
# [EN] Skip creator-level LLM analysis when sampled works are below this threshold. Default: 5
|
|
28
|
+
TIKOMNI_AUTHOR_ANALYSIS_SMALL_SAMPLE_SKIP="5"
|
|
29
|
+
|
|
30
|
+
# [ZH] sampled works 批量解释超时,单位秒。默认值:45
|
|
31
|
+
# [EN] Timeout for sampled-work batch explanations in seconds. Default: 45
|
|
32
|
+
TIKOMNI_SAMPLED_EXPLANATION_TIMEOUT_SEC="45"
|
|
33
|
+
|
|
34
|
+
# [ZH] 显式配置文件路径。默认值:空;留空时自动使用本模块 defaults.yaml
|
|
35
|
+
# [EN] Explicit config file path. Default: empty; when empty the module uses its own defaults.yaml
|
|
36
|
+
# TIKOMNI_CONFIG_FILE=""
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# TikOmni API Capability Index
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
- This auto-generated lightweight entry point helps identify the right tag, capability area, and auth pattern first.
|
|
6
|
+
- Source mode: `remote`
|
|
7
|
+
- Source: `https://app.tikomni.com/openapi/tikomni-openapi.full.with-u2.public.latest.json`
|
|
8
|
+
- Fetched at: `2026-03-08T06:54:04+00:00`
|
|
9
|
+
- Start route selection here. Read `api-tags/` and `api-contracts/` only when you need field definitions, defaults, examples, or full response structures.
|
|
10
|
+
- If the task involves ASR timeout, non-public media URLs, or U3 media relay, also read `service-guides/asr-u2-u3-fallback.md`.
|
|
11
|
+
|
|
12
|
+
## Global Auth
|
|
13
|
+
|
|
14
|
+
- Default auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
15
|
+
- If a route overrides or disables the default auth requirement, trust the corresponding `api-tags/` and `api-contracts/` entries.
|
|
16
|
+
|
|
17
|
+
## Read Order
|
|
18
|
+
|
|
19
|
+
1. Choose a tag by platform and object type.
|
|
20
|
+
2. Open `api-tags/<tag>.md` for route summaries, auth requirements, and key fields.
|
|
21
|
+
3. Open `api-contracts/<tag>.md` only when you need exact field definitions, defaults, examples, or full success-response structures.
|
|
22
|
+
4. If the task involves transcription, the 90-second soft observation window, or the 120-second hard fallback, read the U2/U3 guide.
|
|
23
|
+
|
|
24
|
+
## Stats
|
|
25
|
+
|
|
26
|
+
- Tag groups: `53`
|
|
27
|
+
- Routes: `991`
|
|
28
|
+
- Generated targets: `3` skill reference sets
|
|
29
|
+
|
|
30
|
+
## Special Flows
|
|
31
|
+
|
|
32
|
+
- ASR and U3 fallback: [`service-guides/asr-u2-u3-fallback.md`](./service-guides/asr-u2-u3-fallback.md)
|
|
33
|
+
- ASR tag: [`api-tags/asr-api.md`](./api-tags/asr-api.md)
|
|
34
|
+
- U3 media relay tag: [`api-tags/media-ingest-api.md`](./api-tags/media-ingest-api.md)
|
|
35
|
+
|
|
36
|
+
## Tag Overview
|
|
37
|
+
|
|
38
|
+
| Tag | File | Contract | Ops | Auth | Common Capabilities | Common Inputs |
|
|
39
|
+
| --- | --- | --- | ---: | --- | --- | --- |
|
|
40
|
+
| `ASR-API` | [`api-tags/asr-api.md`](./api-tags/asr-api.md) | [`api-contracts/asr-api.md`](./api-contracts/asr-api.md) | 2 | Header `Authorization` Bearer | ASR / transcription / audio / media / general | `input`, `task_id` |
|
|
41
|
+
| `Bilibili-App-API` | [`api-tags/bilibili-app-api.md`](./api-tags/bilibili-app-api.md) | [`api-contracts/bilibili-app-api.md`](./api-contracts/bilibili-app-api.md) | 11 | Header `Authorization` Bearer | general / profiles / accounts / content details / search | `av_id`, `bv_id`, `page`, `idx`, `next_offset`, `ps`, `keyword`, `page_size`, `order`, `user_id` |
|
|
42
|
+
| `Bilibili-Web-API` | [`api-tags/bilibili-web-api.md`](./api-tags/bilibili-web-api.md) | [`api-contracts/bilibili-web-api.md`](./api-contracts/bilibili-web-api.md) | 30 | Header `Authorization` Bearer | content details / profiles / accounts / livestream / details | `bv_id`, `uid`, `pn`, `cid`, `dynamic_id`, `order`, `room_id`, `a_id`, `c_id`, `url` |
|
|
43
|
+
| `Demo-API` | [`api-tags/demo-api.md`](./api-tags/demo-api.md) | [`api-contracts/demo-api.md`](./api-contracts/demo-api.md) | 9 | Header `Authorization` Bearer | content details / profiles / accounts / general / search | None |
|
|
44
|
+
| `Douyin-App-V3-API` | [`api-tags/douyin-app-v3-api.md`](./api-tags/douyin-app-v3-api.md) | [`api-contracts/douyin-app-v3-api.md`](./api-contracts/douyin-app-v3-api.md) | 47 | Header `Authorization` Bearer | content details / search / profiles / accounts / details | `count`, `cursor`, `keyword`, `aweme_id`, `sec_user_id`, `offset`, `sort_type`, `publish_time`, `filter_duration`, `aweme_ids` |
|
|
45
|
+
| `Douyin-Billboard-API` | [`api-tags/douyin-billboard-api.md`](./api-tags/douyin-billboard-api.md) | [`api-contracts/douyin-billboard-api.md`](./api-contracts/douyin-billboard-api.md) | 31 | Header `Authorization` Bearer | trends / rankings / search / topics / details | `page_size`, `date_window`, `page`, `keyword`, `tags`, `sec_uid`, `option`, `page_num`, `end_date`, `start_date` |
|
|
46
|
+
| `Douyin-Creator-API` | [`api-tags/douyin-creator-api.md`](./api-tags/douyin-creator-api.md) | [`api-contracts/douyin-creator-api.md`](./api-contracts/douyin-creator-api.md) | 16 | Header `Authorization` Bearer | creators / trends / rankings / topics / details | `billboard_tag`, `order_key`, `time_filter`, `limit`, `offset`, `category_id`, `order`, `activity_id`, `start_time`, `end_time` |
|
|
47
|
+
| `Douyin-Creator-V2-API` | [`api-tags/douyin-creator-v2-api.md`](./api-tags/douyin-creator-v2-api.md) | [`api-contracts/douyin-creator-v2-api.md`](./api-contracts/douyin-creator-v2-api.md) | 14 | Header `Authorization` Bearer | creators / media / download / search / trends / rankings | `cookie`, `item_id`, `start_date`, `end_date`, `genres`, `primary_verticals`, `fields`, `need_long_article`, `metric_type`, `count` |
|
|
48
|
+
| `Douyin-Search-API` | [`api-tags/douyin-search-api.md`](./api-tags/douyin-search-api.md) | [`api-contracts/douyin-search-api.md`](./api-contracts/douyin-search-api.md) | 20 | Header `Authorization` Bearer | search / topics / profiles / accounts / content details | `keyword`, `cursor`, `search_id`, `sort_type`, `publish_time`, `filter_duration`, `content_type`, `backtrace`, `douyin_user_fans`, `douyin_user_type` |
|
|
49
|
+
| `Douyin-Web-API` | [`api-tags/douyin-web-api.md`](./api-tags/douyin-web-api.md) | [`api-contracts/douyin-web-api.md`](./api-contracts/douyin-web-api.md) | 76 | Header `Authorization` Bearer | profiles / accounts / content details / general / livestream | `count`, `cookie`, `refresh_index`, `keyword`, `sec_user_id`, `cursor`, `room_id`, `offset`, `aweme_id`, `max_cursor` |
|
|
50
|
+
| `Douyin-Xingtu-API` | [`api-tags/douyin-xingtu-api.md`](./api-tags/douyin-xingtu-api.md) | [`api-contracts/douyin-xingtu-api.md`](./api-contracts/douyin-xingtu-api.md) | 22 | Header `Authorization` Bearer | general / content details / comments / trends / rankings | `kolId`, `platformChannel`, `_range`, `page`, `onlyAssign`, `keyword`, `uri`, `durationTS`, `format`, `sec_user_id` |
|
|
51
|
+
| `Douyin-Xingtu-V2-API` | [`api-tags/douyin-xingtu-v2-api.md`](./api-tags/douyin-xingtu-v2-api.md) | [`api-contracts/douyin-xingtu-v2-api.md`](./api-contracts/douyin-xingtu-v2-api.md) | 21 | Header `Authorization` Bearer | creators / general / trends / rankings / comments | `o_author_id`, `platform_source`, `limit`, `platform_channel`, `author_id`, `only_assign`, `flow_type`, `page`, `qualifier`, `period` |
|
|
52
|
+
| `Health-Check` | [`api-tags/health-check.md`](./api-tags/health-check.md) | [`api-contracts/health-check.md`](./api-contracts/health-check.md) | 1 | Header `Authorization` Bearer | general | None |
|
|
53
|
+
| `Hybrid-Parsing` | [`api-tags/hybrid-parsing.md`](./api-tags/hybrid-parsing.md) | [`api-contracts/hybrid-parsing.md`](./api-contracts/hybrid-parsing.md) | 1 | Header `Authorization` Bearer | content details | `url`, `minimal`, `base64_url` |
|
|
54
|
+
| `Instagram-V1-API` | [`api-tags/instagram-v1-api.md`](./api-tags/instagram-v1-api.md) | [`api-contracts/instagram-v1-api.md`](./api-contracts/instagram-v1-api.md) | 29 | Header `Authorization` Bearer | profiles / accounts / content details / general / comments | `user_id`, `max_id`, `count`, `end_cursor`, `media_id`, `username`, `page`, `min_id`, `location_id`, `post_url` |
|
|
55
|
+
| `Instagram-V2-API` | [`api-tags/instagram-v2-api.md`](./api-tags/instagram-v2-api.md) | [`api-contracts/instagram-v2-api.md`](./api-contracts/instagram-v2-api.md) | 27 | Header `Authorization` Bearer | profiles / accounts / content details / search / comments | `pagination_token`, `user_id`, `username`, `keyword`, `code_or_url`, `comment_id`, `feed_type`, `highlight_id`, `location_id`, `audio_canonical_id` |
|
|
56
|
+
| `Instagram-V3-API` | [`api-tags/instagram-v3-api.md`](./api-tags/instagram-v3-api.md) | [`api-contracts/instagram-v3-api.md`](./api-contracts/instagram-v3-api.md) | 26 | Header `Authorization` Bearer | profiles / accounts / content details / comments / search | `user_id`, `username`, `url`, `first`, `after`, `query`, `media_id`, `code`, `max_id`, `comment_id` |
|
|
57
|
+
| `Kuaishou-App-API` | [`api-tags/kuaishou-app-api.md`](./api-tags/kuaishou-app-api.md) | [`api-contracts/kuaishou-app-api.md`](./api-contracts/kuaishou-app-api.md) | 20 | Header `Authorization` Bearer | content details / trends / rankings / profiles / accounts / search | `pcursor`, `user_id`, `subTabId`, `subTabName`, `keyword`, `magic_face_id`, `photo_id`, `page`, `boardType`, `boardId` |
|
|
58
|
+
| `Kuaishou-Web-API` | [`api-tags/kuaishou-web-api.md`](./api-tags/kuaishou-web-api.md) | [`api-contracts/kuaishou-web-api.md`](./api-contracts/kuaishou-web-api.md) | 13 | Header `Authorization` Bearer | content details / profiles / accounts / trends / rankings / comments | `pcursor`, `photo_id`, `user_id`, `share_link`, `board_type`, `share_text`, `url`, `root_comment_id` |
|
|
59
|
+
| `Lemon8-App-API` | [`api-tags/lemon8-app-api.md`](./api-tags/lemon8-app-api.md) | [`api-contracts/lemon8-app-api.md`](./api-contracts/lemon8-app-api.md) | 16 | Header `Authorization` Bearer | general / profiles / accounts / content details / search | `user_id`, `item_id`, `cursor`, `share_text`, `group_id`, `media_id`, `offset`, `query`, `max_cursor`, `filter_type` |
|
|
60
|
+
| `LinkedIn-Web-API` | [`api-tags/linkedin-web-api.md`](./api-tags/linkedin-web-api.md) | [`api-contracts/linkedin-web-api.md`](./api-contracts/linkedin-web-api.md) | 25 | Header `Authorization` Bearer | profiles / accounts / general / content details / search | `page`, `urn`, `company_id`, `pagination_token`, `sort_by`, `company`, `username`, `date_posted`, `experience_level`, `remote` |
|
|
61
|
+
| `Media-Ingest-API` | [`api-tags/media-ingest-api.md`](./api-tags/media-ingest-api.md) | [`api-contracts/media-ingest-api.md`](./api-contracts/media-ingest-api.md) | 2 | Header `Authorization` Bearer | media upload / public URL | `provider`, `file_name`, `content_type`, `size_bytes`, `upload_id` |
|
|
62
|
+
| `PiPiXia-App-API` | [`api-tags/pipixia-app-api.md`](./api-tags/pipixia-app-api.md) | [`api-contracts/pipixia-app-api.md`](./api-contracts/pipixia-app-api.md) | 17 | Header `Authorization` Bearer | content details / profiles / accounts / search / details | `cursor`, `cell_id`, `user_id`, `cell_type`, `hashtag_id`, `feed_count`, `offset`, `hashtag_request_type`, `hashtag_sort_type`, `page` |
|
|
63
|
+
| `Reddit-APP-API` | [`api-tags/reddit-app-api.md`](./api-tags/reddit-app-api.md) | [`api-contracts/reddit-app-api.md`](./api-contracts/reddit-app-api.md) | 24 | Header `Authorization` Bearer | general / profiles / accounts / content details / comments | `need_format`, `after`, `sort`, `username`, `subreddit_name`, `subreddit_id`, `post_id`, `filter_posts`, `include_comment_id`, `comment_id` |
|
|
64
|
+
| `Sora2-API` | [`api-tags/sora2-api.md`](./api-tags/sora2-api.md) | [`api-contracts/sora2-api.md`](./api-contracts/sora2-api.md) | 17 | Header `Authorization` Bearer | content details / profiles / accounts / general / comments | `cursor`, `user_id`, `post_id`, `post_url`, `task_id`, `prompt`, `orientation`, `media_id`, `comment_id`, `eager_views` |
|
|
65
|
+
| `Temp-Mail-API` | [`api-tags/temp-mail-api.md`](./api-tags/temp-mail-api.md) | [`api-contracts/temp-mail-api.md`](./api-contracts/temp-mail-api.md) | 3 | Header `Authorization` Bearer | general | `token`, `message_id` |
|
|
66
|
+
| `Threads-Web-API` | [`api-tags/threads-web-api.md`](./api-tags/threads-web-api.md) | [`api-contracts/threads-web-api.md`](./api-contracts/threads-web-api.md) | 11 | Header `Authorization` Bearer | profiles / accounts / content details / search / details | `end_cursor`, `user_id`, `post_id`, `query`, `url`, `username` |
|
|
67
|
+
| `TikHub-Downloader-API` | [`api-tags/tikhub-downloader-api.md`](./api-tags/tikhub-downloader-api.md) | [`api-contracts/tikhub-downloader-api.md`](./api-contracts/tikhub-downloader-api.md) | 2 | Header `Authorization` Bearer | media / download | None |
|
|
68
|
+
| `TikHub-User-API` | [`api-tags/tikhub-user-api.md`](./api-tags/tikhub-user-api.md) | [`api-contracts/tikhub-user-api.md`](./api-contracts/tikhub-user-api.md) | 6 | Header `Authorization` Bearer | profiles / accounts | `endpoint`, `request_per_day` |
|
|
69
|
+
| `TikTok-Ads-API` | [`api-tags/tiktok-ads-api.md`](./api-tags/tiktok-ads-api.md) | [`api-contracts/tiktok-ads-api.md`](./api-contracts/tiktok-ads-api.md) | 31 | Header `Authorization` Bearer | ads / search / details / creators | `limit`, `page`, `country_code`, `period`, `keyword`, `period_type`, `industry`, `order_by`, `rank_type`, `material_id` |
|
|
70
|
+
| `TikTok-Analytics-API` | [`api-tags/tiktok-analytics-api.md`](./api-tags/tiktok-analytics-api.md) | [`api-contracts/tiktok-analytics-api.md`](./api-contracts/tiktok-analytics-api.md) | 4 | Header `Authorization` Bearer | analytics / comments / creators / content details | `item_id`, `content_category`, `user_id` |
|
|
71
|
+
| `TikTok-App-V3-API` | [`api-tags/tiktok-app-v3-api.md`](./api-tags/tiktok-app-v3-api.md) | [`api-contracts/tiktok-app-v3-api.md`](./api-contracts/tiktok-app-v3-api.md) | 75 | Header `Authorization` Bearer | content details / commerce / profiles / accounts / search | `count`, `offset`, `keyword`, `sort_type`, `cursor`, `region`, `sec_user_id`, `user_id`, `room_id`, `seller_id` |
|
|
72
|
+
| `TikTok-Creator-API` | [`api-tags/tiktok-creator-api.md`](./api-tags/tiktok-creator-api.md) | [`api-contracts/tiktok-creator-api.md`](./api-contracts/tiktok-creator-api.md) | 14 | Header `Authorization` Bearer | creators / content details / analytics / commerce | `cookie`, `proxy`, `start_date`, `item_id`, `page`, `product_id`, `end_date`, `count`, `offset`, `item_ids` |
|
|
73
|
+
| `TikTok-Interaction-API` | [`api-tags/tiktok-interaction-api.md`](./api-tags/tiktok-interaction-api.md) | [`api-contracts/tiktok-interaction-api.md`](./api-contracts/tiktok-interaction-api.md) | 7 | Header `Authorization` Bearer | general / comments / content details / comment replies | `cookie`, `device_id`, `iid`, `proxy`, `aweme_id`, `text`, `api_key`, `invite_code`, `user_id`, `sec_user_id` |
|
|
74
|
+
| `TikTok-Shop-Web-API` | [`api-tags/tiktok-shop-web-api.md`](./api-tags/tiktok-shop-web-api.md) | [`api-contracts/tiktok-shop-web-api.md`](./api-contracts/tiktok-shop-web-api.md) | 15 | Header `Authorization` Bearer | commerce / search / details / trends / rankings | `region`, `product_id`, `offset`, `seller_id`, `search_word`, `page_token`, `lang`, `count`, `sort_type`, `filter_id` |
|
|
75
|
+
| `TikTok-Web-API` | [`api-tags/tiktok-web-api.md`](./api-tags/tiktok-web-api.md) | [`api-contracts/tiktok-web-api.md`](./api-contracts/tiktok-web-api.md) | 58 | Header `Authorization` Bearer | general / profiles / accounts / livestream / content details | `count`, `cursor`, `cookie`, `secUid`, `url`, `keyword`, `search_id`, `user_agent`, `offset`, `coverFormat` |
|
|
76
|
+
| `Toutiao-App-API` | [`api-tags/toutiao-app-api.md`](./api-tags/toutiao-app-api.md) | [`api-contracts/toutiao-app-api.md`](./api-contracts/toutiao-app-api.md) | 5 | Header `Authorization` Bearer | content details / profiles / accounts / comments | `group_id`, `offset`, `user_profile_url`, `user_id` |
|
|
77
|
+
| `Toutiao-Web-API` | [`api-tags/toutiao-web-api.md`](./api-tags/toutiao-web-api.md) | [`api-contracts/toutiao-web-api.md`](./api-contracts/toutiao-web-api.md) | 2 | Header `Authorization` Bearer | content details | `aweme_id` |
|
|
78
|
+
| `Twitter-Web-API` | [`api-tags/twitter-web-api.md`](./api-tags/twitter-web-api.md) | [`api-contracts/twitter-web-api.md`](./api-contracts/twitter-web-api.md) | 13 | Header `Authorization` Bearer | profiles / accounts / content details / comments / search | `cursor`, `screen_name`, `tweet_id`, `rest_id`, `keyword`, `search_type`, `country`, `userId`, `count` |
|
|
79
|
+
| `WeChat-Channels-API` | [`api-tags/wechat-channels-api.md`](./api-tags/wechat-channels-api.md) | [`api-contracts/wechat-channels-api.md`](./api-contracts/wechat-channels-api.md) | 9 | Header `Authorization` Bearer | profiles / accounts / search / comments / trends / rankings | `keywords`, `id`, `username`, `lastBuffer`, `comment_id`, `session_buffer`, `last_buffer`, `page`, `exportId` |
|
|
80
|
+
| `WeChat-Media-Platform-Web-API` | [`api-tags/wechat-media-platform-web-api.md`](./api-tags/wechat-media-platform-web-api.md) | [`api-contracts/wechat-media-platform-web-api.md`](./api-contracts/wechat-media-platform-web-api.md) | 10 | Header `Authorization` Bearer | content details / comments / details / comment replies | `url`, `comment_id`, `offset`, `buffer`, `content_id`, `ghid`, `sogou_url` |
|
|
81
|
+
| `Weibo-App-API` | [`api-tags/weibo-app-api.md`](./api-tags/weibo-app-api.md) | [`api-contracts/weibo-app-api.md`](./api-contracts/weibo-app-api.md) | 20 | Header `Authorization` Bearer | profiles / accounts / content details / search / details | `uid`, `page`, `since_id`, `status_id`, `query`, `count`, `max_id`, `category`, `search_type`, `sort_type` |
|
|
82
|
+
| `Weibo-Web-API` | [`api-tags/weibo-web-api.md`](./api-tags/weibo-web-api.md) | [`api-contracts/weibo-web-api.md`](./api-contracts/weibo-web-api.md) | 11 | Header `Authorization` Bearer | profiles / accounts / search / content details / comments | `page`, `max_id`, `post_id`, `uid`, `channel_name`, `cid`, `mid`, `max_id_type`, `keyword`, `search_type` |
|
|
83
|
+
| `Weibo-Web-V2-API` | [`api-tags/weibo-web-v2-api.md`](./api-tags/weibo-web-v2-api.md) | [`api-contracts/weibo-web-v2-api.md`](./api-contracts/weibo-web-v2-api.md) | 33 | Header `Authorization` Bearer | search / profiles / accounts / content details / general | `page`, `uid`, `query`, `id`, `max_id`, `count`, `since_id`, `q`, `keyword`, `cursor` |
|
|
84
|
+
| `Xiaohongshu-App-API` | [`api-tags/xiaohongshu-app-api.md`](./api-tags/xiaohongshu-app-api.md) | [`api-contracts/xiaohongshu-app-api.md`](./api-contracts/xiaohongshu-app-api.md) | 12 | Header `Authorization` Bearer | content details / profiles / accounts / comments / commerce | `note_id`, `session_id`, `share_link`, `start`, `share_text`, `sort`, `user_id`, `keyword`, `page`, `search_id` |
|
|
85
|
+
| `Xiaohongshu-App-V2-API` | [`api-tags/xiaohongshu-app-v2-api.md`](./api-tags/xiaohongshu-app-v2-api.md) | [`api-contracts/xiaohongshu-app-v2-api.md`](./api-contracts/xiaohongshu-app-v2-api.md) | 21 | Header `Authorization` Bearer | content details / commerce / search / details | `source`, `share_text`, `cursor`, `note_id`, `page`, `keyword`, `search_id`, `sku_id`, `user_id`, `tab` |
|
|
86
|
+
| `Xiaohongshu-Web-API` | [`api-tags/xiaohongshu-web-api.md`](./api-tags/xiaohongshu-web-api.md) | [`api-contracts/xiaohongshu-web-api.md`](./api-contracts/xiaohongshu-web-api.md) | 17 | Header `Authorization` Bearer | content details / profiles / accounts / search / comments | `note_id`, `share_text`, `cookie`, `proxy`, `lastCursor`, `user_id`, `keyword`, `page`, `xsec_token`, `sort` |
|
|
87
|
+
| `Xiaohongshu-Web-V2-API` | [`api-tags/xiaohongshu-web-v2-api.md`](./api-tags/xiaohongshu-web-v2-api.md) | [`api-contracts/xiaohongshu-web-v2-api.md`](./api-contracts/xiaohongshu-web-v2-api.md) | 18 | Header `Authorization` Bearer | content details / profiles / accounts / general / comments | `note_id`, `user_id`, `cursor`, `page`, `keywords`, `short_url`, `sort_type`, `note_type`, `comment_id` |
|
|
88
|
+
| `Xigua-App-V2-API` | [`api-tags/xigua-app-v2-api.md`](./api-tags/xigua-app-v2-api.md) | [`api-contracts/xigua-app-v2-api.md`](./api-contracts/xigua-app-v2-api.md) | 7 | Header `Authorization` Bearer | content details / profiles / accounts / comments / search | `item_id`, `user_id`, `offset`, `max_behot_time`, `count`, `keyword`, `order_type`, `min_duration`, `max_duration` |
|
|
89
|
+
| `YouTube-Web-API` | [`api-tags/youtube-web-api.md`](./api-tags/youtube-web-api.md) | [`api-contracts/youtube-web-api.md`](./api-contracts/youtube-web-api.md) | 21 | Header `Authorization` Bearer | content details / profiles / accounts / search / comments | `continuation_token`, `language_code`, `country_code`, `channel_id`, `video_id`, `need_format`, `search_query`, `sort_by`, `lang`, `time_zone` |
|
|
90
|
+
| `YouTube-Web-V2-API` | [`api-tags/youtube-web-v2-api.md`](./api-tags/youtube-web-v2-api.md) | [`api-contracts/youtube-web-v2-api.md`](./api-contracts/youtube-web-v2-api.md) | 16 | Header `Authorization` Bearer | content details / profiles / accounts / search / livestream | `continuation_token`, `need_format`, `language_code`, `country_code`, `video_id`, `channel_id`, `video_url`, `sort_by`, `channel_url`, `search_query` |
|
|
91
|
+
| `Zhihu-Web-API` | [`api-tags/zhihu-web-api.md`](./api-tags/zhihu-web-api.md) | [`api-contracts/zhihu-web-api.md`](./api-contracts/zhihu-web-api.md) | 32 | Header `Authorization` Bearer | search / profiles / accounts / content details / general | `offset`, `limit`, `keyword`, `user_url_token`, `search_hash_id`, `article_id`, `order_by`, `message_content`, `message_id`, `show_all_topics` |
|
|
92
|
+
| `iOS-Shortcut` | [`api-tags/ios-shortcut.md`](./api-tags/ios-shortcut.md) | [`api-contracts/ios-shortcut.md`](./api-contracts/ios-shortcut.md) | 1 | Header `Authorization` Bearer | general | None |
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# ASR-API Full Contract
|
|
2
|
+
|
|
3
|
+
- Back to index: [`api-capability-index.md`](../api-capability-index.md)
|
|
4
|
+
- Back to route summary: [`api-tags/asr-api.md`](../api-tags/asr-api.md)
|
|
5
|
+
- Current contract file: `api-contracts/asr-api.md`
|
|
6
|
+
- Source: `https://app.tikomni.com/openapi/tikomni-openapi.full.with-u2.public.latest.json`
|
|
7
|
+
- Fetched at: `2026-03-08T06:54:04+00:00`
|
|
8
|
+
- Route count: `2`
|
|
9
|
+
- Default auth: Header `Authorization` Bearer
|
|
10
|
+
- Read this file only when you need precise auth notes, parameter descriptions, defaults, examples, or success-response fields.
|
|
11
|
+
- Tag description: **(ASR 异步任务接口 / ASR async task endpoints)**
|
|
12
|
+
|
|
13
|
+
## Route Contracts
|
|
14
|
+
|
|
15
|
+
<a id="post-api-u2-v1-services-audio-asr-transcription"></a>
|
|
16
|
+
### `POST /api/u2/v1/services/audio/asr/transcription`
|
|
17
|
+
|
|
18
|
+
- Summary: u2 submit
|
|
19
|
+
- Capabilities: ASR / transcription / audio / media
|
|
20
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
21
|
+
- operationId: `u2Submit`
|
|
22
|
+
|
|
23
|
+
#### Notes
|
|
24
|
+
|
|
25
|
+
> 创建异步转写任务。单次请求支持 1..100 条 input.file_urls;大批量建议优先批量 submit,避免拆分大量单条 submit。submit 返回 200 仅表示已受理,最终状态请以 query 判定 / Create async transcription task. One request accepts 1..100 input.file_urls. For large workloads, prefer batch submit instead of many single submits. Submit 200 only means accepted; final status must be judged via query endpoint.
|
|
26
|
+
|
|
27
|
+
#### Parameters
|
|
28
|
+
|
|
29
|
+
None
|
|
30
|
+
|
|
31
|
+
#### Request Body
|
|
32
|
+
|
|
33
|
+
- required: Yes
|
|
34
|
+
|
|
35
|
+
##### `application/json`
|
|
36
|
+
|
|
37
|
+
- Schema summary: `input*`{`file_urls*`[string(uri)]}
|
|
38
|
+
|
|
39
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
40
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
41
|
+
| input | object | Yes | None | None | None | None |
|
|
42
|
+
| input.file_urls | array<string(uri)> | Yes | 批量提交 URL,单次范围 1..100;大批量建议优先单次批量提交,避免拆分大量单条 submit / Batch submit URLs, range 1..100 per request. For large workloads, prefer one batch submit over many single submits. | None | None | None |
|
|
43
|
+
|
|
44
|
+
#### Success Response
|
|
45
|
+
|
|
46
|
+
##### `200 application/json`
|
|
47
|
+
|
|
48
|
+
- Schema summary: `request_id*`:string, `output*`{`task_id*`:string, `task_status*`:string, `submit_time`:string, `scheduled_time`:string, `end_time`:string, `task_metrics`{...}, `results`[object]}, `usage`{...}
|
|
49
|
+
|
|
50
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
51
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
52
|
+
| request_id | string | Yes | None | None | None | None |
|
|
53
|
+
| output | object | Yes | None | None | None | None |
|
|
54
|
+
| output.task_id | string | Yes | None | None | None | None |
|
|
55
|
+
| output.task_status | string | Yes | Submit usually returns PENDING/RUNNING. Final status should be checked via query endpoint. | None | PENDING | None |
|
|
56
|
+
| output.submit_time | string | No | None | None | None | None |
|
|
57
|
+
| output.scheduled_time | string | No | None | None | None | None |
|
|
58
|
+
| output.end_time | string | No | None | None | None | None |
|
|
59
|
+
| output.task_metrics | object | No | None | None | None | None |
|
|
60
|
+
| output.results | array<object> | No | None | None | None | None |
|
|
61
|
+
| output.results[] | object | Yes | None | None | None | None |
|
|
62
|
+
| usage | object | No | None | None | None | None |
|
|
63
|
+
|
|
64
|
+
<a id="post-api-u2-v1-tasks-task-id"></a>
|
|
65
|
+
### `POST /api/u2/v1/tasks/{task_id}`
|
|
66
|
+
|
|
67
|
+
- Summary: u2 query
|
|
68
|
+
- Capabilities: general
|
|
69
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
70
|
+
- operationId: `u2Query`
|
|
71
|
+
|
|
72
|
+
#### Notes
|
|
73
|
+
|
|
74
|
+
> 查询任务状态。网关保留上游 task_status,并返回平台聚合状态。若客户端不轮询,平台也会在后台持续 reconcile 直到拿到终态并完成结算。判定规则:全部成功=platform_task_status=SUCCEEDED 且 pending_count=0;部分成功=PARTIAL_SUCCEEDED 且 pending_count=0;失败=FAILED 且 pending_count=0;处理中=pending_count>0。sentences/full_text 仅在全部成功时返回 / Query task status. The gateway preserves the upstream task_status and also returns platform aggregate status. Even if clients stop polling, the platform continues background reconcile until the task reaches a terminal state and billing is settled. Completion rules: SUCCEEDED => platform_task_status=SUCCEEDED and pending_count=0; PARTIAL => PARTIAL_SUCCEEDED and pending_count=0; FAILED => FAILED and pending_count=0; in-progress => pending_count>0. sentences/full_text are returned only when all items succeed.
|
|
75
|
+
|
|
76
|
+
#### Parameters
|
|
77
|
+
|
|
78
|
+
| Field | In | Type | Required | Description | Default | Example | Enum |
|
|
79
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
80
|
+
| task_id | path | string | Yes | None | None | None | None |
|
|
81
|
+
|
|
82
|
+
#### Request Body
|
|
83
|
+
|
|
84
|
+
None
|
|
85
|
+
|
|
86
|
+
#### Success Response
|
|
87
|
+
|
|
88
|
+
##### `200 application/json`
|
|
89
|
+
|
|
90
|
+
- Schema summary: `time*`:string, `time_stamp*`:integer, `time_zone*`:string, `params*`{`task_id*`:string}, `data*`{`task_id*`:string, `task_status*`:string | null, `platform_task_status*`:string, `is_fully_succeeded*`:boolean, `submit_time`:string, `scheduled_time`:string, `end_time`:string, `task_metrics`{...}, ...}, `code*`:integer, `request_id*`:string, `message*`:string, ...
|
|
91
|
+
|
|
92
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
93
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
94
|
+
| time | string | Yes | Platform response time (America/Los_Angeles). | None | None | None |
|
|
95
|
+
| time_stamp | integer | Yes | Unix timestamp in seconds. | None | None | None |
|
|
96
|
+
| time_zone | string | Yes | None | None | America/Los_Angeles | None |
|
|
97
|
+
| params | object | Yes | None | None | None | None |
|
|
98
|
+
| params.task_id | string | Yes | None | None | None | None |
|
|
99
|
+
| data | object | Yes | None | None | None | None |
|
|
100
|
+
| data.task_id | string | Yes | None | None | None | None |
|
|
101
|
+
| data.task_status | string \| null | Yes | 任务状态快照(用于兼容任务状态枚举)。完成判定请使用 platform_task_status + pending_count / Task status snapshot. Use platform_task_status + pending_count for completion judgment. | None | SUCCEEDED | None |
|
|
102
|
+
| data.platform_task_status | string enum[PENDING, PARTIAL_SUCCEEDED, SUCCEEDED, FAILED] | Yes | 批量条目的平台聚合状态 / Aggregated platform status across all input.file_urls items. | None | PARTIAL_SUCCEEDED | enum[PENDING, PARTIAL_SUCCEEDED, SUCCEEDED, FAILED] |
|
|
103
|
+
| data.is_fully_succeeded | boolean | Yes | 仅当全部条目成功且 pending_count=0 时为 true / True only when all items succeed and pending_count is 0. | None | None | None |
|
|
104
|
+
| data.submit_time | string | No | None | None | None | None |
|
|
105
|
+
| data.scheduled_time | string | No | None | None | None | None |
|
|
106
|
+
| data.end_time | string | No | None | None | None | None |
|
|
107
|
+
| data.task_metrics | object | No | None | None | None | None |
|
|
108
|
+
| data.duration_sec | integer | Yes | 计费总时长(仅统计成功条目,单位秒)/ Billable total duration in seconds from succeeded items only. | None | None | None |
|
|
109
|
+
| data.input_count | integer | Yes | None | None | None | None |
|
|
110
|
+
| data.succeeded_count | integer | Yes | None | None | None | None |
|
|
111
|
+
| data.failed_count | integer | Yes | None | None | None | None |
|
|
112
|
+
| data.pending_count | integer | Yes | None | None | None | None |
|
|
113
|
+
| data.items | array<object> | Yes | 条目级状态列表,按 item_index 对齐 input.file_urls 顺序 / Per-item status aligned with input.file_urls order by item_index. | None | None | None |
|
|
114
|
+
| data.items[] | object | Yes | None | None | None | None |
|
|
115
|
+
| data.items[].item_index | integer | Yes | None | None | None | None |
|
|
116
|
+
| data.items[].task_status | string \| null | Yes | None | None | None | None |
|
|
117
|
+
| data.items[].transcription_url | string \| null(uri) | No | None | None | None | None |
|
|
118
|
+
| data.items[].duration_sec | integer \| null | No | None | None | None | None |
|
|
119
|
+
| data.items[].error_code | string \| null | No | None | None | None | None |
|
|
120
|
+
| data.items[].error_message | string \| null | No | None | None | None | None |
|
|
121
|
+
| data.sentences | array<object> | No | 仅在 platform_task_status=SUCCEEDED 时返回 / Returned only when platform_task_status is SUCCEEDED. | None | None | None |
|
|
122
|
+
| data.sentences[] | object | Yes | None | None | None | None |
|
|
123
|
+
| data.sentences[].sentence_id | integer | Yes | None | None | None | None |
|
|
124
|
+
| data.sentences[].text | string | Yes | None | None | None | None |
|
|
125
|
+
| data.full_text | string | No | 仅在 platform_task_status=SUCCEEDED 时返回 / Returned only when platform_task_status is SUCCEEDED. | None | None | None |
|
|
126
|
+
| code | integer | Yes | None | None | 200 | None |
|
|
127
|
+
| request_id | string | Yes | None | None | None | None |
|
|
128
|
+
| message | string | Yes | None | None | Request successful | None |
|
|
129
|
+
| message_zh | string | Yes | None | None | 请求成功 | None |
|
|
130
|
+
| router | string | Yes | None | None | None | None |
|