1. 04 Mar, 2026 4 commits
    • Angiin authored
    • - cli.py: 分步发布命令(fill-publish/fill-publish-video/long-article/select-template/next-step)不再关闭页面,新增 _connect_existing 复用已有 tab
      - cdp.py: input_content_editable 遇到 \n 时按 Enter 键,正确产生段落换行
      - publish.py: _input_tags 先 focus 正文编辑器再输入标签;新增 _extract_hashtags_from_content 从正文末尾提取 hashtag 合并到 tags 去重;标签输入增加重试等待联想下拉
      Angiin authored
    • - stealth.py: 新增 5 项 JS 覆盖(hardwareConcurrency/deviceMemory/connection/chrome.csi+loadTimes/outerWidth+Height)、REALISTIC_UA 常量、--disable-extensions/--disable-sync 启动参数
      - cdp.py: click_element 改用 CDP Input 事件(isTrusted=true)、input_content_editable 改用逐字 CDP 键入、new_page 注入 UA 覆盖和随机 viewport
      - human.py: 新增 navigation_delay() 函数
      - comment.py: 所有 time.sleep 替换为 sleep_random,评论输入改用 CDP 逐字输入
      - search.py/feed_detail.py/login.py: 固定延迟替换为随机区间延迟
      Angiin authored
    • - 新增写长文发布模式(publish_long_article.py):支持长文编辑、一键排版、模板选择
      - 新增 Headless 自动降级:未登录时自动切换到有窗口模式
      - 新增分步发布命令:fill-publish / fill-publish-video / click-publish
      - 拆分 publish 为 fill_publish_form + click_publish_button
      - chrome_launcher 新增 restart_chrome / kill_chrome
      - 新增 6 个 CLI 子命令,总计 19 个
      - 更新 SKILL.md 含长文模式和分步发布工作流
      
      Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
      zy authored
  2. 03 Mar, 2026 2 commits
    • ## 主要变更
      
      ### 核心模块重写
      - 创建 scripts/xhs/ 包,包含 18 个专业模块(3728 行代码)
      - 基于 xiaohongshu-mcp Go 源码完整实现
      - CDP WebSocket 直接通信,替代第三方库依赖
      
      ### 模块清单
      - cdp.py: Browser/Page/Element 类,完整 CDP 协议实现
      - stealth.py: 反检测 JS 注入 + Chrome 启动参数
      - login.py: 登录检查与二维码登录(QR 码保存到临时文件供 Agent 显示)
      - publish.py: 图文发布完整流程
      - publish_video.py: 视频发布完整流程
      - search.py: 搜索与内容筛选
      - feed_detail.py: 笔记详情与评论加载
      - comment.py: 评论与回复
      - like_favorite.py: 点赞与收藏
      - user_profile.py: 用户主页
      - cookies.py: Cookie 持久化
      - types.py: 完整的 dataclass 数据类型系统
      - errors.py: 自定义异常体系
      - human.py: 人类行为模拟(延迟、滚动)
      - selectors.py: CSS 选择器常量
      - urls.py: URL 构建函数
      
      ### CLI 统一接口
      - scripts/cli.py: 13 个子命令,完全兼容 xiaohongshu-mcp MCP 工具
      - check-login: 检查登录状态
      - login: 获取登录二维码
      - switch-account/delete-cookies: 账号切换
      - publish-content: 图文发布
      - publish-with-video: 视频发布
      - list-feeds: Feed 列表
      - search-feeds: Feed 搜索
      - get-feed-detail: 笔记详情
      - user-profile: 用户主页
      - post-comment: 发送评论
      - like-feed: 点赞笔记
      - favorite-feed: 收藏笔记
      
      ### 支持脚本重写
      - chrome_launcher.py: Chrome 进程管理(跨平台)
      - account_manager.py: 多账号 Profile 隔离
      - image_downloader.py: 图片/视频下载(SHA256 缓存)
      - title_utils.py: UTF-16 标题长度计算
      - run_lock.py: 单实例锁机制
      - publish_pipeline.py: 发布流程编排 CLI
      
      ### 文档与配置
      - SKILL.md: 统一技能入口(路由到 5 个子技能)
      - skills/xhs-auth/SKILL.md: 认证管理技能
      - skills/xhs-publish/SKILL.md: 内容发布技能(图文+视频)
      - skills/xhs-explore/SKILL.md: 内容发现与分析技能
      - skills/xhs-interact/SKILL.md: 社交互动技能(评论/点赞/收藏)
      - skills/xhs-content-ops/SKILL.md: 复合内容运营工作流技能
      - CLAUDE.md: 项目开发指南
      - PROMPT.md: Ralph Loop 驱动文件
      - pyproject.toml: uv 项目配置(uv.lock)
      - README.md: 完整项目文档
      
      ### 技术栈
      - Python 3.11+ with uv 包管理
      - requests + websockets: CDP WebSocket 通信
      - 代码规范: ruff lint + format
      
      ## 对应关系
      所有 13 个子命令与 xiaohongshu-mcp MCP 工具完全对应
      支持 OpenClaw agent 框架直接调用
      
      ## 前置工作
      - 创建 scripts/xhs/ 包架构
      - 实现 CDP WebSocket 协议
      - 完整的类型系统和错误处理
      - CLI 子命令系统
      
      Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
      zy authored
    • zy authored