CLI tool
yaojingang/GEOFlow avatar
yaojingang/GEOFlow

GEOFlow: A PHP-Based Content Pipeline for GEO and Multi-Site Distribution

Open-source GEO content engineering and multi-site distribution system with AI tasks, RAG/semantic chunking, analytics, GEOFlow Agent and WordPress target publishing.

3,631 stars823 forksPHPApache-2.0

At a glance

What is it?
GEOFlow is an open-source Laravel application that automates AI content generation, quality checks, manual publishing workflows, and distribution to WordPress or custom agent sites. It targets teams that want a governed pipeline from knowledge base to published GEO content, but its complexity and update requirements demand careful evaluation.
Who is it for?
Adopt GEOFlow if you run a content operation that needs a governed pipeline from knowledge base to AI-generated articles, with human review, manual publishing tickets, and distribution to WordPress or custom agent sites.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly PHP, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What GEOFlow Actually Does

GEOFlow solves a specific problem: turning raw business knowledge into published content that is optimized for generative engine visibility, while keeping human oversight in the loop. It is not a blog plugin or a simple CMS. The README describes it as an intelligent content engineering and multi-site distribution system. It connects knowledge bases, prompts, AI generation, article quality checks, review and publishing, manual publishing tickets, hosted channel sites, and analytics into one workflow. The intended users are teams that need to produce GEO content at scale, with auditability and distribution control. The system assumes you have a Laravel-compatible PHP environment and are willing to run a queue worker and a scheduler. It is a heavy tool for a heavy job: if you only need a few articles, the overhead is not justified.

The Core Pipeline: From Knowledge Base to Published Article

The architecture is a multi-stage pipeline. The README shows a clear flow: admin pages feed AI configuration, asset libraries, and prompts into a scheduler and queue. Workers call AI models to generate article bodies and metadata. The output goes to drafts, then review, then publishing. After that, the local frontend displays articles with SEO pages, and if distribution is configured, a distribution queue sends content to target sites. The knowledge base uses RAG: after upload, the system supports structured rule-based chunking, optional LLM-based semantic planning, and a stable fallback. When an embedding model is configured, vectors are written to PostgreSQL with pgvector, and during article generation, relevant materials are recalled. This is a concrete mechanism, not a vague promise. The quality check step is also specific: it evaluates articles against knowledge evidence, advertising rules, and publishing context, outputting itemized scores, problem locations, regulatory basis, and modification suggestions. Human approval can override the check, but that override is auditable.

Deployment and Getting Started

The README states that Docker Compose is the direct deployment path. It pulls up PostgreSQL with pgvector, Redis, the application, a queue, a scheduler, Reverb, and production Nginx/php-fpm. The recommended persistence is PostgreSQL with a pgvector image, plus Redis for queues and caching. The quick start involves three steps: configure at least one chat model, prepare asset libraries (knowledge base, title library, keyword library, image library, authors), and create a task. For RAG, you also need an embedding model and a chunking strategy. The CLI is available as bin/geoflow and supports macOS, Linux, and WSL. It uses API v1 and can read JSON from files or stdin. The README also mentions a GEOFlow Agent Skill that can be installed for Codex via a script: bash .agents/skills/geoflow/scripts/install_codex_skill.sh. That script backs up existing skills and requires a Codex restart. The installation is not trivial; it expects a specific environment and a sequence of steps.

The Manual Publishing Workbench and Chrome Assistant

One distinctive feature is the manual publishing workbench. It is designed for tasks that require a human to post content on external platforms, like answering questions on Zhihu. The workflow: a super admin creates publishing identities and platform account references. From an approved article, an operator creates a posting ticket, or a comment ticket for a public target URL. The ticket includes final copy, executor, and planned time. The executor copies the content, publishes it externally, and fills back the actual URL and notes. The optional Chrome extension pairs with the device, claims tickets, opens the target page, validates the account, fills a draft, and returns execution credentials. The user must confirm the final publish. The system explicitly does not store platform passwords, cookies, tokens, or OAuth credentials. This is a clear boundary: the tool automates the mechanical parts but leaves the final click to a human. That is a sound design for platforms that forbid full automation.

Distribution Channels and Target Site Packages

GEOFlow supports multiple distribution channels: GEOFlow Agent, WordPress REST, and generic HTTP API. Each channel has key management, target site packages, static mode, pseudo-static rules, remote article editing/deletion, and queue logs. The target site package is generated per channel as a pre-configured PHP Agent. It includes a homepage, detail pages, static assets, sitemap, llms.txt or TXT map, and Schema. This is a concrete mechanism: the agent runs on the target site and receives articles, syncs settings, and generates static files. The README mentions that the hosted channel sites now support subdomain allocation, lifecycle management, article allocation, publishing quotas, failure cooling, technical pre-checks, cache invalidation, and status reconciliation. This is a full closed loop for managing remote sites. The system also supports WordPress REST, which is a more standard integration path. The generic HTTP API is for custom targets. This flexibility is useful, but it also means you need to understand each channel's configuration and failure modes.

Limitations and Failure Modes

GEOFlow is not a lightweight tool. The README lists requirements: PostgreSQL with pgvector, Redis, a queue worker, a scheduler, and Reverb. That is a multi-service stack. If you do not have Docker or the ability to run background processes, this is the wrong tool. The v3.0 upgrade path is explicit: you must run migrations, rebuild the frontend, restart running processes, and then install and verify the separate GEOFlow Updater. That updater uses a local Unix socket for updates, backups, environment acceptance, and rollback, and it requires an administrator password and a 6-digit authenticator code for sensitive operations. This is a high operational cost. Also, the telemetry feature is off by default, but if enabled, it sends a daily active event from logged-in admin pages. The README assures that domain names, paths, emails, article content, cookies, APP_KEY, and business secrets are not included. However, you must configure the collection URL and enable it explicitly. Another limitation: the manual publishing workbench and Chrome extension do not store platform credentials, which is good for security but means the operator must re-enter or select accounts each time. The quality check can leave articles in draft if the result is pending review, blocked, abnormal, or expired. That is a safety feature, but it can also stall your pipeline if the check is too strict.

Alternatives and the Difference in Approach

A direct alternative is a combination of a headless CMS like Strapi or WordPress with a custom AI generation script and a distribution plugin. The difference is that GEOFlow bakes the entire pipeline into one application: knowledge base chunking, RAG, quality checks, review states, manual publishing tickets, and distribution queues. With a headless CMS, you would need to build or assemble those pieces yourself. Another alternative is a static site generator like Hugo or Astro, with an AI content generator that outputs Markdown. That approach is far simpler and cheaper to run, but it lacks the multi-site distribution, the audit trail, and the manual publishing workbench. If your need is only to publish articles to your own site, a static generator is more appropriate. If you need to distribute to many WordPress sites with governance, GEOFlow's agent and REST channels are more integrated. The trade-off is between a monolithic, opinionated system and a modular stack you control yourself.

Maintenance and License Considerations

The project is licensed under Apache-2.0, which permits commercial use, modification, and distribution, provided you retain the copyright notice and license text. The README explicitly mentions patent grants and trademark disclaimers, but this is not legal advice. The repository is actively maintained, with a recent release v2.3.0 on 2026-08-09, and the default branch is main. The update mechanism is a separate tool called GEOFlow Updater, which handles updates, backups, environment acceptance, and rollback via a local Unix socket. This adds a maintenance dependency: you must install and verify that updater after each upgrade. The README also mentions that the old Run, Plan, Approval, Capability, and Trace workflows stopped receiving new requests after v3.0, though historical data is retained. That means you need to migrate to the new AI workbench if you upgrade. The 90-day recycle bin for tasks provides audit history, but you must be aware of that retention period. Overall, the maintenance cost is non-trivial, and you should budget time for migrations and updater verification.

Editorial conclusion

Adopt GEOFlow if you run a content operation that needs a governed pipeline from knowledge base to AI-generated articles, with human review, manual publishing tickets, and distribution to WordPress or custom agent sites. Do not adopt it if you want a lightweight plugin or a simple static site generator, because GEOFlow requires Docker Compose, PostgreSQL with pgvector, Redis, and a queue worker, and its v3.0 upgrade path demands migrations, frontend rebuilds, and a separate updater tool. Before committing, verify that your hosting can support the full stack, that you can configure the telemetry flag to your preference, and that you have a plan for the 90-day recycle bin and the update socket permissions. The project is actively maintained, with recent releases in August 2026, but the operational overhead is real and the documentation is still primarily Chinese, so verify the English docs cover your workflow before relying on it.

Official sources

  1. Official README
  2. Project repository
  3. Release notes
Community notes

Community notes