init: 电商批量生图工作台对比页与静态部署骨架
This commit is contained in:
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
.DS_Store
|
||||
.memory/
|
||||
node_modules/
|
||||
*.log
|
||||
4
Dockerfile
Normal file
4
Dockerfile
Normal file
@@ -0,0 +1,4 @@
|
||||
FROM nginx:1.27-alpine
|
||||
COPY . /usr/share/nginx/html/
|
||||
RUN rm -f /usr/share/nginx/html/Dockerfile /usr/share/nginx/html/.gitignore
|
||||
EXPOSE 80
|
||||
5
index.html
Normal file
5
index.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=./对比.html">
|
||||
<title>电商批量生图工作台</title>
|
||||
<a href="./对比.html">对比文档</a>
|
||||
243
对比.html
Normal file
243
对比.html
Normal file
@@ -0,0 +1,243 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>电商批量生图工作台 · 开源多维表格选型对比</title>
|
||||
<style>
|
||||
:root{
|
||||
--bg:#0b0d10; --panel:#12151a; --panel2:#171b22; --line:#242a33;
|
||||
--fg:#e7ecf3; --muted:#9aa4b2; --accent:#ffd166; --good:#4ade80; --bad:#f87171; --mid:#fbbf24;
|
||||
--chip:#1f2630;
|
||||
}
|
||||
*{box-sizing:border-box}
|
||||
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);
|
||||
font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
|
||||
line-height:1.65; font-size:15px;
|
||||
}
|
||||
.wrap{max-width:1080px;margin:0 auto;padding:48px 24px 120px}
|
||||
header{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:36px}
|
||||
.eyebrow{color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
|
||||
h1{font-size:32px;margin:8px 0 12px;letter-spacing:-.01em}
|
||||
.sub{color:var(--muted);font-size:15px;max-width:720px}
|
||||
h2{font-size:22px;margin:48px 0 16px;padding-top:8px;border-top:1px solid var(--line);padding-top:28px}
|
||||
h2:first-of-type{border-top:none;padding-top:0}
|
||||
h3{font-size:17px;margin:28px 0 8px;color:var(--fg)}
|
||||
p{color:#cfd6df}
|
||||
.muted{color:var(--muted)}
|
||||
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:20px 0}
|
||||
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
|
||||
.card h3{margin-top:0}
|
||||
.tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:999px;background:var(--chip);color:var(--muted);margin-right:6px}
|
||||
.tag.good{background:rgba(74,222,128,.12);color:var(--good)}
|
||||
.tag.mid{background:rgba(251,191,36,.12);color:var(--mid)}
|
||||
.tag.bad{background:rgba(248,113,113,.12);color:var(--bad)}
|
||||
table{width:100%;border-collapse:collapse;margin:12px 0 8px;font-size:14px;
|
||||
background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
|
||||
thead th{background:var(--panel2);text-align:left;padding:12px 14px;font-weight:600;color:var(--fg);border-bottom:1px solid var(--line)}
|
||||
tbody td{padding:12px 14px;border-top:1px solid var(--line);vertical-align:top;color:#cfd6df}
|
||||
tbody tr:hover{background:#141820}
|
||||
td.dim{color:var(--muted)}
|
||||
td.yes{color:var(--good)}
|
||||
td.no{color:var(--bad)}
|
||||
td.mid{color:var(--mid)}
|
||||
.pick{background:linear-gradient(180deg,rgba(255,209,102,.08),rgba(255,209,102,.02));
|
||||
border:1px solid rgba(255,209,102,.25);border-radius:12px;padding:18px 20px;margin:16px 0}
|
||||
.pick strong{color:var(--accent)}
|
||||
ul{padding-left:20px}
|
||||
li{margin:6px 0;color:#cfd6df}
|
||||
code{background:#0f1217;border:1px solid var(--line);padding:1px 6px;border-radius:4px;font-size:13px;color:#e7ecf3}
|
||||
.two{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:16px 0}
|
||||
@media(max-width:720px){.two{grid-template-columns:1fr}}
|
||||
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:#0f1217;padding:10px 12px;border-radius:8px;border:1px solid var(--line);color:#cfd6df;white-space:pre-wrap}
|
||||
footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
|
||||
a{color:#8ab4ff;text-decoration:none}
|
||||
a:hover{text-decoration:underline}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap">
|
||||
|
||||
<header>
|
||||
<div class="eyebrow">立项对比 · 2026-04-13</div>
|
||||
<h1>电商批量生图工作台 · 选型对比</h1>
|
||||
<p class="sub">目标:让运营同学"填表格 = 批量出图",一行 = 一个生图任务,一键跑完几十张电商主图 / 详情页素材。这份文档对比三个开源多维表格,决定底座用哪个。</p>
|
||||
</header>
|
||||
|
||||
<h2>一、场景前提</h2>
|
||||
<div class="grid">
|
||||
<div class="card">
|
||||
<h3>用户</h3>
|
||||
<p class="muted">电商运营 / 内容团队,不写代码,最多会用飞书多维表格。</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>核心动作</h3>
|
||||
<p class="muted">填商品信息 → AI 自动写 prompt → 调 Nano Banana Pro → 图片回写到单元格。</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>已有基建</h3>
|
||||
<p class="muted">n8n · Coolify · VPS · Poe API(主)/ OpenRouter(备)· 个人 Gitea。</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>约束</h3>
|
||||
<p class="muted">开源优先 · 自托管 · 个人资产不放公司 VPS · 将来可能独立成产品。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>二、三家横评</h2>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:22%">维度</th>
|
||||
<th>Teable</th>
|
||||
<th>NocoDB</th>
|
||||
<th>AITable (APITable)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="dim">定位</td>
|
||||
<td>AI Database Agent(2.0)</td>
|
||||
<td>老牌 Airtable 替代</td>
|
||||
<td>vika 同源,国内团队</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">底层存储</td>
|
||||
<td>原生 PostgreSQL</td>
|
||||
<td>MySQL / PG / SQLite(ORM 封装)</td>
|
||||
<td>MySQL + 自研存储层</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">License</td>
|
||||
<td>AGPL(CE 免费 / EE 含 AI 字段)</td>
|
||||
<td>AGPL</td>
|
||||
<td>Apache 2.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">内置 AI 字段</td>
|
||||
<td class="yes">✓ 154 语言模型 + 17 图像模型</td>
|
||||
<td class="no">✗ 完全没有</td>
|
||||
<td class="mid">△ 偏 NLP,图像弱</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">批量生图体验</td>
|
||||
<td class="yes">一行 = 一次任务,开箱即用</td>
|
||||
<td class="no">必须外挂 n8n 做按钮触发</td>
|
||||
<td class="mid">要自己接图像 API</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">大表性能</td>
|
||||
<td class="mid">中(几万行)</td>
|
||||
<td class="yes">强(十万行级)</td>
|
||||
<td class="mid">中</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">权限 / 协作</td>
|
||||
<td class="mid">一般</td>
|
||||
<td class="yes">分组权限免费</td>
|
||||
<td class="yes">较强</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">嵌入自家产品</td>
|
||||
<td class="yes">好(PG 直连 / API 完善)</td>
|
||||
<td class="mid">一般(ORM 抽象厚)</td>
|
||||
<td class="mid">一般</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">2026 活跃度</td>
|
||||
<td class="yes">2.0 刚发,势头最猛</td>
|
||||
<td class="yes">最稳,社区最大</td>
|
||||
<td class="bad">迭代放缓</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">中文资料</td>
|
||||
<td class="mid">少</td>
|
||||
<td class="yes">多</td>
|
||||
<td class="yes">多</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dim">本场景适配度</td>
|
||||
<td class="yes">★★★★★</td>
|
||||
<td class="mid">★★★</td>
|
||||
<td class="mid">★★★</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2>三、逐个解析</h2>
|
||||
|
||||
<h3>1. Teable — 为这个场景最合适</h3>
|
||||
<p>Teable 2.0 直接把自己定位成 "AI Database Agent",<strong>AI 字段里内置了 17 个图像模型</strong>。这是三家里唯一一个"一行 = 一次生图任务"不用写代码就能跑的。底层纯 PostgreSQL,你可以用 Prisma / Drizzle 直接读表,以后想把它脱壳嵌进自家产品、或者二开成独立 SaaS,数据迁移成本最低。</p>
|
||||
<p><span class="tag good">优点</span> AI 字段内置;PG 原生;2.0 势头猛;易二开</p>
|
||||
<p><span class="tag bad">坑</span> AI 字段属 EE 版,CE 自托管可能要自己补一层 Webhook 接 Poe;中文资料少;大表性能一般。</p>
|
||||
|
||||
<h3>2. NocoDB — 老牌最稳,但表格和工作流是两张皮</h3>
|
||||
<p>社区最大、文档最全、中文资料多、性能最好,分组权限不要钱。缺点是<strong>完全没内置 AI 字段</strong>,所有生图逻辑都得落在 n8n 里:"按钮 → Webhook → 调 Poe → 回写单元格"。表格负责存数据,工作流负责干活,两边都得维护。</p>
|
||||
<p><span class="tag good">优点</span> 最稳;社区最大;大表扛得住;中文多</p>
|
||||
<p><span class="tag bad">坑</span> 没 AI 字段;ORM 抽象层厚,想直连底层数据不如 Teable 爽;外挂 n8n 调试累。</p>
|
||||
|
||||
<h3>3. AITable / APITable — 跟场景错位</h3>
|
||||
<p>国内 vika 同源,中文体验最好,API 优先设计。但它的 "AI" 方向偏 NLP(总结 / 标签 / 抽取),图像生成不是一等公民。2026 年明显迭代放缓,团队重心转向商业化 SaaS。</p>
|
||||
<p><span class="tag bad">不合适</span> 图像支持弱;社区热度下滑;Apache 2.0 的宽松 License 对本项目没实际收益。</p>
|
||||
|
||||
<h2>四、两条候选路线</h2>
|
||||
|
||||
<div class="two">
|
||||
<div class="card">
|
||||
<h3>路线 A · 快</h3>
|
||||
<p class="muted">NocoDB + n8n + Poe/Nano Banana Pro</p>
|
||||
<ul>
|
||||
<li>半天部署,一天跑通</li>
|
||||
<li>所有生图逻辑在 n8n</li>
|
||||
<li>内部用足够</li>
|
||||
<li>将来脱壳成产品不容易</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>路线 B · 底座(推荐) </h3>
|
||||
<p class="muted">Teable(PG 直连)+ n8n 补胶水 + Poe/Nano Banana Pro</p>
|
||||
<ul>
|
||||
<li>AI 字段开箱即用</li>
|
||||
<li>Postgres 原生,以后能脱壳</li>
|
||||
<li>可二开成独立 SaaS</li>
|
||||
<li>1-2 天跑通 MVP</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pick">
|
||||
<strong>我的推荐:路线 B · Teable</strong>
|
||||
<p>理由:(1) Teable 把"表格 = 生图任务队列"做成了一等公民,少写一半胶水;(2) PG 原生,将来脱壳成独立产品零迁移成本;(3) 2.0 刚发,官方方向和你的需求高度重合。</p>
|
||||
<p>退路:如果 Teable CE 的 AI 字段被阉割太狠,立刻退回路线 A(NocoDB + n8n)。</p>
|
||||
</div>
|
||||
|
||||
<h2>五、下一步</h2>
|
||||
<ul>
|
||||
<li>在 <code>~/Projects/code/20260413-电商批量生图工作台/</code> 开 MVP</li>
|
||||
<li>Teable 先跑 CE 版本,验证 AI 字段在自托管下的实际状态</li>
|
||||
<li>跑不通就外挂 n8n:Teable 按钮字段 → Webhook → Poe/Nano Banana Pro → 回写附件字段</li>
|
||||
<li>建表格模板:商品名 / 卖点 / 参考图 / AI 润色 prompt / 生图结果 / 状态 / 尺寸 / 风格</li>
|
||||
<li>跑通 10 张 → 跑通 100 张 → 加去背/拼详情页的后处理节点</li>
|
||||
</ul>
|
||||
|
||||
<h2>六、参考</h2>
|
||||
<ul>
|
||||
<li><a href="https://teable.ai" target="_blank">Teable 官网 — AI Database Agent</a></li>
|
||||
<li><a href="https://github.com/teableio/teable" target="_blank">Teable GitHub</a></li>
|
||||
<li><a href="https://help.teable.ai/en/changelog" target="_blank">Teable 2026 Changelog</a></li>
|
||||
<li><a href="https://www.self-host.app/services/teable" target="_blank">Teable Self-Host Guide</a></li>
|
||||
<li><a href="https://github.com/nocodb/nocodb" target="_blank">NocoDB GitHub</a></li>
|
||||
<li><a href="https://www.nocobase.com/en/blog/open-source-airtable-alternatives" target="_blank">Top 7 OSS Airtable 替代品对比</a></li>
|
||||
<li><a href="https://openalternative.co/alternatives/airtable" target="_blank">9 Best Open Source Airtable Alternatives in 2026</a></li>
|
||||
<li><a href="https://aitable.ai/blog/open-source-airtable-alternative/" target="_blank">AITable 官方对比博客</a></li>
|
||||
</ul>
|
||||
|
||||
<footer>
|
||||
文件路径:<code>~/Projects/code/20260413-电商批量生图工作台/对比.html</code><br>
|
||||
立项日期:2026-04-13 · 双击直接在浏览器打开即可
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user