一条命令提交外链的自动化工具。
给独立开发者用的。配置一次你的产品信息,然后自动提交到目录站、awesome-list、搜索引擎。
这个工具是 AI Agent(OpenClaw)在实际外链推广中写出来的,30+ 个站点实战验证,8 个站点适配器。
| 你是谁 | 怎么用 | 看哪部分 |
|---|---|---|
| 🎯 不写代码,想了解外链策略 | 直接看策略篇,手动提交也能用 | 策略篇 |
| 🤖 有 OpenClaw,想让 Agent 自动提交 | 装好 skill,跟 Agent 说话就行 | Agent 篇 |
| 🔧 会写代码,想定制或贡献 | 改源码,写新站点适配器 | 开发者篇 |
Google 排名的底层逻辑:别的网站链接到你 = 给你投票。票越多、来源越权威,排名越高。
"外链"就是让别的网站放上你的链接。
GitHub 上有很多"awesome-xxx"仓库(精选资源列表)。比如 awesome-cloudflare 有 12k stars,awesome-indie 有 10k stars。
做法: 去仓库提一个 Issue,说"请把我的项目加上"。维护者审核通过就永久收录。
成本: 0 元。每个 5 分钟。
AI 工具目录、SaaS 目录、独立开发者导航站。填个表就能提交。
实测好用的:
| 站点 | 说明 | 审核速度 | 适配器 |
|---|---|---|---|
| SaaSHub | SaaS 目录 | 当天批准 | ✅ saashub |
| submitaitools.org | AI 工具目录 (DA 73) | 1-3 天 | ✅ submitaitools |
| toolverto.com | 工具目录 | 1-3 天 | ✅ toolverto |
| uneed.best | 工具目录 (DR 72) | 排队中 | ✅ uneed |
| bai.tools | AI 工具目录 | ~30 天 | ✅ baitools |
| 600.tools | 工具目录,3 dofollow | 1-3 天 | ✅ 600tools |
| Dang.ai | AI 目录 (DA 35) | 3-4 周 | ✅ dangai |
| Startup88 | 创业目录 (DA 34) | 1-2 周 | ✅ startup88 |
| StartupStash | 创业资源目录 | 1-2 周 | ⚡ Typeform |
| CurateClick | 精选工具目录 | 1 周 | ⚡ 手动 |
Hacker News (Show HN)、Reddit、V2EX。不能自动化,只能自己发。
| 站点 | 坑 |
|---|---|
| IndieHub | 看起来免费,发布要 $4.9 |
| OpenHunts | 免费排队 51 周 |
| toolify.ai | 提交要 $99 |
| Product Hunt | 有反爬机制,只能手动 |
- 不同站点之间隔 1-3 分钟
- 一天提 5-10 个就够了
- 同一产品不要重复提交到同一站点
核心原则:先看看站点要不要钱,再注册账号。
前置条件:你已经跑起了 OpenClaw。
在 OpenClaw 所在机器上跑:
cd ~/Downloads
git clone https://github.com/s87343472/backlink-pilot.git
cd backlink-pilot
npm install
⚠️ 首次npm install会下载 Chromium(~150MB)。中国大陆可能需要代理。
ln -s ~/Downloads/backlink-pilot ~/.openclaw/skills/backlink-pilot重启 OpenClaw,它会自动发现这个 skill。
cd ~/Downloads/backlink-pilot
cp config.example.yaml config.yaml编辑 config.yaml:
product:
name: "你的产品名"
url: "https://你的网站.com"
description: "一句话描述,160 字以内"
long_description: |
详细描述,给需要长文本的站点用。
email: "你的邮箱@example.com"
categories:
- developer-tools
pricing: free
# 需要登录的站点(可选)
credentials:
saashub:
email: "注册邮箱"
password: "密码"
⚠️ config.yaml 包含密码,已被 .gitignore 排除,不会上传到 git。
现在你可以直接用中文指挥 Agent:
侦察站点:
"帮我看看 https://some-directory.com 能不能自动提交"
提交:
"帮我提交到 submitaitools"
批量提交(Agent 会自己控制节奏):
"帮我提交到 submitaitools、toolverto、saashub,每个隔 2 分钟"
生成 awesome-list Issue:
"生成 awesome-cloudflare 的提交内容"
查看进度:
"外链提交情况怎么样了"
就这样。你说中文,Agent 执行。
除了目录站,还支持批量在博客评论区留下网站链接(通过评论表单的 Website 字段)。
很多博客(WordPress 等)的评论表单有 4 个字段:名字、邮箱、网站、评论内容。 网站字段 会被渲染成评论者名字的超链接 —— 这就是外链。
把目标 URL 放到 resources/backlink-resources.json:
[
{
"type": "blog_comment",
"url": "https://some-blog.com/great-article/",
"has_captcha": false,
"has_url_field": true,
"link_strategy": "url_field"
}
]💡 可以用 Ahrefs/Semrush 导出竞品外链,筛选 blog_comment 类型,批量导入。
# 试跑(不真正提交)
node src/batch-submit.js --dry-run --limit 5
# 真跑 10 条,指定站点(0=第一个, 1=第二个...)
node src/batch-submit.js --limit 10 --site 0
# 随机站点(不传 --site 就随机)
node src/batch-submit.js --limit 10- URL 放 Website 字段,不放评论正文 —— 评论看起来更自然
- 20 条评论模板随机轮换 —— 避免千篇一律被识别
- 5 个 Persona 轮换 —— 不同名字和邮箱
- 全局去重 —— 同一 URL 不会重复提交(
logs/global-history.json) - 优先级排序 —— tech/game/education 类博客优先
- 自动跳过 —— 有验证码、评论已关闭、找不到表单的自动跳过
# 示例:每天 10:00 提交 10 条
# 在 OpenClaw 里配 cron,或系统 crontab:
0 10 * * * cd ~/Downloads/backlink-pilot && node src/batch-submit.js --limit 10老实说,博客评论外链是 量产低质量策略。单条价值不高,但:
- 零成本
- 全自动
- 积少成多
- 早期项目做 domain authority 基础够用
不要指望靠这个排名,只是外链多样性的补充。真正有价值的还是目录站和 awesome-list。
不想通过 Agent 也行,直接跑 CLI:
cd ~/Downloads/backlink-pilot
# 侦察
node src/cli.js scout https://new-site.com --deep
# 提交
node src/cli.js submit submitaitools
node src/cli.js submit toolverto
# 生成 awesome-list Issue
node src/cli.js awesome awesome-cloudflare
# 通知搜索引擎
node src/cli.js indexnow https://你的网站.com
# 批量博客评论
node src/batch-submit.js --limit 10
# 看提交记录
node src/cli.js statusbacklink-pilot/
├── config.example.yaml ← 配置模板
├── SKILL.md ← OpenClaw 调用指南
├── TROUBLESHOOTING.md ← 20+ 站点踩坑记录
├── resources/
│ └── sites.json ← 你的站点列表(批量提交用)
├── src/
│ ├── cli.js ← CLI 入口
│ ├── batch-submit.js ← 批量博客评论提交(v2)
│ ├── browser.js ← 隐身浏览器(rebrowser-playwright)
│ ├── captcha.js ← 验证码自动解
│ ├── config.js ← 配置加载 + UTM 生成
│ ├── submit.js ← 提交调度(自动匹配适配器)
│ ├── tracker.js ← 提交记录(YAML)
│ ├── indexnow.js ← 搜索引擎通知
│ ├── sites/ ← 站点适配器(每站一个文件)
│ │ ├── submitaitools.js ← 带颜色验证码自动解
│ │ ├── toolverto.js ← 最简单的,3 个字段
│ │ ├── saashub.js ← 需要登录
│ │ ├── uneed.js ← 需要登录
│ │ └── baitools.js ← Google OAuth
│ ├── scout/
│ │ └── discover.js ← 站点侦察
│ └── awesome/
│ └── templates.js ← awesome-list Issue 生成(10 个仓库)
node src/cli.js scout https://new-site.com --deep输出示例:
📝 Form 1 (4 fields):
* [text] tool_name
* [url] tool_url
[textarea] tool_desc
[email] contact
创建 src/sites/newsite.js:
import { withBrowser, delay } from '../browser.js';
import { solveColorCaptcha } from '../captcha.js';
export default {
name: 'new-site.com',
url: 'https://new-site.com/submit',
auth: 'none', // none | email | oauth
captcha: 'none', // none | color
async submit(product, config) {
return withBrowser(config, async ({ page }) => {
await page.goto('https://new-site.com/submit', {
waitUntil: 'networkidle',
timeout: 30000,
});
await delay(1500);
// 字段名从 scout 拿到的
await page.fill('input[name="tool_name"]', product.name);
await page.fill('input[name="tool_url"]', product.utm_url);
await page.fill('textarea[name="tool_desc"]', product.description);
await page.fill('input[name="contact"]', product.email);
await solveColorCaptcha(page); // 有验证码就解
await page.click('button[type="submit"]');
await delay(3000);
const body = await page.textContent('body');
return {
url: page.url(),
confirmation: /thank|success/i.test(body) ? '成功' : '需手动确认',
};
});
},
};node src/cli.js submit newsite普通 Playwright 的 navigator.webdriver = true,一查就知道是机器人。rebrowser 在 Chromium 编译层面改掉了。13 个站测试 69% 通过率。
一些站用颜色验证码:"点击 teal 颜色的按钮"。不是 AI 识图,就是字符串匹配:读文字 → 提取颜色 → 点按钮。100% 成功率。
- Cloudflare Challenge("正在检查您的浏览器")—— 硬墙
- Cloudflare Turnstile —— 硬墙
- Reddit 网络层封杀 —— 无解
遇到就跳过,标记手动。
完整踩坑记录:TROUBLESHOOTING.md
欢迎 PR:
- 新站点适配器
- 验证码解法改进
- Bug 修复
MIT
Built with OpenClaw. Browser automation by rebrowser-playwright.