Skip to main content
Glama

🔀 内容路由器 · Content Router

一份素材进去,多种成品出来。

写一次,改四次 —— 这是多平台创作者最耗命的地方。 内容路由器把「这篇该做成什么」变成一道可计算的问题:11 维内容画像 → 智能推荐 → 一键调度。

License Python Deps

M8ven Verified


🚧 先说边界:它管「做成什么」,不管「发到哪」

这是两件事,别混:

你的问题

该用谁

这篇素材该做成什么?PPT、信息图、漫画还是短视频?

内容路由器(本仓库)

文章写完了,怎么改成知乎版 / CSDN 版 / 小红书版?

content-creator-skills 里的 multi-platform-rewrite

  • 路由器推荐的是跨媒介形态——媒介变了:文字 → 图表 / 视频 / 漫画 / PPT / 可复用技能。

  • 平台改写是同媒介换平台——还是文章,只换读者、语气和钩子。

两者的关系是上下游:先路由,再改写。路由器告诉你这篇值不值得做成视频,改写技能负责把它写成视频号能发的样子。 本仓库不碰平台改写,那条线交给 content-creator-skills。

Related MCP server: content-repurposing-mcp

😩 你是不是也这样

同一份素材,公众号写完,知乎版、CSDN 版、小红书版还得从头再改一遍,一晚上没了。

但比这更亏的是另一种累:你花了两天把一篇深度长文做成 60 秒短视频,结果它根本没有叙事张力,讲出来像念说明书; 另一篇随手记的案例,其实天生就是一张信息图,你却把它硬写成了长文。

你根本不知道这篇最适合做成什么。 凭感觉选,一半力气花在错的形态上。

✨ 它怎么解决

一篇素材  ──▶  ① 11维画像  ──▶  ② 匹配推荐(带分数+理由)  ──▶  ③ 生成调度提示词
                字数/结构/密度           PPT ⭐⭐⭐                 交给你的 Agent 执行
                视觉潜力/叙事张力…        信息图 ⭐⭐⭐
                                        短视频脚本 ⭐⭐

不是模板填空。 先给内容做体检,再基于体检结果匹配形态,最后才谈转换。

📐 11 维内容画像

维度

判定

维度

判定

① 字数

短 / 中 / 长

⑦ 叙事张力

低 → 高

② 信息密度

有效信息点占比

⑧ 视觉叙事潜力

能否改编漫画

③ 结构类型

线性/并列/层级/碎片/流程

⑨ 信息图解潜力

核心观点 ≤8 个?

④ 视觉潜力

可否图表化

⑩ 实战可操作性

读者要不要动手

⑤ 深度等级

入门 / 中级 / 深度

⑪ 时效性

永久 → 时效

⑥ 情感色彩

客观/积极/反思/警示

🎯 6 种跨媒介输出形态

形态

适合什么内容

对应工作流

📊 PPT 演示文稿

方法论、层级框架、教学

ppt-director-workflow

🎬 60 秒短视频脚本

热点、情绪型短内容

beat-plan-video-workflow

📊 信息图

并列对比、概念梳理

baoyu-infographic

🎨 漫画 / 视觉故事

案例、故事、有人物对白

baoyu-comic

📧 Newsletter

深度 + 私密语感

—

🛠️ Skill 封装

方法论、可复用工作流

—

以上都是媒介发生改变的形态。公众号版、小红书版这类同媒介换平台的改写,不在本仓库职责内, 请用 content-creator-skills。两件事分开做,才不会互相打架。

上表的「对应工作流」是 Hermes Agent 生态内的私有技能,未随本仓库开源。 但不影响使用:route() 只产出 dispatch_prompt 与目标技能名,你自己接上任意 Agent 或手工执行都行 —— 本仓库可独立运行,零强制依赖。

🚀 30 秒跑起来

git clone https://gitee.com/savantcat/content-router.git
cd content-router
python engine.py analyze README.md

输出:

📐 内容画像报告
========================================
字数:      1,551 字(中文)
密度:      ░░░░░░░░░░ 0.09
结构:      流程步骤
视觉潜力:  ███    高
深度等级:  入门
叙事张力:  █      低
情感色彩:  客观
实战性:    █      低
信息图解:  低
漫画潜力:  中
时效性:    永久

🏆 推荐输出(按适配度排序)
----------------------------------------
🥇 信息图           ⭐⭐  适配 44%  核心点10个+视觉高+图解低
🥈 PPT演示文稿       ⭐⭐  适配 38%  结构流程步骤+视觉高+内容入门
🥉 漫画/视觉故事       ⭐  适配 29%  漫画潜力中+张力低
4. 结构化Skill封装    ⭐  适配 29%  实战低+结构流程步骤+深度入门
5. 60秒短视频脚本      ⭐  适配 14%  张力低+情感客观+非时效

📦 批量路由:素材库 → 产出决策表

单篇分析只是玩具,批量才是刚需 —— 素材囤了一堆,一篇篇问太慢,也永远问不完。

python engine.py batch ./我的素材库 --out 产出决策表.md

一张表告诉你每篇素材该做成什么,直接当工作计划用(实测输出):

#

素材

字数

结构

首推形态

适配度

次选

1

知识星球_专享版.md

863

并列观点

信息图

100%

PPT演示文稿 / 60秒短视频脚本

2

百家号_粘贴版.md

1,010

碎片集合

信息图

67%

60秒短视频脚本 / PPT演示文稿

3

公众号_AI客服国标MCP.md

1,199

并列观点

60秒短视频脚本

57%

信息图 / PPT演示文稿

4

CSDN_技术版_MCP服务端实战.md

1,243

并列观点

信息图

56%

PPT演示文稿 / 60秒短视频脚本

📦 扫描到 7 篇素材
**形态分布**:信息图 ×4、60秒短视频脚本 ×3
**最值得先做的 5 篇**:
- 知识星球_专享版.md → **信息图**(适配 100%)
- 百家号_粘贴版.md → **信息图**(适配 67%)
...

适配度 = 判据命中率(该形态得分 ÷ 该形态满分),跨形态可比。 首推 <40% 时它会直接告诉你「这篇还没有明显适合的形态,别急着动手」——不硬推,这是它可信的原因。

🧩 当库用

from engine import profile_content, recommend_formats, format_profile_report, format_recommendation
from engine import ContentRouter

text = open("我的文章.md", encoding="utf-8").read()

profile = profile_content(text)
print(format_profile_report(profile))
recs = recommend_formats(profile)          # [{"format": ..., "score": ..., ...}]
print(format_recommendation(recs))

# 一键调度:为选中形态生成 dispatch 提示词 + 落盘 JSON 报告
router = ContentRouter(output_dir="./router_output")
result = router.route("我的文章.md", target_formats=["PPT演示文稿", "信息图"])

🔌 作为 MCP 服务调用

server.py 把引擎包成标准 MCP server —— 别人的 Agent 可以直接调这几个工具,不必读源码、不必抄公式。

pip install "mcp>=2.1"

python server.py                                # 本地 stdio(Claude Desktop / Cursor / 任意 MCP 客户端)
python server.py --transport http --port 8769   # 远程 streamable-http
python server.py --selftest                     # 不走协议,直接遍历打全部工具

工具

作用

analyze_content

11 维画像 + 形态推荐(一次给全,最常用)

recommend_formats

只出排序推荐:适配度% + 命中的判据

get_dispatch_prompt

为指定形态生成调度提示词(交给任意 Agent 执行)

list_formats

6 种跨媒介输出形态的定义与适用内容

profile_schema

11 维画像的口径与取值范围

客户端配置(stdio):

{ "mcpServers": { "content-router": { "command": "python", "args": ["server.py"] } } }

服务端为纯计算、纯读:5 个工具的四个 annotation hint 全部声明(readOnlyHint=true / destructiveHint=false / idempotentHint=true / openWorldHint=false),不写盘、不发起任何外部请求、不需要 API Key。

💻 命令行

# 分析 + 推荐
python engine.py analyze 我的文章.md

# 分析 + 推荐 + 调度
python engine.py route 我的文章.md --formats PPT演示文稿,信息图,60秒短视频脚本

# 批量:整个素材目录 → 产出决策表(最实用的一步)
python engine.py batch ./我的素材库 --top 20 --out 产出决策表.md

🛡️ 已知风险与规避

风险

规避

画像不准

支持手动修正画像维度后重新推荐

推荐偏差

永远给多个候选 + 理由,把决定权交回给你

跨 Skill 调度

按优先级排列,不可用的分支跳过并提示

长文超 token

自动分段摘要后再画像

📁 项目结构

engine.py          单文件核心引擎(画像 / 推荐 / 调度 / CLI),纯标准库
server.py          MCP 服务端(5 个工具,双通道 stdio / streamable-http)
server.json        MCP 元数据(官方 Registry 格式)
SKILL.md           Agent 技能定义 + 完整 API 说明
skill-card.md      技能卡片(用途 / 输出 / 风险)
_meta.json         元信息

🔗 相关仓库

📄 License

MIT — 见 LICENSE。

👤 作者

合尘猫 · AI 落地实践 · https://savantcat.cn

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides AI agents with structured short-form content mechanics including hooks, script structures, retention strategies, and CTAs, along with auditing tools to avoid common posting failures.
    7
    43 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to generate on-brand visuals from ideas, URLs, documents, or PDFs in over 100 formats and 150+ languages, with consistent brand kits.
    7 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Viral-content intelligence for AI agents — 7 read-only MCP tools for TikTok/YouTube hook scoring, virality prediction, trend analysis, and viral template search, with evidence-layer scoring.
    MIT