@yaojingang: 经过一个月的持续迭代,第一套GEO系统“GEOFlow 2.0”正式上线,GitHub地址见文末 一个月前,GEOFlow 1.0 上线,到现在,刚好过去一个月,Star数已经超过1.6k,这一个月来,收到了不少朋友的反馈和落地实践案例 …

X AI KOLs Timeline 产品

摘要

GEOFlow 2.0 正式上线,进行了系统性重构,增加了多站点分发、AI知识库强化、数据分析等功能,旨在成为GEO内容工程基础设施。

经过一个月的持续迭代,第一套GEO系统“GEOFlow 2.0”正式上线,GitHub地址见文末 一个月前,GEOFlow 1.0 上线,到现在,刚好过去一个月,Star数已经超过1.6k,这一个月来,收到了不少朋友的反馈和落地实践案例 这次2.0升级,我觉得是GEOFlow从“开源内容生产系统”走向“GEO内容工程基础设施”的一个关键版本 几个核心变化: 1、基于Laravel框架进行了系统性重构 底层架构更清晰,后台、任务、队列、分发、数据分析等模块都更适合长期迭代和真实部署 2、从单站点走向多站点、多Agent 过去更多是管理一个站点的内容生产,现在可以用一个后台,管理多个渠道站点的内容分发、远端同步和运行状态,并保留了多渠道API接入的端口 3、AI知识库能力进一步强化 围绕知识库、素材库、向量化检索、AI生成和内容调用做了持续优化,让系统更适合企业沉淀内部知识资产,也更适合GEO场景下的内容生产与持续更新 4、多站点分发能力进入可运行闭环 支持分发渠道管理、Agent密钥、测试连接、目标站点包下载、分发队列、分发日志、远端文章编辑与删除 这意味着,GEOFlow开始具备“中心后台+多个目标站点”的内容分发能力 5、目标渠道站点包上线 每个渠道都可以生成预配置的目标站点包,内置PHP Agent、首页、文章详情页、静态资源、sitemap、TXT地图和Schema结构化数据 对于GEO来说,这一步很关键,因为AI不仅需要内容,也需要更稳定、更结构化、更易抓取的信源表达 6、新增数据分析页面 系统总览、单站运营、多站分发、访问日志、Top文章、Top渠道站点、AI爬虫识别等数据,开始统一进入后台 GEO运营不能只看“发了多少内容”,更要看内容有没有被访问、被抓取、被分发、被持续维护 7、部署、安全和测试覆盖继续增强 包括Docker生产部署优化、默认管理员初始化改进、多语言补齐,以及更多分发管理、数据分析、访问日志相关测试 过去这段时间,也有不少朋友给我反馈: 有朋友基于GEOFlow做了二开,开始探索商业化服务; 有朋友用它管理企业内部的AI知识库和内容资产,显著提升了内容生产与协作效率; 也有朋友把它作为GEO项目的基础系统,用来承载知识库、内容生成、多站点发布和效果追踪 我觉得GEO的一个关键核心,就是“持续建设可信内容资产”,在GEOFlow系统里,也融入了很多这样的理念和设计 如何把真实、可信、可核验的资料,变成可管理、可生成、可发布、可追踪、可同步到多端的GEO内容资产 欢迎大家体验,也欢迎Star、Fork和一起共建 2.0 GitHub地址: https://github.com/yaojingang/GEOFlow…
查看原文
查看缓存全文

缓存时间: 2026/05/23 08:06

经过一个月的持续迭代,第一套GEO系统“GEOFlow 2.0”正式上线,GitHub地址见文末

一个月前,GEOFlow 1.0 上线,到现在,刚好过去一个月,Star数已经超过1.6k,这一个月来,收到了不少朋友的反馈和落地实践案例

这次2.0升级,我觉得是GEOFlow从“开源内容生产系统”走向“GEO内容工程基础设施”的一个关键版本

几个核心变化:

1、基于Laravel框架进行了系统性重构 底层架构更清晰,后台、任务、队列、分发、数据分析等模块都更适合长期迭代和真实部署

2、从单站点走向多站点、多Agent 过去更多是管理一个站点的内容生产,现在可以用一个后台,管理多个渠道站点的内容分发、远端同步和运行状态,并保留了多渠道API接入的端口

3、AI知识库能力进一步强化 围绕知识库、素材库、向量化检索、AI生成和内容调用做了持续优化,让系统更适合企业沉淀内部知识资产,也更适合GEO场景下的内容生产与持续更新

4、多站点分发能力进入可运行闭环 支持分发渠道管理、Agent密钥、测试连接、目标站点包下载、分发队列、分发日志、远端文章编辑与删除 这意味着,GEOFlow开始具备“中心后台+多个目标站点”的内容分发能力

5、目标渠道站点包上线 每个渠道都可以生成预配置的目标站点包,内置PHP Agent、首页、文章详情页、静态资源、sitemap、TXT地图和Schema结构化数据 对于GEO来说,这一步很关键,因为AI不仅需要内容,也需要更稳定、更结构化、更易抓取的信源表达

6、新增数据分析页面 系统总览、单站运营、多站分发、访问日志、Top文章、Top渠道站点、AI爬虫识别等数据,开始统一进入后台 GEO运营不能只看“发了多少内容”,更要看内容有没有被访问、被抓取、被分发、被持续维护

7、部署、安全和测试覆盖继续增强 包括Docker生产部署优化、默认管理员初始化改进、多语言补齐,以及更多分发管理、数据分析、访问日志相关测试

过去这段时间,也有不少朋友给我反馈: 有朋友基于GEOFlow做了二开,开始探索商业化服务; 有朋友用它管理企业内部的AI知识库和内容资产,显著提升了内容生产与协作效率; 也有朋友把它作为GEO项目的基础系统,用来承载知识库、内容生成、多站点发布和效果追踪

我觉得GEO的一个关键核心,就是“持续建设可信内容资产”,在GEOFlow系统里,也融入了很多这样的理念和设计 如何把真实、可信、可核验的资料,变成可管理、可生成、可发布、可追踪、可同步到多端的GEO内容资产

欢迎大家体验,也欢迎Star、Fork和一起共建

2.0 GitHub地址: https://github.com/yaojingang/GEOFlow…


yaojingang/GEOFlow

Source: https://github.com/yaojingang/GEOFlow

GEOFlow

Languages: 简体中文 | English | 日本語 | Español | Русский | Português (BR)

GEOFlow 是一套专门面向 GEO(生成式引擎优化)的开源智能内容工程与多站点分发系统。它把知识库、素材库、提示词、AI 生成任务、审核发布、数据分析、目标渠道站点包和远端静态页面分发串联为一条可持续运营的工作链路,目标是帮助团队把可信资料沉淀为可管理、可发布、可追踪、可同步到多端的 GEO 内容资产。

PHP PostgreSQL Docker License GitHub stars GitHub forks GitHub issues

GEOFlow 以 Apache License 2.0 开源发布。你可以自由使用、复制、修改和分发本项目,包括商业使用;请保留版权声明和许可证文本,并遵守 Apache-2.0 的专利授权、商标与免责声明条款。


✨ 你可以用它做什么

特性说明
🤖 多模型内容生成兼容 OpenAI 风格接口,支持 chat / embedding 模型、Provider URL 自动适配、智能模型切换、失败重试和调用统计
🧠 知识库与 RAG知识库上传后自动切片;配置 embedding 模型后写入向量,在文章生成时召回相关资料
🗂 素材与提示词体系标题库、关键词库、图片库、作者库、知识库、正文提示词、特殊提示词集中管理
📦 任务自动化支持任务创建、生成数量、草稿池、审核开关、发布节奏、队列执行、失败重试和任务文章筛选
📋 审核与文章管理草稿、审核、发布、回收站、作者、分类、SEO 字段和任务来源统一管理
📡 多站点分发管理支持分发渠道、Agent 密钥、目标站点包、静态模式、伪静态规则、远端文章编辑/删除和队列日志
🧾 目标站点包为每个渠道生成预配置 PHP Agent 包,内置首页、详情页、静态资源、sitemap、llms.txt / TXT 地图和 Schema
📊 数据分析集中展示系统总览、单站内容运营、多站分发、访问日志、Top 内容、AI 爬虫识别和趋势图
🔍 SEO 与 LLM 抓取友好输出文章 SEO 元信息、Open Graph、Schema、GFM Markdown、独立 CSS、图片同步、sitemap 和 TXT 地图
🎨 前台与主题默认主题、主题包、预览路径、后台主题切换;远端渠道可同步站点标题、版权、主题和分类设置
🌍 后台多语言后台支持中文、英文、日语、西班牙语、俄语、葡萄牙语(巴西)切换,并覆盖 2.0 新模块
🔔 版本提醒后台可按 version.json 检查 GitHub 新版本,并在有新版本时提醒管理员
🐳 可直接部署Docker Compose 一键拉起 PostgreSQL(pgvector)、Redis、应用、队列、调度、Reverb 和生产 Nginx/php-fpm

🖼 界面预览

GEOFlow 首页预览 GEOFlow 任务管理预览

GEOFlow 文章管理预览 GEOFlow AI 配置器预览

上述页面覆盖站点首页、任务调度、文章流程与模型配置等主链路;更多后台说明见 docs/(若目录中暂无截图资源,请本地补全或替换为你的截图路径)。


🆕 新版本重点

GEOFlow 2.0 重点变化包括:

  • 后台首页改为运营导航:保留三步上手引导,并按单站点运营、多站点分发和配套 skill 资源组织入口。
  • 数据分析独立成页:系统总览、内容运营、任务健康、素材健康、分发状态、访问日志和 AI 爬虫趋势集中到 /admin/analytics。
  • 分发管理进入可运行闭环:支持渠道新建、密钥管理、测试连接、目标站点包下载、静态/伪静态模式、远端设置同步、队列、日志、远端文章编辑与删除。
  • 目标渠道站点支持静态页面:文章分发后生成远端首页、详情页、sitemap、TXT 地图和 llms.txt,并同步图片与独立 CSS。
  • 素材与 RAG 更完整:知识库切片、向量化状态、标题库、关键词库、图片库、作者和提示词体系形成任务生产输入。
  • 部署与安全增强:生产 Docker 使用 Nginx + PHP-FPM,默认管理员 seed 不覆盖已有账号,Docker 镜像和 Composer 镜像可配置。
  • 多语言覆盖补齐:后台语言包覆盖 2.0 新增模块,减少界面中出现裸翻译 key 或英文兜底。

🏗 运行结构

后台管理页面
    ↓
AI 配置 / 素材库 / 提示词 / 任务配置
    ↓
调度器 / 队列 / Worker 执行 AI 生成
    ↓
草稿 / 审核 / 发布
    ↓
本地前台文章与 SEO 页面
    ↓
分发队列 / 目标站点 Agent
    ↓
远端静态首页、详情页、sitemap、TXT 地图与 llms.txt

🧱 系统架构

层级说明
Web / AdminLaravel 路由与控制器;前台文章站点、Blade 后台、数据分析、分发管理、素材与任务入口
API / Agent本地 API 与目标站点 PHP Agent;负责分发健康检查、文章接收、远端设置同步和静态文件生成
Scheduler / Queue / ReverbLaravel Scheduler 扫描与入队;queue:work / Horizon 消费生成与分发任务;Reverb 按需启用
Domain & Jobsapp/Services、app/Jobs、app/Http/Controllers 等承载 AI 生成、RAG、发布、分发和日志分析规则
PersistencePostgreSQL(推荐 pgvector 镜像与线上实例一致)+ Redis(队列/缓存等)+ 目标站点本地 JSON/静态文件

核心链路:

  1. 在后台配置模型、提示词与素材库
  2. 准备知识库、标题库、关键词库、图片库和作者库
  3. 创建任务并进入调度与队列
  4. Worker(队列进程)调用模型生成正文与元数据
  5. 文章进入草稿、审核、发布链路
  6. 本地前台输出文章与 SEO 页面
  7. 如选择分发渠道,文章进入分发队列并同步到目标站点
  8. 数据分析页持续查看内容生产、分发状态、访问日志和 AI 爬虫趋势

⚡ 后台三步上手

登录后台后,建议按仪表盘里的「快速开始」完成第一轮验证:

  1. 配置 API:至少添加一个可用 chat 模型;如果需要知识库 RAG 召回,再添加一个 embedding 模型。
  2. 配置素材库:准备知识库、标题库、关键词库、图片库和作者。知识库建议先用真实、可验证的业务资料。
  3. 新建任务:选择标题库、素材、模型、生成数量和发布频率,先让文章进入草稿或审核流程,再逐步开启自动发布。

🎯 适用场景与目标收益

GEOFlow 适合这些真实且可落地的场景:

  • 独立 GEO 官网 把官网内容、产品资料、FAQ、案例和品牌知识组织成一个可持续更新的内容系统。目标是提升 AI 搜索可见度、品牌信源覆盖和内容运营效率,而不是堆砌低质量页面。
  • 官网中的 GEO 子频道 在现有官网下搭建一个独立的资讯、知识或解决方案频道。目标是让品牌内容更结构化、更适合搜索引用,也方便不同团队协同更新。
  • 独立 GEO 信源站点 面向某个行业、主题或问题域,持续沉淀高质量文章、榜单、解读、指南和资料。目标是构建稳定可信的外部内容资产,而不是做信息污染。
  • GEO 内容管理系统 作为内部内容生产后台,统一管理模型、素材、标题、图片、知识库、审核和发布。目标是提升团队提效、降低重复劳动、减少分散工具切换。
  • GEO 多站点 / 多栏目部署 用同一套系统管理多个站点、多个栏目或多个主题模板。目标是让内容生产、模板切换、分发和维护更标准化。
  • 自动化信源管理与内容分发 对知识库、专题内容、资讯更新和内容分发流程进行工程化管理。目标是让真正有价值的信息更稳定地被用户和 AI 理解、引用和检索。

这套系统的收益,应该建立在真实、优质、持续维护的知识库之上。 我们不鼓励利用系统制造信息噪音、批量污染互联网或堆积虚假内容。GEOFlow 的本质是帮助团队更高效地管理、生产和分发可信内容,提升 AI 营销效率和 GEO 运营效率,而不是替代事实、替代判断或替代内容质量本身。


🧭 场景对应的部署与使用方式

不同场景下,建议这样使用 GEOFlow:

  • 作为独立 GEO 官网运行 直接部署完整前台与后台,围绕官网栏目、产品页延展内容、FAQ、案例和专题进行运营。适合希望把官网做成 AI 搜索友好型内容资产的团队。
  • 作为官网中的 GEO 子频道运行 将 GEOFlow 作为一个相对独立的内容频道部署,再通过导航、子域名或目录与主站打通。适合不想重构主站、但需要快速上线内容频道的团队。
  • 作为 GEO 信源站运行 单独维护一个面向特定主题的内容站点,把知识库和资料建设放在首位,再通过任务系统做稳定更新。适合想做行业型、专题型或问题导向型内容资产的团队。
  • 作为内部 GEO 内容管理后台运行 把前台弱化,重点使用后台的模型配置、素材库、任务调度、审核发布与 API 能力。适合内容团队、增长团队、品牌团队做内部生产系统。
  • 作为多站点 / 多频道系统运行 使用不同模板、栏目、域名或部署实例,管理多个内容出口。适合需要同时维护多个品牌频道、多个主题站或多个实验站点的团队。
  • 作为自动化信源管理系统运行 重点建设知识库、标题库、图片库和提示词体系,把系统当作一个内容工程与分发操作台。适合希望长期沉淀可信知识资产、再逐步扩展自动化能力的团队。

建议的使用顺序是:

  1. 先确定真实的业务目标和目标读者
  2. 先建设知识库,再建设自动化流程
  3. 先确保内容真实、可核验、可维护
  4. 再用模型、任务和模板能力去提效

如果知识库本身不真实、不完整、不稳定,再强的自动化也只会放大噪音。 所以在 GEOFlow 里,知识库建设应该始终排在最前面。


🚀 快速开始

方式一:Docker(开发 / 演示)

# 1. 克隆仓库
git clone https://github.com/yaojingang/GEOFlow.git
cd GEOFlow

# 2. 复制环境变量
cp .env.example .env

# 3. 按需编辑 .env(数据库、Redis、APP_URL、ADMIN_BASE_PATH、REVERB_* 等)
vi .env

# 4. 构建并启动(含 postgres、redis、init、app、queue、scheduler、reverb)
docker compose build
docker compose up -d
  • 前台默认访问:http://localhost:18080(端口由环境变量 APP_PORT 控制,默认 18080)
  • 后台登录:http://localhost:18080/geo_admin/login(前缀由 ADMIN_BASE_PATH 控制,默认 geo_admin)

首次启动会运行 init 容器:在数据库就绪后执行首次迁移与种子(默认管理员见下文「默认管理员」)。

方式一补充:Docker(生产)

生产环境建议使用 docker-compose.prod.yml,改为 Nginx + php-fpm,而不是 php artisan serve。

如果希望在常见云服务器上自动完成环境自检、Docker 检测、.env.prod 生成、容器部署和部署后健康检查,可以使用参考部署脚本:

curl -fsSL https://raw.githubusercontent.com/yaojingang/GEOFlow/main/deploy-scripts/geoflow-docker-deploy.sh -o geoflow-docker-deploy.sh
bash geoflow-docker-deploy.sh

脚本说明见 deploy-scripts/README.md。

cp .env.prod.example .env.prod
vi .env.prod

docker compose --env-file .env.prod -f docker-compose.prod.yml build
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d postgres redis
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d init
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d app web queue scheduler reverb
  • 前台 / 后台统一经 web(Nginx)访问
  • PHP 由 app(php-fpm)解析
  • 默认管理员:生产 init 服务会在迁移后执行一次 db:seed,只在目标用户名不存在时写入默认后台账号;重复执行不会覆盖已有账号或密码
  • 详细说明见 docs/deployment/DEPLOYMENT.md

方式二:本地 PHP 服务器

前置要求: PHP 8.2+,启用 pdo_pgsql、redis 等 Laravel 常用扩展;本机已安装 PostgreSQL 与 Redis;已安装 Composer 2.x。

# 1. 克隆仓库
git clone https://github.com/yaojingang/GEOFlow.git
cd GEOFlow

# 2. 环境与依赖
cp .env.example .env
# 编辑 .env:将 DB_HOST/DB_* 指向本机 Postgres,REDIS_* 指向本机 Redis,QUEUE_CONNECTION=redis 等

composer install --no-interaction --prefer-dist
php artisan key:generate

# 3. 数据库与存储
php artisan migrate --force
php artisan db:seed --force    # 可选:写入默认管理员等
php artisan storage:link

# 4. 开发用 HTTP(仅本地调试;生产请用 Nginx + PHP-FPM,站点根目录 public/)
php artisan serve --host=127.0.0.1 --port=8080

另开终端启动常驻进程(与 Docker 中 queue / scheduler / reverb 对应):

php artisan queue:work redis --queue=geoflow,distribution,default --sleep=1 --tries=1 --timeout=300
php artisan schedule:work
php artisan reverb:start
  • 后台:http://127.0.0.1:8080/geo_admin/login(若修改了 ADMIN_BASE_PATH 请替换路径)
  • 生产可用 php artisan horizon 替代 queue:work(需按项目配置托管进程)

环境要求(部署检查清单)

组件说明
PHP8.2+(Docker 镜像可为 8.4)
扩展Laravel 常规扩展;PostgreSQL 需 pdo_pgsql;Redis 队列需 redis
Composer2.x
数据库PostgreSQL(推荐 pgvector,与 docker-compose.yml 中镜像一致)
Redis队列、缓存等(本地极简调试可将 QUEUE_CONNECTION 改为 sync,生产不推荐)

源码部署补充说明

目录权限(Linux / macOS 常见):

chmod -R ug+rwx storage bootstrap/cache

默认管理员(执行 php artisan db:seed 后,以 Database\\Seeders\\AdminUserSeeder 为准):

字段值
用户名GEOFLOW_ADMIN_USERNAME,默认 admin
密码本地开发默认 password;生产环境请设置 GEOFLOW_ADMIN_PASSWORD。若生产环境留空且账号尚不存在,seed 会生成一次性随机密码并输出到初始化日志

补充规则:AdminUserSeeder 只在目标用户名不存在时创建账号;重复执行不会覆盖已有用户名、邮箱或密码。若账号已存在,即使生产环境 GEOFLOW_ADMIN_PASSWORD 为空,也不会重新生成或打印密码。

管理员登录失败锁定与手动解锁

  • 后台账号连续登录失败 5 次 会自动锁定(status=locked)。
  • 被锁定账号无法继续登录,需管理员手动解锁。
  • 解锁命令:
php artisan geoflow:admin-unlock <username>

例如:

php artisan geoflow:admin-unlock admin

生产环境 Web: 使用 Nginx / Apache + PHP-FPM,网站根目录指向项目 public/,勿将仓库根目录直接暴露为文档根。


Docker 部署补充说明

开发 Compose 服务一览

服务作用
postgresPostgreSQL 16 + pgvector
redisRedis 7
init一次性初始化(restart: "no")
appphp artisan serve,映射 ${APP_PORT:-18080}:8080
queuequeue:work redis
schedulerschedule:work
reverbWebSocket,映射 ${REVERB_EXPOSE_PORT:-18081}:8080

宿主机仅绑定 127.0.0.1 暴露数据库 / Redis 端口时,见 docker-compose.yml 中的 DB_EXPOSE_PORT、REDIS_EXPOSE_PORT。

入口脚本(docker/entrypoint.sh)常用变量

变量默认含义
COMPOSER_ON_STARTtrue容器启动时执行 composer install
AUTO_MIGRATEtrue每次启动执行 php artisan migrate --force
AUTO_INIT_ONCE仅 init 为 true新库时执行一次 migrate + db:seed
AUTO_GENERATE_APP_KEYinit 内为 true无有效 APP_KEY 时自动生成
AUTO_SEEDfalse为 true 时每次启动都 db:seed(慎用)

Compose 将 ./storage 与 ./.env 挂载进容器;应用代码在镜像内。若要用于正式生产,请改用仓库新增的 docker-compose.prod.yml(Nginx + php-fpm),并参见 docs/deployment/DEPLOYMENT.md。

升级建议: git pull → docker compose build → docker compose up -d。


开发与测试

composer test
./vendor/bin/pint

🌍 多语言文档


📄 开源协议

本项目采用 Apache License 2.0。该协议允许个人和企业在遵守许可证声明、版权保留、修改说明、专利授权和免责声明等条款的前提下使用、修改、分发和商用 GEOFlow。


⭐ Star 趋势

Star History Chart

相似文章

@yaojingang: 把近两年,与GEO、AEO、AI搜索有关的论文,全部下载了下来,一共41篇 依次读了下,有不少新的理解和启发 41篇论文已全部推送到GitHub仓库,欢迎下载,地址见文末 一些关键洞察分享: 1、GEO不是SEO的替代品 SEO解决的是能…

X AI KOLs Timeline

作者收集并阅读了41篇GEO/AEO/AI搜索相关论文,将论文合集推送至GitHub仓库,并分享了10个关键洞察,包括GEO与SEO的关系、AI搜索引用机制、内容结构化重要性等,提供了实用的优化方向。

@yaojingang: 写了一个免费的GEO在线专业测试系统,已上线开放,相关链接放在了评论区 测试相关说明: 1、只需要输入姓名,即可开始答题进行测试,测试完成后会生成一个详细的可视化测试报告,包含每个题目的详细解析、原理及对应的证据来源; 2、基于54篇国内…

X AI KOLs Timeline

作者发布了一个免费的GEO(生成式引擎优化)在线专业测试系统,基于54篇论文和大量AI平台引用特征设计30道题目,测试完全免费开源,帮助用户建立GEO专业认知。