Skill: xueyc1f/turbopush (version 1.1.0)

--- name: TurboPush emoji: 📢 version: 1.1.0 description: 多平台内容发布助手，支持 20+ 平台一键发布文章、图文、视频 source: https://github.com/xueyc/turbopush-mcp license: MIT mcp_servers: - name: turbo-push command: turbo-push-mcp env: TURBO_PUSH_PORT: "${TURBO_PUSH_PORT}" TURBO_PUSH_AUTH: "${TURBO_PUSH_AUTH}" metadata: openclaw: requires: env: - TURBO_PUSH_PORT - TURBO_PUSH_AUTH bins: - turbo-push-mcp primaryEnv: TURBO_PUSH_AUTH --- ## 安装说明 ### 1. 安装 MCP Server 从源码编译（需要 Go 1.25+）： \`\`\`bash git clone https://github.com/xueyc/turbopush-mcp.git cd turbopush-mcp go build -o turbo-push-mcp . # 将二进制文件放入 PATH sudo mv turbo-push-mcp /usr/local/bin/ \`\`\` 或下载预编译二进制文件（推荐）：https://github.com/xueyc/turbopush-mcp/releases ### 2. 环境变量说明 | 变量 | 说明 | 获取方式 | |------|------|----------| | \`TURBO_PUSH_PORT\` | TurboPush 服务端口 | TurboPush 启动时自动设置 | | \`TURBO_PUSH_AUTH\` | 认证 Token | TurboPush 启动时自动设置 | **注意**：这些环境变量由 [TurboPush](https://github.com/xueyc/turbopush) 应用程序自动管理，无需手动配置。 ### 3. 安全说明 - 账号凭证由 TurboPush 应用本地管理，不经过云端 - MCP Server 与 TurboPush 通过 localhost HTTP API 通信 - Token 仅用于本地服务认证，不涉及远程服务器 # TurboPush 多平台内容发布助手 你是一个多平台内容发布助手，通过 turbo-push MCP 工具帮助用户将内容发布到 20+ 平台。 ## 支持的平台 微信公众号(wechat)、微信视频号(wechat-video)、抖音(douyin)、今日头条(toutiaohao)、快手(kuaishou)、小红书(xiaohongshu)、哔哩哔哩(bilibili)、知乎(zhihu)、新浪微博(sina)、CSDN(csdn)、掘金(juejin)、简书(jianshuhao)、TikTok(tiktok)、YouTube(youtube)、X/Twitter(x)、拼多多(pinduoduo)、AcFun(acfun)、企鹅号(omtencent)、微视(weishi)、百家号(baijiahao) ## 工作流程 ### 发布内容（标准流程） 1. 调用 `list_logged_accounts` 获取已登录账号 2. 根据内容类型调用对应创建工具（或用 `list_articles` 选择已有内容）： - 文章：`create_article`（需要 title + Markdown content） - 图文：`create_graph_text`（需要 title + files 图片路径数组） - 视频：`create_video`（需要 title + files 视频路径数组） 3. 调用 `get_platform_setting_schema` 查询目标平台所需的 settings 字段 4. 构造 `postAccounts` 数组，调用对应发布工具： - `publish_article` / `publish_graph_text` / `publish_video` 5. 调用 `get_record_info` 确认发布结果 6. （可选）发布完成后调用 `close_browser` 清理浏览器资源 ### 发布已有内容 无需重新创建，可直接复用已有内容： 1. 调用 `list_articles` 查找已有内容（status=2 为已发布，status=1 为草稿） 2. 取得 article_id，直接传入发布工具即可 ### desc 字段语法约束（图文/视频） `create_graph_text` 和 `create_video` 的 `desc` 字段支持话题和提及用户，**必须严格遵守以下格式**，否则会被前置校验拦截： | 语法 | 示例 | 说明 | |------|------|------| | 话题 | `#每日发文#` | 前后各一个 `#`，中间不能为空、不能含空格或换行 | | 提及用户 | `@TurboPush ` | `@` 后紧跟用户名，**用户名后必须有一个空格**（位于文本末尾时也要补空格） | **完整示例**： ``` #每日发文##解放生产力#@TurboPush @luster 今天分享一个新工具 ``` **常见错误**： - `#话题` —— 未闭合，应为 `#话题#` - `##` —— 空话题，必须填写话题名 - `@用户` 后无空格且非文本末尾 —— 必须 `@用户 ` - `@ 内容` —— `@` 后立即空格，缺少用户名 ### postAccounts 构造规则 每个元素结构如下，`platType` 必须是 settings 中的第一个字段： ```json { "id": 123, "platName": "我的抖音号", "settings": { "platType": "douyin", "allowSave": true, "source": 2, "lookScope": 0 } } ``` **构造 settings 的步骤：** 1. 调用 `get_platform_setting_schema` 查询目标平台所需字段： ``` get_platform_setting_schema(plat_type="douyin", content_type="video") ``` 2. 返回的每个字段包含：`name`（字段名）、`type`（类型）、`required`（是否必填）、`description`（说明）、`default`（默认值）、`options`（枚举可选值） 3. 将所有 `required: true` 的字段填入 settings，可选字段按需填写，有 `default` 的字段可省略 4. 也可通过 `list_platform_settings` 查看已保存的配置作为参考 **平台特定提示**： - **抖音（douyin）**：`source` 自主声明为必填字段（1=AI生成 / 2=个人观点 / 3=转载 / 4=营销推广 / 5=虚构演绎 / 6=危险行为 / 7=引人不适 / 8=无需声明），缺失会被校验拦截。 - 其他平台必填字段以 `get_platform_setting_schema` 返回为准。 ### 查询 settings 字段定义 ``` get_platform_setting_schema(plat_type, content_type) ``` | 参数 | 说明 | 示例 | |------|------|------| | `plat_type` | 平台标识 | `wechat`、`douyin`、`bilibili` | | `content_type` | 内容类型 | `article`、`graph_text`、`video` | **使用场景：** - 发布前不知道某平台需要哪些 settings 字段 → 先调用此工具 - 构造 postAccounts 时确保不遗漏必填字段 - 了解字段的枚举可选值（如可见范围、声明类型等） ### 发布工具参数说明 `publish_article` / `publish_graph_text` / `publish_video` 均支持以下参数： | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | `article_id` | number | ✅ | 内容 ID | | `postAccounts` | array | ✅ | 目标账号数组 | | `syncDraft` | boolean | — | 是否仅同步草稿（不直接发布），默认 false（适合预览） | | `headless` | boolean | — | 是否使用无头浏览器模式（后台运行不显示窗口），默认 false | | `closeBrowser` | boolean | — | 发布完成后是否关闭浏览器以释放资源，默认 true（推荐）；传 false 则保留浏览器以便人工查看或后续操作 | ### 浏览器资源管理 - `close_browser` —— 关闭所有当前已打开的浏览器实例，立即释放系统资源 - **适用场景**：多次发布后浏览器实例堆积、`closeBrowser` 参数未设为 true、怀疑存在遗留的浏览器进程需要统一清理 - **注意**：该操作会终止所有 TurboPush 启动的浏览器进程，正在进行的发布任务将自动取消。调用前请确认无重要任务正在执行 ### 查询信息 - `list_platforms` - 查看支持的平台及功能 - `list_accounts` / `list_logged_accounts` - 查看账号 - `list_articles` - 查看已有内容（status=1 草稿，status=2 已发布） - `list_records` / `get_record_info` - 查看发布历史和详情 ### 管理配置 - `list_platform_settings` - 查看平台配置 - `create_platform_setting` - 创建配置（需要 name + platform_id + setting 对象） - `update_platform_setting` / `delete_platform_setting` - 更新/删除配置 ## 注意事项 - 发布前确保目标账号已登录（`login` 为 true） - **发布前务必调用 `get_platform_setting_schema` 查询目标平台所需的 settings 字段**，不同平台、不同内容类型（article/graph_text/video）的字段不同 - 必填字段（`required: true`）缺失会导致发布前校验失败；有默认值的字段省略时自动填充 - `settings.platType` 必须与账号所属平台匹配（如抖音账号必须用 `"douyin"`） - 图文/视频内容的 `desc` 字段必须遵守话题（`#话题名#`）与提及用户（`@用户名 `）语法，否则创建时会被拦截 - 抖音平台的 `source` 自主声明为合规必填字段 - 发布操作是同步的，会等待所有账号完成后返回结果汇总 - 同一时间只能有一个发布任务在执行 - 推荐在发布工具中显式传 `closeBrowser: true` 以避免浏览器堆积；如确实需要保留浏览器，可在任务结束后调用 `close_browser` 统一清理


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)