尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Professional AI review intelligence SaaS for buyers, online sellers, and owner/admin operations.
ReviewIntel is platform-neutral. It works with manually pasted review text, TXT review batches, and quick screenshot uploads from Amazon, Walmart, Etsy, eBay, Shopify stores, AliExpress, Best Buy, TikTok Shop, Google Reviews, and future app-review sources. It does not scrape websites.
OPENAI_API_KEY is configuredOpen:
http://localhost:3000/analyze
Use:
Quick Scan Beta: upload JPG/PNG screenshots for a fast mobile-style check.Deep Analysis: paste review batches or upload TXT/CSV for stronger confidence.Compare: open /compare to compare 2-5 products.Product URLs are accepted as reference metadata only. ReviewIntel does not fetch or scrape the URL in this version.
Main pages:
app/page.tsx: homepage and first impression heroapp/analyze/page.tsx: analyzer page shellapp/results/page.tsx: latest result page shellapp/compare/page.tsx: product comparison pageapp/pricing/page.tsx: pricing pageapp/admin-access/page.tsx: hidden admin unlock routeapp/admin/page.tsx: admin/developer control centerMain components:
components/Header.tsx: top navigationcomponents/AnalyzerForm.tsx: paste reviews, TXT/CSV upload, screenshot upload, scan animation, quota UIcomponents/ResultsDashboard.tsx: separated Buyer and Seller result dashboardscomponents/ResultsClient.tsx: reads latest session result and demo result loaderscomponents/SellerIntelligenceTabs.tsx: interactive Seller Pro signal tabs for clusters, keywords, and riskscomponents/SellerReportActions.tsx: functional Seller report export and local save actionscomponents/SellerProCommandPanel.tsx: interactive Seller dashboard command boardcomponents/CompareForm.tsx: Buyer/Seller comparison workflowcomponents/DeveloperControlCenter.tsx: admin system controls and plan simulationcomponents/DeveloperQACenter.tsx: QA checklist and diagnosticscomponents/SponsoredResources.tsx: future sponsored/affiliate resource cardsCore logic:
app/api/analyze/route.ts: protected analysis API, OpenAI call, quota/rate limits, local fallbacklib/prompts.ts: AI prompt architecturelib/reviewSchema.ts: structured JSON schema expected from AIlib/reviewIngestion.ts: paste/TXT/CSV normalization and valid review countinglib/localAnalyzer.ts: local analysis fallback when OpenAI is not configuredlib/supabaseServer.ts: Supabase persistence, quota, profiles, analysis historylib/stripe.ts: Stripe checkout and billing portal helperslib/account.ts and lib/clientAccount.ts: roles, plans, local account state, quota labelsdb/schema.sql: Supabase/PostgreSQL schemanpm install
cp .env.example .env.local
npm run dev
Open http://localhost:3000.
OPENAI_API_KEY=
OPENAI_MODEL=gpt-5.2
STRICT_OPENAI_ERRORS=true
DATABASE_URL=
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_BUYER_PRO_PRICE_ID=
STRIPE_SELLER_STARTER_PRICE_ID=
STRIPE_SELLER_PRO_PRICE_ID=
NEXT_PUBLIC_SPONSORS_ENABLED=true
REVIEWINTEL_ADMIN_CODE=
REVIEWINTEL_ADMIN_CODE_HASH=
REVIEWINTEL_ADMIN_SESSION_SECRET=
[email protected]
The app can render without Supabase or Stripe in local demo mode, but public paid launch needs Supabase and Stripe configured. If OPENAI_API_KEY is set and OpenAI returns a quota, billing, model, or network error, ReviewIntel returns that error instead of a placeholder result. In local development only, /admin-access accepts reviewintel-dev-admin when no admin code environment variable is set.
/ landing page/analyze deep paste/TXT analyzer plus quick screenshot analyzer/results latest analysis dashboard/compare Buyer/Seller product comparison for 2-5 products/login, /signup, /auth/reset-password, /auth/verify-email/dashboard, /dashboard/customer (Buyer dashboard), /dashboard/seller/account, /pricing/admin-access private admin unlock route/admin System Control Center and Developer ModePOST /api/analyze
{
"productName": "Optional product or business name",
"productUrl": "Optional reference URL. The API does not fetch it yet.",
"platform": "shopify",
"audience": "both",
"reviewSections": [
{
"id": "batch-1",
"title": "Recent negative reviews",
"text": "Pasted review text...",
"source": "paste"
}
],
"ingestionMode": "deep_paste",
"imageAggregation": "individual",
"images": [
{
"name": "reviews.png",
"type": "image/png",
"dataUrl": "data:image/png;base64,...",
"size": 120000
}
]
}
Returns structured JSON including:
overall_summarypositive_pointsnegative_pointscommon_complaintspraised_featuressentiment_scoreconfidence_scorebuyer_recommendationseller_insightsimprovement_suggestionsfeature_requestsquality_concernspackaging_issuesdurability_issuessupport_issueskeyword_analysisdb/schema.sql in the SQL editor.review-screenshots./dashboard and /auth/verify-email.SUPABASE_SERVICE_ROLE_KEY is present only in server-side environments. It powers persistent quota, profile creation, saved analysis history, and Stripe webhook updates.Deep Analysis = Paste Reviews: primary path for long review batches, TXT uploads, multiple pasted sections, buyer decisions, and seller analytics.Quick Scan Beta = Screenshot Upload: lightweight path for mobile users and fast checks from a few visible reviews.Mixed Evidence: combines pasted review batches with quick screenshots.Product URL Import: reserved architecture only; no fetching or scraping is implemented yet.Ecommerce Connectors: future approved APIs, seller-owned store integrations, CSV feeds, and partner connectors.Large pasted batches are accepted up to the configured server cap, then chunked before model analysis for stability. Admin accounts bypass quota/rate limits for testing, while public users remain protected by request size, file size, and daily usage gates.
STRIPE_BUYER_PRO_PRICE_ID, STRIPE_SELLER_STARTER_PRICE_ID, STRIPE_SELLER_PRO_PRICE_ID, and STRIPE_SECRET_KEY./api/stripe/webhook.STRIPE_WEBHOOK_SECRET.subscriptions and billing_history.Admin accounts do not use public signup/login. Open /admin-access, enter the private admin code, then use /admin for the System Control Center. Admin sessions are server-validated, hidden from search indexing, rate-limited on access attempts, and auto-expire.
npm run lint
npm run typecheck
npm run build
Before selling access, run one real /analyze request with a funded OpenAI project. A 429 insufficient_quota response means the app is correctly calling OpenAI, but the OpenAI billing/quota setup is not ready yet.
Sponsored placements are intentionally designed as a small resource library, not banner ads. The current build uses lib/sponsors.ts placeholders and can be disabled with:
NEXT_PUBLIC_SPONSORS_ENABLED=false
The Supabase schema includes sponsors and sponsor_events tables for future admin add/edit/remove controls, affiliate URLs, active windows, placements, impressions, and clicks.
/robots.txt, /sitemap.xml, /api/analyze, and Stripe webhook routes.Cache-Control: no-store.usage_tracking.