{
  "schemaVersion": "1.0",
  "item": {
    "slug": "tiktok-android",
    "name": "Tiktok Android",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/mladjan/tiktok-android",
    "canonicalUrl": "https://clawhub.ai/mladjan/tiktok-android",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/tiktok-android",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=tiktok-android",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "requirements.txt",
      "README.md",
      "setup.py",
      "config.example.py",
      "SKILL.md",
      "run_complete_session.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/tiktok-android"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/tiktok-android",
    "agentPageUrl": "https://openagent3.xyz/skills/tiktok-android/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tiktok-android/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tiktok-android/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "TikTok Android Bot",
        "body": "Automate TikTok engagement on Android using ADB. No web scraping, no CAPTCHA, 100% success rate."
      },
      {
        "title": "What It Does",
        "body": "Interactive Setup - Wizard guides first-time configuration\nTwo Comment Modes - Static templates (fast) or AI-generated (smart)\nTwo Operation Modes - Search specific topics or explore For You feed\nDuplicate Prevention - Never comments twice on same video\nFlexible Configuration - User defines topics and comment style"
      },
      {
        "title": "Prerequisites",
        "body": "Android device with USB debugging enabled\nADB (Android Debug Bridge) installed\nTikTok app logged in on device\nPython 3.9+\nUSB cable"
      },
      {
        "title": "First-Time Setup",
        "body": "The skill includes an interactive setup wizard that runs automatically:\n\npython3 tiktok_bot.py search --topics fitness --videos 5\n\nOr run setup manually:\n\npython3 setup.py\n\nThe wizard asks:\n\nTopics - What to engage with (e.g., \"fitness,cooking,travel\")\nComment Style:\n\nStatic - Predefined templates (fast, free, no API)\nAI - Claude/GPT Vision analyzes videos (smart, ~$0.01-0.05/comment)\n\n\nConfiguration:\n\nStatic: Enter 6-8 comment variations per topic\nAI: Choose provider (Anthropic/OpenAI/OpenRouter) + API key\n\nSetup saves to config.py and .env (both gitignored)."
      },
      {
        "title": "Search Mode - Target Specific Topics",
        "body": "Search for topics and comment on related videos:\n\n# Single topic, 5 videos\npython3 tiktok_bot.py search --topics fitness --videos 5\n\n# Multiple topics, 3 videos each  \npython3 tiktok_bot.py search --topics \"fitness,cooking,travel\" --videos 3\n\n# Specify device (optional)\npython3 tiktok_bot.py search --topics gaming --videos 5 --device 001431538002547\n\nFlow:\n\nSearches each topic\nOpens videos from search results grid (2x2 layout)\nGenerates comment (AI analyzes or uses template)\nPosts comment\nReturns to search results for next video"
      },
      {
        "title": "Explore Mode - For You Feed",
        "body": "Comment on random videos from For You feed:\n\n# Comment on 10 random videos\npython3 tiktok_bot.py explore --videos 10\n\nFlow:\n\nStarts on For You feed\nAnalyzes current video (if AI) or uses generic comment\nPosts comment\nScrolls to next video"
      },
      {
        "title": "Static Templates",
        "body": "Fast, reliable, no API costs. User provides 6-8 variations per topic.\n\nExample config:\n\nCOMMENT_STYLE = \"static\"\n\nCOMMENTS_BY_TOPIC = {\n    \"fitness\": [\n        \"That form looks perfect! What's your workout routine?\",\n        \"Impressive progress! How long training?\",\n        # ... more variations\n    ]\n}"
      },
      {
        "title": "AI-Generated",
        "body": "Claude Vision or GPT-4 Vision analyzes video screenshots and generates contextual comments.\n\nExample config:\n\nCOMMENT_STYLE = \"ai\"\nAI_PROVIDER = \"anthropic\"\nAI_MODEL = \"claude-3-5-sonnet-20241022\"\n\nAPI key in .env:\n\nANTHROPIC_API_KEY=sk-ant-...\n\nCost: $0.01-0.05 per comment depending on provider."
      },
      {
        "title": "Configuration Files",
        "body": "After setup, you'll have:\n\nconfig.py - Topics, comment style, templates/AI settings\n.env - API key (if AI mode)\n.bot_settings.json - Preferences\n\nAll gitignored by default."
      },
      {
        "title": "Enable USB Debugging",
        "body": "Settings → About Phone → Tap \"Build Number\" 7 times\nSettings → Developer Options → Enable \"USB Debugging\"\n\nConnect device via USB and authorize computer."
      },
      {
        "title": "Verify Connection",
        "body": "adb devices\n# Should show: <device_id>  device\n\nadb shell wm size\n# Note screen resolution (e.g., 1080x2392)"
      },
      {
        "title": "\"No Android device found\"",
        "body": "adb kill-server\nadb start-server\nadb devices\n\nRe-authorize on device if needed."
      },
      {
        "title": "Search icon tap misses",
        "body": "Coordinates are optimized for 1080x2392 screens. For different sizes:\n\nTake screenshot: adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png\nFind search icon pixel location (top-right)\nUpdate in src/bot/android/tiktok_navigation.py:\nsearch_icon_x = 995  # Your X\nsearch_icon_y = 205  # Your Y\n\nSee references/COORDINATES.md for detailed coordinate guide."
      },
      {
        "title": "AI generation fails",
        "body": "Check:\n\nAPI key in .env file\nAPI key is valid and has credits\nModel name is correct\nFalls back to generic comments automatically"
      },
      {
        "title": "Post button not working",
        "body": "Ensure keyboard is dismissed before tapping Post. The bot does this automatically with KEYCODE_BACK."
      },
      {
        "title": "Timing",
        "body": "Static mode: ~25 seconds per video\nAI mode: ~30 seconds per video (adds 5s for analysis)\nFull search session (5 videos): 2-2.5 minutes\nExplore session (10 videos): 4-5 minutes"
      },
      {
        "title": "Success Rate",
        "body": "100% with working coordinates\n0% if tap coordinates miss targets"
      },
      {
        "title": "Cost (AI Mode)",
        "body": "Claude Vision: $0.01-0.02 per comment\nGPT-4 Vision: $0.02-0.05 per comment\n100 comments: $1-5"
      },
      {
        "title": "Comment Quality",
        "body": "✅ Good:\n\nSpecific observations or questions\n10-25 words\nGenuine enthusiasm\nNo emojis (sounds more real)\n\n❌ Bad:\n\nGeneric praise (\"nice video!\")\nSpam or self-promotion\nToo short (\"first!\")\nLow-value (\"🔥🔥🔥\")"
      },
      {
        "title": "Rate Limits",
        "body": "25-30 comments/day max per account\nSpace sessions: Once daily, vary times\nTake breaks: Skip 1-2 days per week\nMonitor: Watch for shadowban signs"
      },
      {
        "title": "Account Safety",
        "body": "Age accounts: 7+ days before automating\nManual activity first: Like, follow, browse naturally\nVary behavior: Different topics, times, comment styles\nStart small: Test with 3-5 videos first"
      },
      {
        "title": "Scheduling with OpenClaw Cron",
        "body": "openclaw cron add \\\n  --name \"Daily TikTok\" \\\n  --schedule \"0 10 * * *\" \\\n  --tz \"Your/Timezone\" \\\n  --payload '{\"kind\":\"agentTurn\",\"message\":\"cd /path/to/skill && python3 tiktok_bot.py search --topics fitness,gaming --videos 5\"}'"
      },
      {
        "title": "Custom AI Prompt",
        "body": "Edit config.py:\n\nAI_COMMENT_PROMPT = \"\"\"\nAnalyze this video and generate a comment.\nTopic: {topic}\n\nYour custom guidelines here...\n- Be enthusiastic\n- Ask specific questions\n- Reference visible elements\n\"\"\""
      },
      {
        "title": "Multiple Devices",
        "body": "Set ANDROID_DEVICE_ID environment variable:\n\nANDROID_DEVICE_ID=device1 python3 tiktok_bot.py search --topics fitness --videos 5\n\nOr use --device flag:\n\npython3 tiktok_bot.py search --topics fitness --videos 5 --device device1"
      },
      {
        "title": "Files Included",
        "body": "tiktok-android-bot/\n├── SKILL.md                    # This file\n├── README.md                   # Comprehensive docs\n├── setup.py                    # Interactive setup wizard\n├── tiktok_bot.py              # Main script (CLI)\n├── config.example.py          # Example configuration\n├── requirements.txt           # Python dependencies\n├── scripts/\n│   ├── run_full_campaign.py   # Legacy: 25-video campaign\n│   └── run_complete_session.py # Legacy: 3-video session\n├── src/\n│   ├── bot/android/\n│   │   ├── tiktok_android_bot.py    # Core automation\n│   │   └── tiktok_navigation.py     # Navigation flows\n│   ├── ai_comments.py         # AI comment generation\n│   └── logger.py              # Logging utility\n└── references/\n    └── COORDINATES.md         # Tap coordinate guide"
      },
      {
        "title": "Requirements",
        "body": "loguru>=0.7.0\nanthropic>=0.18.0  # If using AI mode\nopenai>=1.12.0     # If using AI mode\n\nADB must be installed and in PATH."
      },
      {
        "title": "License",
        "body": "MIT - Use responsibly. Automated commenting may violate TikTok's ToS."
      },
      {
        "title": "See Also",
        "body": "README.md - Full documentation\nreferences/COORDINATES.md - Coordinate customization guide\nMain repository: https://github.com/mladjan/androidSkill"
      }
    ],
    "body": "TikTok Android Bot\n\nAutomate TikTok engagement on Android using ADB. No web scraping, no CAPTCHA, 100% success rate.\n\nWhat It Does\nInteractive Setup - Wizard guides first-time configuration\nTwo Comment Modes - Static templates (fast) or AI-generated (smart)\nTwo Operation Modes - Search specific topics or explore For You feed\nDuplicate Prevention - Never comments twice on same video\nFlexible Configuration - User defines topics and comment style\nPrerequisites\nAndroid device with USB debugging enabled\nADB (Android Debug Bridge) installed\nTikTok app logged in on device\nPython 3.9+\nUSB cable\nFirst-Time Setup\n\nThe skill includes an interactive setup wizard that runs automatically:\n\npython3 tiktok_bot.py search --topics fitness --videos 5\n\n\nOr run setup manually:\n\npython3 setup.py\n\n\nThe wizard asks:\n\nTopics - What to engage with (e.g., \"fitness,cooking,travel\")\nComment Style:\nStatic - Predefined templates (fast, free, no API)\nAI - Claude/GPT Vision analyzes videos (smart, ~$0.01-0.05/comment)\nConfiguration:\nStatic: Enter 6-8 comment variations per topic\nAI: Choose provider (Anthropic/OpenAI/OpenRouter) + API key\n\nSetup saves to config.py and .env (both gitignored).\n\nUsage\nSearch Mode - Target Specific Topics\n\nSearch for topics and comment on related videos:\n\n# Single topic, 5 videos\npython3 tiktok_bot.py search --topics fitness --videos 5\n\n# Multiple topics, 3 videos each  \npython3 tiktok_bot.py search --topics \"fitness,cooking,travel\" --videos 3\n\n# Specify device (optional)\npython3 tiktok_bot.py search --topics gaming --videos 5 --device 001431538002547\n\n\nFlow:\n\nSearches each topic\nOpens videos from search results grid (2x2 layout)\nGenerates comment (AI analyzes or uses template)\nPosts comment\nReturns to search results for next video\nExplore Mode - For You Feed\n\nComment on random videos from For You feed:\n\n# Comment on 10 random videos\npython3 tiktok_bot.py explore --videos 10\n\n\nFlow:\n\nStarts on For You feed\nAnalyzes current video (if AI) or uses generic comment\nPosts comment\nScrolls to next video\nComment Styles\nStatic Templates\n\nFast, reliable, no API costs. User provides 6-8 variations per topic.\n\nExample config:\n\nCOMMENT_STYLE = \"static\"\n\nCOMMENTS_BY_TOPIC = {\n    \"fitness\": [\n        \"That form looks perfect! What's your workout routine?\",\n        \"Impressive progress! How long training?\",\n        # ... more variations\n    ]\n}\n\nAI-Generated\n\nClaude Vision or GPT-4 Vision analyzes video screenshots and generates contextual comments.\n\nExample config:\n\nCOMMENT_STYLE = \"ai\"\nAI_PROVIDER = \"anthropic\"\nAI_MODEL = \"claude-3-5-sonnet-20241022\"\n\n\nAPI key in .env:\n\nANTHROPIC_API_KEY=sk-ant-...\n\n\nCost: $0.01-0.05 per comment depending on provider.\n\nConfiguration Files\n\nAfter setup, you'll have:\n\nconfig.py - Topics, comment style, templates/AI settings\n.env - API key (if AI mode)\n.bot_settings.json - Preferences\n\nAll gitignored by default.\n\nDevice Setup\nEnable USB Debugging\nSettings → About Phone → Tap \"Build Number\" 7 times\nSettings → Developer Options → Enable \"USB Debugging\"\n\n\nConnect device via USB and authorize computer.\n\nVerify Connection\nadb devices\n# Should show: <device_id>  device\n\nadb shell wm size\n# Note screen resolution (e.g., 1080x2392)\n\nTroubleshooting\n\"No Android device found\"\nadb kill-server\nadb start-server\nadb devices\n\n\nRe-authorize on device if needed.\n\nSearch icon tap misses\n\nCoordinates are optimized for 1080x2392 screens. For different sizes:\n\nTake screenshot: adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png\nFind search icon pixel location (top-right)\nUpdate in src/bot/android/tiktok_navigation.py:\nsearch_icon_x = 995  # Your X\nsearch_icon_y = 205  # Your Y\n\n\nSee references/COORDINATES.md for detailed coordinate guide.\n\nAI generation fails\n\nCheck:\n\nAPI key in .env file\nAPI key is valid and has credits\nModel name is correct\nFalls back to generic comments automatically\nPost button not working\n\nEnsure keyboard is dismissed before tapping Post. The bot does this automatically with KEYCODE_BACK.\n\nPerformance\nTiming\nStatic mode: ~25 seconds per video\nAI mode: ~30 seconds per video (adds 5s for analysis)\nFull search session (5 videos): 2-2.5 minutes\nExplore session (10 videos): 4-5 minutes\nSuccess Rate\n100% with working coordinates\n0% if tap coordinates miss targets\nCost (AI Mode)\nClaude Vision: $0.01-0.02 per comment\nGPT-4 Vision: $0.02-0.05 per comment\n100 comments: $1-5\nBest Practices\nComment Quality\n\n✅ Good:\n\nSpecific observations or questions\n10-25 words\nGenuine enthusiasm\nNo emojis (sounds more real)\n\n❌ Bad:\n\nGeneric praise (\"nice video!\")\nSpam or self-promotion\nToo short (\"first!\")\nLow-value (\"🔥🔥🔥\")\nRate Limits\n25-30 comments/day max per account\nSpace sessions: Once daily, vary times\nTake breaks: Skip 1-2 days per week\nMonitor: Watch for shadowban signs\nAccount Safety\nAge accounts: 7+ days before automating\nManual activity first: Like, follow, browse naturally\nVary behavior: Different topics, times, comment styles\nStart small: Test with 3-5 videos first\nAdvanced\nScheduling with OpenClaw Cron\nopenclaw cron add \\\n  --name \"Daily TikTok\" \\\n  --schedule \"0 10 * * *\" \\\n  --tz \"Your/Timezone\" \\\n  --payload '{\"kind\":\"agentTurn\",\"message\":\"cd /path/to/skill && python3 tiktok_bot.py search --topics fitness,gaming --videos 5\"}'\n\nCustom AI Prompt\n\nEdit config.py:\n\nAI_COMMENT_PROMPT = \"\"\"\nAnalyze this video and generate a comment.\nTopic: {topic}\n\nYour custom guidelines here...\n- Be enthusiastic\n- Ask specific questions\n- Reference visible elements\n\"\"\"\n\nMultiple Devices\n\nSet ANDROID_DEVICE_ID environment variable:\n\nANDROID_DEVICE_ID=device1 python3 tiktok_bot.py search --topics fitness --videos 5\n\n\nOr use --device flag:\n\npython3 tiktok_bot.py search --topics fitness --videos 5 --device device1\n\nFiles Included\ntiktok-android-bot/\n├── SKILL.md                    # This file\n├── README.md                   # Comprehensive docs\n├── setup.py                    # Interactive setup wizard\n├── tiktok_bot.py              # Main script (CLI)\n├── config.example.py          # Example configuration\n├── requirements.txt           # Python dependencies\n├── scripts/\n│   ├── run_full_campaign.py   # Legacy: 25-video campaign\n│   └── run_complete_session.py # Legacy: 3-video session\n├── src/\n│   ├── bot/android/\n│   │   ├── tiktok_android_bot.py    # Core automation\n│   │   └── tiktok_navigation.py     # Navigation flows\n│   ├── ai_comments.py         # AI comment generation\n│   └── logger.py              # Logging utility\n└── references/\n    └── COORDINATES.md         # Tap coordinate guide\n\nRequirements\nloguru>=0.7.0\nanthropic>=0.18.0  # If using AI mode\nopenai>=1.12.0     # If using AI mode\n\n\nADB must be installed and in PATH.\n\nLicense\n\nMIT - Use responsibly. Automated commenting may violate TikTok's ToS.\n\nSee Also\nREADME.md - Full documentation\nreferences/COORDINATES.md - Coordinate customization guide\nMain repository: https://github.com/mladjan/androidSkill"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mladjan/tiktok-android",
    "publisherUrl": "https://clawhub.ai/mladjan/tiktok-android",
    "owner": "mladjan",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/tiktok-android",
    "downloadUrl": "https://openagent3.xyz/downloads/tiktok-android",
    "agentUrl": "https://openagent3.xyz/skills/tiktok-android/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tiktok-android/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tiktok-android/agent.md"
  }
}