Files
dsh_mcn_agent/profiles/web/node_modules/dsh-plugin-mcn/docs/外部账号导入处理规范.md
T

67 lines
4.2 KiB
Markdown
Raw Normal View History

# 外部账号数据导入处理规范
> 适用范围:`/mcn/api/external/stage → preview → import`(data 模式)链路中,AI 对
> `…/账号对标/<账号名>/` 文件夹的归一化处理。首次沉淀:2026-08-16 王微斯账号导入(1 账号 / 54 视频 / 14 分析)。
---
## 一、目录结构识别
| 文件 | 用途 |
|------|------|
| `账号信息.json` | 账号资料 → `accounts` |
| `短视频表格.xlsx` | 13 列视频表 → `videos`(54 条) |
| `*账号设定.md` | → `analyses[persona]`;**同时是「定位/内容」的提取来源** |
| `*账号数据分析.md` | → `analyses[account]` |
| `视频对标/<视频标题>/` 下:`*_拆解分析.md` + `原视频解析.json`(或 `content.json`+`analysis.json`) | → `analyses[video]`;json 的 `title` 用于匹配 xlsx 视频 |
> 注:`原视频解析.json` 与 `analysis.json`+`content.json` 是同一批解析数据的两种导出变体,
> 均含 `title`,匹配时先读 `原视频解析.json`、没有再读 `content.json`。
---
## 二、定位/内容(hot_accounts.content)提取规则 ★核心
1. **来源**:`*账号设定.md` 的「一、账号核心定位」章节(键:赛道 / 账号类型 / 核心受众 / 核心标签 / 内容路线 / 情绪锚点 …)。
2. **必须转纯文本段落**:去掉 markdown 表格样式(`|`、`---`、`**` 加粗标记),格式为 `键名:值` 逐行段落。
3. **不得与简介(bio)相同**:`content` 与 `bio` 是两个字段。
- 账号信息.json 里只有 bio,没有定位 → 定位一律从账号设定.md 提取;
- 提取不到时才允许用 `bio` 兜底(代码层已实现 `content: info.content || info.bio`,data 模式传 `content` 优先)。
4. **赛道(hot_accounts.track)**:从「账号核心定位」的「赛道」键提取,**取第一个主赛道**(`" / "` 分隔取首段),如 `生活vlog赛道`;代码层已支持 `track: info.track`。
4. **示例(王微斯,已入库)**:
```
赛道:生活vlog赛道 / 甜宠情感剧情 / 乙女向沉浸体验
账号类型:固定主角+轮换搭档——女主王微斯固定不变,每期搭讪不同类型高颜值男主,但风格统一、情绪底色一致
核心受众:18-35岁女性、磕糖爱好者、颜控党、乙女向代入感爱好者,对浪漫邂逅有情感投射的年轻群体
核心标签:第一视角沉浸撩汉 + 直球拽姐拿捏 + 纯情帅哥反差萌破防
内容路线:街头搭讪破冰 → 极限推拉互撩 → 肢体接触升温 → 深夜交心破防 → 浪漫收尾升华
情绪锚点:王微斯 = 替所有女生完成"主动追帅哥"的爽文体验,每期换一个帅哥被她拿捏
```
---
## 三、其余归一化规则(沿用)
### accounts
- `nickname → account_name`;`douyin_id` / `sec_uid` 保持字符串;
- `followers` / `total_likes` 保留展示格式(如 `409.2万`);`works_count` / `age` 转 int;
- 丢弃非标准字段(如 `video_count_collected`);可附 `source_dir` 溯源。
### videos(xlsx 13 列)
- 列名别名匹配:视频ID / 视频标题 / 视频地址 / 点赞数 / 点赞(显示) / 评论数 / 分享数 / 收藏数 / 播放量 / 视频时长 / 发布时间 / 标签;
- `tags` 按逗号拆分数组(保留 `#` 前缀);
- 数字列转 int;`duration` / `publish_time` 保留源格式字符串;
- 播放量为 0 属源数据缺失,照实入库。
### analyses
- `persona`:`*账号设定.md` 全文;
- `account`:`*账号数据分析.md` 全文;
- `video`:`*_拆解分析.md` 全文;`video_aweme_id` **必须**匹配到 xlsx 视频:
匹配优先级 = json title 精确 → 归一化包含(去空白/标点)→ 相似度 >0.8 → md 头部「视频标题」→ 文件夹名首段;
- `summary`:优先取 md 内「结论/核心定位/核心结论」章节,取不到用开头 200 字。
### 其他
- 去重由脚本层处理(content 字节精确比对);
- ⚠️ Python 读文件默认 CRLF→LF 归一,需按源文件**字节精确**回写(`open(p,'rb').read().decode('utf-8')`),否则 dir 模式去重比对失败;
- 大体积 data 请求需服务端 readBody 已修复(Buffer 拼接解码),否则多字节字符可能损坏为 U+FFFD。