open-seo
every-app/open-seo加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
OpenSEO(every-app/open-seo)是一款开源 SEO 工具,GitHub Star 超 2 万,定位为 Semrush 和 Ahrefs 的免费替代方案。项目由 TypeScript/React 驱动,核心卖点是提供关键词研究、排名追踪、竞品分析、反向链接和站点审计等全栈 SEO 功能,同时原生支持 AI Agent 通过 MCP(Model Context Protocol)协议直接接入 Claude Code、OpenClaw、Hermes 等主流 AI 编程工具,让 AI 代理可以自主完成复杂的 SEO 分析任务。
该项目不仅仅是面向人类用户的 SaaS 工具,更是一套面向 AI Agent 的 SEO 技能平台——预置了 16+ 可复用 Agent Skill,涵盖关键词聚类、竞品分析、SEO 审计、报告生成等完整工作流,将 SEO 能力封装为 AI Agent 可直接调用的标准化工具。
项目采用 monorepo + pnpm workspace 结构,主仓库下有 src/(核心业务逻辑)、web/(前端界面)和 plugins/openseo(插件市场)三大模块,通过 pnpm-workspace.yaml 统一管理依赖。后端运行在 Cloudflare Workers 之上(src/server.ts),使用 @cloudflare/think 框架处理 SSR 和 API 路由。数据库层采用 Drizzle ORM,支持 Cloudflare D1(SQLite,开发/边缘部署)和 PostgreSQL(生产高可用)双后端,通过 drizzle-pg.config.ts 和 drizzle.config.ts 分别配置。认证系统基于 better-auth,支持 API Key、Cloudflare Access OAuth 和本地无认证三种模式,灵活适配自托管和云托管场景。
前端位于 web/ 目录,使用 Vite 构建,核心 UI 库为 React + TanStack Query + TanStack Router,UI 组件引入 daisyui(Tailwind 生态)。项目还内置了 Playwright E2E 测试框架(e2e/)和完整的 Vitest 单元测试体系。
项目最具差异化的技术亮点是 MCP Server 实现(src/server/mcp/)。MCP 是 Anthropic 提出的 AI-Agent 上下文协议,OpenSEO 将其落地为 RESTful + SSE 的混合接口:
mcp/api-key-auth.ts、mcp/oauth-provider.ts):支持 API Key 和 OAuth 两种认证方案,允许第三方 AI 工具安全接入。mcp/context.ts、mcp/formatters.ts):将 SEO 业务能力标准化为 MCP Tool,输出结构化数据,支持 AI Agent 按语义调用。mcp/instrumentation.ts):完整的调用追踪和用量计费系统,对接 DataForSEO 的请求成本模型,实现透明的用量管理。/agents/skills/ 目录包含 16+ 可复用 Skill 定义(SKILL.md 格式),覆盖完整的 SEO 工作流:关键词研究、竞品分析、外链探查、站点审计、SEO 报告生成、本地 SEO 等。每个 Skill 都是纯文本指令模板,可被任何兼容 MCP 的 AI Agent 加载和执行。这种设计让 OpenSEO 从"工具"升级为"AI 原生的 SEO 能力平台",开发者可以在不修改核心代码的情况下扩展 SEO 分析能力。
项目展现了极高的工程成熟度:使用 Knip 做死代码检测、Oxlint 做 TypeScript 类型感知 lint、Prettier 统一代码风格、Vitest + Playwright 构建双层测试体系。CI 流水线(ci:check 脚本)一次性检查格式、死代码、类型检查和插件同步状态。knip.jsonc 配置了精细的死代码检测规则,确保 monorepo 中没有遗留废弃代码。
构建系统使用 Alchemy 配合 wrangler.jsonc 配置 Workers 部署。vite-plugin-lean-worker-bundle.ts 是一个自定义 Vite 插件,专门用于精简 Worker bundle 大小——这在边缘计算场景下非常关键,因为 Workers 有严格的 bundle 尺寸限制。自定义构建插件的存在说明团队对边缘计算的工程约束有深入理解。
项目提供两条明确的部署路径:
Docker(快速尝鲜):通过 Dockerfile.selfhost(Node 22,基于官方镜像,含 CA 证书)+ compose.yaml,一行命令启动本地实例。docker-entrypoint.sh 处理预检、数据库迁移、条件构建和服务启动的全生命周期。适合个人测试,无需任何云账号,但数据存储在容器本地 volume 中。
Cloudflare Workers(推荐生产方案):通过 docs/SELF_HOSTING_CLOUDFLARE.md 指引,部署到 Cloudflare 全球边缘网络。免费计划即可运行完整功能,支持多设备访问和团队协作。缺点是需要配置 Cloudflare 账号和域名 DNS。
两条路径都强制要求 DataForSEO API Key——这是项目唯一的外部数据依赖。用户自带 Key 按量付费(无订阅费),托管服务的商业模式是收取 28% 额外费率。
OpenSEO 的核心价值在于数据主权和AI 原生性的结合:用户自带 DataForSEO Key 按量付费,不存在商业工具的订阅门槛;MCP 协议让 AI Agent 可以"思考着"完成 SEO 任务,而非机械地调用 API;开源意味着可 fork 和二次定制。Star 2 万+ 说明其在 AI Agent 社区有真实需求基础。
OpenSEO 是一个工程扎实、定位独特的开源项目。它不是简单复刻商业 SEO 工具的 UI,而是在 AI Agent 时代重新定义 SEO 工具的使用方式——让 AI 替你做关键词研究、竞品分析和报告撰写。技术选型务实(Cloudflare Workers + Drizzle + React),文档完善,Docker 快速上手门槛低,是近期值得关注和部署的 AI 相关开源项目。