时间: 2026-02-15
项目: OmniConvert (tools.sagasu.art)
系列: 外链实战 #02
上一篇我讲了用 AI Agent 一天提交 18 个 GitHub Awesome 列表的故事。那是"零摩擦"渠道——不需要注册账号,用 gh CLI 就能搞定。
这一篇我们升级难度:让 OpenClaw 操控浏览器,像真人一样在目录站注册、填表、提交。
说实话,我不确定这是最优解——肯定有更有经验的独立开发者有更成熟的方案。我只是把自己摸索的过程如实记录下来。如果你有更好的方法,非常欢迎在评论区分享。
第一步:搭建基础设施
在开始提交之前,你需要准备三样东西。这是一次性投入,之后所有站点都受益。
1.1 给 Agent 注册专用邮箱
为什么要单独注册? Agent 会用这个账号登录大量第三方站点,OAuth 授权列表会很长。你不想把个人 Google 账号暴露给几十个陌生站点。
操作步骤:
- 注册一个新的 Gmail 账号(比如
[email protected]) - 开启两步验证(2FA)
- 生成一个 App Password:Google 账号 → 安全性 → 两步验证 → 应用专用密码 → 生成一个 16 位字符串
- 把这个 App Password 记下来,后面 Agent 读邮件要用
1.2 配置域名邮箱(可选但推荐)
有些目录站不支持 Google 登录,需要邮箱注册。用 [email protected] 比用 [email protected] 看起来专业得多。
Cloudflare Email Routing 配置:
- Cloudflare Dashboard → 你的域名 → Email Routing
- 添加路由:
[email protected]→[email protected] - 验证目标邮箱
这样 Agent 用域名邮箱注册目录站,验证邮件自动转发到 Gmail,Agent 用 IMAP + App Password 读取。
1.3 写一个读邮件的脚本
Agent 需要能自动读取验证邮件、提取验证链接。一个简单的 Python IMAP 脚本就够了:
# scripts/email_helper.py 的核心逻辑
import imaplib, email
def get_latest_verification_email(subject_keyword):
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('[email protected]', 'xxxx xxxx xxxx xxxx') # App Password
mail.select('inbox')
_, data = mail.search(None, f'SUBJECT "{subject_keyword}"')
# 解析最新一封邮件,提取验证链接...
把这个脚本放在 OpenClaw workspace 的 scripts/ 目录下,Agent 就能直接调用。
第二步:侦察目标站点
别急着提交。 先让 Agent 扫一遍目标列表,搞清楚每个站的情况:
"帮我访问以下网站的提交页面,记录每个站的注册方式(Google OAuth / 邮箱注册 / 无需注册)、是否有 CAPTCHA、是否收费、是否要求反链。"
我扫了 15+ 个站,发现了几个关键事实:
- 大部分目录站不是真正免费的。 要么收钱,要么要反链,要么排队几个月。
- Google OAuth 是分水岭。 支持 Google 登录的站,效率比邮箱注册高 3-5 倍。
- CAPTCHA 和 Cloudflare 是硬墙。 碰到就标记,攒一批自己手动处理。
根据侦察结果,把站点分成优先级队列:
优先做: Google OAuth 站(2分钟/个)→ 然后做: 邮箱注册站(5-10分钟/个)→ 最后做: 手动处理 CAPTCHA 站
第三步:开始提交
3.1 Google OAuth 站(效率最高)
代表站点: bai.tools, DokeyAI, IndieHub, OpenHunts
第一次登录需要你配合一下——Agent 在浏览器里点 "Login with Google",Google 弹出 2FA 验证,你在手机上点一次"确认"。
之后就不需要你了。 Google 会记住这个浏览器的登录状态。后续站点 Agent 自己选账号、自己授权、自己填表。
告诉 Agent:
"用 Google OAuth 登录 bai.tools,然后提交我的产品。URL 是 https://tools.sagasu.art?utm_source=bai-tools&utm_medium=directory&utm_campaign=listing,产品名是 OmniConvert。"
Agent 会:
- 导航到 bai.tools 的提交页
- 点 "Login with Google"
- 在 Google 账号选择页选择已登录的账号
- 授权
- 填写产品信息(很多 OAuth 站有 AI Autofill,填了 URL 自动抓取名称、描述、分类)
- 提交
实测:平均 2 分钟搞定一个站。
3.2 邮箱注册站
代表站点: SaaSHub, Uneed.best, ctrlalt.cc
告诉 Agent:
"注册 SaaSHub 账号,邮箱用 [email protected],密码随机生成 16 位。注册完去 Gmail 读验证邮件,点验证链接。然后提交产品。"
Agent 会:
- 导航到注册页,填邮箱 + 密码
- 调用
scripts/email_helper.py读取验证邮件 - 提取验证链接,浏览器打开
- 回到站点填写产品信息
- 提交
注意: 让 Agent 把密码保存到本地 credentials 文件,不要丢了。
3.3 反链交换站
有些站要求你在网站上放一个指向它们的链接。处理方式:
高优先级站(如 SeekTool, DokeyAI): 在首页 footer 加 partner links。字体很小,不影响用户体验,但对爬虫可见,全站每一页都有。
<div class="text-xs text-zinc-500">
<a href="https://seektool.ai/">SeekTool.ai</a> ·
<a href="https://dokeyai.com/">DokeyAI</a>
</div>

首页 footer 底部:SeekTool.ai · DokeyAI
低优先级站: 创建一个 /links(友情链接)页面,集中管理所有合作伙伴的链接。首页不会被污染,同时满足反链要求。

/links 友情链接页面
3.4 UTM 追踪(别忘了)
每个提交的 URL 都要带 UTM 参数:
https://your-site.com?utm_source=saashub&utm_medium=directory&utm_campaign=listing
https://your-site.com?utm_source=dokeyai&utm_medium=directory&utm_campaign=listing
提交 50 个站不追踪,你永远不知道哪个有效。一个月后打开 GA4 一目了然。
第四步:处理失败和特殊情况
不是每个站都能顺利提交。以下是我踩过的坑:
CAPTCHA 站(AlternativeTo)
AlternativeTo 用 Auth0 + invisible reCAPTCHA。Agent 能注册邮箱、验证邮件、设密码——唯独在"选择用户名"步骤被静默拦截。
解法: 只能人工。标记下来,攒一批统一处理。AlternativeTo 权重很高,值得手动注册。
"免费"付费站
- OpenHunts Free 排队 51 周(约一年),Premium $9.9 选下周上线
- IndieHub 免费提交,付费发布($4.9 起)——你以为提交了,其实存了个草稿
教训: 看到 "free" 先确认排队时间和发布条件。
名称被抢注(SaaSHub)
"OmniConvert" 被占了,只能改成 "OmniConvert Tools"。
建议: 有了好名字就尽早去主要目录站注册。
日期选择器 Bug(ctrlalt.cc)
ctrlalt.cc 用 flatpickr 日期选择器,Agent 设了值但表单验证始终报错。这种 UI 组件的特殊绑定方式是浏览器自动化的常见天敌。
解法: 如果一个站试了两次还不行,放弃,不值得花更多时间。
CDN 缓存延迟(SeekTool)
SeekTool 自动检测你网站首页是否有反链。但你刚部署的新版本,CDN 可能还在缓存旧版。
解法: 部署后等 5-10 分钟再提交,或先 purge CDN 缓存。
我的完整战果
| # | 站点 | 类型 | 结果 | 耗时 |
|---|---|---|---|---|
| 1 | SaaSHub | 邮箱注册 | ✅ 当天批准 | ~10min |
| 2 | Uneed.best | 邮箱注册 | ✅ 排队中 (DR 72) | ~5min |
| 3 | bai.tools | Google OAuth | ✅ 已提交 | ~3min |
| 4 | DokeyAI | Google OAuth | ✅ 已提交 (DR 62) | ~2min |
| 5 | IndieHub | Google OAuth | ⚠️ 需付费发布 | ~3min |
| 6 | OpenHunts | Google OAuth | ⚠️ 排队 51 周 | ~3min |
| 7 | ctrlalt.cc | 邮箱注册 | ❌ 日期选择器 bug | ~5min |
| 8 | AlternativeTo | 邮箱注册 | ❌ CAPTCHA | ~8min |
| 9 | SeekTool | 无需登录 | ⏳ 服务器错误 | ~2min |
有效提交 4 个,部分成功 2 个,失败 3 个。总耗时约 40 分钟。
如果全部人工来做?光注册就得半天。Agent 把最枯燥的"填表-等验证-填表-提交"循环自动化了,我只需要点一次 2FA 确认。