返回资讯中心
外部精选
软件工程
#开发者实时流

Show HN: CiteLadder – open-source AI search visibility tracker

Open-source AI search visibility (GEO / AEO) you can self-host.

Hacker News 最新abhij13062026/10/17 · 20 天前20 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

Open-source AI search visibility (GEO / AEO) you can self-host.

See how ChatGPT, Gemini, Claude and Google AI Overviews answer your buyers' questions, which brands they name, and which pages they cite. Then find out why, fix it, and measure whether it worked.

Quick start · Features · Screenshots · MCP · Hosted version · Docs · Contributing

Don't want to run it yourself? CiteLadder Cloud is the hosted version with a free trial, team workspaces and managed engine access. Product guides live at docs.citeladder.com.

For a portfolio of real buyer questions (prompts), CiteLadder asks the answer engines on a schedule and records every answer:

The measured outcome is observed mention and citation share, compared under the same prompts and engines over time. Site and demand metrics are leading indicators, never presented as proof of cause. unavailable, not configured and observed zero stay three different things.

AI Visibility Overview

Site Health Issues

Features

Area What you get

AI Visibility Scheduled audits of your prompt portfolio across engines and markets. Visibility, share of voice, owned citation rate, average position, competitor ranking, trends between comparable runs, cited sources and URLs, perception, accuracy (fact checks), AI ads and query fan-outs. CSV export.

Prompts Generate buyer prompts from your site, market and competitors; organise them by topic, intent and buyer stage; review candidates before they are tracked.

Site Health A polite, bounded crawler with page-type-aware checks: Web Fundamentals, AEO Readiness by pillar (answerability, structure, evidence, machine readability, provenance, freshness, crawlability), AI crawler access (robots.txt, llms.txt), architecture, internal links and crawl-to-crawl changes.

Issues and Actions Every finding with its evidence, affected pages and how to fix it, rolled into a ranked list of Actions you can work through and mark implemented.

Agent Ask questions about your project, or start from workflows (articles, landing, comparison and FAQ pages, page refreshes, social posts). Answers are grounded in your evidence with sources, and outputs are reviewable drafts.

Search Demand and Performance Google Search Console, GA4 and Bing Webmaster sync, query evidence and landing-page performance.

Search Intelligence Keyword suggestions, search volume and backlink research via DataForSEO, with a cost review before any paid call runs.

AI Traffic AI crawler logs from Cloudflare (Worker or Logpush), AWS Firehose, Google Cloud Pub/Sub or file uploads, and referral traffic from answer engines: which bots read which pages, and which answers send visitors.

Commerce Suite Product catalog, buyer prompts and an AI "shelf" view of how your products appear next to competitors.

MCP server 46 tools for Claude, ChatGPT and any MCP client: read visibility, sources, Site Health, actions, demand and traffic, and make changes: add or archive prompts, add competitors, launch and schedule audits, update actions. Every change is shown as a preview and applied only after you confirm. Includes an interactive MCP Apps view.

Public API Scoped API keys for /v1 endpoints, with an OpenAPI document at /v1/openapi.json.

Overview reports An editable project overview with layout control and PDF export.

CiteLadder never publishes anything to your site for you and never trains on your data. You bring your own model and data-provider keys, and every crawl and audit runs on your machine.

git clone https://github.com/abhij1306/CiteLadder.git cd CiteLadder docker compose up -d --build

Open http://localhost:8100. The first start builds the image, which takes a few minutes, then applies the database schema and creates your workspace. There is no sign-up and no login.

To use the Agent, brand research and prompt generation, set an LLM in .env (see below) and run docker compose up -d again.

docker compose logs -f app # follow the logs docker compose down # stop (data is kept in Docker volumes) docker compose down -v # stop and delete all data

Without Docker

You need Node.js 26+, pnpm 12 (corepack enable) and a PostgreSQL 16 database.

git clone https://github.com/abhij1306/CiteLadder.git cd CiteLadder pnpm bootstrap && pnpm build DATABASE_URL=postgresql://user:password@localhost:5432/citeladder pnpm start

pnpm start applies migrations, creates the workspace, serves the app on http://localhost:8100 and runs background jobs. Settings come from the environment or a .env file in the repository root. Generated instance secrets are stored in .data/.

Everything is optional. Copy the template and fill in what you need:

cp .env.example .env

Setting Purpose

DEFAULT_AGENT_API_KEY, DEFAULT_AGENT_BASE_URL, DEFAULT_AGENT_MODEL The LLM behind the Agent, brand research and prompt generation. Anthropic and OpenAI are fully supported; any OpenAI-compatible endpoint (Gemini, Mistral, or a local server such as Ollama at http://host.docker.internal:11434/v1) works for research and generation.

MCP_TOKEN Enables the MCP endpoint at /mcp; clients send it as a bearer token.

INTEGRATION_GOOGLE_CLIENT_ID / _SECRET Search Console and GA4 sync (your own Google OAuth client).

INTEGRATION_MICROSOFT_CLIENT_ID / _SECRET Bing Webmaster sync.

TAVILY_API_KEY, KEENABLE_API_KEY Optional web research for competitor and brand discovery.

JEV_API_KEY Optional quality judge for generated prompt candidates.

CITELADDER_PORT Host port for Docker (default 8100).

PUBLIC_APP_ORIGIN The URL you open CiteLadder at, if it is not http://localhost:8100. Used in OAuth redirects and MCP setup text.

SITE_HEALTH_* Crawler politeness and size limits.

Answer-engine and DataForSEO keys are entered in the app (Settings → Providers) and stored encrypted in the database. The encryption key and other instance secrets are generated on first start and kept in the citeladder_data volume (or .data/ without Docker): back them up together with the database.

Create an OAuth client in your own Google Cloud (or Azure) project, add the redirect URI shown in Settings → Integrations, and put the client ID and secret in .env. Without them the integrations show as not configured, and everything else keeps working.

Set MCP_TOKEN in .env to a long random string and restart. Then, for example in Claude Code:

claude mcp add --transport http citeladder http://localhost:8100/mcp
--header "Authorization: Bearer <MCP_TOKEN>"

Settings → MCP in the app shows the URL and a JSON snippet for other clients. The bundled agent plugin adds review skills (AI visibility review, change review, technical SEO triage).

CiteLadder is a single-workspace, self-hosted tool with no login. The Compose file binds the app to 127.0.0.1 only. Before you expose it to a network, put an authenticating reverse proxy in front of it. The API also answers only to localhost and the host in PUBLIC_APP_ORIGIN; list any other host name you use in ALLOWED_HOSTS. See SECURITY.md for more, and for how to report vulnerabilities.

browser app (React + Vite SPA) ─┐ MCP clients ────────────────────┼─▶ API (Node 26, Hono) ─▶ PostgreSQL 16 (data + job queue) public API (/v1) ───────────────┘ ▲ │ runner (crawls, audits, syncs, schedules)

Path What lives there

frontend/apps/app/ Browser app entry, routes and Vite config

frontend/components/, frontend/lib/ App UI and client logic

frontend/services/api/ API, MCP server, background workers, CLIs

frontend/services/api/src/config/ Tunable product policy

frontend/services/api/migrations/ SQL schema

frontend/packages/contracts/ API contracts shared by app and API

frontend/packages/mcp-app/ MCP Apps view

plugins/citeladder/ Agent plugin with review skills

Contributing

Contributions are welcome. See CONTRIBUTING.md for local development, checks and the PR process, and the Code of Conduct.

GNU Affero General Public License v3.0. If you run a modified version as a network service, you must offer its source to your users.

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →