媒体智能体 (Archive)
Archived original-language source from the legacy CrabClaw docs. This page is intentionally not machine-translated.
Crab Claw 内置完整的媒体子智能体系统,为社交媒体运营提供 AI 驱动的内容全生命周期管理——从热点发现、内容创作、自动发布到互动管理,一站式覆盖。
为什么需要媒体智能体
7×24 小时常驻监控,自动扫描热点趋势、回复评论私信、定时发布内容。告别人工盯盘,释放运营精力。
基于热点趋势和历史数据,智能体自动起草文案、配图建议、标签推荐。人类只需最终审核确认。
通过 CDP 浏览器自动化实现真实账号操作——Cookie 持久化登录、表单填写、图片上传,无需 API 密钥。
每类动作按风险等级分为自动/确认/审批三级。趋势扫描自动执行,内容发布需确认,批量删除需审批。
系统架构
媒体子智能体由两条解耦但协同的子系统组成:
┌──────────────────────────────────────────────────────────────┐
│ 媒体控制面 │
│ server_methods_media.go │
│ media.config.* │ media.publisher.login.* │ patrol.* │
└──────────┬────────────────────┬───────────────────┬──────────┘
│ │ │
┌──────▼──────┐ ┌───────▼────────┐ ┌─────▼──────┐
│ 发布器 Lane │ │ 巡逻 Lane │ │ 互动 Lane │
│ 账号登录 │ │ Supervisor │ │ 评论回复 │
│ Cookie 管理 │ │ Cycle 巡检 │ │ 私信处理 │
│ 内容发布 │ │ 策略引擎 │ │ 去重管理 │
└──────┬──────┘ └───────┬────────┘ └─────┬──────┘
│ │ │
┌──────▼────────────────────▼───────────────────▼──────┐
│ 浏览器运行时 (Browser Runtime) │
│ lazy_local │ direct_cdp │ extension_relay │
└──────────────────────────┬───────────────────────────┘
│
┌──────────────────────────▼───────────────────────────┐
│ 持久化层 │
│ Cookie: _media/xhs/<account>-cookies.json (0600) │
│ 配置: crabclaw.json → media.publisher_profiles │
└──────────────────────────────────────────────────────┘┌──────────────────────────────────────────────────────────────┐
│ 媒体控制面 │
│ server_methods_media.go │
│ media.config.* │ media.publisher.login.* │ patrol.* │
└──────────┬────────────────────┬───────────────────┬──────────┘
│ │ │
┌──────▼──────┐ ┌───────▼────────┐ ┌─────▼──────┐
│ 发布器 Lane │ │ 巡逻 Lane │ │ 互动 Lane │
│ 账号登录 │ │ Supervisor │ │ 评论回复 │
│ Cookie 管理 │ │ Cycle 巡检 │ │ 私信处理 │
│ 内容发布 │ │ 策略引擎 │ │ 去重管理 │
└──────┬──────┘ └───────┬────────┘ └─────┬──────┘
│ │ │
┌──────▼────────────────────▼───────────────────▼──────┐
│ 浏览器运行时 (Browser Runtime) │
│ lazy_local │ direct_cdp │ extension_relay │
└──────────────────────────┬───────────────────────────┘
│
┌──────────────────────────▼───────────────────────────┐
│ 持久化层 │
│ Cookie: _media/xhs/<account>-cookies.json (0600) │
│ 配置: crabclaw.json → media.publisher_profiles │
└──────────────────────────────────────────────────────┘三种浏览器运行时模式
媒体子智能体复用 Crab Claw 浏览器架构的运行时契约,支持三种模式:
| 模式 | 触发条件 | 特点 |
|---|---|---|
lazy_local | 未配置 CDP URL | 首次使用时自动拉起本地 Chrome,零配置开箱即用 |
direct_cdp | 已配置 Chrome CDP 地址 | 直连 Chrome DevTools,完整 CDP 能力 |
extension_relay | 使用浏览器扩展中继 | 通过扩展接管现有标签页,复用已登录会话 |
支持的平台
| 平台 | 登录方式 | 支持功能 |
|---|---|---|
| 小红书 | 浏览器 Cookie 登录 | 发布笔记、评论回复、私信、趋势扫描、互动管理 |
| 更多平台 | 陆续接入中 | — |
四大核心工具
媒体子智能体在能力树中注册了 4 个专属工具,覆盖内容运营全链路:
| 工具 | 能力树节点 | 意图层级 | 审批类型 | 说明 |
|---|---|---|---|---|
trending_topics | subagent_trees/media | task_light | 无 | 热点趋势发现与分析 |
content_compose | subagent_trees/media | task_write | plan_confirm | AI 辅助内容创作与草稿生成 |
media_publish | subagent_trees/media | task_write | exec_escalation | 内容发布到目标平台 |
social_interact | subagent_trees/media | task_write | plan_confirm | 评论回复、私信互动管理 |
这些工具通过 SubAgentToolProvider 统一注入,在主智能体工具列表中不可见,仅在媒体子智能体会话内生效。
巡逻系统
六层架构
巡逻系统采用 Supervisor 常驻 + Cycle 短跑 的六层事件驱动架构:
┌─────────────────────────────────────────────┐
│ L6: 汇报层 — 巡检报告、异常告警、统计面板 │
├─────────────────────────────────────────────┤
│ L5: 审批层 — 三级审批门控(自动/确认/审批) │
├─────────────────────────────────────────────┤
│ L4: 策略引擎 — 动作分级、预算控制、时间窗口 │
├─────────────────────────────────────────────┤
│ L3: Cycle 执行层 — 扫描→分析→执行→汇报 │
├─────────────────────────────────────────────┤
│ L2: 事件总线 — 7 种事件类型、4 个优先级 │
├─────────────────────────────────────────────┤
│ L1: Supervisor 常驻层 — 心跳、崩溃恢复、状态│
└─────────────────────────────────────────────┘┌─────────────────────────────────────────────┐
│ L6: 汇报层 — 巡检报告、异常告警、统计面板 │
├─────────────────────────────────────────────┤
│ L5: 审批层 — 三级审批门控(自动/确认/审批) │
├─────────────────────────────────────────────┤
│ L4: 策略引擎 — 动作分级、预算控制、时间窗口 │
├─────────────────────────────────────────────┤
│ L3: Cycle 执行层 — 扫描→分析→执行→汇报 │
├─────────────────────────────────────────────┤
│ L2: 事件总线 — 7 种事件类型、4 个优先级 │
├─────────────────────────────────────────────┤
│ L1: Supervisor 常驻层 — 心跳、崩溃恢复、状态│
└─────────────────────────────────────────────┘- Supervisor:常驻后台进程,管理巡逻生命周期、心跳检测、崩溃自动恢复
- Cycle:按需执行的短周期巡检任务(扫描 → 分析 → 执行 → 汇报),完成后挂起等待下次触发
- 事件总线:连接各层的异步通信通道,事件按优先级排队处理
事件驱动
巡逻通过事件触发,支持 7 种事件类型和 4 个优先级:
| 优先级 | 说明 | 典型事件 |
|---|---|---|
| Critical | 紧急事件,立即处理 | 账号异常、安全告警 |
| High | 高优先级,优先调度 | 新互动通知、评论@提及 |
| Normal | 常规巡检 | 定时趋势扫描、内容审查 |
| Low | 低优先级后台任务 | 定期数据统计、历史归档 |
策略引擎
每类动作有明确的审批分级和执行预算:
| 动作类型 | 审批级别 | 每日预算 | 说明 |
|---|---|---|---|
| trending_scan | 自动放行 | 不限 | 趋势扫描,只读操作 |
| interaction_read | 自动放行 | 不限 | 读取评论/私信 |
| comment_reply_draft | 自动放行 | 不限 | 起草回复(不发送) |
| draft_create | 确认审批 | 10 次/天 | 创建内容草稿 |
| content_publish | 确认审批 | 3 次/天 | 发布内容到平台 |
| account_ops | 确认审批 | — | 账号设置操作 |
| batch_delete | 严格审批 | — | 批量删除内容 |
| cross_platform_sync | 严格审批 | — | 跨平台内容同步 |
发布时间窗口:默认 9:00-22:00,避免深夜自动发布。
账号管理与登录
浏览器 Cookie 登录流程
媒体账号通过浏览器自动化实现真实登录,无需 API 密钥:
- 启动登录页:Gateway 自动拉起浏览器,打开平台登录页
- 用户扫码/登录:用户在浏览器中完成手动登录(安全合规,不代填密码)
- Cookie 捕获:自动检测登录状态,联合启发式判定(URL + Cookie 数量 + 关键字段)
- 持久化存储:Cookie 写入
~/.crabclaw/state/_media/xhs/,文件权限 0600 - 自动续期:后续操作自动注入 Cookie,过期时提醒重新登录
登录会话状态机
| 状态 | 含义 |
|---|---|
not_started | 尚未创建登录会话 |
waiting_login | 已打开登录页,等待用户扫码 |
authenticated | 登录成功,Cookie 已持久化 |
error | 浏览器读取或 Cookie 持久化失败 |
错误分类
登录过程中的所有错误都有明确分类,便于排障:
| 错误码 | 场景 | 处理建议 |
|---|---|---|
browser_extension_unavailable | 扩展未连接 | 检查浏览器扩展配置 |
login_session_missing | 未先打开登录页 | 先点击"打开登录页" |
cookie_persist_failed | Cookie 写入失败 | 检查文件系统权限 |
browser_runtime_unavailable | 浏览器无法启动 | 检查 Chrome 是否安装 |
内容发布流程
发布流程是一个 10 步自动化链路:
- 验证浏览器健康状态(3s JS eval ping)
- 检查登录态有效性
- 导航到创作者页面
- 等待编辑器加载
- 填写标题与正文
- 上传配图(如有)
- 设置标签和话题
- 预览确认
- 点击发布
- 验证发布结果
健壮性保障:
- 发布前自动检查浏览器连接(
verifyBrowserAlive),失败则自动重连 - 速率限制预占机制,防止并发请求突破间隔
- CSS 选择器注入防护(白名单转义),防止恶意内容注入
- 发布超时返回
uncertain状态(非静默成功),调用方可决定是否重试
互动管理
评论回复
- 自动扫描新评论通知
- AI 起草回复内容(自动放行,不发送)
- 用户确认后执行回复
- 去重 ID 基于内容摘要(
auto:author:content[:64]),防止重复回复
私信处理
- 读取未读私信列表
- AI 分析私信意图,起草回复
- 支持批量处理和优先级排序
配置示例
在 crabclaw.json 中配置媒体账号:
{
"media": {
"enabled": true,
"publisher_profiles": {
"xiaohongshu": {
"enabled": true,
"account": "your-account-name"
}
}
}
}{
"media": {
"enabled": true,
"publisher_profiles": {
"xiaohongshu": {
"enabled": true,
"account": "your-account-name"
}
}
}
}CLI 命令
# 查看媒体系统状态
crabclaw status
# 在聊天中使用
> 登录小红书
> 启动媒体巡逻
> 查看巡逻状态
> 暂停巡逻
> 发布一篇关于 AI 趋势的笔记
> 回复最新的评论# 查看媒体系统状态
crabclaw status
# 在聊天中使用
> 登录小红书
> 启动媒体巡逻
> 查看巡逻状态
> 暂停巡逻
> 发布一篇关于 AI 趋势的笔记
> 回复最新的评论与定时任务集成
巡逻可通过 cron 定时触发,实现全自动运营:
{
"cron": {
"jobs": [
{
"name": "media-patrol",
"schedule": "0 */4 * * *",
"action": "media.patrol.trigger"
},
{
"name": "morning-trending",
"schedule": "0 8 * * *",
"action": "media.trending.scan"
}
]
}
}{
"cron": {
"jobs": [
{
"name": "media-patrol",
"schedule": "0 */4 * * *",
"action": "media.patrol.trigger"
},
{
"name": "morning-trending",
"schedule": "0 8 * * *",
"action": "media.trending.scan"
}
]
}
}安全设计
- Cookie 文件 0600 权限:仅当前用户可读写
- 登录态隔离:每个平台账号独立 Cookie 文件,互不干扰
- 不代填密码:登录执行器只负责打开页面和检测状态,密码由用户手动输入
- 操作审计:所有发布和互动操作记录完整审计日志
- 预算硬限制:每日发布/草稿/回复次数硬限额,防止过度自动化