Skip to content

Integrate SEO research and GEO monitoring with one shared API key - #28

Merged
erickkkyt merged 5 commits into
mainfrom
codex/seo-geo-workbench
Nov 1, 2026
Merged

erickkkyt merged 5 commits into
mainfrom
codex/seo-geo-workbench

Conversation

@erickkkyt

@erickkkyt erickkkyt commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Result

BeatGEO now includes all twelve BeatAPI SEO endpoints inside each brand's dashboard. Users save, replace or disconnect one encrypted BeatAPI key at /setup; SEO and GEO share that connection across the local workspace. SEO does not require a research model, and saving the key makes no remote API calls.

Users can research the current brand, review query costs, edit and select candidate questions, then add them directly to that brand's GEO monitoring. Imports deduplicate within the brand, preserve disabled questions, enforce quotas and retain source tags. They schedule subsequent collection without triggering immediate model calls; failed scheduling can be retried without duplicate questions.

Changes

  • Embed the workbench under the main authenticated brand route with per-request brand and administrator checks, isolated report storage and narrowly scoped same-origin framing.
  • Read the shared key for every new query and stop subsequent calls after key replacement or disconnection. Empty encrypted overrides prevent stale environment credentials from returning.
  • Confirm stored final status before marking an inactive query interrupted, preventing a delayed poll from overwriting a completed run; deterministic regression covers all final statuses.
  • Preserve exact endpoint scope, budgets and question drafts; improve mobile navigation, keyboard imports and actionable errors.
  • Make pnpm seo:workbench an alias for the main local startup. Keep the standalone engine available for developer use with pnpm seo:standalone.
  • Update English/Chinese usage documentation and add a web changeset.

Validation

  • pnpm lint: passed (907 files).
  • pnpm --dir apps/web check-types: passed.
  • pnpm --dir apps/web test: 644 passed.
  • pnpm --dir packages/lib test: 727 passed.
  • pnpm test:seo: 180 passed.
  • pnpm test:seo:browser: 10 passed, including embedded shared-key use, direct question import, deduplication and disconnecting an open query plan.
  • pnpm --dir apps/web build: passed, including the server bundle check.
  • Keyboard file-picker regression: synchronize listener registration, target focus and completed import feedback; 20 repeated runs passed, followed by all 10 browser flows. No retry or assertion was removed.
  • Independent review found no merge-blocking issues in credential lifecycle, authorization, brand isolation or prompt persistence.
  • GitHub CI runs the full workspace checks and PostgreSQL integration suite against this commit. Local recursive pnpm execution is blocked by the existing linked node_modules layout; package-level checks above passed without weakening that guard.

SEO provider responses in tests are simulated. Real paid endpoint permissions, data quality and billing remain for live user acceptance.

@erickkkyt erickkkyt changed the title Add local SEO and GEO research workbench Integrate SEO research and GEO monitoring with one shared API key Nov 1, 2026
@erickkkyt
erickkkyt merged commit e18b7c4 into main Nov 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant