# 外部账号数据导入处理规范 > 适用范围:`/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。