Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add DjangoPeng/agentic-ai --skill xhs-auto-publishergit clone --depth 1 https://github.com/DjangoPeng/agentic-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/djangopeng/agentic-ai/xhs-auto-publisher)<a href="https://agentmods.dev/skills/djangopeng/agentic-ai/xhs-auto-publisher"><img src="https://agentmods.dev/badge/skills/djangopeng/agentic-ai/xhs-auto-publisher/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/djangopeng/agentic-ai/xhs-auto-publisher"><img src="https://agentmods.dev/badge/skills/djangopeng/agentic-ai/xhs-auto-publisher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00074 | $0.01069 |
| Opus 5 | $0.00037 | $0.00535 |
| Sonnet 5 | $0.00015 | $0.00214 |
| Haiku 4.5 | $0.00007 | $0.00107 |
Grade A, and why
xhs-auto-publisher scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
XHS Auto Publisher Cloud
这个 Skill 是云端执行版,不是本机版替代品。
它主要解决四件事:
- 在 Linux 云服务器上跑浏览器自动化
- 把登录二维码交给人扫码
- 把登录状态缓存起来
- 把执行结果留痕
默认链路
当前项目只保留一条默认链路:
- Agent 打开小红书登录页
- Agent 截出二维码图片
- 项目生成
login_qr.payload.json - 龙虾读取 payload
- 龙虾把二维码图片直接发到飞书群
- 用户扫码
- Agent 继续执行
不依赖公网二维码链接,不依赖 XHS_PUBLIC_RUNTIME_BASE_URL。
适用场景
适合:
- 在云服务器上跑小红书图文草稿/发布
- 需要人工扫码接管登录
- 需要持久化浏览器 profile
- 需要截图、日志、DOM 快照
- 需要把标准化部署交给龙虾执行
不适合:
- 绕过验证码、滑块、人机验证
- 批量互动、批量点赞、批量评论
- 操作未授权账号
项目结构
config/:平台配置与选择器src/:发布逻辑、登录检测、通知模块scripts/:CLI 入口deploy/:部署脚本与 systemd 示例docs/:部署说明和龙虾执行文档runtime/:浏览器 profile、截图、运行结果
部署分层
系统级
这部分影响整台机器:
python3python3-venvpython3-pipxvfb- 浏览器运行依赖
项目级
这部分只属于当前目录:
.venv- Python 依赖
- Playwright Chromium
runtime/
推荐目录
~/projects/xhs-auto-publisher
~/projects/xhs-auto-publisher/runtime
~/projects/xhs-auto-publisher/runtime/browser-profile
~/projects/xhs-auto-publisher/runtime/runs
~/projects/xhs-auto-publisher/runtime/lobster-notify
输入格式
发布内容使用 JSON 文件,例如:
{
"title": "OpenClaw 能帮业务团队做什么?",
"body": "很多团队不是缺 AI 聊天工具,而是缺一个能把业务流程真正跑起来的数字员工。",
"topics": ["OpenClaw", "AI工具", "浏览器自动化"],
"images": ["assets/cover.jpg"],
"mode": "publish"
}
环境变量
当前只保留最常用的两个:
MODE=publish
LOGIN_TIMEOUT=300
运行方式
手动运行:
cd ~/projects/xhs-auto-publisher
bash deploy/run_with_xvfb.sh
执行流程
- 校验内容和图片
- 检查重复发布保护
- 启动持久化 Chromium profile
- 读取登录缓存,默认 12 小时
- 检查是否已登录
- 如未登录,生成二维码截图并写出龙虾通知 payload
- 龙虾把二维码图片发到飞书群
- 用户扫码后继续
- 上传图片、填写内容、触发发布
- 保存截图、日志、DOM 快照和结果 JSON
运行产物
每次执行都会写入:
runtime/runs/<timestamp>/
包含:
actions.jsonlresult.jsoncontent.normalized.jsonscreenshots/*.pngdom/*.html
通知文件会写入:
runtime/lobster-notify/<run_id>/login_qr.payload.json
文档入口
What ships with it
29 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 163 B
- config/app.json 472 B
- config/selectors.json 1.8 KB
- deploy/bootstrap_project.sh 891 B runs code
- deploy/env.example 31 B
- deploy/install_system_ubuntu.sh 531 B runs code
- deploy/run_with_xvfb.sh 1.1 KB runs code
- deploy/setup.sh 1.2 KB runs code
- deploy/systemd/xhs-auto-publisher-cloud.service 484 B
- docs/cloud_deploy.md 5.0 KB
- docs/DEPLOY_TODO.md 2.3 KB
- docs/LOBSTER_NOTIFY_PROTOCOL.md 2.6 KB
- examples/assets/Openclaw商业应用场景.jpg 89 KB
- examples/cloud.env.example 31 B
- examples/openclaw_business_content.json 1.9 KB
- examples/sample_content.json 305 B
- lesson12-lab.md 7.7 KB
- README.md 3.1 KB
- requirements.txt 32 B
- scripts/publish_xhs.py 4.6 KB runs code
- src/__init__.py 48 B runs code
- src/audit.py 2.1 KB runs code
- src/browser_session.py 5.5 KB runs code
- src/cloud_notify.py 2.6 KB runs code
- src/content_validator.py 3.6 KB runs code
- src/duplicate_guard.py 2.3 KB runs code
- src/locator_utils.py 2.4 KB runs code
- src/login_state.py 2.4 KB runs code
- src/publisher.py 26 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 170 lines · 74 tokens per session scan A 64c6448faaac
xhs-auto-publisher is a skill published in the GitHub repository DjangoPeng/agentic-ai (148 stars, last pushed 2mo ago), licensed MIT. It adds 74 tokens to every session and 1,069 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
firecrawl
Search the web and scrape pages into clean markdown with the Firecrawl API — query-based discovery, single-URL extraction including public PDFs, driven by curl with a vault-stored API key.
browser-workflow-skill-builder
Create robust browser automation skills for sites like LinkedIn, X/Twitter, YouTube, Stripe, or other logged-in web apps by saving page context, analyzing HTML/CSS, writing skill-local JS extract/verify scripts, and using CSS selector actions with screenshot verification.
co-browser
Drive one persistent, logged-in browser from the shell with co browser. Use when the user asks to open a page, log into a site, scrape/extract page content, fill forms, upload files, take screenshots, or automate any browser task — solo or with multiple agents sharing the browser.
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a…
browser-automation
Playwright-based browser automation patterns for autonomous web interaction.
hep-browser
Use the Agentlas browser hardpoint for browser-required work.