TikTok Shop Video Generator
只需一次点击,即可将任何病毒式 TikTok 视频转换为您自家产品的广告。适用于 TikTok Shop 卖家和联盟伙伴——无需拍摄、无需剪辑。免费试用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证面向代理和人的分析平台。
AI 翻译
Analytics platform for agents and people
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
CortIQ — AI Bot Intelligence & Cookie-Free Analytics
Bot blockers tell you what to stop. CortIQ tells you what matters.
1 in 31 web visits is now an AI bot — up from 1 in 200 at the start of 2025. Every other platform treats that traffic as noise to filter, or a binary block/allow decision.
CortIQ is the first open-source, EU-built analytics platform that turns AI traffic into a signal instead of noise — with consent-gated visitor analytics and a cookieless mode (no cookies, no fingerprint, no persistent IDs).
It classifies every AI visit into three categories:查看完整 README ↗Bot blockers tell you what to stop. CortIQ tells you what matters.
🌐 Live Demo · 🤖 AI Bot Analytics · 🔒 Security
1 in 31 web visits is now an AI bot — up from 1 in 200 at the start of 2025. Every other platform treats that traffic as noise to filter, or a binary block/allow decision.
CortIQ is the first open-source, EU-built analytics platform that turns AI traffic into a signal instead of noise — with consent-gated visitor analytics and a cookieless mode (no cookies, no fingerprint, no persistent IDs).
It classifies every AI visit into three categories:
| Type | Examples | What it means for you |
|---|---|---|
| 🔴 Training Crawlers | GPTBot, ClaudeBot, CCBot | Pure infrastructure cost — no referral value |
| 🟢 Agentic Browsers | ChatGPT Browser, Perplexity Comet, Claude Browser | Real users acting through an AI — track and convert them |
| 🔵 Citation Crawlers | PerplexityBot, Google-Extended, OAI-SearchBot | AI search indexing — your visibility signal |
On top of that: full human analytics (heatmaps, sessions, A/B testing, forms) and a paid-conversion attribution loop that closes the GA4 ↔ Google Ads ↔ CRM gap — all under one roof.
CortIQ is built as three clearly separated layers. This separation is deliberate: the Data Layer never depends on AI, and the Agentic Layer only ever reads through governed, tenant-scoped interfaces — it never writes raw analytics.
┌──────────────────────────────────────────────────────────────────────┐
│ 🧠 AGENTIC / INTELLIGENCE LAYER │
│ • AI Assistant (Claude) — grounded tool-use over YOUR data only │
│ • MCP Server — 22 tools, API-key auth, so external agents can │
│ query your analytics programmatically │
│ • Bot classification engine (training / agentic / citation) │
│ • GEO audits + transparent AI insights (every claim shows source) │
│ reads ▼ (tenant-scoped, read-mostly, never bypasses ownership) │
├──────────────────────────────────────────────────────────────────────┤
│ 🗄️ DATA LAYER │
│ • Ingest: tracking script + Edge Functions (visitor-id, events, │
│ consent, conversions, bot tracker) — service-role, validated │
│ • Storage: PostgreSQL, ~66 tables, Row-Level Security per tenant │
│ • Unified visitor profiles, sessions, heatmaps, conversions │
│ writes ▼ │
├──────────────────────────────────────────────────────────────────────┤
│ 🔒 PRIVACY / COMPLIANCE LAYER (cross-cutting, EU-first) │
│ • Cookieless mode · consent gating · IP anonymisation │
│ • Server-side consent ledger · retention cron · DSAR path │
│ • Data residency in the EU · email hashing before any ad upload │
└──────────────────────────────────────────────────────────────────────┘
Why the split matters for you: you can self-host the Data + Privacy layers with zero AI dependency (no Anthropic key, no external calls), and switch the Agentic Layer on only when you want it. AI never sees another tenant's data, and every AI-driven insight is traceable back to the exact tables and rows it read.
supabase/functions/ (ingest), supabase/migrations/ (schema + RLS), src/hooks/ (typed reads).supabase/functions/ai-assistant, supabase/functions/mcp-server, BotTrafficClassification.tsx, public/llms.txt, SKILL.md.supabase/functions/_shared/jurisdiction.ts, store-consent, consent gating in public/spa-tracking.js, retention migrations.git clone https://github.com/ExpandTalk-Corporation/Cortiq.git
cd cortiq
cp .env.example .env # add your Supabase keys
npm install && npm run dev # → http://localhost:8080
Full self-hosting guide (Supabase setup, edge functions, deployment) → below
llms.txt published so AI systems can understand the productCortIQ is built by an EU company for EU-grade compliance:
eu-north-1; US transfers (AI/ads) are optional, consent-gated and disclosedGA4 (server-side) · Google Search Console · Tag Manager · Data Warehouse connectors (BigQuery, Snowflake, Redshift, PostgreSQL) · Geolocation maps · User LTV & cohorts · Web Vitals (LCP, INP, CLS) · White-label · WordPress plugin · REST + MCP API.
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui |
| Charts | Recharts, Leaflet.js |
| Session replay | rrweb 2.0 |
| Backend | Supabase (PostgreSQL + Deno Edge Functions) |
| Auth | Supabase Auth with Row-Level Security |
| AI | Claude (Anthropic) — assistant, GEO audits; BYOK supported |
| Tracking script | Vanilla JS, ~13 kB gzipped |
Scale: ~66 core database tables · 76 Edge Functions · 144 migrations · 135 dashboard components · 28 dashboard tabs
npm install -g supabasegit clone https://github.com/ExpandTalk-Corporation/Cortiq.git
cd cortiq
cp .env.example .env
Edit .env:
VITE_SUPABASE_URL=https://YOUR_PROJECT_ID.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=your-anon-key
VITE_SUPABASE_PROJECT_ID=your-project-id
The tracking scripts and config reference a default Supabase project ref and cortiq.se host. Set VITE_* in .env, and update the apiUrl / script host in public/spa-tracking.js and the onboarding snippet to your own domain.
supabase link --project-ref YOUR_PROJECT_ID
supabase db push --include-all
Creates all tables, indexes, RLS policies and database functions.
In Supabase Dashboard → Edge Functions → Manage secrets:
| Secret | Required | Description |
|---|---|---|
SUPABASE_URL | ✅ | https://YOUR_PROJECT_ID.supabase.co |
SUPABASE_SERVICE_ROLE_KEY | ✅ | Your service role key |
ANTHROPIC_API_KEY | Agentic Layer | AI assistant + GEO audits (BYOK is also supported per-tenant) |
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET | Optional | Google Search Console |
GA4_SERVICE_ACCOUNT_KEY | Optional | GA4 server-side import |
supabase functions deploy --all
npm run build
# Upload dist/ to your web host — configure the server to serve index.html for all routes
# Or: npx vercel --prod
Copy the snippet from the dashboard (Install tracking). It loads the tracker only after analytics consent, so no request reaches cortiq.se before the visitor has chosen. See INTEGRATION-GUIDE.md for the snippet and for CMP / GTM setups.
For WordPress, download the plugin zip from the dashboard (Settings → Setup); it serves the tracker from your own site. The plugin shares its version with the tracking script (window.CortIQ.version).
cortiq/
├── src/
│ ├── components/dashboard/ # 135 dashboard components (tabs/ = one per tab)
│ ├── hooks/ # 50+ typed data-fetching hooks ← Data Layer reads
│ ├── pages/ # Public pages + Dashboard
│ └── integrations/supabase/ # Client & generated TypeScript types
├── supabase/
│ ├── functions/ # 76 Edge Functions (Deno)
│ │ ├── ai-assistant/ # ← Agentic Layer
│ │ ├── mcp-server/ # ← Agentic Layer (external agent API)
│ │ ├── visitor-identification/, track-event/, record-conversion/ # ← Data Layer ingest
│ │ ├── store-consent/ # ← Privacy Layer
│ │ └── _shared/jurisdiction.ts # ← Privacy Layer (IP anonymisation, jurisdiction)
│ └── migrations/ # Schema + RLS policies
├── public/
│ ├── spa-tracking.js # Embeddable tracking script (consent-gated)
│ ├── consent-banner.js # Drop-in CMP → server-side consent ledger
│ └── llms.txt # AI-discoverability manifest
└── SKILL.md # Agent skill definition
Contributions welcome. Open an issue first to discuss substantial changes, then:
git checkout -b feature/your-feature · 3. Commit · 4. Open a PR.env is gitignored (only the publishable anon key ships to the browser, by design)Built by Expandtalk Corporation AB · Göteborg, Sweden 🇪🇺
AGPL-3.0 — see LICENSE
If you run a modified version as a network service, you must release your changes under the same license. Self-hosting for internal use is unrestricted.