执行基础互动
只使用 python "{baseDir}/../../scripts/cli.py" <子命令>。如果系统只有 python3,替换命令名。
前置确认
- 根据用户指定账号传
--account <名称>,并检查登录状态。 - 确认唯一目标作品。接受纯数字 ID、
douyin.com/video/...或douyin.com/note/...公开链接。 - 对刚发布的作品优先使用主页作品卡片中的公开链接,不使用创作者中心内部记录 ID。
- 不批量互动,不连续重复同一操作。
点赞
python "{baseDir}/../../scripts/cli.py" like-video --video-id <作品ID或公开链接>
网页按钮是切换开关。CLI 会先读取平台显式状态;state: already_active 表示没有重复点击。若点击前仍为 state: unknown,CLI 应返回 clicked: false 并安全停止,不要改用坐标或文字匹配盲点。只有 clicked: true 且 state_verified: false 才能报告“已点击点赞按钮,最终状态未稳定确认”,且不得重试。
收藏
python "{baseDir}/../../scripts/cli.py" favorite-video --video-id <作品ID或公开链接>
同样先判定状态再操作。点击前状态不可靠时保持 clicked: false;按钮已点击但最终状态未确认时,交给用户在页面核对。
state: already_active表示目标状态本来就已激活,CLI 没有再次点击。state_verified: true表示页面通过适配器声明的data-e2e-state、ARIA、文案或样式暴露了明确证据;不要把一次普通点击自动等同于最终状态。
只读核对点赞与收藏状态
python "{baseDir}/../../scripts/cli.py" get-interaction-state --video-id <作品ID或公开链接>
- 该命令只读取当前按钮状态,不点击切换控件。
state_verified: true且state: active/inactive表示页面提供了明确状态证据。state: unknown或state_verified: false仍需用户在页面核对,不要改用点赞/收藏命令试探。
评论
python "{baseDir}/../../scripts/cli.py" comment-video --video-id <作品ID或公开链接> --comment "评论内容"
- 只在页面明确提供评论输入框和发送控件时尝试一次。
state: comment_confirmed表示评论文本已在评论区出现。state: comment_clicked_unconfirmed表示发送控件已点击但未确认评论出现;不要自动重试。state: comment_outcome_unknown、clicked: null表示发送指令期间异常,无法确认是否发送;不要重试,先检查评论区。comment_input_not_found、comment_text_not_applied或comment_submit_not_found表示没有发送评论,不要把填写输入框报告为已评论。comment_input_not_empty表示评论框中已有其他草稿;保留草稿且不要覆盖。
分享链接
python "{baseDir}/../../scripts/cli.py" share-video --video-id <作品ID或公开链接>
优先返回 JSON 的 share_url。copied_to_clipboard: false 只表示当前环境没有确认剪贴板写入;只要 share_url 有值,仍可把链接交给用户。
失败处理
点赞、收藏在图文和视频页面都必须先有可靠状态证据;图文操作栏缺少状态时不能按位置点击。
outcome_unknown: true、clicked: null或retry_safe: false表示不能自动重复操作;连接错误不等于没有执行。needs_user_verification: true:停在 headed 浏览器,等待人工验证;risk_recovered: true且logged_in: true时继续,不要沿用切换前的风险判断。作品不可访问:说明可能私密、已删除或链接错误。
按钮未找到:报告页面结构可能变化,不要用坐标盲点或其他自动化工具兜底。
不支持回复评论、私信分享或批量互动。