// ==UserScript== // @name AI 编程订阅优惠助手(AI Coding Subscription Discount Helper) // @name:en AI 编程订阅优惠助手(AI Coding Subscription Discount Helper) // @namespace http://tampermonkey.net/ // @version 1.2.7 // @description 【第三方社区插件】在顶部提示可用优惠和活动规则([Third-party community script] Shows a top banner with available discounts and promo rules.) // @description:en 【第三方社区插件】在顶部提示可用优惠和活动规则([Third-party community script] Shows a top banner with available discounts and promo rules.) // @author YourName // @match *://*.bigmodel.cn/* // @match *://z.ai/* // @match *://platform.minimaxi.com/* // @match *://replit.com/* // @match *://*.qiniu.com/* // @match *://*.siliconflow.cn/* // @match *://*.volcengine.com/* // @match *://*.codebuddy.cn/* // @match *://*.xfyun.cn/* // @run-at document-start // @grant GM_addStyle // @license MIT // @downloadURL https://update.greasyfork.icu/scripts/574541/AI%20%E7%BC%96%E7%A8%8B%E8%AE%A2%E9%98%85%E4%BC%98%E6%83%A0%E5%8A%A9%E6%89%8B%28AI%20Coding%20Subscription%20Discount%20Helper%29.user.js // @updateURL https://update.greasyfork.icu/scripts/574541/AI%20%E7%BC%96%E7%A8%8B%E8%AE%A2%E9%98%85%E4%BC%98%E6%83%A0%E5%8A%A9%E6%89%8B%28AI%20Coding%20Subscription%20Discount%20Helper%29.meta.js // ==/UserScript== (function () { 'use strict'; const I18N = { zh: { tooltip: '第三方社区脚本,与平台官方无关联', badge: '第三方', defaultDiscountText: '当前页面有可用优惠', guideLinkText: '[官方活动说明] →', guideLinkTitle: '查看平台活动规则', cta: '一键使用' }, en: { tooltip: 'Community script, not affiliated with the platform', badge: 'Third-party', defaultDiscountText: 'An offer is available on this page.', guideLinkText: '[Promo rules] →', guideLinkTitle: 'View the platform promotion rules', cta: 'Use now' } }; // ========================================== // 配置区域:在这里配置你的各平台邀请链接 // 可选字段: // - discountTextEn: 英文优惠文案 // - guideUrlEn: 英文规则页链接(未提供时回退到 guideUrl) // ========================================== const CONFIG = { // 1. 智谱 GLM (国内版) 'bigmodel.cn': { targetUrls: ['glm-coding', 'pay', 'pricing'], inviteLink: 'https://www.bigmodel.cn/glm-coding?ic=EVDHUUYDNB', discountText: '首次成功付费订阅且仅限于订阅【GLM Coding】服务时,可享受该订单金额5%的立减优惠', discountTextEn: 'First-time paid subscribers who subscribe to GLM Coding can receive an instant 5% discount on the order total.', buttonAction: 'url', guideUrl: 'https://docs.bigmodel.cn/cn/coding-plan/credit-campaign-rules' }, // 2. 智谱 Z.ai (国际版) 'z.ai': { targetUrls: ['pricing', 'subscribe', 'upgrade'], inviteLink: 'https://z.ai/subscribe?ic=TDAWEJFQ18', discountText: '成功支付首次订阅【GLM Coding】服务的受邀用户,将享受订单金额即时 10%的折扣!', discountTextEn: 'Invited users who complete their first GLM Coding subscription payment get an instant 10% discount on the order.', buttonAction: 'url', guideUrl: 'https://docs.z.ai/devpack/credit-campaign-rules', guideUrlEn: 'https://docs.z.ai/devpack/credit-campaign-rules' }, // 3. MiniMaxi Token Plan 'platform.minimaxi.com': { targetUrls: ['billing', 'pricing', 'subscription'], inviteLink: 'https://platform.minimaxi.com/subscribe/token-plan?code=IEQUPQdHDm&source=link', discountText: '通过邀请链接购买 Token Plan,可在结算时享受 9 折优惠', discountTextEn: 'Buy the Token Plan through the referral link to get 10% off at checkout.', buttonAction: 'url', guideUrl: 'https://platform.minimaxi.com/docs/token-plan/promotion', guideUrlEn: 'https://platform.minimaxi.com/docs/token-plan/promotion' }, // 4. Replit 'replit.com': { targetUrls: ['pricing', 'join', 'upgrade'], inviteLink: 'https://replit.com/join/jmuageupkm-maxusharmness', discountText: '订阅 Replit Core 计划,即刻获得 10 美元信用额度!', discountTextEn: 'Subscribe to Replit Core and receive $10 in credits instantly.', buttonAction: 'url', guideUrl: 'https://replit.com/refer', guideUrlEn: 'https://replit.com/refer' }, // 5. 七牛云 (DeepSeek API) 'qiniu.com': { targetUrls: ['topup', 'pricing', 'promotion'], inviteLink: 'https://s.qiniu.com/nmU7je', discountText: '完成首次体验及激活,即时获赠 1000 万 Token!', discountTextEn: 'Complete your first trial and activation to receive 10 million Tokens instantly.', buttonAction: 'url', guideUrl: 'https://www.qiniu.com/ai/promotion/invite' }, // 6. 硅基流动 (SiliconFlow) 'siliconflow.cn': { targetUrls: ['pricing', 'topup', 'billing'], inviteLink: 'https://cloud.siliconflow.cn/i/yUFjwvQd', discountText: '使用专属链接注册,获取全模型通用推理代金券!', discountTextEn: 'Register with the referral link to receive general-purpose inference coupons for all models.', buttonAction: 'url', guideUrl: 'https://cloud.siliconflow.cn/me/campaigns/inviter' }, // 7. 火山引擎(方舟 Coding Plan) 'www.volcengine.com': { targetUrls: ['codingplan', 'pricing', 'upgrade'], inviteLink: 'https://volcengine.com/L/glyaeiHZZH8/', discountText: '受邀下单享 9 折优惠', discountTextEn: 'Invited users get 10% off eligible Coding Plan orders.', buttonAction: 'url', guideUrl: 'https://www.volcengine.com/activity/codingplan' }, // 8. 腾讯云 AI 代码助手 (CodeBuddy) 'www.codebuddy.cn': { targetUrls: ['pricing', 'upgrade', 'profile'], inviteLink: 'https://www.codebuddy.cn/fission/?inviteCode=kjqyyg41iq121', discountText: '绑定推荐码,获赠高级模型对话次数或延长试用期!', discountTextEn: 'Bind the referral code to get extra premium-model chats or an extended trial period.', buttonAction: 'url', guideUrl: 'https://www.codebuddy.cn/fission/' }, // 9. 讯飞星辰 Coding Plan 'xfyun.cn': { targetUrls: ['packageSubscription', 'upgrade', 'profile'], inviteLink: 'https://maas.xfyun.cn/packageSubscription?inviteCode=MAAS-94E2A226', discountText: '¥19起,首月¥3.9最低门槛,被邀请人可获得支付金额等额礼品卡,可用于平台模型调用抵扣。', discountTextEn: 'Starting from ¥19/mo, first month as low as ¥3.9. Invitees receive a gift card equal to the payment amount, usable as credit for platform model API calls.', buttonAction: 'url', guideUrl: 'https://www.xfyun.cn/doc/spark/CodingPlanEvent.html#coding-plan-%E5%A5%BD%E5%8F%8B%E9%82%80%E8%AF%B7%E6%B4%BB%E5%8A%A8%E8%A7%84%E5%88%99' }, }; const currentHost = window.location.hostname; const currentHref = window.location.href; const preferredLocale = getPreferredLocale(); const i18n = I18N[preferredLocale]; function getPreferredLocale() { const languages = Array.isArray(navigator.languages) && navigator.languages.length ? navigator.languages : [navigator.language || '']; return languages.some((language) => typeof language === 'string' && language.toLowerCase().startsWith('zh')) ? 'zh' : 'en'; } function getLocalizedConfigValue(config, zhKey, enKey) { if (!config) return ''; if (preferredLocale === 'en' && config[enKey]) return config[enKey]; return config[zhKey] || config[enKey] || ''; } function matchesConfiguredDomain(host, domain) { const normalizedDomain = domain.replace(/^www\./, ''); return host === domain || host.endsWith(`.${domain}`) || host === normalizedDomain || host.endsWith(`.${normalizedDomain}`); } // ========================================== // 推广模块:灵动鸟 (Dynamic Island) 风格,极简优雅 // ========================================== window.addEventListener('DOMContentLoaded', () => { let matchedConfig = null; for (const [domain, config] of Object.entries(CONFIG)) { if (!matchesConfiguredDomain(currentHost, domain)) continue; matchedConfig = config; break; } if (!matchedConfig) return; if (sessionStorage.getItem('ai-discount-ignored')) return; const discountText = getLocalizedConfigValue(matchedConfig, 'discountText', 'discountTextEn') || i18n.defaultDiscountText; const guideUrl = getLocalizedConfigValue(matchedConfig, 'guideUrl', 'guideUrlEn'); const widgetHtml = `
🎁
${i18n.badge} ${discountText} ${guideUrl ? `${i18n.guideLinkText}` : ''}
`; GM_addStyle(` .ai-island-wrapper { position: fixed; top: 24px; left: 50%; transform: translateX(-50%) translateY(-150%); z-index: 2147483647; display: flex; align-items: center; background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(20px) saturate(200%); -webkit-backdrop-filter: blur(20px) saturate(200%); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); border-radius: 40px; padding: 6px 12px; height: 44px; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: white; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), max-width 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); overflow: hidden; white-space: nowrap; max-width: 44px; } .ai-island-wrapper.show { transform: translateX(-50%) translateY(0); } .ai-island-wrapper.expanded { max-width: 800px; } .ai-island-icon { font-size: 18px; line-height: 1; cursor: pointer; flex-shrink: 0; } .ai-island-content { display: flex; align-items: center; opacity: 0; transform: translateX(-10px); transition: all 0.3s ease; pointer-events: none; margin-left: 12px; } .ai-island-wrapper.expanded .ai-island-content { opacity: 1; transform: translateX(0); pointer-events: auto; transition-delay: 0.15s; } .ai-island-text { font-size: 13px; font-weight: 500; margin-right: 16px; color: #f5f5f7; display: flex; align-items: center; } .ai-island-badge { background: rgba(255, 152, 0, 0.2); color: #ffb74d; border: 1px solid rgba(255, 152, 0, 0.4); padding: 2px 6px; border-radius: 4px; font-size: 10px; font-weight: 700; margin-right: 8px; flex-shrink: 0; } .ai-island-link { color: #4ea3ff; text-decoration: none; font-size: 11px; margin-left: 8px; opacity: 0.85; font-weight: 400; transition: opacity 0.2s; } .ai-island-link:hover { text-decoration: underline; opacity: 1; } .ai-island-btn { background: linear-gradient(135deg, #0071e3, #4ea3ff); color: white; border: none; border-radius: 20px; padding: 6px 14px; font-size: 12px; font-weight: 600; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 113, 227, 0.4); transition: transform 0.2s; flex-shrink: 0; } .ai-island-btn:hover { transform: scale(1.05); } .ai-island-close { background: transparent; border: none; color: rgba(255, 255, 255, 0.5); font-size: 18px; cursor: pointer; margin-left: 8px; padding: 0 4px; flex-shrink: 0; } .ai-island-close:hover { color: white; } @media (prefers-color-scheme: light) { .ai-island-wrapper { background: rgba(255, 255, 255, 0.9); border: 1px solid rgba(0, 0, 0, 0.1); color: #1d1d1f; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); } .ai-island-text { color: #1d1d1f; } .ai-island-badge { background: rgba(230, 81, 0, 0.1); color: #e65100; border-color: rgba(230, 81, 0, 0.3); } .ai-island-close { color: rgba(0, 0, 0, 0.4); } .ai-island-close:hover { color: black; } } `); document.body.insertAdjacentHTML('beforeend', widgetHtml); const island = document.getElementById('ai-discount-island'); const islandIcon = island.querySelector('.ai-island-icon'); const closeButton = document.getElementById('ai-island-close'); const actionButton = document.getElementById('ai-island-btn'); let autoCollapseTimer = null; function expandIsland() { island.classList.add('expanded'); clearTimeout(autoCollapseTimer); autoCollapseTimer = setTimeout(() => { island.classList.remove('expanded'); }, 8000); } setTimeout(() => { island.classList.add('show'); setTimeout(expandIsland, 500); }, 800); island.addEventListener('mouseenter', expandIsland); island.addEventListener('mouseleave', () => { autoCollapseTimer = setTimeout(() => { island.classList.remove('expanded'); }, 3000); }); closeButton.addEventListener('click', (event) => { event.stopPropagation(); island.classList.remove('show'); setTimeout(() => island.remove(), 600); sessionStorage.setItem('ai-discount-ignored', 'true'); }); actionButton.addEventListener('click', () => { window.location.href = matchedConfig.inviteLink; }); islandIcon.addEventListener('click', expandIsland); }); })();