左帮右臂 Auto Loop 闭环系统 — CMS集成指南

左帮右臂 Auto Loop 闭环系统 — CMS集成指南

版本: v1.1 | 更新日期: 2026-07-05 | 适用系统: BossAgents v2.x


目录

  1. 系统架构概览
  2. 核心概念
  3. Docs文档批量转文章
  4. 内容数字员工链路
  5. 营销数字员工链路
  6. CMS体验入口
  7. 分享裂变系统
  8. Skill体验系统
  9. 闭环指标与配置
  10. 完整API参考
  11. 常见问题

1. 系统架构概览

1.1 闭环流程

docs/*.md ──→ DocsConverter ──→ ContentStore ──→ MarketingService ──→ 发布
                │                    │                  │
                │ Markdown→HTML      │ 内容存储          │ 平台变体
                │ LLM导语增强        │ 质量检查          │ 审核→发布
                │ 体验Footer追加     │ 去AI味            │ 微信/知乎/CSDN
                │                    │                   │
                └──── 体验入口(立即体验+分享) ◄────────────┘
                                    │
                              分享裂变系统
                              (AES-256加密)
                                    │
                              访客→注册转化

1.2 数据流向

| 阶段 | 输入 | 输出 | 存储 |

|------|------|------|------|

| 文档转换 | docs/*.md | HTML文章 | content-items.json |

| 内容生成 | doc_assets | 生成文章 | content-items.json |

| 营销变体 | 已发布内容 | 平台变体 | marketing-items.json |

| 分享裂变 | Skill结果 | 加密链接 | auto-loop-data.json |

| 转换追踪 | 转换记录 | 状态 | docs-converted.json |

1.3 关键文件位置

文件路径说明
文档目录docs/*.md99篇技术Markdown文档
内容存储server/data/content-items.json所有内容资产
营销变体server/data/marketing-items.json平台变体内容
闭环数据server/data/auto-loop-data.json分享/行为/指标
转换追踪server/data/docs-converted.json文档转换记录
Skill配置server/config/auto-loop-skills.json5个Skill定义
DocsConverterserver/core/docs-converter.js文档转换引擎
MarketingServiceserver/core/marketing-service.js营销变体引擎
AutoLoopServiceserver/core/auto-loop-service.js闭环核心引擎
ShareServiceserver/core/share-service.js分享加密服务
API路由server/routes/auto-loop-api.js22个API端点

2. 核心概念

2.1 内容状态流转

draft → refined → published
  │        │          │
  │        │          └──→ 营销变体生成 → 审核 → 发布
  │        └──→ 去AI味优化完成
  └──→ 初始生成/转换

| 状态 | 说明 | 触发条件 |

|------|------|----------|

| draft | 草稿 | 新生成或新转换 |

| refined | 已优化 | 去AI味处理完成 |

| published | 已发布 | 手动发布或自动发布(质量≥80分) |

| failed | 失败 | 生成过程出错 |

2.2 内容来源标记

source说明
docs-converter从docs/目录Markdown转换
auto_loopAutoLoop Pipeline自动生成
digital-staff数字员工调度触发
manual前端手动创建

2.3 平台变体

平台代码风格字数特点
微信公众号wechat亲和专业800-2000段落简短,可加emoji
知乎zhihu专业深度1500-3000逻辑清晰,数据支撑
CSDNcsdn技术实战1000-2500代码示例,步骤清晰
今日头条toutiao通俗信息800-1500图文并茂,信息密度高

3. Docs文档批量转文章

3.1 工作原理

DocsConverter扫描docs/目录下的Markdown文件,执行以下转换流程:

  1. 扫描 — 发现所有.md文件,对比已转换记录,找出未转换文件
  2. 解析 — 提取标题、摘要、关键词、分类
  3. 转换 — Markdown→HTML(标题/代码块/列表/链接/加粗/斜体)
  4. 增强 — 调用LLM生成80-150字导语(可关闭)
  5. 追加Footer — 添加"立即体验"+"分享给同事"按钮
  6. 存储 — 写入ContentStore,状态为draft

3.2 API使用

#### 扫描文档

GET /api/auto-loop/docs/scan

响应示例:

json

{

"success": true,

"data": {

"total": 99,

"unconverted": ["ARCHITECTURE.md", "DEPLOY.md", ...],

"converted": 6

}

}

#### 转换单个文档

POST /api/auto-loop/docs/convert
Content-Type: application/json

{
  "file": "ARCHITECTURE.md",
  "options": {
    "enhanceWithLlm": true,
    "experienceFooter": true,
    "autoPublish": false,
    "force": false
  }
}

| 参数 | 类型 | 默认 | 说明 |

|------|------|------|------|

| file | string | 必填 | docs/下的文件名 |

| options.enhanceWithLlm | boolean | true | 是否用LLM生成导语 |

| options.experienceFooter | boolean | true | 是否追加体验Footer |

| options.autoPublish | boolean | false | 转换后自动发布 |

| options.force | boolean | false | 强制重新转换已转换文件 |

#### 批量转换

POST /api/auto-loop/docs/convert
Content-Type: application/json

{
  "options": {
    "limit": 10,
    "enhanceWithLlm": false,
    "experienceFooter": true
  }
}

不指定file时为批量模式,limit控制每次转换数量(默认10)。

注意: 首次批量转换建议关闭enhanceWithLlm,因为LLM调用较慢。先快速转换所有文档,后续再逐篇增强。

#### 查看转换状态

GET /api/auto-loop/docs/status

响应示例:

json

{

"success": true,

"data": {

"totalDocs": 99,

"convertedCount": 7,

"unconvertedCount": 92,

"lastScan": null,

"recentConversions": [

{

"file": "ARCHITECTURE.md",

"contentId": "CONTENT-00016",

"title": "左帮右臂 — 技术架构说明",

"category": "系统架构",

"keywords": ["ARCHITECTURE", "架构文档索引", ...],

"convertedAt": "2026-07-05T07:40:12.476Z"

}

]

}

}

3.3 分类自动推断

系统根据文件名和内容关键词自动推断分类:

| 关键词 | 分类 |

|--------|------|

| SCSAI, aml | SCSAI集成 |

| architecture, 框架, 系统 | 系统架构 |

| bom, 工艺, process | 制造工艺 |

| api, 接口, route | API文档 |

| deploy, 部署, docker | 部署运维 |

| agent, 智能体, digital | 智能体 |

| content, 内容, 营销 | 内容营销 |

| rule, 规则 | 规则引擎 |

| doc, 文档 | 文档管理 |

| 其他 | 技术文档 |

3.4 转换追踪

转换记录存储在server/data/docs-converted.json,包含:

  • 文件名 → 内容ID映射
  • 标题、分类、关键词
  • 转换时间

已转换的文件不会重复转换(除非设置force: true)。


4. 内容数字员工链路

4.1 工作原理

AutoLoopService.runContentPipeline()从doc_assets表读取已审核文档,通过ContentEngine生成内容,经质量检查和去AI味后存入ContentStore。

4.2 手动触发Pipeline

POST /api/auto-loop/pipeline/run

注意: Pipeline需要LLM可用,如果LLM不可用会超时。建议优先使用DocsConverter转换docs/目录文档。

4.3 内容质量检查

系统自动检测以下问题:

| 检查项 | 说明 | 阈值 |

|--------|------|------|

| AI味检测 | 检测"综上所述""值得一提的是"等AI味词汇 | aiScore > 30 触发去AI味 |

| 内部字段泄露 | 检测config_id、permission_id等SCSAI内部字段 | 出现即标记 |

| 内容完整性 | 检测内容长度 | < 100字标记为不完整 |

4.4 内容API

端点方法说明
/api/content/listGET内容列表(支持分页、筛选)
/api/content/generatePOST生成新内容
/api/content/refinePOST去AI味优化
/api/content/publishPOST发布内容

5. 营销数字员工链路

5.1 完整流程

已发布内容 → 发现可推广内容 → 生成平台变体 → 审核 → 发布

5.2 发现可推广内容

GET /api/auto-loop/marketing/discover

返回所有已发布(published/refined)但尚未生成营销变体的内容。

5.3 生成营销变体

#### 单平台变体

POST /api/auto-loop/marketing/variant
Content-Type: application/json

{
  "content_id": "CONTENT-00009",
  "platforms": ["wechat"]
}

#### 多平台批量变体

POST /api/auto-loop/marketing/variant
Content-Type: application/json

{
  "content_id": "CONTENT-00009",
  "platforms": ["wechat", "zhihu", "csdn"]
}

5.4 审核变体

POST /api/auto-loop/marketing/variant/{variantId}/review
Content-Type: application/json

{
  "action": "approve",
  "note": "内容质量良好,可以发布"
}

| action | 说明 |

|--------|------|

| approve | 审核通过,状态变为approved |

| reject | 审核拒绝,状态变为rejected |

5.5 发布变体

POST /api/auto-loop/marketing/variant/{variantId}/publish

只有approved状态的变体才能发布。

5.6 查看变体列表

GET /api/auto-loop/marketing/variants?platform=wechat&status=published&page=1&pageSize=20

5.7 营销统计

GET /api/auto-loop/marketing/stats

响应示例:

json

{

"success": true,

"data": {

"total": 4,

"byStatus": { "draft": 1, "published": 3 },

"byPlatform": { "wechat": 4 }

}

}


6. CMS体验入口

6.1 配置体验入口

内容中心 → 设置页面的"体验入口与购买链接"卡片中配置:

| 配置项 | 说明 | 示例 |

|--------|------|------|

| 启用体验Footer | 是否在文章底部追加体验入口 | 启用/禁用 |

| 体验链接 | 点击"体验"按钮跳转的URL | https://miniapp.example.com/experience |

| 购买/咨询链接 | 点击"购买"按钮跳转的URL | https://miniapp.example.com/buy |

| 分享链接 | 点击"分享"按钮跳转的URL | https://miniapp.example.com/share |

| 体验按钮文字 | 自定义体验按钮文字 | "免费体验" |

| 购买按钮文字 | 自定义购买按钮文字 | "立即购买" |

| 分享按钮文字 | 自定义分享按钮文字 | "转发好友" |

| 品牌名称 | Footer底部品牌标识 | "左帮右臂 · PLM智能体" |

| 二维码图片 | 上传或粘贴Base64编码的二维码 | 支持PNG/JPG |

小程序集成: 体验链接和购买链接可以指向小程序路径(如微信小程序的 weixin://dl/business/?appid=xxx),用户点击即可跳转小程序。

6.2 配置存储

配置存储在 server/config/content-config.jsonexperienceFooter 字段:

json

{

"experienceFooter": {

"enabled": true,

"experienceUrl": "https://miniapp.example.com/experience",

"purchaseUrl": "https://miniapp.example.com/buy",

"qrCodeBase64": "data:image/png;base64,...",

"shareUrl": "https://miniapp.example.com/share",

"experienceButtonText": "免费体验",

"purchaseButtonText": "立即购买",

"shareButtonText": "转发好友",

"brandName": "左帮右臂 · PLM智能体"

}

}

6.3 体验Footer效果

文章底部自动追加的Footer包含:

  • 标题 — "想亲自体验{文章标题}?"
  • 体验按钮 — 链接到配置的体验URL(白色按钮,蓝字)
  • 购买按钮 — 链接到配置的购买URL(红色按钮,白字),仅在配置了purchaseUrl时显示
  • 分享按钮 — 链接到配置的分享URL(半透明白色按钮)
  • 二维码 — 配置了qrCodeBase64时显示,带"扫码体验"提示
  • 品牌标识 — 配置的brandName

6.4 通过API配置

PUT /api/content/config
Content-Type: application/json

{
  "experienceFooter": {
    "enabled": true,
    "experienceUrl": "https://your-miniapp.com/experience",
    "purchaseUrl": "https://your-miniapp.com/buy",
    "qrCodeBase64": "data:image/png;base64,...",
    "shareUrl": "https://your-miniapp.com/share",
    "experienceButtonText": "免费体验",
    "purchaseButtonText": "立即购买",
    "shareButtonText": "转发好友",
    "brandName": "左帮右臂 · PLM智能体"
  }
}
`
### 6.5 关闭体验Footer

方式一:设置页关闭"启用体验Footer"

方式二:转换时设置 `experienceFooter: false`:

`json
{ "file": "README.md", "options": { "experienceFooter": false } }
`

### 6.6 链接未配置时的行为

| 链接 | 未配置时 |
|------|----------|
| experienceUrl | 使用默认 `/experience?topic={标题}&category={分类}` |
| purchaseUrl | 不显示购买按钮 |
| shareUrl | 使用默认 `/share?title={标题}&source=docs` |
| qrCodeBase64 | 不显示二维码区域 |

---

## 7. 分享裂变系统

### 7.1 工作原理

分享系统使用**AES-256-CBC加密**生成分享Token,确保分享链接不可伪造:

1. 创建分享时,将`{sessionId, skillId, timestamp, nonce}`加密为Token
2. 分享链接格式:`/share/{encryptedToken}`
3. 解析分享时,解密Token获取原始信息
4. 记录点击次数和注册转化

### 7.2 创建分享链接

POST /api/auto-loop/share/create

Content-Type: application/json

{

"skill_id": "skill_content_gen",

"result_snapshot": {

"summary": "制造业数字化转型实践",

"content": "..."

},

"session_id": "user-session-123"

}


响应:

`json
{
  "success": true,
  "data": {
    "share_token": "+oJs5PazgWLSYmB...",
    "share_url": "/share/+oJs5PazgWLSYmB...",
    "expires_at": "2026-08-04T08:00:00.000Z",
    "watermark_text": "Powered by SCSAi PLM"
  }
}
`
### 7.3 解析分享链接

GET /api/auto-loop/share/{token}


响应包含原始Skill结果、是否过期、是否提示注册。

### 7.4 记录分享点击

POST /api/auto-loop/share/click

Content-Type: application/json

{

"token": "+oJs5PazgWLSYmB...",

"new_user_id": "newly-registered-user-id"

}


### 7.5 分享配置

| 配置项 | 默认值 | 说明 |
|--------|--------|------|
| `share_expire_days` | 30 | 分享链接过期天数 |
| `guest_daily_limit` | 10 | 访客每日体验次数 |

通过`PUT /api/auto-loop/config`修改。

---

## 8. Skill体验系统

### 8.1 可用Skill列表

| Skill ID | 名称 | 图标 | 说明 |
|----------|------|------|------|
| `skill_bom_compare` | BOM比对 | 📊 | 上传两份BOM数据,AI自动对比差异 |
| `skill_process_optimize` | 工艺优化 | ⚙️ | 输入工艺参数,AI分析优化建议 |
| `skill_content_gen` | 内容生成 | ✍️ | 输入主题关键词,AI生成文章 |
| `skill_data_health` | 数据健康检查 | 🩺 | 一键检查PLM数据质量 |
| `skill_doc_chat` | 文档问答 | 💬 | 基于技术文档智能问答 |

### 8.2 执行Skill

POST /api/auto-loop/skill/execute

Content-Type: application/json

{

"skill_id": "skill_content_gen",

"input_params": {

"topic": "制造业数字化转型实践",

"keywords": "PLM, BOM, 数字化",

"style": "professional"

},

"session_id": "user-session-123"

}


响应:

`json
{
  "success": true,
  "data": {
    "skill_id": "skill_content_gen",
    "result": {
      "summary": "内容生成结果",
      "content": "<h2>制造业数字化转型实践</h2>..."
    },
    "result_template": { "type": "article" },
    "is_demo": true,
    "demo_label": "⚠️ 演示数据"
  }
}
`
### 8.3 访客模式

- 无Bearer Token的请求默认为访客模式
- 访客获得演示数据(`is_demo: true`)
- 访客每日限制10次体验(可配置)
- 超出限制返回429错误

### 8.4 注册用户模式

- 携带有效Bearer Token的请求走真实API
- 调用Skill对应的`api_endpoint`
- 无次数限制
- 返回真实数据(`is_demo: false`)

### 8.5 查询使用次数

GET /api/auto-loop/skill/usage?session_id=user-session-123


响应:

`json
{
  "success": true,
  "data": {
    "today_count": 3,
    "daily_limit": 10,
    "remaining": 7
  }
}
`
---

## 9. 闭环指标与配置

### 9.1 闭环指标

GET /api/auto-loop/metrics?date=2026-07-05&period=day


| 指标 | 说明 |
|------|------|
| `content_generated` | 今日生成内容数 |
| `content_published` | 今日发布内容数 |
| `guest_visits` | 访客访问数 |
| `skill_executions` | Skill执行次数 |
| `share_count` | 分享创建数 |
| `share_clicks` | 分享点击数 |
| `share_conversions` | 分享转化注册数 |
| `knowledge_deposited` | 知识沉淀数 |

### 9.2 闭环配置

GET /api/auto-loop/config


PUT /api/auto-loop/config

Content-Type: application/json

{

"recommend_weight_threshold": 0.3,

"marketing_trigger_growth": 0.5,

"share_expire_days": 30,

"guest_daily_limit": 10,

"auto_publish_mode": "manual_review",

"evolution_cron": "0 2 *"

}


| 配置 | 默认 | 说明 |
|------|------|------|
| `auto_publish_mode` | `manual_review` | `auto_publish`自动发布(质量≥80),`manual_review`手动审核 |
| `share_expire_days` | 30 | 分享链接过期天数 |
| `guest_daily_limit` | 10 | 访客每日体验次数 |
| `evolution_cron` | `0 2 * * *` | 自进化分析定时 |

---

## 10. 完整API参考

### 10.1 Skill相关

| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/auto-loop/skills` | GET | 获取Skill列表 |
| `/api/auto-loop/skill/execute` | POST | 执行Skill |
| `/api/auto-loop/skill/usage` | GET | 查询使用次数 |

### 10.2 文档转换

| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/auto-loop/docs/scan` | GET | 扫描docs/目录 |
| `/api/auto-loop/docs/convert` | POST | 转换文档(单个或批量) |
| `/api/auto-loop/docs/status` | GET | 查看转换状态 |

### 10.3 内容链路

| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/auto-loop/pipeline/run` | POST | 运行内容Pipeline |

### 10.4 营销变体

| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/auto-loop/marketing/discover` | GET | 发现可推广内容 |
| `/api/auto-loop/marketing/variant` | POST | 生成营销变体 |
| `/api/auto-loop/marketing/variants` | GET | 变体列表 |
| `/api/auto-loop/marketing/variant/{id}/review` | POST | 审核变体 |
| `/api/auto-loop/marketing/variant/{id}/publish` | POST | 发布变体 |
| `/api/auto-loop/marketing/stats` | GET | 营销统计 |

### 10.5 分享裂变

| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/auto-loop/share/create` | POST | 创建分享链接 |
| `/api/auto-loop/share/{token}` | GET | 解析分享链接 |
| `/api/auto-loop/share/click` | POST | 记录分享点击 |

### 10.6 行为与指标

| 端点 | 方法 | 说明 |
|------|------|------|
| `/api/auto-loop/behavior/report` | POST | 上报行为数据 |
| `/api/auto-loop/metrics` | GET | 闭环指标 |
| `/api/auto-loop/config` | GET/PUT | 闭环配置 |
| `/api/auto-loop/catalog` | GET | 数据目录 |

---

## 11. 常见问题

### Q1: 批量转换99篇文档太慢怎么办?

关闭LLM增强,先快速转换所有文档:

`json
POST /api/auto-loop/docs/convert
{ "options": { "limit": 99, "enhanceWithLlm": false, "experienceFooter": true } }
`
后续可对单篇文档设置`force: true`重新转换并启用LLM增强。

### Q2: 如何让文章自动发布?

修改闭环配置:

`json
PUT /api/auto-loop/config
{ "auto_publish_mode": "auto_publish" }
`
质量评分≥80的文章会自动发布。

### Q3: 分享链接如何集成到外部CMS?

1. 调用`POST /api/auto-loop/share/create`获取分享URL
2. 将`share_url`嵌入CMS文章或页面
3. 访客点击后看到Skill演示结果+注册引导

### Q4: 如何添加新的Skill?

编辑`server/config/auto-loop-skills.json`,添加新Skill配置:

`json
{
  "skill_id": "skill_my_custom",
  "name": "自定义Skill",
  "description": "Skill描述",
  "icon": "🔧",
  "api_endpoint": "/api/my-endpoint",
  "api_method": "POST",
  "input_template": {
    "fields": [
      { "key": "param1", "label": "参数1", "type": "text", "required": true }
    ]
  },
  "result_template": { "type": "list" },
  "is_public": true,
  "daily_limit_guest": 10,
  "sort_order": 50
}
`
同时在`auto-loop-service.js`的`_getDemoData()`中添加对应的演示数据。

### Q5: 如何自定义体验Footer?

修改`server/core/docs-converter.js`中的`_appendExperienceFooter()`方法。可自定义:
- 按钮文字和链接
- 颜色和样式
- 二维码图片(使用`<img src="data:image/png;base64,...">`)
- 添加"咨询购买"按钮

### Q6: 营销变体的LLM生成失败怎么办?

系统会自动降级为简单适配(提取原文前15段),变体仍会创建,状态为`draft`,可手动编辑后审核发布。

### Q7: 如何查看所有已转换文档的内容?

GET /api/content/list?pageSize=100

``

source: docs-converter筛选即为所有转换文档。

Q8: 服务器端口是多少?

默认端口3006,访问地址https://ylxt.chat

Q9: 如何与外部CMS系统对接?

方案一:API拉取

外部CMS定时调用/api/content/list?status=published拉取已发布内容。

方案二:Webhook推送

marketing-service.jspublishVariant()中添加Webhook通知,发布后推送到外部CMS。

方案三:文件导出

调用/api/content/list获取内容,将HTML导出为文件,由CMS导入。


附录:快速开始

一键转换docs文档并发布

bash

1. 启动服务器

node server.js

2. 批量转换docs文档(关闭LLM加速)

curl -X POST https://ylxt.chat/api/auto-loop/docs/convert \

-H "Content-Type: application/json" \

-d '{"options": {"limit": 99, "enhanceWithLlm": false, "experienceFooter": true}}'

3. 查看转换状态

curl https://ylxt.chat/api/auto-loop/docs/status

4. 发现可推广内容

curl https://ylxt.chat/api/auto-loop/marketing/discover

5. 生成微信变体

curl -X POST https://ylxt.chat/api/auto-loop/marketing/variant \

-H "Content-Type: application/json" \

-d '{"content_id": "CONTENT-00001", "platforms": ["wechat"]}'

6. 审核发布

curl -X POST https://ylxt.chat/api/auto-loop/marketing/variant/MKT-xxx/review \

-H "Content-Type: application/json" \

-d '{"action": "approve"}'

curl -X POST https://ylxt.chat/api/auto-loop/marketing/variant/MKT-xxx/publish

7. 查看闭环指标

curl https://ylxt.chat/api/auto-loop/metrics

`

← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁