PageSourceSearch

https://wodeapp.cn/

html wodeapp.cn collected 2026-09-24 14:36:31 UTC 8,011 bytes, 112 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3  <head>
4    <meta charset="UTF-8" />
5    <link rel="icon" type="image/webp" href="/wodeapp.webp" />
6    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7    <title>WodeApp - AI App Builder | Say It Once, Own Your AI App</title>
8    <meta name="description" content="WodeApp — AI-powered no-code app builder. Describe your idea in one sentence and AI creates your app instantly. Build AI skills, workflows & agents. MCP Server + REST API. OpenClaw & SpanClaw ready. The vibe coding platform for everyone." />
9    <meta name="keywords" content="AI app builder,no-code,AI skills,MCP Server,AI agent,AI workflow,vibe coding,OpenClaw,SpanClaw,custom GPT alternative,REST API,image generation,video generation,WodeApp,AI automation,prompt to app,AI tools,low-code,cursor alternative,AI SaaS builder,WodeApp" />
10    <link rel="canonical" href="https://wodeapp.ai/" />
11    <!-- Open Graph -->
12    <meta property="og:type" content="website" />
13    <meta property="og:site_name" content="WodeApp" />
14    <meta property="og:title" content="WodeApp - Say It Once, Own Your AI App Instantly" />
15    <meta property="og:description" content="Build AI skills, workflows & agents with one sentence. MCP Server + REST API. OpenClaw & SpanClaw ready. Your domain, your app, zero code." />
16    <meta property="og:image" content="https://wodeapp.ai/wodeapp.png" />
17    <meta property="og:url" content="https://wodeapp.ai/" />
18    <!-- Twitter Card -->
19    <meta name="twitter:card" content="summary_large_image" />
20    <meta name="twitter:title" content="WodeApp - Say It Once, Own Your AI App Instantly" />
21    <meta name="twitter:description" content="Build AI skills, workflows & agents with one sentence. MCP Server + OpenClaw ready. Vibe coding for everyone — zero code." />
22    <meta name="twitter:image" content="https://wodeapp.ai/wodeapp.png" />
23    <!-- Google Analytics (skip on .cn domain to avoid cross-border latency) -->
24    
24<script>
25      if (location.hostname.indexOf('wodeapp.cn') === -1) {
26        var s = document.createElement('script');
27        s.async = true;
28        s.src = 'https://www.googletagmanager.com/gtag/js?id=G-Q6YZPRRDVT';
29        document.head.appendChild(s);
30        
vendor: 151 bytes, lines 30-33
30window.dataLayer = window.dataLayer || [];
31        function gtag(){dataLayer.push(arguments);}
32        gtag('js', new Date());
33        gtag('config', '
33G-Q6YZPRRDVT
vendor: 10 bytes, lines 33-34
33');
34      
34}
35      // Dynamic branding: swap title/meta for wodeapp.cn
36      if (location.pathname === '/chat' || location.pathname === '/') {
37        var prefetch = document.createElement('link');
38        prefetch.rel = 'prefetch';
39        prefetch.href = '/wodeappx/app/';
40        prefetch.as = 'document';
41        document.head.appendChild(prefetch);
42      }
43      if (location.hostname.indexOf('wodeapp.cn') !== -1) {
44        document.title = '凤鸣云上 WodeApp - AI 技能平台';
45        var d = document.querySelector('meta[name="description"]');
46        if (d) d.content = 'WodeApp — AI 驱动的技能构建平台。一句话创建 AI Skills、工作流和智能体。';
47        var og = document.querySelector('meta[property="og:site_name"]');
48        if (og) og.content = 'WodeApp';
49      }
50    </script>
50
51    
51<script type="module" crossorigin src="/assets/index-Bj3wZDOH.js"></script>
51
52    <link rel="modulepreload" crossorigin href="/assets/react-vendor-BxoUhqX6.js">
53    <link rel="modulepreload" crossorigin href="/assets/clsx-B-dksMZM.js">
54    <link rel="modulepreload" crossorigin href="/assets/i18n-vendor-Coo-X0AG.js">
55    <link rel="stylesheet" crossorigin href="/assets/index-B2i5XhOD.css">
56  </head>
57  <body>
58    <div id="root">
59      <!-- 内联骨架屏:React 挂载前立即可见,挂载后被 React 替换 -->
60      <div id="skeleton" class="wode-init-loader" role="status" aria-live="polite" aria-busy="true">
61        <div class="wode-init-loader__layout">
62          <div class="wode-init-loader__sidebar" aria-hidden="true">
63            <div class="wode-init-loader__line wode-init-loader__line--short"></div>
64            <div class="wode-init-loader__panel"></div>
65            <div class="wode-init-loader__line"></div>
66            <div class="wode-init-loader__line wode-init-loader__line--wide"></div>
67          </div>
68          <div class="wode-init-loader__main">
69            <div class="wode-init-loader__grid" aria-hidden="true"></div>
70            <div class="wode-init-loader__center">
71              <div class="wode-init-loader__spinner" aria-hidden="true">
72                <span class="wode-init-loader__ring wode-init-loader__ring--outer"></span>
73                <span class="wode-init-loader__ring wode-init-loader__ring--inner"></span>
74              </div>
75              <div class="wode-init-loader__copy">
76                <p>智能体加载中</p>
77                <span>首次打开会稍慢,请稍候</span>
78              </div>
79            </div>
80          </div>
81        </div>
82      </div>
83      <style>
84        html,body,#root{margin:0;min-height:100%}
85        .wode-init-loader{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;box-sizing:border-box}
86        .wode-init-loader *{box-sizing:border-box}
87        .wode-init-loader__layout{width:min(960px,100%);display:flex;align-items:stretch;gap:16px;opacity:.94}
88        .wode-init-loader__sidebar{width:280px;min-height:220px;flex:0 0 280px;padding:16px;border:1px solid rgba(99,102,241,.16);border-radius:8px;background:#fff;box-shadow:0 12px 36px rgba(15,23,42,.06);animation:wode-init-pulse 1.6s ease-in-out infinite}
89        .wode-init-loader__line,.wode-init-loader__panel{border-radius:8px;background:#eef2f7}
90        .wode-init-loader__line{height:32px;width:100%;margin-top:12px}
91        .wode-init-loader__line--short{width:96px;height:12px;margin-top:0;background:rgba(99,102,241,.14)}
92        .wode-init-loader__line--wide{width:82%}
93        .wode-init-loader__panel{height:82px;margin-top:16px;background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(129,140,248,.08))}
94        .wode-init-loader__main{position:relative;min-height:220px;flex:1 1 auto;min-width:0;overflow:hidden;border:1px dashed rgba(99,102,241,.28);border-radius:8px;background:#f8fafc;animation:wode-init-fade .45s ease-out}
95        .wode-init-loader__grid{position:absolute;inset:0;opacity:.68;background-image:radial-gradient(#dbe2ea 1px,transparent 1px);background-size:16px 16px}
96        .wode-init-loader__center{position:relative;z-index:1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
97        .wode-init-loader__spinner{position:relative;width:52px;height:52px}
98        .wode-init-loader__ring{position:absolute;inset:0;border:2px solid transparent;border-radius:999px}
99        .wode-init-loader__ring--outer{border-top-color:#6366f1;border-right-color:rgba(99,102,241,.35);animation:wode-init-spin .9s cubic-bezier(.45,.05,.55,.95) infinite}
100        .wode-init-loader__ring--inner{inset:9px;border-bottom-color:#818cf8;border-left-color:rgba(129,140,248,.25);animation:wode-init-spin-reverse 1.2s cubic-bezier(.45,.05,.55,.95) infinite}
101        .wode-init-loader__copy{text-align:center}
102        .wode-init-loader__copy p{margin:0;color:#111827;font-size:.9rem;font-weight:700}
103        .wode-init-loader__copy span{display:block;margin-top:4px;color:#8a94a6;font-size:.78rem}
104        @keyframes wode-init-pulse{0%,100%{opacity:.92}50%{opacity:.66}}
105        @keyframes wode-init-fade{from{opacity:0}to{opacity:1}}
106        @keyframes wode-init-spin{to{transform:rotate(360deg)}}
107        @keyframes wode-init-spin-reverse{to{transform:rotate(-360deg)}}
108        @media (max-width:640px){.wode-init-loader{padding:16px}.wode-init-loader__layout{width:100%}.wode-init-loader__sidebar{display:none}.wode-init-loader__main,.wode-init-loader__center{min-height:260px}}
109      </style>
110    </div>
111  </body>
112</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.