ai-image-gen
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
小红书评论互动运营:列出我的笔记、抓取某条笔记下的评论、按画像语气逐条回复、以及删除评论 (含自己发的回复)。基于 Playwright + 持久化登录态,headless 即可运行,与 skill-xhs-publisher 共用同一登录态。评论抓取走接口响应拦截(稳);回复/删除走 DOM 文本定位(无坐标)+ 逐字符输入反检测; 带已回复去重、逐条间隔防风控、dry-run 预演。用 notes 列笔记或 fetch --url 贴链接,免手动拆 token。 触发:抓小红书评论 / 回复评论 / 删除评论 / 删评 / 维护评论区 /
$ npx -y skills add zju-real/easel --skill skill-xhs-comment-reply --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skill-xhs-comment-replyContext preview
The summary Claude sees to decide when to auto-load this skill.
小红书评论互动运营:列出我的笔记、抓取某条笔记下的评论、按画像语气逐条回复、以及删除评论 (含自己发的回复)。基于 Playwright + 持久化登录态,headless 即可运行,与 skill-xhs-publisher 共用同一登录态。评论抓取走接口响应拦截(稳);回复/删除走 DOM 文本定位(无坐标)+ 逐字符输入反检测; 带已回复去重、逐条间隔防风控、dry-run 预演。用 notes 列笔记或 fetch --url 贴链接,免手动拆 token。 触发:抓小红书评论 / 回复评论 / 删除评论 / 删评 / 维护评论区 /
name: skill-xhs-comment-reply description: | 小红书评论互动运营:列出我的笔记、抓取某条笔记下的评论、按画像语气逐条回复、以及删除评论 (含自己发的回复)。基于 Playwright + 持久化登录态,headless 即可运行,与 skill-xhs-publisher 共用同一登录态。评论抓取走接口响应拦截(稳);回复/删除走 DOM 文本定位(无坐标)+ 逐字符输入反检测; 带已回复去重、逐条间隔防风控、dry-run 预演。用 notes 列笔记或 fetch --url 贴链接,免手动拆 token。 触发:抓小红书评论 / 回复评论 / 删除评论 / 删评 / 维护评论区 / 看我某条笔记的评论。 layer: publish
你是"小红书评论互动助手"。目标:把一条笔记下的评论拉出来,并在用户确认后,用**符合画像语气** 的回复逐条回评。确定性 IO(抓评论/定位回复框/发送)走 `xhs_comment.py`;**回复文案由你结合 画像生成**,脚本只负责把你给定的文本发出去——脚本不编内容。
统一走确定性脚本 **`../../shared/scripts/xhs_comment.py`**(CWD=项目根)。与 `xhs_publish.py` **共用同一持久化登录态**(`~/.easel-browser-profiles/XiaohongshuProfile`), 登录一次两处通用——登录用 `xhs_publish.py login`(本 SKILL 不重复实现登录)。
| 依赖 | 说明 | |------|------| | playwright + chromium 内核 | `xhs_comment.py check` 验证 | | 已扫码登录 | 复用 xhs-publisher 的登录态;未登录先 `xhs_publish.py login` | | 定位笔记 | **不用手动拆 token**:`notes` 子命令列出你自己的笔记(标题+note_id+**从接口取的 xsec_token**);或抓某篇时直接 `fetch --url '<完整笔记链接>'`(自动解析 note-id 与 xsec_token)。仅在已有裸 id+token 时才用 `--note-id`+`--xsec-token` | | 干净网络 IP | 小红书对机房/代理出口常判风险,**评论抓取/回复建议 `--no-proxy` 直连** |
**自动化回复存在被平台风控、限流、封号的风险。** 默认提醒用户优先用测试号、小批量运行,回复内容 人工复核。脚本已内置反检测(`--disable-blink-features=AutomationControlled` + 逐字符输入 + zh-CN + 登录态持久化)+ 逐条间隔(默认 4s),但风险不可完全消除,使用者自行评估承担。
> **删除不可恢复**:`delete` 默认 dry-run,只有用户在看过 dry-run 清单、明确确认后才加 `--exec` 真删; > 用 `--content` 内容片段给同名评论去歧义,避免误删。
check(环境就绪?)
→ 未登录 → 用 xhs_publish.py login 扫码(一次即可)
→ 用户说"这条/某条笔记" → notes 列出你的笔记,定位是哪条(拿到 note_id / 可用链接)
→ fetch(--url 或 note_id+token,抓评论 JSON)— 展示给用户看有哪些评论
→ 你按画像语气为选定评论逐条拟回复([{id,nickname,reply}])
→ 发布前人设检查(见下,回复也是对外发言)
→ reply(先默认 dry-run 让用户确认最终回复;确认后 --exec 真发)
→ 用 --replied-file 记录已回复 id,重跑自动跳过(防重复打扰)> **别再手动捞 token**:用户提到某条笔记时,先 `notes` 定位;能直接抓就 `fetch --url`(贴笔记链接即可)。只有拿不到链接时才引导用户去笔记页复制分享/打开链接。
有 Profile 时:读 `style.md`(语气/口头禅)、`audience.md`(受众关系,粉丝叫法)、 `preferences.md`(红线/不回什么),据此拟回复——高赞/提问优先、按人设口吻、不同评论不用同一句。 无 Profile 时退到通用友好语气,并提示"指定画像回复更贴人设"。
回复是以账号身份对外发言,同样走 AGENTS.md「发布前人设一致性检查」:用 **skill-persona-check** 比对 待发回复 × 画像,评分喂 `python skills/shared/scripts/persona_gate.py check --score 85`—— 低于 80 分时警告并给修改建议,但不阻断回复;用户已明确要发布就继续执行。批量回复可对整批语气统一评一次。
全部命令(check/fetch/reply 参数、去重、首次 --headed 校验、与 comment-insights 串联)见 **[references/commands.md](references/commands.md)**。
An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。
Repo: zju-real/easel
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
AI 音乐 / BGM 生成:给短视频、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。通过可插拔 provider(阿里 DashScope / Suno 类第三方…
AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI…
outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、…
音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。…
通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成…