📦 Content Ops — 社媒内容自动化

v0.1.1

基于 SQLite 的社交媒体内容运营自动化系统,支持多平台内容爬取、整理、发布与数据分析,一键管理小红书、Reddit 等账号。

0· 413·1 当前·1 累计
下载技能包
License
MIT-0
最后更新
2026/4/10
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
high confidence
该技能的代码与运行说明大体符合社媒运营工具定位,但存在多处不一致与风险行为(未声明密钥、后台二进制文件、cron 指令、混淆/逆向加密代码及预扫描 'base64 块' 信号),使包整体可信度下降,需谨慎。
评估建议
此仓库看似可用内容运营系统,但多处红旗提示不可盲目安装。使用前:1)逐行审查全部代码(尤其执行 shell、下载二进制、加解密或写密钥的脚本),搜索隐藏/编码载荷(base64、eval、exec)。2)勿复用高权凭证——为 Reddit/小红书及 OpenAI 创建独立受限测试账户与限额密钥。3)必须在隔离环境(容器或 VM)运行,勿将 API 密钥写入全局可读文件,优先用临时环境变量。4)校验 GitHub 发布二进制完整性(作者与校验和)。5)审计声称“逆向”平台加密或绕过反爬的代码——使用可能违反平台条款并增加风险。6)若无法自审,勿提供 Cookie/API 密钥,考虑不安装;向作者索要最小化声明式安装清单及确切所需环境变量列表。...
详细分析 ▾
用途与能力
仓库内容(爬取/发布脚本、DB 模式、图片生成文档)与“内容运营”系统相符,但注册元数据未声明所需环境变量或安装步骤,而文档与代码明确要求凭据与外部服务(OpenAI API 密钥、小红书 Cookie、Reddit API 凭据、MCP 二进制)。声明需求与实际需求不匹配,降低可信度。
指令范围
SKILL.md 等文档指示代理:下载并运行第三方 MCP 二进制、存取 Cookie/密钥文件、写入 secrets.json、执行数据库迁移、启动后台服务(screen)、创建 cron 任务,并使用逆向工程代码进行浏览器自动化/抓取。指令引用并读写众多本地路径与密钥,超出最小“技能”表面,扩大对凭据与持久系统状态的访问。
安装机制
注册元数据未提供正式安装规范,却有 72+ 代码文件及文档中的明确安装步骤。文档指示下载 GitHub 发布包并解压至 ~/.openclaw/workspace/bin,用 screen 启动。下载源为 GitHub releases(尚可),但缺少声明的安装步骤及众多依赖(playwright、原生二进制)使安装痕迹庞大且文档不足。package.json 列出额外 MCP 包与 playwright,可能引入重型原生组件。
凭证需求
注册元数据未声明所需环境变量或主凭据,而文档与代码引用多项敏感凭据:OPENAI_API_KEY(图片生成)、XIAOHONGSHU_COOKIE(抓取)、REDDIT_CLIENT_ID/REDDIT_CLIENT_SECRET(API 发布)、Discord webhook URL,并写入 secrets.json。功能所需密钥存储合理,但声明遗漏属不一致,存在意外暴露或配置错误风险。
持久化与权限
文档指示启动持久后台服务(xiaohongshu-mcp in screen)、保存 Cookie/会话文件并添加系统 cron 任务以定期运行。持久化对自动化工具可属正当,但此技能明确指导用户创建长期系统组件并在磁盘存储凭据——若代码恶意或出错将扩大影响面。技能未设置 always:true,但手动要求授予长期系统驻留。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv0.1.12026/3/1

无重大变更,仅微小更新。 - 仅更新文档与元数据,无功能改动。 - 对用户与运行无影响。

可疑

安装命令

点击复制
官方npx clawhub@latest install content-ops
镜像加速npx clawhub@latest install content-ops --registry https://cn.longxiaskill.com

技能文档

社交媒体内容运营自动化系统,使用 SQLite + Drizzle ORM 存储数据,支持小红书、Reddit、Pinterest、Discord 等平台的内容抓取、策划、发布和数据分析。


📋 目录


一、初始化部署

1.1 基础环境

Node.js 依赖

cd /home/admin/.openclaw/workspace/skills/content-ops
# 安装依赖
npm install
# 生成并执行数据库迁移
npx drizzle-kit generate
npx drizzle-kit migrate

Python 依赖(可选,用于增强功能)

# 如果需要使用 xiaohongshutools skill
pip install aiohttp loguru pycryptodome getuseragent requests

1.2 MCP 服务部署

小红书 MCP (xpzouying/xiaohongshu-mcp)

下载部署:

cd ~/.openclaw/workspace/bin
# 下载二进制文件
wget https://github.com/xpzouying/xiaohongshu-mcp/releases/download/v2026.02.28.1720-8a7fe21/xiaohongshu-mcp-linux-amd64.tar.gz
tar -xzf xiaohongshu-mcp-linux-amd64.tar.gz
# 登录(首次,扫码)
./xiaohongshu-login
# 启动服务(后台运行)
screen -dmS xhs-mcp ./xiaohongshu-mcp -headless=true

服务信息:

  • 端口:18060
  • 端点:http://localhost:18060
  • Cookie 文件:~/.openclaw/workspace/bin/cookies.json

验证服务:

curl http://localhost:18060/api/v1/login/status

1.3 数据库初始化

自动创建的数据表:

表名用途核心字段
target_accounts被运营账号(Reddit等)platform, api_config, positioning
source_accounts信息源账号(小红书等)login_status, daily_quota
crawl_tasks抓取任务status, query_list, target_count
crawl_results抓取结果source_url, content, quality_score
publish_tasks发布任务status, content, scheduled_at
publish_metrics_daily发布内容每日数据metric_date, reddit_score
target_accounts_metrics_daily账号整体每日数据followers_change, engagement_rate
数据库位置:

~/.openclaw/workspace/content-ops-workspace/data/content-ops.db

1.4 账号配置

添加小红书信息源账号

npx tsx scripts/add-xhs-account.ts

添加 Reddit 目标账号

npx tsx scripts/add-reddit-account.ts

二、测试任务

2.1 测试小红书抓取(无需登录)

# 测试搜索
curl -X POST http://localhost:18060/api/v1/feeds/search \
-H "Content-Type: application/json" \
-d '{"keyword": "AI人工智能", "filters": {"sort_by": "最多点赞"}}'

2.2 测试 MCP 服务状态

# 检查登录状态
curl http://localhost:18060/api/v1/login/status
# 预期返回:
# {"success": true, "data": {"is_logged_in": true, "username": "xxx"}}

2.3 测试数据库连接

# 查看数据概览
npx tsx scripts/show-overview.ts

2.4 完整测试流程

# 1. 创建测试抓取任务
npx tsx scripts/create-crawl-task.ts --keyword "AI教程" --count 5
# 2. 执行抓取
npx tsx scripts/execute-crawl.ts --task-id 
# 3. 查看结果
npx tsx scripts/show-crawl-results.ts --task-id 
# 4. 审核(测试用:全部通过)
npx tsx scripts/approve-all.ts --task-id 

三、正式任务

3.1 内容抓取 Workflow

Step 1: 创建抓取任务

npx tsx scripts/create-crawl-task.ts \
--platform xiaohongshu \
--keywords "AI人工智能,ChatGPT,AI工具" \
--sort-by "最多点赞" \
--target-count 50

Step 2: 查看待审核列表

npx tsx scripts/show-crawl-results.ts --task-id 

Step 3: 人工审核

# 通过指定序号
npx tsx scripts/approve-items.ts --task-id  --items 1,2,3,5
# 或全部通过
npx tsx scripts/approve-all.ts --task-id 

Step 4: 补充详情(可选)

# 查看需要补充详情的列表
npx tsx scripts/show-pending-details.ts
# 用户提供详情后导入
npx tsx scripts/import-manual-detail.ts --input /tmp/manual_details.txt

3.2 内容发布 Workflow

Step 1: 选择语料创建发布任务

npx tsx scripts/create-publish-task.ts \
--source-ids , \
--target-platform reddit \
--target-account 

Step 2: 生成内容(AI redesign)

npx tsx scripts/generate-content.ts --task-id 

Step 3: 审核发布内容

npx tsx scripts/review-publish-content.ts --task-id 

Step 4: 执行发布

npx tsx scripts/execute-publish.ts --task-id 

3.3 数据复盘 Workflow

# 抓取昨日数据
npx tsx scripts/fetch-metrics.ts --date yesterday
# 生成数据报告
npx tsx scripts/generate-report.ts --period 7d

四、工作流详解

4.1 内容抓取流程

用户确认主题
↓
创建抓取任务 (crawl_tasks)
↓
调用 /api/v1/feeds/search 获取列表
↓
保存结果到 crawl_results (标题、互动数据)
↓
通知人工确认
↓
审核通过 → 标记为可用 (curation_status='approved')
↓
(可选)人工补充详情正文

⚠️ 抓取限制说明:

小红书网页端有严格的反爬机制:

  • 搜索列表 ✅ 可用
- 可获取:标题、作者、互动数据(点赞/收藏/评论数)、封面图 - 可识别:内容类型(video/normal)

  • 详情接口 ❌ 受限
- 多数笔记返回 "笔记不可访问" 或空数据 - 无法获取:完整正文、评论列表 - 原因:小红书 App-only 内容限制

4.2 人工辅助详情导入

当自动抓取无法获取详情时,支持人工补充:

查看待补充列表:

npx tsx scripts/show-pending-details.ts

用户提供详情格式:

详情 1
[复制粘贴第一篇笔记的正文内容]

详情 3 [复制粘贴第三篇笔记的正文内容]

导入到数据库:

npx tsx scripts/import-manual-detail.ts --input /tmp/manual_details.txt

数据会同时保存到:

  • crawl_results 表的 content 字段
  • corpus/manual/ 目录的 JSON 文件

4.3 内容发布流程

选择可用语料 (crawl_results)
↓
创建发布任务 (publish_tasks) - status='draft'
↓
AI 基于语料生成内容 → status='pending_review'
↓
人工审核 → status='approved'
↓
定时发布 → status='scheduled' → 'published'
↓
每日抓取数据 (publish_metrics_daily)

五、参考文档

文档说明给谁看
使用流程手册完整操作流程,从安装到日常运营👤 用户必看
快速上手指南10分钟快速启动👤 新用户
数据库表结构完整表结构🤖 开发者
详细工序设计多Agent协作流程🤖 开发者

常用查询

首页看板数据:

const stats = await queries.getOverviewStats();
// {
// activeAccounts: 5,
// todayScheduledTasks: 3,
// pendingCorpus: 20,
// availableCorpus: 150,
// weeklyPublished: 21
// }

账号7天趋势:

const trend = await queries.getAccountTrend(accountId, 7);

内容表现排行:

const topContent = await queries.getTopPerformingContent(accountId, 30, 10);

数据库备份

# 复制文件即可备份
cp ~/.openclaw/workspace/content-ops-workspace/data/content-ops.db \
~/.openclaw/workspace/content-ops-workspace/data/backup-$(date +%Y%m%d).db

目录结构

~/.openclaw/workspace/content-ops-workspace/
├── data/
│   └── content-ops.db              # SQLite 数据库文件
├── accounts/                        # Markdown 账号档案
├── strategies/                      # 运营策略文档
├── corpus/
│   ├── raw/                         # 原始抓取语料
│   ├── manual/                      # 人工导入语料
│   └── published/                   # 已发布内容
└── reports/                         # 数据报告

快速检查清单

部署前检查

  • [ ] Node.js 依赖安装完成 (npm install)
  • [ ] 数据库迁移执行完成 (npx drizzle-kit migrate)
  • [ ] 小红书 MCP 服务运行中 (curl http://localhost:18060/api/v1/login/status)
  • [ ] Cookie 文件存在 (~/.openclaw/workspace/bin/cookies.json)

测试任务检查

  • [ ] MCP 登录状态正常
  • [ ] 测试搜索能返回结果
  • [ ] 数据库能写入数据
  • [ ] 审核流程正常

正式任务检查

  • [ ] 源账号已添加 (source_accounts)
  • [ ] 目标账号已添加 (target_accounts)
  • [ ] 抓取任务创建成功
  • [ ] 发布任务能正常生成内容
数据来源ClawHub ↗ · 中文优化:龙虾技能库