@yaojingang: Tonight at 8:00 PM, I will hold my first GEO livestream via WaytoAGI, explaining the underlying logic, methods, system principles, and concepts of GEO. The relevant materials and systems are as follows, sharing with everyone: 1. GEOFlow, the system I will be presenting tonight and the GEO principles behind it https://github.co…

X AI KOLs Timeline Events

Summary

This is a preview of a livestream sharing about GEO (Generative Engine Optimization), also introducing the open-source GEOFlow system and its related materials and toolkits.

Tonight at 8:00 PM, I will hold my first GEO livestream via WaytoAGI, explaining the underlying logic, methods, system principles, and concepts of GEO. The relevant materials and systems are as follows, sharing with everyone: 1. GEOFlow, the system I will be presenting tonight and the GEO principles behind it https://github.com/yaojingang/GEOFlow… 2. Meta-Skill, a Skill for creating Skills https://github.com/yaojingang/yao-meta-skill… 3. A collection of 17 GEO Skills https://github.com/yaojingang/yao-geo-skills… 4. 41 latest papers on GEO/AI search https://github.com/yaojingang/geo-citation-lab/tree/main/02-geo-aeo-ai-search-papers… 5. Related articles and documents "What Exactly is GEO" https://mp.weixin.qq.com/s/GXuu0Hku-j-8ona5yzQSvA… "From SEO to GEO, From Traffic to Agent, the Real Change Has Just Begun" https://mp.weixin.qq.com/s/2P_zSjJkybl-rAyZjMIQAw… "GEO White Paper" https://yaojingang.feishu.cn/docx/Jv85dXAeZoKJ7exJi4Yc4Edrnhf… "GEO Red Paper" https://yaojingang.feishu.cn/wiki/Otqtw0HFbiNeCMkjKalcFkoJnpf… "GEO Blue Paper" https://yaojingang.feishu.cn/wiki/MwkiwPDqCiHGwVk2uOtcNUlrnnf… "AI Marketing: From SEO to GEO" Prompt Collection https://yaojingang.feishu.cn/wiki/YbMLwkChmiktbskRoHZcFixBnxb…
Original Article
View Cached Full Text

Cached at: 05/31/26, 07:04 AM

Tonight at 8 PM, I will host the first GEO live stream via WaytoAGI, covering the underlying logic, methods, system principles, and philosophy of GEO. The relevant materials and systems are shared below:

  1. GEOFlow – The system to be presented tonight and the GEO principles behind it
    https://github.com/yaojingang/GEOFlow

  2. Meta Skill – The Skill for creating Skills
    https://github.com/yaojingang/yao-meta-skill

  3. 17 GEO Skill Collection
    https://github.com/yaojingang/yao-geo-skills

  4. 41 Latest GEO/AI Search Papers
    https://github.com/yaojingang/geo-citation-lab/tree/main/02-geo-aeo-ai-search-papers

  5. Related Articles and Documents

    • What Exactly is GEO
      https://mp.weixin.qq.com/s/GXuu0Hku-j-8ona5yzQSvA
    • From SEO to GEO, From Traffic to Agent – The Real Change Has Just Begun
      https://mp.weixin.qq.com/s/2P_zSjJkybl-rAyZjMIQAw
    • GEO White Paper
      https://yaojingang.feishu.cn/docx/Jv85dXAeZoKJ7exJi4Yc4Edrnhf
    • GEO Red Paper
      https://yaojingang.feishu.cn/wiki/Otqtw0HFbiNeCMkjKalcFkoJnpf
    • GEO Blue Paper
      https://yaojingang.feishu.cn/wiki/MwkiwPDqCiHGwVk2uOtcNUlrnnf
    • AI Marketing: From SEO to GEO – Prompt Collection
      https://yaojingang.feishu.cn/wiki/YbMLwkChmiktbskRoHZcFixBnxb

yaojingang/GEOFlow

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

GEOFlow

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

GEOFlow is an open-source intelligent content engineering and multi-site distribution system specifically designed for GEO (Generative Engine Optimization). It connects the knowledge base, asset library, prompts, AI generation tasks, review & publishing, data analysis, GEOFlow Agent target site packages, WordPress REST channels, universal HTTP API channels, and remote static page distribution into a sustainable operational workflow. The goal is to help teams transform trusted knowledge into manageable, publishable, trackable, and multi-channel syncable GEO content assets.

PHP (https://www.php.net/)
PostgreSQL (https://www.postgresql.org/)
Docker (https://docs.docker.com/compose/)
License
GitHub stars (https://github.com/yaojingang/GEOFlow/stargazers)
GitHub forks (https://github.com/yaojingang/GEOFlow/network/members)
GitHub issues (https://github.com/yaojingang/GEOFlow/issues)

GEOFlow is open-sourced under the Apache License 2.0. You are free to use, copy, modify, and distribute this project, including for commercial use; please retain copyright notices and license text, and comply with the patent grant, trademark, and disclaimer terms of Apache-2.0.


✨ What You Can Do With It

FeatureDescription
🤖 Multi-Model Content GenerationCompatible with OpenAI-style APIs and Gemini native APIs; supports chat / embedding models, automatic Provider URL adaptation, intelligent model switching, failure retry, and call statistics
🧠 Knowledge Base & RAGAfter uploading a knowledge base, supports structured rule-based chunking, optional LLM semantic planning with stable fallback; after configuring an embedding model, writes to vectors and recalls relevant materials during article generation
🗂 Asset & Prompt SystemCentralized management of title library, keyword library, image library, author library, knowledge base, body prompts, and special prompts
📦 Task AutomationSupports task creation, generation quantity, draft pool, review toggle, publishing rhythm, queue execution, failure retry, publishing scope control, and task article filtering
📋 Review & Article ManagementUnified management of drafts, reviews, publishing, trash, authors, categories, SEO fields, and task sources
📡 Multi-Site Distribution ManagementSupports GEOFlow Agent, WordPress REST, and generic HTTP API channels; key management, target site packages, static mode, pseudo-static rules, remote article editing/deletion, and queue logs
🧾 Target Site PackageGenerates a pre-configured PHP Agent package for each channel, including homepage, detail pages, static assets, sitemap, llms.txt / TXT maps, and Schema
📊 Data AnalysisCentralized display of system overview, single-site content operations, multi-site distribution, access logs, top content, AI crawler identification, and trend charts
🔍 SEO & LLM-Friendly OutputArticle SEO meta info, Open Graph, Schema, GFM Markdown, standalone CSS, image sync, sitemap, and TXT maps
🎨 Frontend & ThemesDefault theme, theme packages, preview paths, backend theme switching; GEOFlow Agent channels can sync site title, copyright, theme, and category settings
🌍 Backend Multi-LanguageBackend supports Chinese, English, Japanese, Spanish, Russian, Portuguese (Brazil), covering all 2.0 new modules
🔔 Version ReminderBackend can check GitHub for new versions via version.json and notify administrators when a new version is available
🐳 Ready to DeployDocker Compose one-click launch for PostgreSQL (pgvector), Redis, application, queue, scheduler, Reverb, and production Nginx/php-fpm

🖼 Interface Preview

Data Analysis
Site Settings
Backend Homepage
Task Management
AI Model Configuration
Asset Management

The above pages cover the main workflow including backend homepage, data analysis, task scheduling, asset library, model configuration, and site settings; more backend details can be found in docs/.


🆕 Key Changes in the New Version

Key changes in GEOFlow 2.0 include:

  • Backend homepage changed to an operations dashboard: Retains three-step getting-started guide, organized by single-site operations, multi-site distribution, and supporting skill resources.
  • More complete Gemini and OpenAI-compatible integration: AI model configuration now covers both OpenAI-style Provider and Gemini native chat / embedding paths.
  • Knowledge base supports semantic chunk planning: Offers structured rule-based chunking, automatic strategy, and optional LLM semantic planning. The LLM only defines boundaries, while the final chunks are stably reconstructed from the original text.
  • Data analysis becomes an independent page: System overview, content operations, task health, asset health, distribution status, access logs, and AI crawler trends are centralized under /admin/analytics.
  • Distribution management enters a runnable closed loop: Supports GEOFlow Agent, WordPress REST, and generic HTTP API channels; key management, test connection, target site package download, static/pseudo-static mode, remote settings sync, queue, logs, remote article editing, and deletion.
  • Task publishing scope is clearer: Tasks can choose “publish to local and channel sites”, “publish only to channel sites”, or “publish only to this site”. The “local only” mode disables channel selection and avoids entering the remote distribution queue.
  • Target channel sites support static pages: After article distribution, generates remote homepage, detail pages, sitemap, TXT maps, and llms.txt, along with synced images and standalone CSS.
  • More complete asset & RAG: Knowledge base chunking, vectorization status, title library, keyword library, image library, authors, and prompt system now form task production inputs.
  • Deployment & security enhancements: Production Docker uses Nginx + PHP-FPM; default admin seed does not overwrite existing accounts; Docker image and Composer image are configurable.
  • Multi-language coverage: Backend language packs cover all 2.0 new modules, reducing occurrences of untranslated keys or English fallback.

🏗 Operational Structure

Backend admin page ↓ AI configuration / Asset library / Prompts / Task configuration ↓ Scheduler / Queue / Worker execute AI generation ↓ Draft / Review / Publish ↓ Local frontend articles & SEO pages ↓ Distribution queue / Target site Agent ↓ Remote static homepage, detail pages, sitemap, TXT maps, and llms.txt


🧱 System Architecture

LayerDescription
Web / AdminLaravel routing and controllers; frontend article site, Blade backend, data analysis, distribution management, asset & task entry points
API / AgentLocal API and target site PHP Agent; responsible for distribution health checks, article reception, remote settings sync, and static file generation
Scheduler / Queue / ReverbLaravel Scheduler scans and enqueues; queue:work / Horizon consumes generation and distribution tasks; Reverb enabled on demand
Domain & Jobsapp/Services, app/Jobs, app/Http/Controllers, etc., handle AI generation, RAG, publishing, distribution, and log analysis logic
PersistencePostgreSQL (recommended pgvector image, consistent with online instance) + Redis (queue/cache, etc.) + target site local JSON/static files

Core workflow:

  1. Configure models, prompts, and asset library in the backend
  2. Prepare knowledge base, title library, keyword library, image library, and author library; select appropriate knowledge base chunking strategy
  3. Create a task and enter the scheduling and queue
  4. Worker (queue process) calls the model to generate body and metadata
  5. Article enters draft, review, and publish workflow
  6. Local frontend outputs article and SEO pages
  7. If a distribution channel is selected, the article enters the distribution queue and syncs to GEOFlow Agent or WordPress target site
  8. Data analysis page continuously monitors content production, distribution status, access logs, and AI crawler trends

⚡ Backend Three-Step Getting Started

After logging into the backend, follow the “Quick Start” on the dashboard for initial verification:

  1. Configure API: Add at least one available chat model; if knowledge base RAG recall is needed, add an embedding model and choose a suitable knowledge base chunking strategy.
  2. Configure Asset Library: Prepare knowledge base, title library, keyword library, image library, and authors. It is recommended to start with real, verifiable business materials for the knowledge base.
  3. Create a Task: Select title library, assets, model, generation quantity, publishing frequency, and publishing scope. First, let articles enter draft or review workflow, then gradually enable automatic publishing and multi-site distribution.

🎯 Applicable Scenarios and Target Benefits

GEOFlow is suitable for these real and actionable scenarios:

  • Standalone GEO official website: Organize official content, product materials, FAQs, cases, and brand knowledge into a continuously updatable content system. Aim to improve AI search visibility, brand source coverage, and content operations efficiency, rather than piling up low-quality pages.
  • GEO sub-channel within an official website: Build an independent news, knowledge, or solution channel within an existing official website. Aim for more structured, search-friendly brand content that is easier for different teams to collaboratively update.
  • Standalone GEO source site: Continuously produce high-quality articles, rankings, interpretations, guides, and materials for a specific industry, topic, or problem domain. Aim to build stable and trustworthy external content assets, not information pollution.
  • GEO content management system: Serve as an internal content production backend, unified management of models, assets, titles, images, knowledge bases, reviews, and publishing. Aim to improve team efficiency, reduce repetitive work, and minimize tool switching.
  • GEO multi-site / multi-section deployment: Use the same system to manage multiple sites, sections, or theme templates. Aim to standardize content production, template switching, distribution, and maintenance.
  • Automated source management and content distribution: Engineering management of knowledge bases, topic content, news updates, and content distribution workflows. Aim for truly valuable information to be more consistently understood, cited, and retrieved by users and AI.

The benefits of this system should be built on a real, high-quality, continuously maintained knowledge base.

We do not encourage using the system to create information noise, mass-pollute the internet, or pile up fake content. The essence of GEOFlow is to help teams manage, produce, and distribute trustworthy content more efficiently, improving AI marketing efficiency and GEO operations efficiency, rather than replacing facts, judgment, or content quality itself.


🧭 Scenario-Based Deployment and Usage

Different scenarios suggest the following usage of GEOFlow:

  • Run as a standalone GEO official website: Directly deploy the full frontend and backend, operate around official site columns, product page extensions, FAQs, cases, and topics. Suitable for teams that want to turn their official website into an AI-search-friendly content asset.
  • Run as a GEO sub-channel within an official website: Deploy GEOFlow as a relatively independent content channel, then connect it to the main site via navigation, subdomain, or directory. Suitable for teams that don’t want to restructure the main site but need to quickly launch a content channel.
  • Run as a GEO source site: Maintain a content site dedicated to a specific topic, prioritizing knowledge base and material building, then use the task system for stable updates. Suitable for teams aiming for industry-specific, topic-specific, or problem-driven content assets.
  • Run as an internal GEO content management backend: Downplay the frontend, focus on the backend’s model configuration, asset library, task scheduling, review & publishing, and API capabilities. Suitable for content teams, growth teams, and brand teams for internal production systems.
  • Run as a multi-site / multi-channel system: Use different templates, sections, domains, or deployment instances to manage multiple content outlets. Suitable for teams that need to maintain multiple brand channels, topic sites, or experimental sites simultaneously.
  • Run as an automated source management system: Focus building the knowledge base, title library, image library, and prompt system, using the system as a content engineering and distribution console. Suitable for teams aiming to sustainably accumulate trustworthy knowledge assets and gradually expand automation capabilities.

Recommended order of use:

  1. First, define real business goals and target audience
  2. First build the knowledge base, then build automation
  3. First ensure content is real, verifiable, and maintainable
  4. Then use models, tasks, and template capabilities to improve efficiency

If the knowledge base itself is not real, complete, or stable, even the strongest automation will only amplify noise.

Therefore, in GEOFlow, knowledge base construction should always come first.


🚀 Quick Start

Method 1: Docker (Development / Demo)

``bash

1. Clone the repository

git clone https://github.com/yaojingang/GEOFlow.git
cd GEOFlow

2. Copy environment variables

cp .env.example .env

3. Edit .env as needed (database, Redis, APP_URL, ADMIN_BASE_PATH, REVERB_*, etc.)

vi .env

4. Build and start (includes postgres, redis, init, app, queue, scheduler, reverb)

docker compose build
docker compose up -d
``

  • Frontend default access: http://localhost:18080 (port controlled by environment variable APP_PORT, default 18080)
  • Backend login: http://localhost:18080/geo_admin/login (prefix controlled by ADMIN_BASE_PATH, default geo_admin)

The first startup will run the init container: once the database is ready, it executes the first migration and seed (default admin see “Default Admin” below).

Method 1 Supplement: Docker (Production)

For production, it is recommended to use docker-compose.prod.yml, switching to Nginx + php-fpm instead of php artisan serve.

If you want to automatically perform environment checks, Docker detection, .env.prod generation, container deployment, and post-deployment health checks on a common cloud server, use the reference deployment script:

bash 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

Script documentation is in deploy-scripts/README.md.

bash 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

  • Frontend / Backend are all accessed via web (Nginx)
  • PHP is parsed by app (php-fpm)
  • Default Admin: The production init service runs db:seed once after migration, only writes the default backend account if the target username does not exist; repeated execution will not overwrite existing accounts or passwords
  • Detailed documentation in docs/deployment/DEPLOYMENT.md

Method 2: Local PHP Server

Prerequisites: PHP 8.2+ with pdo_pgsql, redis, and other common Laravel extensions enabled; PostgreSQL and Redis installed locally; Composer 2.x installed.

``bash

1. Clone the repository

git clone https://github.com/yaojingang/GEOFlow.git
cd GEOFlow

2. Environment and dependencies

cp .env.example .env

Edit .env: point DB_HOST/DB_* to local Postgres, REDIS_* to local Redis, QUEUE_CONNECTION=redis, etc.

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

3. Database and storage

php artisan migrate –force
php artisan db:seed –force # Optional: write default admin, etc.
php artisan storage:link

4. Development HTTP (local debugging only; for production, use Nginx + PHP-FPM, site root is public/)

php artisan serve –host=127.0.0.1 –port=8080
``

Open another terminal to start persistent processes (corresponding to queue / scheduler / reverb in Docker):

bash php artisan queue:work redis --queue=geoflow,distribution,default --sleep=1 --tries=1 --timeout=300 php artisan schedule:work php artisan reverb:start

  • Backend: http://127.0.0.1:8080/geo_admin/login (if ADMIN_BASE_PATH is changed, adjust the path)
  • Production can use php artisan horizon instead of queue:work (requires process management according to project configuration)

Environment Requirements (Deployment Checklist)

ComponentDescription
PHP8.2+ (Docker image can be 8.4)
ExtensionsLaravel standard extensions; PostgreSQL requires pdo_pgsql; Redis queue requires redis
Composer2.x
DatabasePostgreSQL (recommended pgvector, consistent with docker-compose.yml image)
RedisQueue, cache, etc. (for minimal local debugging, set QUEUE_CONNECTION to sync; not recommended for production)

Source Deployment Additional Notes

Directory permissions (common on Linux / macOS):

bash chmod -R ug+rwx storage bootstrap/cache

Default Admin (after running php artisan db:seed, based on Database\Seeders\AdminUserSeeder):

FieldValue
UsernameGEOFLOW_ADMIN_USERNAME, default admin
PasswordLocal development default password; for production, set GEOFLOW_ADMIN_PASSWORD. If left empty in production and the account does not exist, the seed will generate a one-time random password and output it in the init log

Additional rule: AdminUserSeeder only creates the account if the target username does not exist; repeated execution will not overwrite existing username, email, or password. If the account already exists, even if GEOFLOW_ADMIN_PASSWORD is empty in production, it will not regenerate or print a password.

Admin Login Failure Lock and Manual Unlock

  • Backend accounts that fail login 5 consecutive times will be automatically locked (status=locked).
  • Locked accounts cannot log in further and require manual unlock by an administrator.
  • Unlock command:

bash php artisan geoflow:admin-unlock

Example:

bash php artisan geoflow:admin-unlock admin

Production Web: Use Nginx / Apache + PHP-FPM, point the website root to the project’s public/ directory; do not expose the repository root as the document root.


Docker Deployment Additional Notes

Development Compose Services Overview

ServicePurpose
postgresPostgreSQL 16 + pgvector
redisRedis 7
initOne-time initialization (restart: "no")
appphp artisan serve, mapping ${APP_PORT:-18080}:8080
queuequeue:work redis
schedulerschedule:work
reverbWebSocket, mapping ${REVERB_EXPOSE_PORT:-18081}:8080

When the host binds only 127.0.0.1 to expose database / Redis ports, see DB_EXPOSE_PORT and REDIS_EXPOSE_PORT in docker-compose.yml.

Entry Script (docker/entrypoint.sh) Common Variables

VariableDefaultMeaning
COMPOSER_ON_STARTtrueRun composer install on container start
AUTO_MIGRATEtrueRun php artisan migrate --force on each start
AUTO_INIT_ONCEOnly init is trueRun migrate + db:seed once on a fresh DB
AUTO_GENERATE_APP_KEYtrue inside initAuto-generate APP_KEY if not valid
AUTO_SEEDfalseRun db:seed every startup if true (use with caution)

Compose mounts ./storage and ./.env into the container; application code is inside the image. For formal production, use the newly added docker-compose.prod.yml (Nginx + php-fpm), and see docs/deployment/DEPLOYMENT.md.

Upgrade suggestion: git pulldocker compose builddocker compose up -d.


Development and Testing

bash composer test ./vendor/bin/pint


🌍 Multi-Language Documentation


📄 Open Source License

This project is open-sourced under the Apache License 2.0. This license allows individuals and enterprises to use, modify, distribute, and commercialize GEOFlow, subject to the terms of license notice, copyright retention, modification statements, patent grant, and disclaimer.


⭐ Star Trend

Star History Chart (https://star-history.com/#yaojingang/GEOFlow&Date)

Similar Articles

@yaojingang: After a month of continuous iteration, the first GEO system "GEOFlow 2.0" is officially launched. GitHub link at the end. A month ago, GEOFlow 1.0 was launched. Now, exactly one month later, the star count has exceeded 1.6k. Over this past month, I've received feedback and real-world implementation cases from many friends...

X AI KOLs Timeline

GEOFlow 2.0 is officially launched, with a systematic refactoring, adding multi-site distribution, AI knowledge base enhancement, data analysis, and other features, aiming to become the infrastructure for GEO content engineering.

@ai_xiaomu: https://x.com/ai_xiaomu/status/2068613828687085699

X AI KOLs Timeline

A detailed tutorial on GEO (Generative Engine Optimization), from concepts and principles to practical methods, explaining how to make AI recommend your product when answering questions, suitable for AI product entrepreneurs to learn.

@yaojingang: Created a free GEO online professional testing system, now live and open, with relevant links in the comments. Test instructions: 1. Simply enter your name to start the test; after completion, a detailed visual test report will be generated, including detailed explanations, principles, and evidence sources for each question; 2. Based on 54 domestic...

X AI KOLs Timeline

The author released a free GEO (Generative Engine Optimization) online professional testing system. Based on 54 papers and a large number of AI platform citation features, 30 questions were designed. The test is completely free and open source, helping users build professional GEO knowledge.

@yaojingang: I downloaded all papers related to GEO, AEO, and AI search from the past two years — 41 in total. Read through them one by one, and gained many new insights and inspirations. All 41 papers have been pushed to the GitHub repository. Feel free to download. The address is at the end of the article. Some key insights to share: 1. GEO is not a replacement for SEO. SEO addresses whether content can be retrieved, indexed, and entered into the candidate set...

X AI KOLs Timeline

The author collected and read 41 papers related to GEO, AEO, and AI search, pushed the collection to GitHub, and shared 10 key insights, including the relationship between GEO and SEO, AI search citation mechanisms, the importance of content structuring, and practical optimization directions.