diff --git a/website/cloud.html b/website/cloud.html index 5a6f0a5..b93e26b 100644 --- a/website/cloud.html +++ b/website/cloud.html @@ -33,7 +33,7 @@ position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 40px; height: 58px; - background: rgba(10,10,15,0.85); + background: rgba(10,10,15,0.9); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); } @@ -43,7 +43,7 @@ -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-decoration: none; } - .nav-links { display: flex; gap: 28px; align-items: center; } + .nav-links { display: flex; gap: 24px; align-items: center; } .nav-links a { color: var(--text-dim); text-decoration: none; font-size: 14px; transition: color 0.2s; @@ -52,7 +52,7 @@ .nav-cta { background: linear-gradient(135deg, #ef4444, #dc2626) !important; color: white !important; - padding: 8px 20px; border-radius: 8px; + padding: 7px 18px; border-radius: 8px; font-weight: 600; font-size: 14px; } .nav-cta:hover { transform: translateY(-1px); box-shadow: 0 4px 20px rgba(239,68,68,0.3); } @@ -63,7 +63,7 @@ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 80px 20px 60px; - background: radial-gradient(ellipse at 50% 0%, rgba(239,68,68,0.15) 0%, transparent 60%); + background: radial-gradient(ellipse at 50% 0%, rgba(239,68,68,0.12) 0%, transparent 60%); } .hero-emoji { font-size: 72px; margin-bottom: 20px; } .hero h1 { @@ -74,17 +74,17 @@ -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .hero-sub { - font-size: clamp(18px, 2.5vw, 26px); - color: var(--text); font-weight: 600; margin-bottom: 16px; + font-size: clamp(16px, 2.2vw, 22px); + color: var(--text); font-weight: 600; margin-bottom: 14px; } .hero-desc { - font-size: clamp(14px, 1.8vw, 18px); - color: var(--text-dim); max-width: 520px; margin: 0 auto 40px; + font-size: clamp(14px, 1.6vw, 17px); + color: var(--text-dim); max-width: 500px; margin: 0 auto 36px; } - .hero-cta { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; } + .hero-cta { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; } .btn { - padding: 14px 32px; border-radius: 12px; - font-size: 16px; font-weight: 600; text-decoration: none; + padding: 13px 30px; border-radius: 12px; + font-size: 15px; font-weight: 600; text-decoration: none; transition: all 0.2s; display: inline-flex; align-items: center; gap: 8px; } .btn-primary { @@ -99,33 +99,33 @@ .btn-outline:hover { border-color: var(--accent); background: rgba(239,68,68,0.05); } .hero-stats { - display: flex; gap: 48px; margin-top: 64px; + display: flex; gap: 48px; margin-top: 56px; flex-wrap: wrap; justify-content: center; } .stat { text-align: center; } .stat-num { - font-size: 34px; font-weight: 800; + font-size: 32px; font-weight: 800; background: linear-gradient(135deg, #ef4444, #f97316); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } - .stat-label { font-size: 13px; color: var(--text-dim); margin-top: 2px; } + .stat-label { font-size: 12px; color: var(--text-dim); margin-top: 2px; } /* CONFIG DEMO */ .config-demo { - margin-top: 56px; width: 100%; max-width: 560px; + margin-top: 48px; width: 100%; max-width: 520px; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; overflow: hidden; text-align: left; } .config-header { display: flex; align-items: center; gap: 8px; - padding: 12px 16px; background: var(--bg); + padding: 10px 16px; background: var(--bg); border-bottom: 1px solid var(--border); } - .dot { width: 12px; height: 12px; border-radius: 50%; } + .dot { width: 11px; height: 11px; border-radius: 50%; } .dot.r{background:#ff5f57} .dot.y{background:#febc2e} .dot.g{background:#28c840} - .config-filename { font-size: 12px; color: var(--text-dim); margin-left: 6px; font-family: monospace; } + .config-filename { font-size: 12px; color: var(--text-dim); margin-left: 4px; font-family: monospace; } .config-demo pre { - padding: 20px; font-family: 'Fira Code','Courier New',monospace; + padding: 18px 20px; font-family: 'Fira Code','Courier New',monospace; font-size: 13px; line-height: 1.8; } .c-comment { color: #4a5568; } @@ -134,70 +134,71 @@ .c-url { color: #63b3ed; } /* SECTION */ - section { padding: 96px 20px; } - .section-inner { max-width: 1080px; margin: 0 auto; } + section { padding: 88px 20px; } + .section-inner { max-width: 1060px; margin: 0 auto; } .section-tag { - display: inline-block; font-size: 12px; font-weight: 700; + display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; - color: var(--accent); margin-bottom: 12px; + color: var(--accent); margin-bottom: 10px; } .section-title { - font-size: clamp(28px, 4vw, 48px); font-weight: 800; - letter-spacing: -1.5px; margin-bottom: 14px; + font-size: clamp(26px, 3.5vw, 44px); font-weight: 800; + letter-spacing: -1.5px; margin-bottom: 12px; } - .section-desc { font-size: 17px; color: var(--text-dim); max-width: 500px; } + .section-desc { font-size: 16px; color: var(--text-dim); max-width: 480px; } /* MODELS */ .models-grid { - display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); - gap: 16px; margin-top: 48px; + display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); + gap: 16px; margin-top: 44px; } .model-card { background: var(--surface); border: 1px solid var(--border); - border-radius: 16px; padding: 28px; + border-radius: 16px; padding: 26px; transition: border-color 0.2s, transform 0.2s; } .model-card:hover { border-color: var(--accent); transform: translateY(-3px); } - .model-emoji { font-size: 32px; margin-bottom: 14px; } - .model-name { font-size: 17px; font-weight: 700; margin-bottom: 6px; } - .model-desc { font-size: 13px; color: var(--text-dim); margin-bottom: 20px; line-height: 1.5; } + .model-emoji { font-size: 30px; margin-bottom: 12px; } + .model-name { font-size: 16px; font-weight: 700; margin-bottom: 6px; } + .model-id { font-size: 12px; color: var(--text-dim); font-family: monospace; margin-bottom: 10px; } + .model-desc { font-size: 13px; color: var(--text-dim); margin-bottom: 18px; line-height: 1.5; } .model-price-row { display: flex; align-items: baseline; gap: 4px; } - .model-price { font-size: 26px; font-weight: 800; + .model-price { font-size: 24px; font-weight: 800; background: linear-gradient(135deg, #ef4444, #f97316); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .model-unit { font-size: 12px; color: var(--text-dim); } .model-badge { - display: inline-block; margin-top: 12px; + display: inline-block; margin-top: 10px; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 6px; } .badge-hot { background: rgba(239,68,68,0.15); color: var(--accent); } .badge-fast { background: rgba(34,197,94,0.15); color: var(--green); } .badge-think { background: rgba(168,85,247,0.15); color: var(--purple); } - /* HOW */ + /* STEPS */ .steps { - display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); - gap: 36px; margin-top: 52px; + display: grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); + gap: 32px; margin-top: 48px; } .step-num { - width: 48px; height: 48px; border-radius: 14px; + width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; - font-size: 20px; font-weight: 800; + font-size: 18px; font-weight: 800; background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.25); - color: var(--accent); margin-bottom: 18px; + color: var(--accent); margin-bottom: 16px; } - .step h3 { font-size: 17px; font-weight: 700; margin-bottom: 8px; } + .step h3 { font-size: 16px; font-weight: 700; margin-bottom: 8px; } .step p { font-size: 14px; color: var(--text-dim); line-height: 1.6; } /* PRICING */ .pricing-grid { - display: grid; grid-template-columns: repeat(auto-fit, minmax(270px,1fr)); - gap: 20px; margin-top: 52px; + display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); + gap: 20px; margin-top: 48px; } .plan { background: var(--surface); border: 1px solid var(--border); - border-radius: 20px; padding: 36px; position: relative; + border-radius: 20px; padding: 34px; position: relative; transition: transform 0.2s; } .plan:hover { transform: translateY(-4px); } @@ -208,16 +209,16 @@ color: #fff; font-size: 11px; font-weight: 700; padding: 4px 16px; border-radius: 20px; white-space: nowrap; } - .plan-label { font-size: 13px; font-weight: 600; color: var(--text-dim); margin-bottom: 10px; } + .plan-label { font-size: 13px; font-weight: 600; color: var(--text-dim); margin-bottom: 8px; } .plan-price-row { display: flex; align-items: flex-end; gap: 4px; margin-bottom: 6px; } .plan-price { - font-size: 48px; font-weight: 800; letter-spacing: -2px; line-height: 1; + font-size: 46px; font-weight: 800; letter-spacing: -2px; line-height: 1; background: linear-gradient(135deg, #ef4444, #f97316); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } - .plan-price-unit { font-size: 16px; color: var(--text-dim); margin-bottom: 6px; } - .plan-desc { font-size: 14px; color: var(--text-dim); margin-bottom: 28px; } - .plan-features { list-style: none; display: flex; flex-direction: column; gap: 11px; margin-bottom: 28px; } + .plan-price-unit { font-size: 15px; color: var(--text-dim); margin-bottom: 5px; } + .plan-desc { font-size: 13px; color: var(--text-dim); margin-bottom: 24px; } + .plan-features { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; } .plan-features li { font-size: 14px; display: flex; align-items: center; gap: 10px; } .plan-features li::before { content: ''; width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%; @@ -227,13 +228,141 @@ } .btn-plan { display: block; text-align: center; text-decoration: none; - padding: 13px; border-radius: 10px; font-size: 15px; font-weight: 600; transition: all 0.2s; + padding: 12px; border-radius: 10px; font-size: 14px; font-weight: 600; transition: all 0.2s; } .btn-plan-outline { border: 1px solid var(--border); color: var(--text); } .btn-plan-outline:hover { border-color: var(--accent); color: var(--accent); } .btn-plan-filled { background: linear-gradient(135deg, #ef4444, #dc2626); color: #fff; } .btn-plan-filled:hover { box-shadow: 0 6px 24px rgba(239,68,68,0.35); transform: translateY(-1px); } + /* BALANCE QUERY */ + .balance-card { + max-width: 620px; margin: 48px auto 0; + background: var(--surface); border: 1px solid var(--border); + border-radius: 20px; padding: 32px; + } + .bal-input-row { display: flex; gap: 8px; margin-bottom: 16px; } + .bal-input { + flex: 1; background: var(--bg); border: 1px solid var(--border); + border-radius: 10px; padding: 12px 14px; + font-size: 13px; font-family: 'Fira Code','Courier New',monospace; + color: var(--text); outline: none; transition: border-color 0.2s; + } + .bal-input:focus { border-color: var(--accent); } + .bal-input::placeholder { color: var(--text-dim); } + .btn-query { + background: linear-gradient(135deg,#ef4444,#dc2626); + color: #fff; border: none; border-radius: 10px; + padding: 12px 18px; font-size: 14px; font-weight: 600; + cursor: pointer; white-space: nowrap; transition: all 0.2s; + } + .btn-query:hover { box-shadow: 0 4px 16px rgba(239,68,68,0.35); } + .btn-query:disabled { opacity: 0.5; cursor: not-allowed; } + .bal-result { + display: none; background: var(--bg); border: 1px solid var(--border); + border-radius: 14px; padding: 24px; text-align: center; + } + .bal-result.show { display: block; } + .bal-num { + font-size: 50px; font-weight: 800; letter-spacing: -2px; line-height: 1; + background: linear-gradient(135deg,#22c55e,#16a34a); + -webkit-background-clip: text; -webkit-text-fill-color: transparent; + margin-bottom: 6px; + } + .bal-sub { font-size: 13px; color: var(--text-dim); margin-bottom: 16px; } + .bal-detail { + display: flex; justify-content: center; gap: 32px; + flex-wrap: wrap; border-top: 1px solid var(--border); padding-top: 16px; + } + .bal-detail-item { text-align: center; } + .bal-detail-item .val { font-size: 17px; font-weight: 700; color: var(--text); } + .bal-detail-item .lbl { font-size: 12px; color: var(--text-dim); margin-top: 2px; } + .bal-err { color: var(--accent); font-size: 14px; text-align: center; padding: 12px 0; display: none; } + .bal-err.show { display: block; } + + /* RECHARGE */ + .recharge-box { + max-width: 620px; margin: 48px auto 0; + background: var(--surface); border: 1px solid var(--border); + border-radius: 20px; padding: 36px 32px; + } + .rs-step { margin-bottom: 28px; } + .rs-step:last-child { margin-bottom: 0; } + .rs-title { + font-size: 15px; font-weight: 700; margin-bottom: 14px; + display: flex; align-items: center; gap: 10px; + } + .rs-num { + width: 26px; height: 26px; border-radius: 50%; + background: rgba(239,68,68,0.15); border: 1px solid rgba(239,68,68,0.3); + color: var(--accent); font-size: 12px; font-weight: 800; + display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; + } + .key-row { display: flex; gap: 8px; margin-bottom: 10px; } + .key-input { + flex: 1; background: var(--bg); border: 1px solid var(--border); + border-radius: 10px; padding: 11px 14px; + font-size: 13px; font-family: 'Fira Code','Courier New',monospace; + color: var(--text); outline: none; transition: border-color 0.2s; + } + .key-input:focus { border-color: var(--accent); } + .key-input::placeholder { color: var(--text-dim); } + .btn-gen { + background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.25); + color: var(--accent); border-radius: 10px; padding: 11px 14px; + font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; + transition: background 0.2s; + } + .btn-gen:hover { background: rgba(239,68,68,0.18); } + .balance-line { font-size: 13px; color: var(--text-dim); min-height: 20px; } + .balance-line b { color: var(--green); } + .save-tip { + display: none; margin-top: 10px; + background: rgba(34,197,94,0.08); border: 1px solid rgba(34,197,94,0.25); + border-radius: 10px; padding: 10px 14px; + font-size: 13px; color: var(--green); line-height: 1.6; + } + .copy-btn { + background: rgba(34,197,94,0.12); border: 1px solid rgba(34,197,94,0.3); + color: var(--green); border-radius: 6px; padding: 3px 10px; + font-size: 12px; font-weight: 600; cursor: pointer; margin-left: 8px; + transition: background 0.2s; + } + .copy-btn:hover { background: rgba(34,197,94,0.22); } + .amount-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; } + .amt-btn { + border: 1px solid var(--border); background: var(--bg); + border-radius: 10px; padding: 10px 22px; + font-size: 16px; font-weight: 700; cursor: pointer; + color: var(--text); transition: all 0.2s; + } + .amt-btn:hover { border-color: var(--accent); color: var(--accent); } + .amt-btn.active { + border-color: var(--accent); + background: rgba(239,68,68,0.12); color: var(--accent); + } + .qr-area { display: flex; gap: 20px; align-items: flex-start; } + .qr-img { + width: 160px; height: auto; border-radius: 12px; + border: 1px solid var(--border); object-fit: contain; flex-shrink: 0; + } + .qr-placeholder { + width: 140px; height: 140px; border-radius: 12px; + border: 2px dashed var(--border); + display: flex; flex-direction: column; align-items: center; + justify-content: center; color: var(--text-dim); + font-size: 12px; flex-shrink: 0; gap: 6px; + } + .qr-tips { flex: 1; } + .qr-tips p { font-size: 14px; color: var(--text-dim); line-height: 1.7; margin-bottom: 8px; } + .hint-key { + background: rgba(239,68,68,0.06); border: 1px solid rgba(239,68,68,0.2); + border-radius: 10px; padding: 10px 14px; + font-size: 13px; font-family: 'Fira Code','Courier New',monospace; + color: var(--text); word-break: break-all; line-height: 1.6; + } + .hint-key em { color: var(--accent); font-style: normal; font-weight: 700; } + /* U盘专属 */ .udisk-wrap { background: var(--surface); @@ -241,20 +370,18 @@ border-bottom: 1px solid var(--border); } .udisk-inner { - max-width: 1080px; margin: 0 auto; + max-width: 1060px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; - gap: 64px; align-items: center; padding: 96px 20px; + gap: 56px; align-items: center; padding: 88px 20px; } .udisk-inner h2 { - font-size: clamp(26px,3.5vw,44px); font-weight: 800; - letter-spacing: -1.5px; margin-bottom: 14px; - } - .udisk-inner p { color: var(--text-dim); font-size: 16px; margin-bottom: 28px; } - .udisk-points { list-style: none; display: flex; flex-direction: column; gap: 14px; } - .udisk-points li { font-size: 15px; display: flex; align-items: flex-start; gap: 12px; } - .udisk-points li::before { - content: '🦞'; font-size: 16px; flex-shrink: 0; margin-top: 1px; + font-size: clamp(24px,3vw,40px); font-weight: 800; + letter-spacing: -1.5px; margin-bottom: 12px; } + .udisk-inner p { color: var(--text-dim); font-size: 15px; margin-bottom: 24px; } + .udisk-points { list-style: none; display: flex; flex-direction: column; gap: 12px; } + .udisk-points li { font-size: 14px; display: flex; align-items: flex-start; gap: 10px; } + .udisk-points li::before { content: '🦞'; font-size: 15px; flex-shrink: 0; margin-top: 1px; } .code-box { background: var(--bg); border: 1px solid var(--border); border-radius: 16px; overflow: hidden; @@ -265,41 +392,40 @@ display: flex; align-items: center; gap: 8px; } .code-box pre { - padding: 20px; font-family: 'Fira Code','Courier New',monospace; + padding: 18px 20px; font-family: 'Fira Code','Courier New',monospace; font-size: 13px; line-height: 1.8; } /* FAQ */ - .faq-list { max-width: 700px; margin: 48px auto 0; display: flex; flex-direction: column; gap: 12px; } + .faq-list { max-width: 680px; margin: 44px auto 0; display: flex; flex-direction: column; gap: 10px; } .faq-item { background: var(--surface); border: 1px solid var(--border); - border-radius: 12px; padding: 22px 26px; + border-radius: 12px; padding: 20px 24px; transition: border-color 0.2s; } .faq-item:hover { border-color: rgba(239,68,68,0.3); } - .faq-q { font-size: 15px; font-weight: 700; margin-bottom: 8px; } + .faq-q { font-size: 15px; font-weight: 700; margin-bottom: 6px; } .faq-a { font-size: 14px; color: var(--text-dim); line-height: 1.6; } /* CTA */ .cta-wrap { - text-align: center; padding: 100px 20px; - background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(239,68,68,0.08) 0%, transparent 70%); + text-align: center; padding: 96px 20px; + background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(239,68,68,0.07) 0%, transparent 70%); } - .cta-wrap .hero-emoji { font-size: 56px; margin-bottom: 16px; } .cta-wrap h2 { - font-size: clamp(28px,4vw,52px); font-weight: 800; - letter-spacing: -2px; margin-bottom: 14px; + font-size: clamp(26px,4vw,48px); font-weight: 800; + letter-spacing: -2px; margin-bottom: 12px; } - .cta-wrap p { font-size: 18px; color: var(--text-dim); margin-bottom: 36px; } + .cta-wrap p { font-size: 17px; color: var(--text-dim); margin-bottom: 32px; } /* FOOTER */ footer { border-top: 1px solid var(--border); - padding: 36px 40px; + padding: 32px 40px; display: flex; align-items: center; justify-content: space-between; - flex-wrap: wrap; gap: 16px; + flex-wrap: wrap; gap: 14px; } - .footer-logo { font-size: 16px; font-weight: 800; + .footer-logo { font-size: 15px; font-weight: 800; background: linear-gradient(135deg,#ef4444,#f97316); -webkit-background-clip:text; -webkit-text-fill-color:transparent; } @@ -309,10 +435,11 @@ .footer-copy { font-size: 13px; color: var(--text-dim); } @media (max-width: 768px) { - nav { padding: 0 20px; } + nav { padding: 0 16px; } .nav-links { display: none; } - .udisk-inner { grid-template-columns: 1fr; gap: 32px; } + .udisk-inner { grid-template-columns: 1fr; gap: 28px; } footer { flex-direction: column; align-items: flex-start; } + .qr-area { flex-direction: column; } } @@ -323,9 +450,11 @@ @@ -336,15 +465,14 @@
OpenClaw 官方 AI API 服务
为虾盘 U 盘用户专属打造。接入 DeepSeek、Qwen,按量计费,开箱即用,无需折腾。
- 暂时不可用 - 查看接入教程 + 立即充值使用 → + 查看开发文档
-

⚠️ 虾盘云目前暂停服务,敬请期待。

¥3
DeepSeek V3 起
-
2s
平均响应时间
-
¥5
U 盘附赠额度
+
¥10
最低充值金额
+
10min
手动到账时效
5+
可用模型
@@ -357,7 +485,7 @@ { "agent": { "model": "deepseek-chat", - "apiKey": "sk-your-key-here", + "apiKey": "sk-xp-your-key-here", "baseUrl": "https://api.u-claw.org/v1" } } @@ -369,11 +497,12 @@
支持模型

主流模型,统一接口

-

OpenAI 兼容格式,切换模型只改一个字段。

+

OpenAI 兼容格式,切换模型只改一个字段,所有工具通用。

🐋
DeepSeek V3
+
deepseek-chat
日常对话、写作、代码,综合能力最强的主力模型,性价比极高
¥3 @@ -384,6 +513,7 @@
🧠
DeepSeek R1
+
deepseek-reasoner
深度推理模型,复杂逻辑、数学证明、代码调试效果出色
¥12 @@ -393,7 +523,8 @@
-
Qwen-Turbo
+
Qwen Turbo
+
qwen-turbo
极速响应,适合高频轻量对话,中文表现好
¥1.8 @@ -403,7 +534,8 @@
🌟
-
Qwen-Plus
+
Qwen Plus
+
qwen-plus
长文档理解强,中文语义把握准确,适合写作场景
¥4 @@ -424,18 +556,18 @@
1
-

注册账号

-

访问 api.u-claw.org 注册。有虾盘激活码的直接兑换 ¥5 免费额度,无需充值即可开始。

+

获取 API Key

+

在下方充值区生成或粘贴你的 Key,支付宝扫码充值,备注 Key,10分钟内到账激活。

2
-

创建 API Key

-

登录控制台 → 令牌管理 → 新建令牌,复制生成的 Key(格式:sk-xxxx)。

+

配置 API 地址

+

Base URL 填 https://api.u-claw.org/v1,API Key 填你的 sk-xp- 开头的 Key。

3
-

填入 OpenClaw

-

打开 OpenClaw 或 openclaw.json,将 apiKey 填入,baseUrl 填 api.u-claw.org/v1,保存即用。

+

开始使用

+

兼容所有 OpenAI 格式工具:OpenClaw、Cherry Studio、Cursor、沉浸式翻译等,直接用。

@@ -480,64 +612,155 @@

用多少花多少,没有套路,余额永久有效。

-
按量充值
+
轻度充值
¥10 起充
-
适合轻度用户,灵活无压力
+
适合尝鲜体验,灵活无压力
  • 全模型可用
  • 余额永久有效
  • -
  • 微信 / 支付宝充值
  • -
  • 实时用量统计
  • +
  • 支付宝充值
  • +
  • 10分钟内到账
- 立即注册 + 选择此档
-
U 盘激活码
+
高级充值
- ¥5 - 随盘附赠 + ¥100 + 起充
-
正版虾盘 U 盘专属福利
+
约 1000 万 token,重度用户
    -
  • 开箱即有激活码
  • -
  • 注册后直接兑换
  • -
  • 可叠加充值使用
  • -
  • 每个 U 盘限一张
  • +
  • 全模型可用
  • +
  • 余额永久有效
  • +
  • 支付宝充值
  • +
  • 10分钟内到账
- 去兑换 + 选择此档
+ +
+
+ +

查询 Key 余额

+

粘贴你的 API Key,实时查询剩余额度

+
+
+ + +
+
+
+
¥0.00
+
当前可用余额(人民币)
+
+
+
-
+
累计充值
+
+
+
-
+
已消耗
+
+
+
-
+
查询时间
+
+
+
+
+
+
+ + +
+
+ +

扫码付款,10 分钟到账

+

无需注册,生成或粘贴 Key,支付宝扫码,备注 Key 即可

+
+ + +
+
1确认你的 API Key
+
+ + +
+
粘贴 Key 后自动查询余额
+
+ 重要:请复制并保存你的 Key,充值和使用都需要它。
+ 虾盘 U 盘用户也可以直接用 U 盘里的 Key。 + +
+
+ + +
+
2选择充值金额
+
+ + + + +
+
+ + +
+
3支付宝扫码,付款备注你的 Key
+
+ 支付宝收款码 + +
+

扫码付款后,务必在付款备注填写你的 Key,收到后 10 分钟内 手动为你充值到账。

+

付款备注:

+
请先在第一步填写或生成你的 Key
+
+
+
+ +
+
+
+ -
+

FAQ

虾盘云和直接用 DeepSeek 官方有什么区别?
-
虾盘云提供统一入口,人民币充值,多模型一个 Key 搞定,不用单独注册各家账号。对国内用户更友好,配合虾盘 U 盘开箱即用。
+
虾盘云提供统一入口,人民币充值,多模型一个 Key 搞定,不用单独注册各家账号。配合虾盘 U 盘开箱即用,对国内用户更友好。
兼容哪些 AI 工具?
@@ -545,11 +768,15 @@
充值余额会过期吗?
-
按量充值余额永不过期。月费套餐额度按月重置,未用完不累积。
+
按量充值余额永不过期,用多少扣多少,随时可查余额。
-
激活码可以重复用吗?
-
每个激活码只能用一次,兑换后绑定账号。正版 U 盘每个附赠一张,复制的 U 盘没有激活码。
+
付款后多久到账?
+
人工处理,工作时间 10 分钟内,非工作时间最长 2 小时。到账后可用余额查询接口验证。
+
+
+
Key 格式是什么?可以自己生成吗?
+
格式为 sk-xp- 开头 + 32位随机字符串。点"帮我生成一个"自动生成,也可以粘贴已有的 Key。
@@ -560,24 +787,24 @@

有问题?找我

-

余额充值、使用问题、U 盘激活码,直接联系

+

余额充值、使用问题、U 盘激活码,直接联系

- 微信二维码 -

微信扫码添加

+ 微信二维码 +

微信扫码添加

- - 📕 - 小红书 + + 📕 + 小红书 8777+ 赞 -

小红书关注

+

小红书关注

-
-

邮箱:hefangsheng@gmail.com

-

GitHub:dongsheng123132

-

官网:u-claw.org

+
+

邮箱:hefangsheng@gmail.com

+

GitHub:dongsheng123132

+

官网:u-claw.org

@@ -585,21 +812,128 @@
-
🦞
-

现在开始,免费体验

-

注册即用,U 盘激活码兑换 ¥5 免费额度

- 免费注册 → +

现在就开始用

+

生成 Key,扫码充值,10 分钟内到账,立刻可用

+ 去充值 →
+ diff --git a/website/docs.html b/website/docs.html new file mode 100644 index 0000000..f9d0b09 --- /dev/null +++ b/website/docs.html @@ -0,0 +1,686 @@ + + + + + + 虾盘云 API 开发文档 + + + + + + + + + + +
+ +
+
+ API 服务正常运行 +
+ +

虾盘云 API 开发文档

+

虾盘云提供 OpenAI 兼容接口,接入 DeepSeek、Qwen 等主流模型。本文档适合 AI 开发者快速接入,也方便 AI 自动读取。

+

更新时间:2026-04-06

+ + +

基本信息

+ + + + + + + + + + + +
项目
API 端点https://api.u-claw.org/v1
接口格式兼容 OpenAI(/v1/chat/completions 等)
认证方式Authorization: Bearer <your-key>
Key 前缀sk-xp-
计费单位quota(500,000 quota = $1 = ¥7.2)
汇率1 USD = 7.2 CNY(固定)
最低充值¥10
+ + +

认证方式

+

所有请求需在 HTTP Header 中携带 API Key:

+
+
http
+
Authorization: Bearer sk-xp-your-key-here
+
+ +
+ ⚠️ +

注意:Key 需先充值激活才能使用。未激活的 Key 调用接口会返回「无效的令牌」错误。

+
+ + +

支持模型

+ + + + + + + + +
model ID对应模型输入价格输出价格特点
deepseek-chatDeepSeek V3¥3 / 百万 token¥9 / 百万 token综合能力强,推荐首选
deepseek-reasonerDeepSeek R1¥12 / 百万 token¥36 / 百万 token深度推理,复杂逻辑
qwen-turbo通义千问 Turbo¥1.8 / 百万 token¥5.4 / 百万 token极速响应,高频场景
qwen-plus通义千问 Plus¥4 / 百万 token¥12 / 百万 token中文优化,长文档
+ + +

对话接口

+
+ POST + https://api.u-claw.org/v1/chat/completions +
+

完全兼容 OpenAI chat/completions 接口格式,直接替换 baseUrl 即可。

+ +

请求示例

+
+
bash (curl)
+
curl https://api.u-claw.org/v1/chat/completions \
+  -H "Content-Type: application/json" \
+  -H "Authorization: Bearer sk-xp-your-key-here" \
+  -d '{
+    "model": "deepseek-chat",
+    "messages": [{"role": "user", "content": "你好"}],
+    "stream": false
+  }'
+
+ +
+
javascript
+
const res = await fetch('https://api.u-claw.org/v1/chat/completions', {
+  method: 'POST',
+  headers: {
+    'Content-Type': 'application/json',
+    'Authorization': 'Bearer sk-xp-your-key-here'
+  },
+  body: JSON.stringify({
+    model: 'deepseek-chat',
+    messages: [{ role: 'user', content: '你好' }]
+  })
+});
+const data = await res.json();
+console.log(data.choices[0].message.content);
+
+ +
+
python
+
from openai import OpenAI
+
+client = OpenAI(
+    api_key="sk-xp-your-key-here",
+    base_url="https://api.u-claw.org/v1"
+)
+
+response = client.chat.completions.create(
+    model="deepseek-chat",
+    messages=[{"role": "user", "content": "你好"}]
+)
+print(response.choices[0].message.content)
+
+ + +

余额查询接口

+
+ GET + https://api.u-claw.org/v1/dashboard/billing/subscription +
+

返回该 Key 的总充值额度(USD)。

+ +

返回字段

+
+ + + + + + +
字段类型说明
hard_limit_usdnumber累计充值总额(USD)
soft_limit_usdnumber同上(兼容字段)
+
+ +

返回示例

+
+
json
+
{
+  "hard_limit_usd": 10.2,
+  "soft_limit_usd": 10.2
+}
+
+ + +

用量查询接口

+
+ GET + https://api.u-claw.org/v1/dashboard/billing/usage + ?start_date=2020-01-01&end_date=2026-04-06 +
+

返回该 Key 在指定时间范围内的消耗量。

+ +

请求参数

+
+ + + + + + +
参数类型说明
start_datestring开始日期 YYYY-MM-DD,建议填 2020-01-01
end_datestring结束日期 YYYY-MM-DD,建议填今天
+
+ +

返回字段

+
+ + + + + +
字段类型说明
total_usagenumber已消耗量,单位是 USD×100(分),除以100才是 USD
+
+ +

余额计算公式

+
+
formula
+
已消耗 USD = total_usage / 100
+剩余 USD   = hard_limit_usd - 已消耗 USD
+剩余 CNY   = 剩余 USD × 7.2
+
+ +

完整余额查询示例(JavaScript)

+
+
javascript
+
const API_BASE = 'https://api.u-claw.org/v1';
+
+async function queryBalance(apiKey) {
+  const headers = { Authorization: 'Bearer ' + apiKey };
+  const today = new Date().toISOString().slice(0, 10);
+
+  const [subRes, usageRes] = await Promise.all([
+    fetch(`${API_BASE}/dashboard/billing/subscription`, { headers }),
+    fetch(`${API_BASE}/dashboard/billing/usage?start_date=2020-01-01&end_date=${today}`, { headers })
+  ]);
+
+  if (!subRes.ok) throw new Error('Key 无效或未激活');
+
+  const sub   = await subRes.json();
+  const usage = await usageRes.json();
+
+  const totalUsd  = sub.hard_limit_usd || 0;
+  const usedUsd   = (usage.total_usage || 0) / 100;
+  const remainUsd = totalUsd - usedUsd;
+
+  return {
+    totalCny:   (totalUsd  * 7.2).toFixed(2),  // 累计充值(CNY)
+    usedCny:    (usedUsd   * 7.2).toFixed(2),  // 已消耗(CNY)
+    balanceCny: (remainUsd * 7.2).toFixed(2),  // 剩余余额(CNY)
+  };
+}
+
+// 使用示例
+queryBalance('sk-xp-your-key-here').then(console.log);
+// { totalCny: '73.44', usedCny: '1.36', balanceCny: '72.08' }
+
+ +

curl 测试

+
+
bash
+
KEY="sk-xp-your-key-here"
+
+# 查询总充值额
+curl https://api.u-claw.org/v1/dashboard/billing/subscription \
+  -H "Authorization: Bearer $KEY"
+
+# 查询已消耗
+curl "https://api.u-claw.org/v1/dashboard/billing/usage?start_date=2020-01-01&end_date=$(date +%F)" \
+  -H "Authorization: Bearer $KEY"
+
+ + +

在线测试:实时查询余额

+

在这里直接输入你的 Key 测试接口是否正常返回数据。

+
+

🔬 余额查询测试

+
+ + +
+
等待输入 Key...
+
+ + +

充值流程

+

当前为手工充值模式,流程如下:

+
    +
  1. 用户在网站生成或粘贴自己的 sk-xp- Key
  2. +
  3. 支付宝扫码付款,付款备注填写 Key
  4. +
  5. 管理员收到付款通知后,在 new-api 后台为该 Key 增加 quota
  6. +
  7. 用户通过余额查询接口验证是否到账
  8. +
+ +
+ ℹ️ +

工作时间 10 分钟内到账,非工作时间最长 2 小时。

+
+ + +

Quota 换算

+

换算公式:quota = 充值CNY / 7.2 × 500,000

+ + + + + + + + +
充值金额(CNY)增加 quota约等于(USD)
¥10694,444$1.39
¥201,388,888$2.78
¥503,472,222$6.94
¥1006,944,444$13.89
+ + +

Key 格式

+

虾盘云 Key 格式:sk-xp- + 32位十六进制随机字符串(共 38 字符)

+
+
示例
+
sk-xp-fa3daa78e448871d6ccbffd1540cc07b
+
+ +
+ ⚠️ +

重要:前端生成的 Key 仅是字符串,未在系统中注册。用户付款备注此 Key 后,管理员在 new-api 后台以此名创建 Token,Key 才真正激活生效。

+
+ + +

前端生成 Key(JavaScript)

+
+
javascript
+
function generateKey() {
+  const hex = Array.from(crypto.getRandomValues(new Uint8Array(16)))
+    .map(b => b.toString(16).padStart(2, '0')).join('');
+  return 'sk-xp-' + hex;
+}
+
+generateKey();
+// => "sk-xp-fa3daa78e448871d6ccbffd1540cc07b"
+
+ +
+ +

接口测试通过(2026-04-06):余额查询接口实测返回正常,hard_limit_usdtotal_usage 字段均可用。

+
+ +

+ 虾盘云 · 首页 · 联系我们 · © 2026 api.u-claw.org +

+
+ + + +