dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
矩媒 MatrixMedia
自媒体 · 矩阵 · 批量 — 多平台视频矩阵发布与批量分发工具(Electron + CLI)
自媒体、自媒体矩阵、矩阵发布、矩阵运营、内容矩阵、视频矩阵、多平台矩阵、跨平台发布、批量发布、批量上传、批量分发、一键发布、多账号发布、多平台发布、本地视频发布、短视频矩阵、内容分发、账号矩阵、自动化发布、CLI 批量、命令行发布、无头发布、智能体编排、OpenClaw、MCP 发布、抖音矩阵、快手矩阵、小红书矩阵、百家号矩阵、哔哩哔哩矩阵、头条矩阵、视频号矩阵、番茄视频、番茄视频矩阵、MatrixMedia、矩媒、pubtw
自媒体矩阵发布工具(Electron)。支持图形界面与命令行(CLI)自动化,适合批量向多平台账号矩阵分发视频:
file 支持本地路径或 http(s) 远程 URL(自动下载,上传后清理临时文件)。cli accounts 实时检测登录态,cli history 查看本机发布记录。POST http://127.0.0.1:30088/publish 由其它程序触发发布(见 docs/http-api.md 或应用内「项目详情」页)。便于脚本与智能体编排。GUI 打开后默认进入「项目详情」页,可查看 HTTP / MCP / CLI 接入说明。
本项目的 CLI 被刻意设计为 AI 工具无关 / 框架无关 的外部命令:只要你的工具能调用 shell、读取退出码或 JSON stdout,就能直接对接 —— 包括但不限于:
统一约定:
约定项 · 内容 进入 CLI 模式 · argv 含子串 cli 即进入无 GUI 流程(如 matrixmedia cli publish ...) 子命令 · cli login \ · publish \ · publish-article \ · accounts \ · history,每个均支持 --help 退出码 · 0 成功 / 1 异常 / 2 参数错误 / 3 业务失败(登录、上传等) 机器可读输出 · cli accounts --json 与 cli history --json 产出稳定 JSON,便于上游消费 登录态共享 · CLI 与 GUI 共用 persist: session partition,互不侵扰 HTTP API · GUI 启动后 POST http://127.0.0.1:30088/publish 发布视频(见 docs/http-api.md)
详细文档:CLI · HTTP API · MCP
仓库顶部的 ` HTML 注释以 OpenClaw 的 schema 示例上述约定;其它平台如需类似的仓库级可发现标记,可沿用同一 argv-marker=cli 语义,或加上自家的注释标签(例如 `),互不冲突。
典型用法:在 AI 平台/智能体侧将本应用配置为 外部命令(command + args):cli login 可用于 抖音 / 视频号 扫码登录;其它平台请先在 GUI 登录一次,CLI 会复用同一 session partition;cli publish 对已自动化 8 平台一致可用。终端二维码与无头模式等行为见 docs/cli.md 与各子命令 --help。
仓库内置 mcp/ 子包,实现了 Model Context Protocol Server,让支持 MCP 的 AI 工具无需 shell 调用即可直接操作 MatrixMedia。
第一步:构建 MCP Server
cd mcp && npm install && npm run build第二步:配置 AI 工具
以下配置适用于 Claude Desktop、Cursor、Cline 等支持 MCP stdio transport 的工具。 将 MATRIXMEDIA_DIR 设为本仓库根目录的绝对路径。
_Claude Desktop_(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"matrixmedia": {
"command": "node",
"args": ["<MATRIXMEDIA_DIR>/mcp/dist/index.js"],
"env": {
"MATRIXMEDIA_DIR": "<MATRIXMEDIA_DIR>"
}
}
}
}_Cursor / Cline_(.cursor/mcp.json 或全局 MCP 配置,格式相同):
{
"mcpServers": {
"matrixmedia": {
"command": "node",
"args": ["<MATRIXMEDIA_DIR>/mcp/dist/index.js"],
"env": {
"MATRIXMEDIA_DIR": "<MATRIXMEDIA_DIR>"
}
}
}
}重启 AI 工具后,以下 7 个 tool 即可在对话中直接调用(完整说明见 docs/mcp.md):
Tool · 说明 list_accounts · 列出本机已登录账号,支持按平台过滤 list_history · 查询本机发布记录,支持按平台 / 状态 / 天数过滤 publish_video · 发布视频到指定平台(最长 35 分钟,支持定时发布) publish_article · 发布掘金文章(需已登录掘金账号) get_account_stats · 读取账号粉丝数据快照(粉丝/播放/点赞/评论/收藏) sync_account_stats · 主动采集该账号最新数据并写入快照 get_work_stats · 按完整标题查某个视频的发布数据(含发布时间、互动数据)
登录说明:所有平台均需在 GUI 中完成登录后再通过 MCP 发布。MCP 运行在无头 stdio 环境,无法弹出扫码窗口。
小红书平台对 Electron 内置窗口的自动化检测日趋严格,可能出现「AI 托管」警告。为此新增真实浏览器发布模式,使用本机已安装的 Google Chrome / Chromium 代替内置窗口进行发布,从根源上规避检测。
启用方法:
.app,Windows 选 .exe)工作原理:
puppeteer-core(轻量库,不捆绑 Chromium)直接驱动本机 ChromeuserData/chrome-config.json番茄视频创作平台 已支持 GUI 登录、自动上传发布与作品列表审核状态回查。
用途 · URL 登录页 · https://pugc.yueduwuxian.com/fqvideo/login 发布页 · https://pugc.yueduwuxian.com/fqvideo/home/publish-video 作品列表 · https://pugc.yueduwuxian.com/fqvideo/home/video-list
能力 · 状态 GUI 添加账号 / 登录窗口 · 可用 GUI / CLI 自动发布 · 可用 登录 Cookie 自动检测 · 可用(sessionid) 发布审核状态回查 · 可用
CLI / 配置别名:fqsp、fanqie、fq、番茄视频
主要代码位置:
文件 · 说明 src/renderer/utils/configUrl.js · 渲染层 URL src/main/config/ptConfig.js · 主进程 / CLI 用 URL src/main/services/upLoad/fqsp.js · 自动发布逻辑 src/main/services/zt/fqsp.js · 审核状态查询 src/main/services/getCookie.js · 登录态 Cookie 规则
侧栏图标(可选):将 fqsp.png 放到 src/renderer/layout/components/Sidebar/ptcion/。
从项目根或已安装应用启动时,在参数中加入 `cli` 即进入 CLI(不打开主窗口)。完整参数说明见 docs/cli.md。子命令一览:
子命令 · 支持平台 · 作用 cli login · 抖音(-p dy)、视频号(-p sph) · 终端二维码扫码登录 cli publish · 8 个已自动化平台(dy \ · tt \ · ks \ · blbl \ · bjh \ · sph \ · xhs \ · fqsp) · 发布视频(本地路径或 http(s) URL,与 GUI「本地视频发布」等价) cli publish-article · 掘金(juejin) · 发布文章(--content 或 --file) cli accounts · 全平台(含 fqsp 番茄视频) · 列出所有账号并实时检测 cookie 登录态 cli history · 全平台(含 fqsp 番茄视频) · 读取本机发布记录(pushData),支持平台/手机号/状态/时间过滤 cli stats · 7 个统计平台(dy \ · sph \ · blbl \ · bjh \ · tt \ · ks \ · xhs) · 读取账号粉丝数据快照(粉丝/播放/点赞/评论/收藏) cli stats-sync · 同上 · 主动采集该账号最新数据并写入快照(需 GUI 已登录) cli stats-work · 同上 · 按完整标题查某个视频的发布数据(含发布时间)
非 CLI 登录平台的登录怎么办? 当前 CLI 登录已实现抖音与视频号;其它平台先在 GUI 完成一次登录即可——CLI 通过同一persist:session partition 读取 cookie,后续cli publish/cli accounts会自动复用登录态。登录态过期时cli accounts会报cookie 已过期,此时回到 GUI 重登一次即可。
常用示例:
# 抖音登录
matrixmedia cli login -p dy --phone 13800138000
# 发布视频(简介、标签;视频号另加短标题)
matrixmedia cli publish -p dy --phone 13800138000 -f /path/to/video.mp4 \
-t "标题" --description "视频简介" --tags "#跑步 #新手"
matrixmedia cli publish -p sph --phone 13800138000 -f /path/to/video.mp4 \
-t "标题" --description "视频简介" --short-title "5公里新手挑战" --tags "#跑步 #新手"
# 发布掘金文章
matrixmedia cli publish-article -p juejin --phone 13800138000 -t "文章标题" --file ./post.md
# 查看账号 / 历史(JSON)
matrixmedia cli accounts --json
matrixmedia cli history --json --days 7
# 数据统计:先采集,再读快照 / 查单个视频
matrixmedia cli stats-sync -p sph --phone 123
matrixmedia cli stats -p sph --phone 123
matrixmedia cli stats-work -p ks --phone 123 --title "视频完整标题"开发环境调用示例:
ELECTRON_RUN_AS_NODE= electron . cli login --help
ELECTRON_RUN_AS_NODE= electron . cli publish --help
ELECTRON_RUN_AS_NODE= electron . cli publish-article --help
ELECTRON_RUN_AS_NODE= electron . cli accounts --help
ELECTRON_RUN_AS_NODE= electron . cli history --helpWindows NSIS 安装包从 0.4.5 起会在安装时自动把应用安装目录加入当前用户 PATH,并固定 CLI 命令名为 matrixmedia。安装完成并重新打开终端后,可直接执行:
matrixmedia cli login --help
matrixmedia cli publish --help
matrixmedia cli accounts
matrixmedia cli history -d 7macOS 的 .dmg 只是磁盘镜像,无法像 NSIS 那样自动写 PATH。把 app 拖进 /Applications 后,执行一次下面的命令创建符号链接即可:
sudo ln -sf /Applications/matrixmedia.app/Contents/MacOS/matrixmedia /usr/local/bin/matrixmedia之后在任意终端都能直接用 matrixmedia cli ...。若后续升级 app 只是覆盖安装(app 路径不变),符号链接仍然有效,无需重复执行。卸载时删除链接:
sudo rm /usr/local/bin/matrixmedia若无需永久写入,也可临时 alias:
alias mm='/Applications/matrixmedia.app/Contents/MacOS/matrixmedia'macOS 分发 x64 与 arm64 两套安装包。Apple Silicon(M1/M2/M3/M4 芯片)请用 `MatrixMedia--mac-arm64.dmg`。若提示“已损坏,无法打开”,通常不是安装包真的损坏,而是 macOS Gatekeeper 对未签名 / 未公证应用的拦截。
临时处理方式(拖进「应用程序」后执行一次即可,之后双击正常打开):
xattr -dr com.apple.quarantine /Applications/matrixmedia.app如果 app 装在别的位置,把路径换成实际路径;系统级目录(如/Applications属主为 root)时才需要前面加sudo。
正式分发给普通用户时,建议使用 Apple Developer 的 Developer ID 证书对 macOS 包进行签名和公证。
matrixmedia,无需区分。ELECTRON_RUN_AS_NODE 被误开启,请先按提示关闭后再启动。cli accounts / cli history 仅读取本机数据,不会触发任何登录或发布动作,适合在 pipeline 里做 preflight 检查。应用图形界面启动后,会自动在本机 30088 端口(BuiltInServerPort,见 env/.env)监听内置 Express 服务。完整路由与参数说明见 docs/http-api.md(应用内「项目详情」页亦有摘要)。
与 CLI 的区别:HTTP API 依赖 GUI 主进程已运行(托盘/窗口在即可);CLI 可独立启动。单平台请求会等待上传完成或超时;多平台请求与 GUI 批量发布一致,提交到发布队列后立即返回。