内容
# 社交媒体发布平台
**一次 API 调用,发布到所有社交平台。** 一个全栈式社交媒体发布平台 — 发布视频、照片、文本和文档到 **22 个网络** (抖音、Instagram、YouTube、LinkedIn、Facebook、X、Threads、Pinterest、Reddit、Bluesky、Mastodon、Telegram、Discord、Slack、Dev.to、Hashnode、WordPress 等)从单个 REST API、仪表板、SDK 或 AI 代理。
     

## 功能
- **一次 API 调用,所有平台** — `POST /api/upload`(视频),`/api/upload_video`(别名),`/api/upload_photos`,`/api/upload_text`,`/api/uploadposts/upload-document`(LinkedIn 文档)
- **自动适应内容到每个平台** — 字符意识截断(正确计算表情符号 🚀),标签 → Instagram 的第一个评论,X 加权 280,每个平台 `<platform>_title` 覆盖
- **调度与自动化** — ISO-8601 调度,每个配置文件发布队列(时区,活动天,时间段),日历(月/周/日),循环 **内容管道**,进程内 30 秒调度器
- **分析和指标 API** — 每个平台的关注者/影响力/印象/互动,时间序列图表(Recharts),CSV 导出,每个帖子的指标
- **白标** — 配置文件 API(`user` 参数),JWT 连接链接,以便您的客户在您的品牌下链接帐户
- **完整的 API 管理** — 命名 API 密钥(哈希,显示一次),请求日志记录,每个计划的配额(429),FFmpeg 处理配额,幂等密钥
- **身份验证** — Google OAuth + 电子邮件魔术链接/OTP(无密码),像现代 SaaS 一样
- **AI 复制助手** — 字幕 + 标签(如果设置了 `ANTHROPIC_API_KEY`,否则离线启发式)
- **暗/亮主题**,侧边栏仪表板,通知,团队管理,模拟计费和发票
> 平台连接器在干净的 `publish()` 适配器(`src/lib/platforms.ts`)后面 **模拟** — 将每个网络的实际 API 调用放入其中即可上线。除此之外(身份验证,配额,调度,队列,管道,分析存储,白标 JWT),所有功能都已完全实现。
## 快速开始
```bash
npm install
npx prisma migrate dev # 创建 prisma/dev.db
npx prisma db seed # 演示 + 管理员帐户,示例数据
npm run dev # http://localhost:3000
```
**登录:** 在 `/login` 上输入您的电子邮件地址 → 在开发模式下,屏幕上会显示 6 位代码(无需 SMTP)。已播种帐户:`demo@example.com` 和 `angch@tertiaryinfotech.com`(管理员)。
## 引流工具
```bash
curl \
-H 'Authorization: Apikey your-api-key-here' \
-F 'video=@/path/to/your/video.mp4' \
-F 'title="您的精彩标题 🚀"' \
-F 'user="your_profile_user"' \
-F 'platform[]=tiktok' \
-F 'platform[]=instagram' \
-F 'platform[]=youtube' \
-X POST http://localhost:3000/api/upload
```
响应:每个平台的结果与实时帖子 URL。添加 `scheduled_date` 以调度,`first_comment` 以自动发送第一个评论,`autogenerate=true` 以使用 AI 复制。
## API 接口
| 区域 | 端点 |
|------|-----------|
| 上传 | `POST /api/upload` · `/api/upload_video` · `/api/upload_photos` · `/api/upload_text` · `/api/uploadposts/upload-document` |
| 管理 | `GET /api/uploadposts/status` · `GET /api/uploadposts/history` · `GET/PATCH/DELETE /api/uploadposts/schedule` |
| 队列 | `GET/PUT /api/uploadposts/queue/settings` · `POST /api/uploadposts/add_to_queue` |
| 分析 | `GET /api/analytics/{profile}` · `GET /api/uploadposts/post-analytics/{id}` · `GET /api/uploadposts/platform-metrics` · `GET /api/uploadposts/media` |
| 白标 | `GET /api/uploadposts/me` · `POST/GET/DELETE /api/uploadposts/users` · `POST .../users/generate-jwt` · `GET .../users/validate-jwt` |
| 处理 | `POST /api/uploadposts/ffmpeg/job` · `GET /api/uploadposts/ffmpeg/usage` |
完整文档与参数表位于 **`/docs`** 在应用程序中。
## SDK 和集成(`sdks/`)
| 软件包 | 它是什么 |
|---------|------------|
| [`sdks/python`](sdks/python) | Python SDK (`pip install -e sdks/python`) — `SocialPostClient` |
| [`sdks/node`](sdks/node) | Node.js SDK(零依赖,Node ≥18) — `socialpost-sdk` |
| [`sdks/n8n`](sdks/n8n) | n8n 社区节点 + 凭证 |
| [`sdks/vscode`](sdks/vscode) | VS Code 扩展 — 从编辑器发布选择或文件 |
| [`sdks/mcp`](sdks/mcp) | MCP 服务器 — 让 **GitHub Copilot, Claude, Cursor** 为您发布 |
## 项目结构
```
src/
app/ # Next.js 应用路由器
api/ # 公共 API + 身份验证 + 内部仪表板路由
(dashboard)/ # 用户,上传,管道,日历(+队列),历史,
# 分析,API 密钥,定价,配置文件(+发票),
# 团队,支持,文档,已连接的应用
login/ connect/ # 无密码登录 · 白标连接页面
page.tsx # 首页(引流工具)
lib/ # 平台注册表/适配器,发布引擎,队列,
# 调度器,会话,API 密钥,计划,AI 复制
components/ # 侧边栏导航,主题切换,平台图标等
prisma/ # 模式,迁移,种子
sdks/ # python · node · n8n · vscode · mcp
tests/post-course.test.mjs # e2e 测试:发布课程公告到 LinkedIn+Facebook
design-system/ # 持久化 UI 设计系统(MASTER.md)
```
## 测试
```bash
npm run dev & # 启动服务器
node tests/post-course.test.mjs # 9 个端到端断言
```
## 致谢
- 功能集灵感来自多平台发布 API;UI 是原创设计(暗色优先,翡翠“代码”主题,Space Grotesk + JetBrains Mono)
- 使用 [Next.js](https://nextjs.org),[Prisma](https://prisma.io),[Tailwind CSS](https://tailwindcss.com),[Recharts](https://recharts.org) 构建
---
由 [Tertiary Infotech Academy Pte Ltd](https://www.tertiaryinfotech.com/) 提供支持