Skip to content

KurodaKayn/MPP

Repository files navigation

MPP: multi-platform-poster

English | Chinese

MPP logo
License

Next.js React TypeScript Tailwind CSS
shadcn WXT Go Python
Rust Fastify Yjs
FastAPI LangChain PostgreSQL
Echo GORM Chromium
Docker Traefik Redis

Overview

MPP is a multi-platform content publishing system for creators and operations teams. It helps manage content projects, platform-specific adaptation, publishing status tracking, and AI-assisted processing from a unified workspace.

Demo Video(Click to watch)

Watch the MPP demo on YouTube

Project Highlights

MPP focuses on turning multi-platform publishing into a structured, automatable workflow. Each innovation introduces a specific technical layer to solve a concrete publishing problem.

1. Platform draft adaptation

MPP introduces a pre-publish adapter pipeline with versioned JSON draft contracts. This solves the format mismatch between platforms: WeChat can receive HTML, Zhihu can receive Markdown, X can receive length-limited text, and future platforms can add their own draft formats without changing the editor core.

2. Adapter-based platform isolation

MPP uses Go publisher and platform adapter interfaces to isolate third-party rules. This solves the problem of different account models, validation rules, API styles, and publishing flows being mixed into the main business logic.

3. Remote browser login

MPP introduces browser-worker, disposable Chromium sessions, CDP cookie capture, Redis session tokens, and PostgreSQL audit records. This solves cookie-based or QR-code login for platforms such as Douyin and Zhihu without exposing raw cookies, CDP endpoints, or browser state to the frontend.

4. Reviewable AI editing

MPP uses a separate FastAPI AI service with streaming responses and a proposal-confirmation workflow. This solves the risk of AI directly overwriting official content: generated edits are previewed, compared, and accepted by the user before they update drafts.

5. VM-style publishing without plugins

For platforms without stable public publishing APIs, MPP uses a backend-controlled virtualized browser runtime instead of browser plugins. This solves Zhihu- and Douyin-style publishing by keeping draft filling, media upload, and publish actions in an auditable server-side flow rather than scattering automation scripts across user browsers.

For Developer

Quick Start

Choose the setup path that matches how you want to run MPP:

Architecture

MPP Overall Architecture

Moudle Design

For detailed design notes for each module, see module-design.md. For a module-by-module technology stack breakdown, see tech-stack.md. For module external interfaces and runtime parameters, see module-interface.md. For new publishing platform onboarding, see new-platform-development-guide.md.

About

MPP is a multi-platform content publishing system for creators and operations teams. It helps manage content projects, platform-specific adaptation, publishing status tracking, and AI-assisted processing from a unified workspace.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors