MB-X Bilibili Pipeline
6 days ago 88ccf6fd6c18ef6cad3ce12015b585d493a60aa3
项目配置清单.md
@@ -19,6 +19,8 @@
- infoadmin: name=project-info 项目管理员 private_dir=ai-infoadmin roles=project.admin session=019fbb4d-2ccb-7bd2-93bc-f57332d484a9
- laoyan: name=案例分析员 private_dir=ai-laoyan roles=case_analysis.analyst,experiment.experimenter,dev.developer.ana,dev.developer.exp session=019ef54e-6978-76d3-bb78-081fa2c4b188
- manual-case-analyst: name=人工案例分析员 private_dir=ai-manual-case-analyst roles=case_analysis.analyst.manual session=019fbddb-2bbf-7b41-a13e-099af77d2d6a
- manual-case-analyst-2: name=人工案例分析员-2 private_dir=ai-manual-case-analyst-2 roles=case_analysis.analyst.manual.secondary session=019ff986-6d72-7273-b58a-b7d4b0477d20
- valuation-analyst: name=股票价值评估员 private_dir=ai-valuation-analyst roles=case_analysis.analyst.valuation session=019fb338-fe89-7d52-9ba6-513e82de54d8
- laoshen: name=案例与实验审核员 private_dir=ai-laoshen roles=experiment.reviewer,case_analysis.reviewer,dev.reviewer.ana,dev.reviewer.exp session=019ef550-45ac-7b43-aa24-2731d01dba9b
- laoyan-cai: name=案例分析员 cai private_dir=ai-laoyan-cai roles=case_analysis.analyst.cai,experiment.experimenter.cai,dev.developer.ana.cai,dev.developer.exp.cai session=019f26b8-a58a-72c0-9a03-4046a41e37b1
- laoshen-cai: name=案例审核员 cai private_dir=ai-laoshen-cai roles=case_analysis.reviewer.cai,experiment.reviewer.cai,dev.reviewer.ana.cai,dev.reviewer.exp.cai session=019f26ba-dfe4-7802-aaa3-3a1c5f0b8245
@@ -27,14 +29,19 @@
- infodev-2: name=项目日常开发员-2 private_dir=ai-infodev-2 roles=dev.developer.project.secondary session=019fbcbb-bed7-7c90-83ab-f50610f80d3a
- inforev: name=项目日常开发审核员 private_dir=ai-inforev roles=dev.reviewer.project session=019fb7c5-e1fd-7df0-8ec9-c87edea4215d
- media-processor: name=视频处理员 private_dir=ai-media-processor roles=case_analysis.media_processor session=019fb7a4-bdfd-79f2-bd6b-e67e2b7d8efd
- video-downloader: name=视频下载员 private_dir=ai-video-downloader roles=case_analysis.video_downloader session=019fcc5d-798f-7ea1-8325-3a4d1f2dc5a5
- junyan: name=军工调研员 private_dir=ai-junyan roles=case_analysis.analyst.defense session=019fb93f-6f92-7ce3-a596-560767ce444d
- junshen: name=军工审核员 private_dir=ai-junshen roles=case_analysis.reviewer.defense session=019fb93f-899c-77a1-b0ea-a50d7eb5f2a4
- newenergy-analyst: name=新能源调研员 private_dir=ai-newenergy-analyst roles=case_analysis.analyst.new_energy session=019fcc5d-4fdc-76c3-8117-2aae0ea396b1
- newenergy-reviewer: name=新能源审核员 private_dir=ai-newenergy-reviewer roles=case_analysis.reviewer.new_energy session=019fcc5d-6450-7f20-b0e3-b0119818ec36
- meeting-minutes: name=会议纪要整理员 private_dir=ai-meeting-minutes roles=case_analysis.meeting_minutes_processor session=019fae88-ef98-7f83-b964-dcd4c5f842ef
## 角色实例
- project.admin: system=project role_key=admin ai=infoadmin private_dir=ai-infoadmin session=019fbb4d-2ccb-7bd2-93bc-f57332d484a9
- case_analysis.analyst: system=case_analysis role_key=analyst ai=laoyan private_dir=ai-laoyan session=019ef54e-6978-76d3-bb78-081fa2c4b188
- case_analysis.analyst.manual: system=case_analysis role_key=analyst.manual ai=manual-case-analyst private_dir=ai-manual-case-analyst session=019fbddb-2bbf-7b41-a13e-099af77d2d6a
- case_analysis.analyst.manual.secondary: system=case_analysis role_key=analyst.manual.secondary ai=manual-case-analyst-2 private_dir=ai-manual-case-analyst-2 session=019ff986-6d72-7273-b58a-b7d4b0477d20
- case_analysis.analyst.valuation: system=case_analysis role_key=analyst.valuation ai=valuation-analyst private_dir=ai-valuation-analyst session=019fb338-fe89-7d52-9ba6-513e82de54d8
- experiment.reviewer: system=experiment role_key=reviewer ai=laoshen private_dir=ai-laoshen session=019ef550-45ac-7b43-aa24-2731d01dba9b
- case_analysis.reviewer: system=case_analysis role_key=reviewer ai=laoshen private_dir=ai-laoshen session=019ef550-45ac-7b43-aa24-2731d01dba9b
- experiment.experimenter: system=experiment role_key=experimenter ai=laoyan private_dir=ai-laoyan session=019ef54e-6978-76d3-bb78-081fa2c4b188
@@ -55,8 +62,11 @@
- dev.developer.project.secondary: system=dev role_key=developer.project.secondary ai=infodev-2 private_dir=ai-infodev-2 session=019fbcbb-bed7-7c90-83ab-f50610f80d3a
- dev.reviewer.project: system=dev role_key=reviewer.project ai=inforev private_dir=ai-inforev session=019fb7c5-e1fd-7df0-8ec9-c87edea4215d
- case_analysis.media_processor: system=case_analysis role_key=media_processor ai=media-processor private_dir=ai-media-processor session=019fb7a4-bdfd-79f2-bd6b-e67e2b7d8efd
- case_analysis.video_downloader: system=case_analysis role_key=video_downloader ai=video-downloader private_dir=ai-video-downloader session=019fcc5d-798f-7ea1-8325-3a4d1f2dc5a5 scopes=ana-data/cases,ana-data/tmp,ana-data/news-*,F:\video\<博主名>,ai-video-downloader
- case_analysis.analyst.defense: system=case_analysis role_key=analyst.defense ai=junyan private_dir=ai-junyan session=019fb93f-6f92-7ce3-a596-560767ce444d
- case_analysis.reviewer.defense: system=case_analysis role_key=reviewer.defense ai=junshen private_dir=ai-junshen session=019fb93f-899c-77a1-b0ea-a50d7eb5f2a4
- case_analysis.analyst.new_energy: system=case_analysis role_key=analyst.new_energy ai=newenergy-analyst private_dir=ai-newenergy-analyst session=019fcc5d-4fdc-76c3-8117-2aae0ea396b1
- case_analysis.reviewer.new_energy: system=case_analysis role_key=reviewer.new_energy ai=newenergy-reviewer private_dir=ai-newenergy-reviewer session=019fcc5d-6450-7f20-b0e3-b0119818ec36
- case_analysis.meeting_minutes_processor: system=case_analysis role_key=meeting_minutes_processor ai=meeting-minutes private_dir=ai-meeting-minutes session=019fae88-ef98-7f83-b964-dcd4c5f842ef
## AI 角色与权限
@@ -66,6 +76,8 @@
| infoadmin | project.admin | project-info 项目管理员 | ai-infoadmin/ | 否 | 019fbb4d-2ccb-7bd2-93bc-f57332d484a9 |
| laoyan | case_analysis.analyst | 案例分析员 | ai-laoyan/ | 否 | 019ef54e-6978-76d3-bb78-081fa2c4b188 |
| manual-case-analyst | case_analysis.analyst.manual | 人工案例分析员 | ai-manual-case-analyst/ | 否 | 019fbddb-2bbf-7b41-a13e-099af77d2d6a |
| manual-case-analyst-2 | case_analysis.analyst.manual.secondary | 人工案例分析员-2 | ai-manual-case-analyst-2/ | 否 | 019ff986-6d72-7273-b58a-b7d4b0477d20 |
| valuation-analyst | case_analysis.analyst.valuation | 股票价值评估员 | ai-valuation-analyst/ | 否 | 019fb338-fe89-7d52-9ba6-513e82de54d8 |
| laoshen | experiment.reviewer | 实验审核员 | ai-laoshen/ | 是 | 019ef550-45ac-7b43-aa24-2731d01dba9b |
| laoshen | case_analysis.reviewer | 案例审核员 | ai-laoshen/ | 是 | 019ef550-45ac-7b43-aa24-2731d01dba9b |
| laoyan | experiment.experimenter | 实验员 | ai-laoyan/ | 否 | 019ef54e-6978-76d3-bb78-081fa2c4b188 |
@@ -86,9 +98,26 @@
| infodev-2 | dev.developer.project.secondary | 项目日常开发员-2 | ai-infodev-2/ | 否 | 019fbcbb-bed7-7c90-83ab-f50610f80d3a |
| inforev | dev.reviewer.project | 项目日常开发审核员 | ai-inforev/ | 是 | 019fb7c5-e1fd-7df0-8ec9-c87edea4215d |
| media-processor | case_analysis.media_processor | 视频处理员 | ai-media-processor/ | 否 | 019fb7a4-bdfd-79f2-bd6b-e67e2b7d8efd |
| video-downloader | case_analysis.video_downloader | 视频下载员 | ai-video-downloader/ | 否 | 019fcc5d-798f-7ea1-8325-3a4d1f2dc5a5 |
| junyan | case_analysis.analyst.defense | 军工调研员 | ai-junyan/ | 否 | 019fb93f-6f92-7ce3-a596-560767ce444d |
| junshen | case_analysis.reviewer.defense | 军工审核员 | ai-junshen/ | 是 | 019fb93f-899c-77a1-b0ea-a50d7eb5f2a4 |
| newenergy-analyst | case_analysis.analyst.new_energy | 新能源调研员 | ai-newenergy-analyst/ | 否 | 019fcc5d-4fdc-76c3-8117-2aae0ea396b1 |
| newenergy-reviewer | case_analysis.reviewer.new_energy | 新能源审核员 | ai-newenergy-reviewer/ | 是 | 019fcc5d-6450-7f20-b0e3-b0119818ec36 |
| meeting-minutes | case_analysis.meeting_minutes_processor | 会议纪要整理员 | ai-meeting-minutes/ | 否 | 019fae88-ef98-7f83-b964-dcd4c5f842ef |
### 人工案例分析池调度
- 池成员:`case_analysis.analyst.manual`、`case_analysis.analyst.manual.secondary`。
- 用户或项目管理员有新的人工案例任务时,优先交给当前空闲的成员;同一事项保持一个明确 owner,除非任务本身明确拆分。
- 两个角色共用项目现有案例审核能力;普通、低风险、可回滚工作由安排者直接验收,只有确需独立审核的正式结论才进入审核。
### 视频下载员动态采集范围
- 角色:`case_analysis.video_downloader`;长期职责包括采集用户明确授权访问的 B 站关注博主动态,内容类型覆盖纯文字、文章正文、图片原件和视频原件,并维护来源、去重键、哈希、状态与处理交接 manifest。
- 项目内正式范围:`ana-data/news-<博主名>/`;保存纯文字、文章正文、图片、manifest,以及由 `case_analysis.media_processor` 生成的视频转写文本。视频下载员不自行转写或分析内容。
- 外部视频原件范围:`F:\video\<博主名>\`;这是用户指定的大体积视频原件跨磁盘落点,属于全局规范允许的“跨磁盘不可避免且说明原因”例外,只能写入请求中明确授权的博主子目录,不得扩大到 `F:\video\` 其他内容。
- 当前首个授权实例:博主 `青枫浦上Q`;动态入口 `https://space.bilibili.com/1420210197/dynamic`;项目内容落点 `ana-data/news-青枫浦上Q/`;视频原件落点 `F:\video\青枫浦上Q\`。
- 职责分离:视频下载员负责动态盘点、文章/文字提取、图片与视频原件下载、归档、校验、manifest 和原生任务交接;`case_analysis.media_processor` 负责视频/音频/字幕处理与转写。新增博主必须先有明确来源与授权落点;登录、验证码、会员、DRM 或其他访问控制不得绕过。
## 目录映射
@@ -113,6 +142,8 @@
| ai-infoadmin/ | ai-workspace | infoadmin 私有工作空间 |
| ai-laoyan/ | ai-workspace | laoyan 私有工作空间 |
| ai-manual-case-analyst/ | ai-workspace | manual-case-analyst 私有工作空间 |
| ai-manual-case-analyst-2/ | ai-workspace | manual-case-analyst-2 私有工作空间 |
| ai-valuation-analyst/ | ai-workspace | valuation-analyst 私有工作空间 |
| ai-laoshen/ | ai-workspace | laoshen 私有工作空间 |
| ai-laoyan-cai/ | ai-workspace | laoyan-cai 私有工作空间 |
| ai-laoshen-cai/ | ai-workspace | laoshen-cai 私有工作空间 |
@@ -121,12 +152,19 @@
| ai-infodev-2/ | ai-workspace | infodev-2 私有工作空间 |
| ai-inforev/ | ai-workspace | inforev 私有工作空间 |
| ai-media-processor/ | ai-workspace | media-processor 私有工作空间 |
| ai-video-downloader/ | ai-workspace | video-downloader 私有工作空间 |
| ana-data/news-<博主名>/ | role-formal-pattern | 用户授权博主的文字、文章、图片、manifest 与视频转写文本;当前实例为 news-青枫浦上Q |
| F:\video\<博主名>\ | external-role-storage | 用户指定的跨磁盘视频原件目录;按已授权博主子目录隔离,不授权 F:\video\ 其他内容 |
| ai-junyan/ | ai-workspace | junyan 私有工作空间 |
| ai-junshen/ | ai-workspace | junshen 私有工作空间 |
| ai-newenergy-analyst/ | ai-workspace | newenergy-analyst 私有工作空间 |
| ai-newenergy-reviewer/ | ai-workspace | newenergy-reviewer 私有工作空间 |
| ai-meeting-minutes/ | ai-workspace | meeting-minutes 私有工作空间 |
| ai-infoadmin/ | role-private | project.admin 绑定工作空间 |
| ai-laoyan/ | role-private | case_analysis.analyst 绑定工作空间 |
| ai-manual-case-analyst/ | role-private | case_analysis.analyst.manual 绑定工作空间 |
| ai-manual-case-analyst-2/ | role-private | case_analysis.analyst.manual.secondary 绑定工作空间 |
| ai-valuation-analyst/ | role-private | case_analysis.analyst.valuation 绑定工作空间 |
| ai-laoshen/ | role-private | experiment.reviewer 绑定工作空间 |
| ai-laoshen/ | role-private | case_analysis.reviewer 绑定工作空间 |
| ai-laoyan/ | role-private | experiment.experimenter 绑定工作空间 |
@@ -147,8 +185,11 @@
| ai-infodev-2/ | role-private | dev.developer.project.secondary 绑定工作空间 |
| ai-inforev/ | role-private | dev.reviewer.project 绑定工作空间 |
| ai-media-processor/ | role-private | case_analysis.media_processor 绑定工作空间 |
| ai-video-downloader/ | role-private | case_analysis.video_downloader 绑定工作空间 |
| ai-junyan/ | role-private | case_analysis.analyst.defense 绑定工作空间 |
| ai-junshen/ | role-private | case_analysis.reviewer.defense 绑定工作空间 |
| ai-newenergy-analyst/ | role-private | case_analysis.analyst.new_energy 绑定工作空间 |
| ai-newenergy-reviewer/ | role-private | case_analysis.reviewer.new_energy 绑定工作空间 |
| ai-meeting-minutes/ | role-private | case_analysis.meeting_minutes_processor 绑定工作空间 |
| dev/ana-dev/ | dev-target-code | ana 目标开发工作区 |
| dev/ana-dev/test/ | dev-target-test | ana 目标开发工作区 |