关于 seenpaid
seenpaid 是面向单一操作者的可自托管社交媒体发布服务,可将内容排队并分发到已配置的平台。Agent 可通过 MCP 或 REST 管理帖子;收入归因仅由独立的托管产品提供。
主要功能
- 01支持 25 个平台适配器
- 02带重试的排队发布
- 03安排、编辑和取消帖子
- 04媒体库与图像生成
- 05账户状态检查与帖子校验
适用场景
- 01向已配置的平台安排帖子
- 02一次调用安排一周内容
- 03批量发布前检查账户状态
- 04发布前校验文案
MCP 相关
通过 `/mcp` 提供 16 个工具,供 MCP 客户端安排和管理帖子、处理媒体及检查账户状态。它不提供收入归因。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.seenpaid.com/mcpclaude mcp add --transport http com-seenpaid-seenpaid https://api.seenpaid.com/mcp{"mcpServers":{"com-seenpaid-seenpaid":{"type":"http","url":"https://api.seenpaid.com/mcp"}}}在 Cursor 中打开{"servers":{"com-seenpaid-seenpaid":{"type":"http","url":"https://api.seenpaid.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-seenpaid-seenpaid":{"type":"http","url":"https://api.seenpaid.com/mcp"}}}{"mcpServers":{"com-seenpaid-seenpaid":{"serverUrl":"https://api.seenpaid.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
seenpaid
问问你的 AI Agent:你的哪些帖子赚了钱。
这个问题由 seenpaid.com 解答——这是一款托管云产品,可以将 Stripe 销售额对应到促成这些销售的具体帖子。这个仓库不是这款产品。这个仓库是其底层的开源发布层:一项可自托管的服务,提供 25 个平台适配器,可对投递进行排队和重试,并通过 MCP(模型上下文协议)向 AI Agent 提供服务,让 Agent 能代你安排帖子发布。你可以让 Agent 连接自己的实例;如果还想了解收入情况,也可以让它连接 seenpaid.com——MCP 接口形式相同,功能深度不同。
这是什么
- 一个由 BullMQ 支持的发布流程:只需安排一次帖子,就会将其分发到每个已连接的平台,并作为独立任务进行重试。
- 通过统一接口提供 25 个平台适配器——根据各平台实际采用的方式,支持 OAuth、webhook、API 密钥和自行粘贴凭据等流程。(托管产品 seenpaid.com 宣传支持 21 个平台:也就是客户无需注册自己的开发者应用即可连接的平台。自托管时,你需要自备凭据,因此可以使用全部 25 个。两个数字都属实,但不能混为一谈。)
- 提供 REST API 和一个包含 16 个工具的 MCP 服务,涵盖排期、编辑、媒体和账号健康状况——脚本和 AI Agent 都可以通过相同方式驱动它。
- 专为单个操作者设计:一个 API 密钥,没有登录界面,也没有多租户概念。部署它,设置密钥,然后使用即可。
这不是什么
- 不提供收入归因。 此仓库不会追踪点击、匹配销售额,也不会告诉你哪篇帖子带来了收入。这是托管产品 seenpaid.com 的核心功能,有意不包含在此仓库中。
- 不支持多用户账号、团队或角色。 一个实例,一个操作者。如果你需要这些功能,应该选择云产品。
- 不提供计费、套餐或使用限额。 没有什么需要计量——这是你自行运行的软件,不是订阅服务。
如果你真正想知道的是“哪篇帖子赚了钱”,单靠此仓库无法回答——请将实例中的数据连接到 seenpaid.com,或者在投入时间自托管之前,先阅读 SELF_HOST.md,了解实际的利弊。
快速开始
git clone <this-repo>
cd seenpaid
cp .env.example .env
# fill in API_KEY and TOKEN_ENCRYPTION_KEY (openssl rand -hex 32 for each)
docker compose up -d
docker compose exec api npm run db:migrate
API 现在正在 http://localhost:3001 上监听。完整操作指南(包括连接平台和 Agent)请参阅 SELF_HOST.md。
16 个 MCP 工具
让支持 MCP 的 Agent 连接到 POST /mcp(Bearer API_KEY),即可使用:
| 工具 | 功能 |
|---|---|
list_accounts | 已连接的账号 — 平台、账号名、ID、状态 |
list_posts | 帖子及其状态、计划发布时间、目标平台和发布错误 |
get_post | 获取单篇帖子的完整信息 |
schedule_post | 计划发布或立即发布到一个、多个或所有平台 |
bulk_schedule | 一次调用安排一周的帖子;一篇失败不会影响其余帖子 |
update_post | 编辑草稿或已计划帖子的文案或时间 |
cancel_post | 在帖子发出前取消;已发布的目标平台不受影响 |
delete_post | 永久删除 — 建议优先使用 cancel_post |
list_media | 媒体库,按最新顺序排列 |
add_media_from_url | 从公开 URL 获取图片或视频 |
generate_image | 通过文本提示词生成图片,无需密钥,并保存到媒体库 |
get_account_health | 查看哪些账号仍可正常使用 — 大批量操作前请先检查 |
get_connect_url | 供用户打开以连接账号的链接(OAuth 需要用户操作) |
disconnect_account | 断开账号连接 |
get_platform_requirements | 文案限制、是否必须提供媒体,以及各平台的注意事项 |
validate_post | 在不发布的情况下,试运行文案在各平台的校验结果 |
以上就是全部功能。这里没有 get_analytics、get_top_posts 或任何与收入相关的功能 — 这些功能只在托管版 seenpaid.com MCP 服务中提供,因为要回答这类问题,需要本仓库未包含的闭源归因引擎。
可在 mcp-connector/README.md 查看可直接复制粘贴的客户端配置。
支持的平台
| 平台 | 连接方式 |
|---|---|
| X (Twitter) | 使用你自己的 OAuth 1.0a 应用密钥 |
| Bluesky | 应用密码 |
| OAuth | |
| OAuth (Meta) | |
| OAuth (Meta) | |
| TikTok | OAuth |
| Discord | Webhook URL |
| Telegram | Bot 令牌 + 频道 |
| Mastodon | OAuth |
| Nostr | 私钥 (nsec/hex) |
| Dev.to | API 密钥 |
| Hashnode | 个人访问令牌 |
| Medium | Integration 令牌 |
| OAuth | |
| Threads | OAuth |
| Tumblr | OAuth |
| OAuth | |
| VK | OAuth |
| Slack | Incoming webhook URL |
| WordPress | 应用程序密码 |
| Ghost | Admin API 密钥 |
| Lemmy | 实例登录信息 |
| Generic webhook | URL + 可选的签名密钥 |
| Micro.blog | App 令牌 |
| Matrix | Homeserver + 访问令牌 + 房间 |
每个适配器都位于 src/platforms/。只有配置了凭据的平台才能使用 — 其他平台都会明确报错并正常失败,不会阻塞应用的其余部分。各平台完整的环境变量列表见 SELF_HOST.md。
架构
src/
platforms/ 25 adapters + registry — one publish()/OAuth interface
domain/features/
posts/ Create/list/cancel a post; fans out to per-platform jobs
accounts/ Connect/list/disconnect a platform account
media/ Presigned upload, URL ingestion, optional free AI image generation
jobs/ BullMQ queue + worker: the actual publish pipeline
entry-points/
api/ REST API (Express)
mcp/ The 16-tool MCP server
auth/ Single-operator API-key auth (see below)
data-access/ Drizzle ORM schema, repositories, migrations
身份验证模型
本项目有意不采用 SaaS 产品所需的多租户 JWT/RBAC 系统。自托管意味着你是唯一用户,因此这里的身份验证只需一个共享密钥:在 .env 中设置 API_KEY,并在每个请求中通过 Authorization: Bearer <key>(或 X-Api-Key: <key>)发送。无需注册、登录界面、会话或密码哈希。这与大多数由单个运营者管理的自托管工具的身份验证方式一致 — 一个密钥,每个请求都进行校验,无需考虑更多事项。
如果你需要在一个实例上支持多名用户或基于角色的访问权限(例如,代理机构为多个客户运行此服务),这是有意缩减的范围 — 如何提出相关建议,请参见 CONTRIBUTING.md。
许可证
核心部分(除 mcp-connector/ 外的所有内容)采用 AGPL-3.0 许可 — 详见 LICENSE。简而言之:你可以自由地自托管、修改和再分发,但如果你将修改后的版本作为网络服务提供给他人,就必须同时向他们提供修改后的源代码。此许可证旨在防止项目被克隆为闭源竞争服务,却不将修改回馈到上游。
mcp-connector/(仅包含用于连接 Agent 的客户端配置)采用 MIT 许可 — 详见 mcp-connector/LICENSE — 因此可以自由复制到 Agent 目录和其他工具中,无需担心许可证限制。
贡献
提交 PR 前请先阅读 CONTRIBUTING.md,其中说明了范围和响应时间方面的预期。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。