Committed by
GitHub
功能: 重写小红书 Skills,完整迁移为 CDP Python 实现 (#1)
## 主要变更 ### 核心模块重写 - 创建 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>
Showing
30 changed files
with
4888 additions
and
1 deletions
Too many changes to show.
To preserve performance only 30 of 30+ files are displayed.
CLAUDE.md
0 → 100644
PROMPT.md
0 → 100644
SKILL.md
0 → 100644
pyproject.toml
0 → 100644
scripts/account_manager.py
0 → 100644
scripts/chrome_launcher.py
0 → 100644
scripts/cli.py
0 → 100644
scripts/image_downloader.py
0 → 100644
scripts/publish_pipeline.py
0 → 100644
scripts/run_lock.py
0 → 100644
scripts/title_utils.py
0 → 100644
scripts/xhs/__init__.py
0 → 100644
scripts/xhs/cdp.py
0 → 100644
scripts/xhs/comment.py
0 → 100644
scripts/xhs/cookies.py
0 → 100644
scripts/xhs/errors.py
0 → 100644
scripts/xhs/feed_detail.py
0 → 100644
scripts/xhs/feeds.py
0 → 100644
scripts/xhs/human.py
0 → 100644
scripts/xhs/like_favorite.py
0 → 100644
scripts/xhs/login.py
0 → 100644
scripts/xhs/publish.py
0 → 100644
scripts/xhs/publish_video.py
0 → 100644
scripts/xhs/search.py
0 → 100644
scripts/xhs/selectors.py
0 → 100644
scripts/xhs/stealth.py
0 → 100644
scripts/xhs/types.py
0 → 100644
scripts/xhs/urls.py
0 → 100644
-
Please register or login to post a comment