new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证vedikasyspreedigital-pixel/Seo-dashboard
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A standalone replacement for the Make.com "Ranking Report Automation"
scenario. No Make.com involved — this service reads the sheet, calls
DataForSEO, has Claude match the target domain against the full result set,
and writes the outcome back.
Needs Review is intentionally never Error - Retry — a bad Claude response
shouldn't cause the row to re-hit (and re-pay for) DataForSEO for a problem
the API didn't cause.
The empty root api/ and lib/ directories are retained only as placeholders
from the earlier serverless prototype; active backend code is under backend/.查看完整 README ↗SySpree Digital's internal dashboard for SEO client work:
Frontend: React + Vite on Vercel. Backend: Node 22 + Express + Prisma/Postgres on Railway.
The tools (Semrush, Ubersuggest and WooRank through seotooladda; Ahrefs through Flikover) have no API we can
use, so an office Chrome extension (extension/) does the clicking in a Chrome where someone is signed in.
It polls the backend for jobs, runs each in its own window, and uploads the file — it never types passwords
and stops for a person if a "verify you are human" check appears.
| # | Report | How it's made | File |
|---|---|---|---|
| 1 | Keyword Analysis | Organic keyword exports from Semrush, Ubersuggest and Ahrefs, one search intent per keyword (word patterns, then Gemini). With competitors: Semrush's top 3 organic competitors (auto, or typed by the team) are exported too, and a Competitors sheet puts the client and competitors side by side — position, landing page, traffic, difficulty, intent. | Excel |
| 2 | Semrush Site Audit | New Site Audit project (1,000 pages, run once) → wait for the crawl → Full Report PDF. | |
| 3 | WooRank Audit | Create Review → Refresh → Download PDF (saved through Chrome's print engine). | |
| 4 | Gap & Competitor Analysis | From report 1's competitor data: Missing and Weak keywords; Gemini picks the opportunities worth pursuing and writes the action plan. | Excel |
| 5 | AI SEO Audit | Gemini reads the WooRank and Semrush PDFs and fills the team's audit workbook: dashboard, checks per area, tech stack, action plan. | Excel |
Code: backend/domainIntel/ (reports, jobs, agent queue), backend/api/routes/domainIntel.ts and
agent.ts, frontend/src/pages/DomainIntelligencePage.tsx, extension/.
frontend/ React + Vite app (pages, components, typed API client)
backend/ Express API
api/ routes (auth, clients, runs, reports, baselines, compare, domainIntel, agent, ...)
dataforseo/ DataForSEO client + response mapping
reporting/ report PDFs/Excel, email drafts, ClickUp email sender
baselines/ baseline Excel/PDF parsing (incl. OCR) and comparison
domainIntel/ Domain Intelligence (see above)
worker/ background run processing
prisma/ database schema, migrations, seed (workspaces)
extension/ "SERP Console Agent" Chrome extension (Domain Intelligence)
spikes/clickup-feasibility/ ClickUp login helper (npm run setup-session) -- still used
scripts/ one-off admin utilities (create-user, import-workspace-clients, diagnostics)
test/ backend tests (node:test)
Needs Node 22 (see .nvmrc) and Postgres (any local install or Docker; .env.example assumes port 5433).
npm install
npm --prefix frontend install
cp .env.example .env # then fill in DATABASE_URL etc.
npx prisma migrate deploy
npm run prisma:seed # creates the "seo" and "advanced-seo" workspaces
npx tsx scripts/create-user.mjs [email protected] "a-password" seo advanced-seo
npm run backend # API on http://localhost:3001
npm run frontend # app on http://localhost:5173 (proxies /api to the backend)
Everything external is mock by default — no DataForSEO spend, no ClickUp sends, no tool fetching —
until you set the matching switch in .env (DATAFORSEO_LIVE, CLICKUP_EMAIL_LIVE,
CLICKUP_COMMENTS_LIVE, DOMAIN_INTEL_FETCH_MODE). All settings are described in .env.example.
Tests (need the local Postgres running): npm test
ClickUp is driven with a saved browser login (a Playwright "session file"), made by a person once:
cd spikes/clickup-feasibility && npm install
npm run setup-session # default workspace -> session/clickup-storage-state.json
npm run setup-session:advanced-seo # Advanced SEO workspace's own login
A browser opens: log in to ClickUp (check it's the right account), then press Enter in the terminal. For production, upload the file to the Railway volume (see Deploy, step 4).
On the office computer's Chrome:
chrome://extensions → turn on Developer mode → Load unpacked → pick the extension/ folder.http://localhost:3001 locally) and
the agent token (= DOMAIN_INTEL_AGENT_TOKEN on the server). Optional: "Show me the job window" to watch it work.The extension's popup also has a Record mode (pages + clicks + screenshots, never typed values) used to map new tool flows.
railway.json sets the build/start/healthcheck; nixpacks.toml adds the Linux libraries Chromium needs
(without it Playwright's browser can't start on Railway). The rest is set up once in Railway:
Project + Postgres — new project from this repo; add the Postgres plugin.
Volume — on the backend service add a Volume mounted at /var/data (uploads, reports and ClickUp
session files live there; without it they're lost on every redeploy).
Variables (service → Variables; mark secrets as secret):
| Variable | Value |
|---|---|
NODE_ENV | production |
DATABASE_URL | ${{Postgres.DATABASE_URL}} |
PORT | leave unset (Railway sets it) |
UPLOADS_DIR | /var/data/uploads |
REPORTS_DIR | /var/data/uploads/reports |
CLICKUP_SESSION_PATH | /var/data/uploads/clickup-storage-state.json |
CLICKUP_SESSION_PATH_ADVANCED_SEO | /var/data/uploads/clickup-storage-state-advanced-seo.json |
CORS_ORIGINS | the Vercel app URL (comma-separated if several) |
DATAFORSEO_LOGIN / DATAFORSEO_PASSWORD | DataForSEO credentials (secret) |
DATAFORSEO_LIVE, CLICKUP_EMAIL_LIVE, CLICKUP_COMMENTS_LIVE | false until deliberately going live |
DOMAIN_INTEL_FETCH_MODE | agent |
DOMAIN_INTEL_AGENT_TOKEN | a long random string (secret) — same value in the extension's Settings |
GEMINI_API_KEY | Google AI Studio key (secret) |
ClickUp session files — after npm run setup-session locally, copy them onto the volume:
railway login && railway link
railway ssh keys add # first time only
cat spikes/clickup-feasibility/session/clickup-storage-state.json | railway ssh --service <backend-service> "cat > /var/data/uploads/clickup-storage-state.json"
cat spikes/clickup-feasibility/session/clickup-storage-state-advanced-seo.json | railway ssh --service <backend-service> "cat > /var/data/uploads/clickup-storage-state-advanced-seo.json"
railway ssh --service <backend-service> "ls -la /var/data/uploads/"
Before deploying, check no ranking run is still processing (a deploy restarts the server).
The Vercel project builds the frontend/ folder (frontend/vercel.json sends every route to the app).
Set VITE_API_BASE_URL to the Railway backend URL (https://<something>.up.railway.app) in the Vercel
project's environment variables; it's baked in at build time, so redeploy after changing it.
reports/, uploads/) and .env are git-ignored — never commit them; reports contain client data.main.Log in to the right ClickUp account for each workspace — a wrong account makes every send fail with "You need access to this task".