Loading...
正在加载...
请稍候

ZeroToken Record once. Automate forever.

✨步子哥 (steper) 2026年03月14日 01:37
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ZeroToken - Record once. Automate forever.</title> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;600&family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet"> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 50%, #0f1419 100%); color: #e8eaed; min-height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px; } .poster-container { width: 720px; min-height: 1280px; background: linear-gradient(135deg, #0d1117 0%, #161b22 100%); border-radius: 24px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); position: relative; } /* Background decoration */ .bg-grid { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: linear-gradient(rgba(88, 166, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(88, 166, 255, 0.03) 1px, transparent 1px); background-size: 40px 40px; pointer-events: none; } .bg-glow { position: absolute; top: -200px; right: -200px; width: 600px; height: 600px; background: radial-gradient(circle, rgba(88, 166, 255, 0.15) 0%, transparent 70%); pointer-events: none; } .content { position: relative; z-index: 1; padding: 48px 40px; } /* Header */ .header { margin-bottom: 48px; text-align: center; } .title { font-size: 68px; font-weight: 800; background: linear-gradient(135deg, #58a6ff 0%, #79c0ff 50%, #a5d6ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: -2px; margin-bottom: 16px; line-height: 1.1; } .subtitle { font-size: 24px; color: #7ee787; font-weight: 600; font-family: 'Fira Code', monospace; letter-spacing: 0.5px; } /* Problem Section */ .problem-section { background: rgba(255, 107, 107, 0.08); border: 1px solid rgba(255, 107, 107, 0.2); border-radius: 16px; padding: 28px; margin-bottom: 40px; } .problem-title { font-size: 20px; font-weight: 700; color: #ff6b6b; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; } .problem-content { font-size: 16px; line-height: 1.6; color: #c9d1d9; } .highlight-red { color: #ff6b6b; font-weight: 600; } /* Architecture Flow */ .architecture { margin-bottom: 40px; } .section-title { font-size: 22px; font-weight: 700; color: #58a6ff; margin-bottom: 24px; display: flex; align-items: center; gap: 12px; } .flow-container { display: flex; justify-content: space-between; align-items: center; gap: 16px; } .flow-step { flex: 1; background: rgba(88, 166, 255, 0.05); border: 2px solid rgba(88, 166, 255, 0.3); border-radius: 12px; padding: 24px 16px; text-align: center; position: relative; } .flow-step.active { background: rgba(88, 166, 255, 0.1); border-color: #58a6ff; box-shadow: 0 0 30px rgba(88, 166, 255, 0.2); } .flow-step.inactive { background: rgba(126, 231, 135, 0.05); border-color: rgba(126, 231, 135, 0.3); } .flow-icon { font-size: 36px; margin-bottom: 12px; display: block; } .flow-title { font-size: 16px; font-weight: 700; color: #e8eaed; margin-bottom: 8px; } .flow-desc { font-size: 12px; color: #8b949e; font-family: 'Fira Code', monospace; } .flow-arrow { color: #58a6ff; font-size: 28px; font-weight: bold; } /* Features Grid */ .features { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 40px; } .feature-card { background: rgba(33, 38, 45, 0.6); border: 1px solid rgba(48, 54, 61, 0.8); border-radius: 16px; padding: 24px; transition: all 0.3s ease; } .feature-card:hover { border-color: rgba(88, 166, 255, 0.5); background: rgba(33, 38, 45, 0.8); } .feature-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; } .feature-icon { font-size: 28px; color: #58a6ff; } .feature-title { font-size: 17px; font-weight: 700; color: #e8eaed; } .feature-content { font-size: 14px; line-height: 1.6; color: #8b949e; } .feature-code { background: rgba(0, 0, 0, 0.3); border-radius: 8px; padding: 10px 12px; margin-top: 12px; font-family: 'Fira Code', monospace; font-size: 11px; color: #7ee787; border-left: 3px solid #7ee787; } /* Comparison */ .comparison { background: linear-gradient(135deg, rgba(88, 166, 255, 0.05) 0%, rgba(126, 231, 135, 0.05) 100%); border: 1px solid rgba(48, 54, 61, 0.8); border-radius: 16px; padding: 28px; margin-bottom: 40px; } .comparison-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; } .comparison-item { padding: 20px; border-radius: 12px; } .comparison-item.old { background: rgba(255, 107, 107, 0.08); border: 1px solid rgba(255, 107, 107, 0.2); } .comparison-item.new { background: rgba(126, 231, 135, 0.08); border: 1px solid rgba(126, 231, 135, 0.2); } .comparison-title { font-size: 16px; font-weight: 700; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; } .comparison-item.old .comparison-title { color: #ff6b6b; } .comparison-item.new .comparison-title { color: #7ee787; } .comparison-text { font-size: 14px; line-height: 1.5; color: #c9d1d9; } .token-waste { color: #ff6b6b; font-weight: 600; } .token-save { color: #7ee787; font-weight: 600; } /* Footer */ .footer { text-align: center; padding-top: 20px; border-top: 1px solid rgba(48, 54, 61, 0.8); } .github-box { background: rgba(88, 166, 255, 0.1); border: 1px solid rgba(88, 166, 255, 0.3); border-radius: 12px; padding: 16px 24px; display: inline-flex; align-items: center; gap: 12px; font-family: 'Fira Code', monospace; font-size: 14px; color: #58a6ff; text-decoration: none; transition: all 0.3s ease; } .github-box:hover { background: rgba(88, 166, 255, 0.15); border-color: #58a6ff; } .footer-desc { margin-top: 16px; font-size: 13px; color: #8b949e; font-style: italic; } /* Responsive */ <span class="mention-invalid">@media</span> (max-width: 600px) { .features { grid-template-columns: 1fr; } .comparison-grid { grid-template-columns: 1fr; } } </style> </head> <body> <div class="poster-container"> <div class="bg-grid"></div> <div class="bg-glow"></div> <div class="content"> <!-- Header --> <div class="header"> <h1 class="title">ZeroToken</h1> <p class="subtitle">Record once. Automate forever.</p> </div> <!-- Problem Section --> <div class="problem-section"> <div class="problem-title"> <i class="material-icons">warning</i> 核心问题 </div> <div class="problem-content"> AI Agent 控制浏览器时,<span class="highlight-red">每个操作都需要一次 LLM 推理</span>。重复执行相同任务时,系统每天在重新思考同一个流程,造成巨大的 Token 浪费。 </div> </div> <!-- Architecture Flow --> <div class="architecture"> <div class="section-title"> <i class="material-icons">account_tree</i> 三层架构 </div> <div class="flow-container"> <div class="flow-step active"> <i class="material-icons flow-icon">psychology</i> <div class="flow-title">录制阶段</div> <div class="flow-desc">LLM 推理</div> </div> <div class="flow-arrow">→</div> <div class="flow-step"> <i class="material-icons flow-icon">timeline</i> <div class="flow-title">轨迹生成</div> <div class="flow-desc">Trajectory</div> </div> <div class="flow-arrow">→</div> <div class="flow-step inactive"> <i class="material-icons flow-icon">play_circle</i> <div class="flow-title">脚本回放</div> <div class="flow-desc">Script Engine</div> </div> </div> </div> <!-- Features Grid --> <div class="section-title" style="font-size: 20px; margin-bottom: 16px;"> <i class="material-icons">stars</i> 核心特性 </div> <div class="features"> <div class="feature-card"> <div class="feature-header"> <i class="material-icons feature-icon">help_outline</i> <div class="feature-title">模糊点标记</div> </div> <div class="feature-content"> 显式标记需要人工或AI判断的步骤 </div> <div class="feature-code"> fuzzy_point: { requires_judgment: true } </div> </div> <div class="feature-card"> <div class="feature-header"> <i class="material-icons feature-icon">replay</i> <div class="feature-title">确定性回放</div> </div> <div class="feature-content"> 首次推理后,直接运行脚本 </div> <div class="feature-code"> run_script(task_id) // 无需 LLM </div> </div> <div class="feature-card"> <div class="feature-header"> <i class="material-icons feature-icon">fingerprint</i> <div class="feature-title">自适应定位</div> </div> <div class="feature-content"> 保存元素指纹,应对网站变化 </div> <div class="feature-code"> adaptive: true // 智能匹配 </div> </div> <div class="feature-card"> <div class="feature-header"> <i class="material-icons feature-icon">error_outline</i> <div class="feature-title">统一错误契约</div> </div> <div class="feature-content"> 结构化错误,便于AI决策 </div> <div class="feature-code"> { retryable: true, code: "..." } </div> </div> </div> <!-- Comparison --> <div class="comparison"> <div class="section-title" style="font-size: 20px; margin-bottom: 16px;"> <i class="material-icons">compare</i> 效率对比 </div> <div class="comparison-grid"> <div class="comparison-item old"> <div class="comparison-title"> <i class="material-icons">close</i> 传统方式 </div> <div class="comparison-text"> 每次执行都需 LLM 推理<br> <span class="token-waste">重复思考相同流程</span><br> Token 成本高 </div> </div> <div class="comparison-item new"> <div class="comparison-title"> <i class="material-icons">check_circle</i> ZeroToken </div> <div class="comparison-text"> 首次推理后直接回放<br> <span class="token-save">稳定执行确定性任务</span><br> Token 成本大幅降低 </div> </div> </div> </div> <!-- Footer --> <div class="footer"> <a href="https://github.com/AMOS144/zerotoken" class="github-box"> <i class="material-icons">code</i> github.com/AMOS144/zerotoken </a> <div class="footer-desc"> AI Agent 浏览器自动化 MCP Server </div> </div> </div> </div> </body> </html>

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!