yuebin's blog

纯粹记事本

近期(2026年4月左右)关于VPS和VPN/代理翻墙的讨论,主要集中在V2EX、Hostloc、各类博客和YouTube测评上。 大家普遍认可自建VPS代理是最热门、最可靠的方案之一(比纯商业VPN/机场更独立、无跑路风险、长期成本更低),但需要一定维护。商业VPN(如ExpressVPN、Astrill)仍是新手或懒人补充选择,但自建讨论远多于此。

1. 近期讨论比较多的翻墙方案

主流方案围绕自建VPS + 现代抗封锁协议展开,核心是绕过GFW的DPI检测(深度包检测):

  • Hysteria2 (Hy2) 协议(最火!):UDP-based,速度极快(V2EX用户常说“体验炸裂”“晚高峰拉满带宽”),抗封锁强,暴力发包难被识别。适合日常翻墙、看视频、AI工具。很多帖子直接推荐它作为主力,搭配端口跳跃或Cloudflare进一步伪装。

  • Xray / V2Ray + Reality / VLESS + TLS(高安全主力):伪装成正常HTTPS网站流量(Reality协议尤其强),抗封锁能力优秀。常和Hysteria2组合使用(一个主力,一个备份)。一键脚本(如mack-a/v2ray-agent)让小白也能快速部署。

  • 其他协议:Trojan(老牌稳定)、Shadowsocks(易封,已少用)。部分人用WireGuard/OpenVPN做VPN,但代理协议讨论更多。

  • 高级技巧(讨论多):

    • VPS + Cloudflare域名伪装(流量看起来像访问正常网站)。
    • 链式代理(机场节点 + 自建VPS)。
    • IP被墙后一键换机房/IP(搬瓦工等支持)。
    • 线路优化:优先CN2 GIA(三网直连、低延迟、高峰稳定)> 9929(联通优)> CMI(移动优)> 普通163/4837。

自建 vs 机场/商业VPN:自建优点是独享IP、无限流量(视套餐)、自己控制;缺点是IP易被针对(需换机房)、运维成本。机场适合不想折腾的人,但跑路风险存在。整体趋势:2026年Hysteria2 + Reality组合成为“性价比最高”的共识。

免费/低成本入门:Vultr试用信用、Oracle Cloud免费阶(但易封,需谨慎)。

2. 讨论比较多且热门的VPS(2026年4月最新推荐)

以下是多个来源(p3terx、机场推荐站、V2EX、Hostloc等)反复提及的高热度VPS,重点适合翻墙自建代理(KVM架构、支持UDP、流量充足、IP可换)。优先选有中国优化线路的,避免AWS/GCP/Oracle等大厂(监控严、易封)。

VPS提供商 价格起(约) 核心优势 & 线路 适合人群 & 热度原因 备注
Vultr $6/月(灵活小时计费) 性能顶级、17+地区(洛杉矶/东京/新加坡推荐)、免费换IP 入门首选、性能党。新手最常讨论,ping测速换节点超方便 2026年多篇文章公认“性能最好”
搬瓦工 (BandwagonHost) $49.99/季起 CN2 GIA顶级(洛杉矶/香港/日本软银)、一键换机房、快照备份 稳定党首选。CN2 GIA线路讨论最多,高峰期最稳 老牌T0,适合电信/三网用户
DMIT $28.8/季起 / $36.9/年起 CN2 GIA + IPv4/IPv6双栈优化、DDoS防护、高性能EPYC CPU 高端稳定党。常给机场供货,线路口碑爆棚 搬瓦工部分线路据说就是它家
RackNerd $8.89/年起(超低) 美国洛杉矶/圣何塞、BGP直连、大流量高配 性价比王。预算用户最爱,常做“备胎” 2026年便宜VPS里热度最高
CloudCone $1.99/月起 洛杉矶多线、大流量、促销多 预算用户补充。流量党常提 稳定运营多年,适合非高峰使用
BuyVM / GigsGigsCloud $2/月起 / $9.8/月起 万兆无限流量(BuyVM)、CN2 GIA选项(GigsGigs) 大流量/多节点用户 备选,缺货时讨论也多

选购建议(根据你的网络运营商):

  • 电信:优先CN2 GIA(搬瓦工/DMIT/GigsGigs)。
  • 联通:9929或软银日本线路。
  • 移动:CMI香港或CN2 GIA。
  • 预算低:RackNerd + CloudCone起步,够用再升级。
  • 位置推荐:洛杉矶(CN2多)、香港/日本/新加坡(延迟低)。

实际使用Tips(社区共识):

  • 最低配置:1核1G内存 + 足够流量(1TB+)。
  • 部署:用一键脚本安装Hysteria2/Xray,客户端用v2rayN / Clash / sing-box。
  • 风险规避:别用单一IP大流量,敏感期多备节点;定期换IP。
  • 支付:大多支持支付宝/PayPal。

这些信息基于2026年4月最新博客、V2EX讨论和测评总结(例如p3terx 4月8日更新、机场推荐站等)。实际体验受运营商、时间段、具体机房影响,建议先ping测试延迟或买月付试用

在今天的讲解中,我们使用目前圈子里公认最好用的——233boy/sing-box一键脚本搭建VPN服务器。
如果只有单台服务器,直接使用方案一即可,十秒秒获VLESS-REALITY的服务器节点,连入你的VPN客户端即可。
如果你也像我一样,有链式代理(VPS-A中转 → VPS-B落地)的需求,建议使用方案二在VPS-B(落地节点)上用一键脚本部署Reality服务,在VPS-A(中转节点)上用iptables做端口转发。这样配置简单、性能最高。

下面我分别给出两种方案:


📦 方案一:单台VPS一键脚本部署(强烈推荐)

🔧 233boy/sing-box 一键脚本

这是目前GitHub上最流行、功能最全的sing-box一键脚本,由233boy开发。

一键安装命令:

1
bash <(curl -Ls https://raw.githubusercontent.com/233boy/sing-box/main/install.sh)

脚本特点:

  • ⚡ 秒级添加配置,零学习成本
  • 🔐 自动创建 VLESS-REALITY(默认)、TUIC、Trojan、Hysteria2、Shadowsocks 2022等
  • 🌐 支持 VMess-(TCP/HTTP/QUIC) 及 WS/HTTPUpgrade TLS 变种
  • 🔧 一键更改端口/UUID/域名/密码/伪装网站等
  • 📱 自动显示分享链接、二维码、Clash-Meta配置等

常用管理命令:

功能 命令
添加配置(默认Reality) sing-box a
添加Hysteria2 sing-box a hysteria2
添加TUIC sing-box a tuic
查看所有配置 sing-box i
删除配置 sing-box d [name]
更改端口 sing-box change [name] port auto
查看日志 sing-box log
重启服务 sing-box restart
显示帮助 sing-box help

📚 官方文档https://233boy.com/sing-box/sing-box-script/


🔗 方案二:完整链式代理配置(中转+落地)

如果你需要“电脑 → VPS-A(中转) → VPS-B(落地Reality)→ 目标”的完整链路,这是可用的直接版本。

📍 第一步:VPS-B(落地节点)部署Reality

用233boy一键脚本在VPS-B上安装:

1
bash <(curl -Ls https://raw.githubusercontent.com/233boy/sing-box/main/install.sh)

安装完成后,添加Reality配置:

1
sing-box a reality

记录输出信息,你需要记下:端口UUID公钥(PublicKey)短ID(ShortId)

📍 第二步:VPS-A(中转节点)端口转发

VPS-A不需要装sing-box,只需要用iptables做四层转发。

1. 开启IP转发:

1
2
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

2. 添加转发规则(假设VPS-B内网IP为10.0.0.2,Reality端口为443):

1
2
3
# 将发往VPS-A:8443的流量转发到VPS-B:443
iptables -t nat -A PREROUTING -p tcp --dport 8443 -j DNAT --to-destination 10.0.0.2:443
iptables -t nat -A POSTROUTING -d 10.0.0.2 -j MASQUERADE

3. 保存规则:

Ubuntu/Debian:

1
2
apt install iptables-persistent -y
netfilter-persistent save

CentOS:

1
2
yum install iptables-services -y
service iptables save

📍 第三步:电脑客户端连接

在客户端软件(如nekoray、sing-box、Clash Meta)中,服务器地址填写 VPS-A的公网IP,端口填写8443,其他参数(UUID、PublicKey、ShortId等)与VPS-B的Reality配置完全一致。

这样流量路径是:电脑(Reality)→ VPS-A:8443 →(内网转发)→ VPS-B:443 → 目标网站,落地节点IP完全隐藏。


📋 其他补充参考

🐍 Python链式代理方案

如果你需要程序化集成,可以使用singbox2proxy这个PyPI包,支持VMess、VLESS、Trojan、Hysteria2、TUIC等协议的链式代理:

1
2
3
4
5
6
from singbox2proxy import SingBoxProxy

# 链式代理:电脑 → proxy1 → proxy2 → 目标
proxy1 = SingBoxProxy("vmess://...")
proxy2 = SingBoxProxy("vless://...", chain_proxy=proxy1)
response = proxy2.request("GET", "https://api.ipify.org")

📝 手动配置链式代理(sing-box config.json)

如果你想手动写配置,以下是完整的链式代理JSON模板:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{
"log": { "level": "info" },
"inbounds": [
{
"type": "socks",
"tag": "in-socks",
"listen": "0.0.0.0",
"listen_port": 10808,
"users": [
{ "username": "your_username", "password": "your_password" }
]
}
],
"outbounds": [
{
"type": "vless",
"tag": "reality-out",
"server": "VPS-B的内网IP",
"server_port": 443,
"uuid": "你的UUID",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"reality": {
"enabled": true,
"public_key": "VPS-B的公钥",
"short_id": "你的ShortId"
}
}
}
],
"route": {
"rules": [
{ "inbound": "in-socks", "outbound": "reality-out" }
]
}
}

💎 总结

你的需求 推荐方案
快速搭一个Reality节点 用233boy一键脚本,一条命令搞定
需要链式代理(中转+落地) VPS-B用一键脚本,VPS-A用iptables转发
想自己写配置文件 用上面的JSON模板

现在你只需要在VPS-B上跑一下这条命令,几分钟就能得到一个可用的Reality节点:

1
bash <(curl -Ls https://raw.githubusercontent.com/233boy/sing-box/main/install.sh)

安装完输入 sing-box help 就能看到所有命令了~

大部分情况下,我们的VPS-A和VPS-B不在同一个内网,分别位于两个国家的机房

这种情况下,之前的iptables转发方案仍然可用,但需要把“内网IP”换成VPS-B的公网IP。不过需要注意,这样一来流量会走公网,速度和稳定性会受跨国网络影响。但有时候这是不得不采用的方案。

我们来分析三种可行方案,并给出对比推荐。


🌍 方案对比(跨国家中转)

方案 原理 优点 缺点 推荐度
方案一:iptables公网转发 VPS-A直接转发到VPS-B公网IP 配置简单,无需额外软件 流量明文,VPS-A到VPS-B这段暴露 ⭐⭐⭐
方案二:VPS-A部署代理客户端 VPS-A用代理协议转发(如Reality链式) 全程加密,两层伪装 配置稍复杂 ⭐⭐⭐⭐⭐
方案三:GRE/IPIP隧道 建立三层隧道,模拟内网 透明转发,可配合iptables 配置复杂,部分机房封禁GRE ⭐⭐

✅ 推荐方案:VPS-A上部署sing-box客户端(全程加密)

这是最安全、最适合当前情况下的方案。让VPS-A作为“跳板机”,用sing-box客户端连接VPS-B的Reality服务,然后在VPS-A上开一个本地SOCKS5或TUN代理给电脑用。

📍 架构图

1
2
3
4
5
6
7
你的电脑 
↓ (连接VPS-A:1080, SOCKS5)
VPS-A (中转节点,公网IP)
↓ (sing-box客户端,用REALITY协议加密连接)
VPS-B (落地节点,公网IP,REALITY服务端)

目标网站

🔧 配置步骤

第一步:在VPS-B上确认已有REALITY服务

VPS-B配置:

  • 端口:30446
  • UUID:d231faea-f47e-4622-bb9e-27861ee385c4
  • 公钥:RLYlyld_aOkt5ZO95D...(完整版)
  • SNI:www.paypal.com

第二步:在VPS-A上安装sing-box并配置客户端

1. 安装sing-box(使用233boy脚本):

1
bash <(curl -Ls https://raw.githubusercontent.com/233boy/sing-box/main/install.sh)

2. 手动创建出站配置文件(因为脚本主要用来做服务端,客户端配置需要手写):

创建 /root/sing-box-client-config.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{
"log": {
"level": "info",
"output": "/root/sing-box-client.log"
},
"inbounds": [
{
"type": "socks",
"tag": "socks-in",
"listen": "0.0.0.0",
"listen_port": 1080,
"users": [
{
"username": "your_username",
"password": "your_password"
}
]
}
],
"outbounds": [
{
"type": "vless",
"tag": "reality-out",
"server": "VPS-B的公网IP",
"server_port": 30446,
"uuid": "d231faea-f47e-4622-bb9e-27861ee385c4",
"flow": "xtls-rprx-vision",
"tls": {
"enabled": true,
"server_name": "www.paypal.com",
"utls": {
"enabled": true,
"fingerprint": "chrome"
},
"reality": {
"enabled": true,
"public_key": "RLYlyld_aOkt5ZO95DxxxxxxxxxxxxxxDEixO636KNnpRSE"
}
}
}
],
"route": {
"rules": [
{
"inbound": "socks-in",
"outbound": "reality-out"
}
]
}
}

3. 启动sing-box客户端:

1
sing-box run -c /root/sing-box-client-config.json

后台运行(推荐使用screen或systemd):

1
2
3
4
# 使用screen
screen -S singbox
sing-box run -c /root/sing-box-client-config.json
# 按 Ctrl+A 再按 D 退出screen

第三步:电脑连接

电脑上任何支持SOCKS5代理的软件(如nekoray、Clash、浏览器SwitchyOmega),配置:

  • 代理类型:SOCKS5
  • 服务器:VPS-A的公网IP
  • 端口:1080
  • 用户名/密码:你在配置文件中设置的

🔄 简化版(如果不需要VPS-A做其他用途)

如果VPS-A单纯就是为了转发流量,可以用更轻量的 gost 工具,它支持TLS加密转发。

使用gost加密转发

在VPS-B上(服务端):

1
2
3
4
5
6
7
8
# 安装gost
wget https://github.com/ginuerzh/gost/releases/download/v2.11.5/gost-linux-amd64-2.11.5.gz
gunzip gost-linux-amd64-2.11.5.gz
chmod +x gost-linux-amd64-2.11.5
mv gost-linux-amd64-2.11.5 /usr/local/bin/gost

# 启动服务端(监听8080,转发到本地30446的REALITY服务)
gost -L=tls://:8443?auth=user:pass -F=forward://127.0.0.1:30446

在VPS-A上(客户端):

1
2
# 启动客户端,接收本地1080的SOCKS5,通过TLS加密转发到VPS-B
gost -L=socks5://:1080 -F=tls://VPS-B公网IP:8443?auth=user:pass

电脑连接VPS-A的1080端口即可。


💎 最终建议

你的技术水平 推荐方案 理由
会改配置 VPS-A部署sing-box客户端 全程REALITY加密,两层伪装,最安全
想要简单 使用gost加密转发 一条命令搞定,也有TLS加密
追求速度 iptables公网直转 最简单,但VPS-A到VPS-B这段是明文

考虑到当前情况,应“避免直连”和“抗封锁”,推荐使用方案一(VPS-A部署sing-box客户端)。这样即使跨国这段链路上有监控,看到的也是另一层REALITY加密流量,无法识别真实目的。

很多小伙伴对VPN代理是云里雾里,几天我就来探讨这个问题,在开始搭建之前,我们先来了解一些基本的常识及当前现状。

首先,“VPS-A中转 + VPS-B落地 + 现代抗封锁协议”是目前讨论最多的组合,也正是把**流量中转(链式代理)高强度伪装(Reality/Hy2)**结合起来。

下面我把这个方案的技术本质、主流协议对比和完整链路配置给你梳理清楚。


一、技术本质:为什么需要“VPS中转 + 抗封锁协议”?

你之前关心的“避免直连”,核心逻辑是:

  1. VPS-A(中转节点):靠近你所在的地理位置(例如香港、日本),负责接收你电脑的加密流量,并通过内网转发给VPS-B
  2. VPS-B(落地节点):位于目标地区(例如美国、欧洲),负责最终访问目标网站

这样做的好处:

  • 隐藏落地节点IP:你的电脑只连接中转节点,目标网站只能看到落地节点的IP
  • 优化路由:中转节点和落地节点之间通常用内网通信(速度快、不计费),而你电脑到中转节点可以选择低延迟区域
  • 叠加协议伪装:在两个节点之间的链路上部署Reality、Hysteria2等协议,进一步规避检测

二、主流抗封锁协议对比(2026年)

结合你之前关心的sing-box和VLESS+Reality,我把当前讨论最多的几种方案整理如下:

协议 传输层 核心特点 抗封锁能力 速度表现 适用场景
VLESS+Reality TCP 模拟真实HTTPS网站TLS指纹,无需域名证书 ⭐⭐⭐⭐⭐ 当前最强 ⭐⭐⭐⭐ 优秀 日常主力,长期稳定
Hysteria2 UDP (QUIC) 暴力发包拉满带宽,伪装HTTP/3流量 ⭐⭐⭐ 中等(有争议) ⭐⭐⭐⭐⭐ 极快 线路质量差、追求高峰期速度
TUICv5 UDP (QUIC) 0-RTT握手,行为比Hy2“温柔” ⭐⭐⭐⭐ 较好 ⭐⭐⭐⭐ 优秀 低延迟敏感场景
ShadowTLS v3 TCP 作为插件伪装TLS流量 ⭐⭐⭐⭐ 较好 ⭐⭐⭐ 良好 需要TLS伪装但不想用Reality
VLESS+WS+TLS TCP+WebSocket 可套CDN隐藏VPS IP ⭐⭐⭐⭐ 较好 ⭐⭐⭐ 一般 必须套CDN的场景

综合结论(从搜索结果归纳)

  • 日常主力VLESS+Reality,抗封锁能力最强,经得起长期稳定使用
  • 备用加速Hysteria2TUICv5,在线路差的VPS上能大幅提升速度
  • 需要CDNVLESS+WebSocket+TLS,配合Cloudflare隐藏真实IP

⚠️ 关于Hysteria2的争议:它基于UDP/QUIC,虽然速度极快,但有观点认为2025年起GFW能更精准识别其流量特征,且UDP大包可能被本地运营商QoS限制。建议作为备用而非主力。


三、VPS中转 + Reality + Hysteria2 完整链路

推荐的组合(两台VPS + 避免直连),我画一下完整链路:

1
2
3
4
5
6
7
你的电脑 
↓(连接中转节点,使用Reality或Hy2协议)
VPS-A(中转节点,如香港)
↓(内网转发,使用iptables/nginx/frp)
VPS-B(落地节点,如美国)
↓(访问目标网站)
Internet

方案A:中转节点只做端口转发(纯四层)

这种方式下,VPS-A只负责流量搬运,不部署代理协议。协议配置在电脑客户端和VPS-B之间。

优点:中转效率最高,资源配置最简单
缺点:VPS-A到VPS-B之间的流量是“明文转发”,如果这段链路被监控,可能暴露特征

配置步骤

  1. 在VPS-B上部署sing-box,开启Reality或Hysteria2服务
  2. 在VPS-A上使用iptables或nginx做四层端口转发,将外网端口转发到VPS-B的内网IP+端口
  3. 电脑客户端配置连接VPS-A的公网IP,协议和VPS-B完全一致

方案B:每台VPS都部署sing-box(链式代理)

这种方式下,VPS-A也运行sing-box,作为“下一跳节点”,电脑流量经过两级代理转发。

sing-box链式代理配置示例(在VPS-A的出站配置中):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"outbounds": [
{
"type": "vless",
"tag": "proxy-to-vpsb",
"server": "VPS-B的内网IP",
"server_port": 443,
"uuid": "your-uuid",
"flow": "xtls-rprx-vision",
"security": "reality",
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"reality": {
"enabled": true,
"public_key": "VPS-B的公钥",
"short_id": "your-short-id"
}
}
}
]
}

电脑客户端配置连接VPS-A,协议不限。VPS-A收到流量后,根据路由规则转发到VPS-B。


四、协议选择决策表(基于你的网络环境)

你的情况 推荐方案 说明
电信网络 + 追求稳定 VLESS+Reality(主力) 抗封锁最强,不易被封
移动网络 + 追求速度 Hysteria2 或 TUIC(备用) 移动对UDP QoS较宽松,速度优势明显
线路质量差(如RackNerd普通线路) Hysteria2 或 TUIC 能大幅提升高峰期速度
必须隐藏VPS IP(如被DDoS) VLESS+WS+TLS + Cloudflare 套CDN隐藏真实IP
长期稳定 + 不想折腾 只部署Reality 一个协议够了,多协议反而增加维护成本

五、实际配置(sing-box + VLESS+Reality + 中转)

如果你决定用sing-box统一管理(支持Reality、TUIC、Hysteria2等全部协议),以下是精简版配置要点:

VPS-B(落地节点)服务端配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"inbounds": [
{
"type": "vless",
"tag": "reality-in",
"listen": "0.0.0.0",
"listen_port": 443,
"users": [
{
"uuid": "你的uuid",
"flow": "xtls-rprx-vision"
}
],
"tls": {
"enabled": true,
"server_name": "www.microsoft.com",
"reality": {
"enabled": true,
"handshake": {
"server": "www.microsoft.com",
"server_port": 443
},
"private_key": "你的私钥",
"short_id": ["任意8位hex"]
}
}
}
]
}

VPS-A(中转节点)iptables转发规则

如果选择纯四层转发(方案A),在VPS-A上执行:

1
2
3
4
5
6
7
# 开启IP转发
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

# 将发往VPS-A:8443的流量转发到VPS-B内网IP:443
iptables -t nat -A PREROUTING -p tcp --dport 8443 -j DNAT --to-destination VPS-B内网IP:443
iptables -t nat -A POSTROUTING -d VPS-B内网IP -j MASQUERADE

电脑客户端连接:VPS-A公网IP:8443,协议Reality,其他参数与VPS-B配置一致。


六、总结

层级 推荐方案 一句话理由
协议主力 VLESS+Reality 抗封锁最强,经得起长期考验
协议备用 Hysteria2 或 TUIC 高峰期拉满带宽,弱网救星
管理工具 sing-box 一个核心支持所有协议,轻量统一
中转方式 iptables四层转发 性能最高,零额外开销
回退方案 VLESS+WS+TLS + CDN 万一IP被墙,还能套CDN救急

这样就有一个既避免直连、又多层伪装、还能灵活切换协议的完整方案了。完整的sing-box配置文件模板,我们在下一期讲解。

Automa 是一款非常实用的浏览器自动化扩展插件,它最大的特点就是无需编写代码,通过像搭积木一样拖拽、连接各种功能模块,就能让你在浏览器里重复执行的操作实现自动化,比如填表、采集数据、定时任务等。

它与我们刚刚聊过的 page-agent.js 主要区别在于实现方式page-agent.js 是通过自然语言驱动 AI 来操作网页,而 Automa 则是让你通过可视化界面,亲自设计出确定的、可重复执行的自动化流程。

⚙️ 主要能做什么?

Automa 的应用场景很广,尤其适合处理那些需要每天重复操作的网页任务:

  • 自动填写表单:自动、批量地向网页表单填入预设或抓取的数据。
  • 定时任务与监控:设置定时器,让它在特定时间自动执行。比如每天定时签到,或定时监控商品价格和库存变化并在变化时通知你。
  • 数据采集与导出:爬取网页上的文本、链接、表格等数据,并导出为 CSV 或 JSON 文件。
  • 跨页面协同操作:可以在多个标签页之间切换,从一个页面提取数据,再填入到另一个页面中。

🚀 如何开始使用?

使用流程很直观,主要分为以下几步:

  1. 安装插件:在 Chrome 或 Firefox 等浏览器的应用商店中搜索 “Automa” 并安装。
  2. 创建工作流:点击浏览器右上角的 Automa 图标进入控制面板,点击“新建工作流”。
  3. 搭积木式设计流程:进入编辑界面后,左侧是功能模块库(如“点击元素”、“填写表单”),右侧是画布。你需要做的就是将所需模块拖拽到画布上,并按操作顺序将它们连接起来,形成一个完整的流程图。
  4. 配置模块参数:点击画布中的每个模块,为其设置具体的操作参数。最关键的是准确获取网页元素的选择器(Selector),告诉 Automa 具体要操作哪个按钮或输入框。
  5. 运行与调试:点击运行按钮测试效果。你可以通过日志查看每一步的执行情况,方便排查问题。

🔧 新手实用小技巧

  • 善用录制功能:如果不熟悉选择器,可以先使用 Automa 的“录制”功能,它会记录你的操作并自动生成一个基础流程,你再对它进行调整即可。
  • 添加适当延迟:网页加载需要时间,在关键步骤之间加入“等待”模块,能让整个流程运行得更稳定。
  • 参考模板市场:Automa 提供了工作流市场,里面有大量别人分享的现成模板,可以直接使用或拿来学习。

Automa 和 page-agent.js 代表了两种不同的自动化思路:前者让普通用户也能创建精准、稳定、可复用的流程,适合处理日常的重复性网页任务;后者则更擅长理解模糊指令和应对复杂场景。如果你想把日常那些固定的网页操作“一键化”,Automa 是非常值得一试的轻量级工具。

Browser Use 是一个将 AI 大模型与浏览器自动化结合的框架,它颠覆了传统写脚本的思路,能让你直接用自然语言(比如“去XX网站搜一下iPhone最新价格”)来控制浏览器,替你自动完成操作 。它的核心架构建立在 Playwright 和 LangChain 之上,靠 AI 来理解和规划任务,因此即便网页结构有变化,它也有很强的自适应性 。

为了让你更直观地感受它与 Automa 的区别,我把它们放在一起做了个对比:

🆚 Browser Use vs. Automa 对比

对比维度 Browser Use Automa
核心交互方式 自然语言驱动,用人类语言描述任务,AI 自主拆解并执行 。 可视化拖拽驱动,通过手动拖拽模块、编排流程图来构建工作流。
技术原理 基于 AI大模型 (LLM),通过 Playwright 操控浏览器,能理解页面语义 。 基于预定义的浏览器扩展API,严格按你设定的选择器和步骤执行。
上手门槛 需要基本的 Python 环境和 API 配置知识,门槛稍高 。 安装浏览器扩展即可用,图形化界面,几乎没有学习门槛。
智能灵活性 极高。能应对复杂的动态网页,遇到意外(如弹窗)有自我纠错能力 。 较低。严格按照预设流程执行,页面结构一变就容易“迷路”。
稳定性与成本 依赖AI模型,每次执行都有 Token 消耗(需付费),执行速度也相对慢一些 。 流程确定,执行稳定且完全免费,速度很快。
适用场景 复杂的探索性任务(如竞品调研)、应对反爬强的网站、需要“理解”内容的操作 。 固定的、流程明确的重复性任务(如每日签到、批量填表)。

🚀 Browser Use 如何安装与使用

安装 Browser Use 主要分三步:准备 Python 环境、安装核心库和配置 AI 模型。

  1. 准备 Python 环境:建议使用 Python 3.11 或更高版本。为了方便管理,可以创建一个独立的虚拟环境。

    1
    2
    3
    python -m venv browser_env
    source browser_env/bin/activate # macOS/Linux
    # 或在 Windows 上: browser_env\Scripts\activate
  2. 安装 Browser Use 与浏览器驱动:使用 pip 安装核心包,然后安装 Playwright 的浏览器驱动。

    1
    2
    pip install browser-use
    playwright install
  3. 获取并配置 API Key:你需要一个 AI 模型的 API Key(如 OpenAI、DeepSeek 等)。从对应平台获取后,可以新建一个 .env 文件写入密钥,或者直接在代码里配置 。

✍️ 一个简单的例子

安装配置好后,可以创建一个 Python 脚本来体验一下。比如我们想让它找一下 browser-use 这个 GitHub 项目的 Star 数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from browser_use import Agent, Browser, ChatOpenAI
import asyncio

async def main():
browser = Browser()
agent = Agent(
task="Find the number of stars of the browser-use repo",
llm=ChatOpenAI(model='gpt-4o'), # 记得替换成你用的模型
browser=browser,
)
await agent.run()

if __name__ == "__main__":
asyncio.run(main())

另外,Browser Use 也提供了 WebUI 版本,让你可以在图形界面里配置模型、下达任务并观察结果,对新手更友好 。

🤔 该选哪一个?

总的来说,选择哪个工具,完全取决于你的任务场景:

  • 追求简单、稳定、免费:如果你的任务是固定且明确的,比如每天自动签到、批量填写表单,Automa 是更省心的选择,它开箱即用,完全免费。
  • 追求智能、灵活、能处理复杂情况:如果你的任务多变且复杂,比如需要爬取不同结构的商品页、在多个网站间做信息调研,那么 Browser Use 的强大 AI 能力能帮你节省大量写复杂脚本的时间

看完了原理和对比,想不想实际动手,在你的电脑上试着运行一下 Browser Use 的 Demo?我可以帮你梳理一份详细的环境配置和安装步骤。

两种方法,一种是手动但完全掌控的,另一种是全自动的,你可以根据自己的偏好来选择。

方法一:手动 Git 工作流(推荐入门)

这个方法最直观、稳定,能帮你清晰地理解背后的工作流程,特别适合刚开始搭建流程的时候。

1. 在 Obsidian 中打开博客目录

  • 打开 Obsidian。

  • 点击左下角的“打开其他仓库”图标(或者用快捷键 Ctrl/Cmd + O)。

  • 选择“打开本地仓库”,然后浏览并选中你的 Hexo 博客根目录(也就是包含 source/_posts/ 的那个文件夹,比如 my-blog)。

  • Obsidian 会把这个文件夹作为你的新仓库。现在,你就可以在 Obsidian 里看到 source/_posts/ 文件夹,并创建/编辑你的 .md 文章了

2. 在 Git Bash 中手动同步

这是你需要养成的写作习惯:

  • 写作:在 Obsidian 中完成 .md 文件的编写和修改。

  • 预览:在 Hexo 博客目录打开终端,运行 hexo s,然后在 http://localhost:4000 实时查看效果。

  • 推送:当你完成一篇文章后,在 Hexo 博客目录打开终端,依次执行:

    bash

    git add .
    git commit -m “添加/更新了一篇关于XXX的文章”
    git push

方法二:全自动 Git 工作流(懒人福音)

如果你希望更进一步,想实现“保存即备份”甚至“定时自动同步”,可以安装社区插件 obsidian-git

1. 安装与初始化

  • 在 Obsidian 的“第三方插件”里,搜索并安装 Obsidian Git

  • 首次使用:建议先在博客目录下,通过 Git Bash 手动完成 git initgit remote add origin ...git push 等初始化操作,确保远程连接正常。之后,obsidian-git 插件就能接管了。

2. 配置自动同步(关键)

你需要在 Obsidian 的设置里找到 Obsidian Git 插件,进行以下配置

配置项 推荐值 作用
Auto commit interval (minutes) 5 每隔5分钟自动提交一次变更
Auto backup after file change ✅ 启用 在你停止编辑文件后,智能启动计时器,准备自动提交
Auto push interval (minutes) 15 每隔15分钟自动推送到GitHub
Auto pull interval (minutes) 60 每隔60分钟自动从GitHub拉取更新,多设备时很有用

3. 配置 .gitignore 文件

为了避免把无关文件(比如 Obsidian 自身的配置)上传到博客仓库,在博客根目录的 .gitignore 文件中添加一行:

git

.obsidian/

这样,你的 Obsidian 个人设置就不会干扰到 Hexo 的构建了。

推荐方案:循序渐进

综合来看,建议你分两步走:

  1. 先使用方法一(手动 Git 工作流)。这能帮你熟悉 Obsidian 与 Hexo 目录的关系,手动 git add/commit/push 也能让你对版本控制更有掌控感。

  2. 如果觉得手动操作频繁,再考虑启用方法二(obsidian-git 插件),设置一个较长的自动同步间隔(比如15-30分钟),把它作为一道额外的安全保险。

这样,你既能享受 Obsidian 强大的编辑体验,又能保持 Hexo 构建流程的稳定和干净。

🔍 你需要的是这个插件

插件名称 用途 是否支持自动同步
✅ 你需要的插件 Obsidian Git 支持自动 commit/push/pull

📦 如何找到正确的插件

在 Obsidian 的「社区插件」中,搜索 Git,找到名为 Git 的插件(作者:Vinzent03):

  • 插件 IDvinzent03/obsidian-git

  • 图标: 通常是一个 Git 分支的图标

  • 下载量: 非常高,是目前 Obsidian 最流行的 Git 插件之一

⚙️ 安装后的关键配置

安装并启用插件后,进入插件设置,按以下方式配置:

配置项 推荐值 作用
Auto commit interval (minutes) 15 每15分钟自动提交一次变更
Auto push interval (minutes) 15 每15分钟自动推送到 GitHub
Auto pull on startup ✅ 启用 启动 Obsidian 时自动拉取远程更新
Commit message auto 使用默认的自动提交信息

🚀 使用流程

  1. 初始化仓库(如果还没有):

    • 打开命令面板(Ctrl/Cmd + P

    • 输入 Git: Initialize a new repo

  2. 关联远程仓库

    bash

    在你的博客目录(my-blog)下打开终端

    git remote add origin https://github.com/你的用户名/你的仓库.git
    git push -u origin main

  3. 日常使用

    • 在 Obsidian 中正常写作

    • 插件会按你设置的时间间隔自动 commit 和 push

    • 也可以手动点击侧边栏的 Git 图标进行同步

📋 验证

安装正确的插件后,你应该能在 Obsidian 左侧边栏看到一个 Git 分支图标,点击后会显示:

  • 变更的文件列表

  • Commit 按钮

  • Push/Pull 按钮

这才是我们要用的插件。快去搜索 Git 安装吧!

Hysteria2(Hy2)部署详细教程(2026年最新版) Hysteria2 是基于 QUIC 协议的下一代代理工具,速度极快、抗封锁强(晚高峰 YouTube 4K 丝滑),适合 VPS 自建翻墙。以下是保姆级完整教程,基于官方文档(v2.hysteria.network)+ 社区最佳实践,适用于 Ubuntu 22.04 / Debian 12 等主流系统。推荐有域名模式(更隐蔽,自动 TLS 证书),无域名也可自签证书。 ### 1. 前提准备(必读) - VPS 要求:干净系统(推荐重装 Ubuntu 22.04 LTS 或 Debian 12),1核2G+ 内存,公网 IPv4(IPv6 更好),端口 443 UDP/TCP 开放。 - 域名(强烈推荐):在 Cloudflare 等解析一个子域名(A 记录指向 VPS IP),关闭 CDN/Proxy(橙色云变灰)。 - 工具:SSH 客户端(Xshell / FinalShell / Termius)。 - 防火墙:安装 UFW(apt install ufw),后续开放端口。 - BBR 加速(强烈推荐,提升速度): bash echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p - 更新系统bash apt update && apt upgrade -y apt install curl wget sudo nano ufw -y ### 2. 服务端安装(官方推荐脚本) 官方一键安装脚本(安装/升级/卸载都用它): bash bash <(curl -fsSL https://get.hy2.sh/) - 安装完成后,配置文件路径/etc/hysteria/config.yaml - 设置开机自启并启动bash systemctl enable --now hysteria-server.service - 常用命令: - 重启:systemctl restart hysteria-server.service - 状态:systemctl status hysteria-server.service - 日志:journalctl -u hysteria-server.service -e --no-pager > 提示:脚本只生成示例配置,必须手动编辑 config.yaml 才能正常运行。 ### 3. 服务端配置(config.yaml) 用 nano /etc/hysteria/config.yaml 编辑,覆盖以下内容。 #### 推荐方案1:有域名 + ACME 自动证书(最隐蔽) yaml listen: :443 acme: domains: - your.domain.com # ← 改成你的域名 email: [email protected] # ← 你的邮箱 auth: type: password password: YourStrongPassword123! # ← 改成强密码(推荐20位+) masquerade: type: proxy proxy: url: https://cn.bing.com/ # ← 伪装网站(推荐 Bing / 个人网盘) rewriteHost: true #### 方案2:无域名 + 自签证书(简单,但 SNI 需跳过验证) 先生成自签证书: bash mkdir -p /etc/hysteria openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) -keyout /etc/hysteria/server.key -out /etc/hysteria/server.crt -subj "/CN=bing.com" -days 36500 chown hysteria:hysteria /etc/hysteria/server.* 配置: yaml listen: :443 tls: cert: /etc/hysteria/server.crt key: /etc/hysteria/server.key auth: type: password password: YourStrongPassword123! masquerade: type: proxy proxy: url: https://cn.bing.com/ rewriteHost: true 保存后重启服务systemctl restart hysteria-server.service 高级选项(可选): - 端口跳跃(抗封锁更强,仅 Linux):listen: :20000-50000(需额外 nftables/iptables 配置)。 - 带宽限制:在 auth 下加 obfs: your_obfs_password 等。 ### 4. 防火墙与安全设置 bash ufw allow 80/tcp # ACME 验证用 ufw allow 443/tcp ufw allow 443/udp ufw enable ufw status 推荐安装 fail2ban 防暴力破解: bash apt install fail2ban -y ### 5. 客户端配置(全平台) Hysteria2 支持 v2rayN、Clash Meta、sing-box、NekoBox、Hiddify 等。 #### Windows(推荐 v2rayN) 1. 下载最新 v2rayN(带核心):GitHub 搜索 v2rayN。 2. 添加 Hysteria2 节点: - 地址:your.domain.com:443 - 密码:你设置的密码 - 有域名:SNI = 你的域名,跳过证书验证 = false - 自签:SNI = bing.com(或伪装域名),跳过证书验证 = true 3. 测试连接,成功后全局/规则模式。 #### Android / iOS(推荐 sing-box / NekoBox / Hiddify) 用 sing-box 配置(示例 JSON 片段,导入客户端): json { "outbounds": [ { "type": "hysteria2", "tag": "hy2", "server": "your.domain.com", "server_port": 443, "password": "YourStrongPassword123!", "tls": { "enabled": true, "server_name": "your.domain.com", "insecure": false }, "up_mbps": 30, "down_mbps": 100 } ] } - Hiddify / Shadowrocket:直接导入 hysteria2:// 链接(服务器日志或 v2rayN 可生成)。 #### macOS / Linux 官方 hysteria 客户端或 sing-box。 生成分享链接:服务端日志中会显示 hysteria2://[email protected]:443 格式,直接导入客户端。 ### 6. 测试与优化 - 测试命令(服务器):curl -I https://your.domain.com 应看到伪装网站响应。 - 客户端测试:访问 ipinfo.io 检查 IP,YouTube 4K 测速。 - 常见问题解决: - 证书错误 → 检查域名解析 + 80 端口开放。 - 连不上 → 检查防火墙、端口跳跃、密码。 - 速度慢 → 开启 BBR + 调高 bandwidth(客户端 up/down_mbps 别超过实际带宽)。 - 日志查看:journalctl -u hysteria-server.service -f ### 7. 进阶推荐 - 面板管理(多用户):S-UI 或 H-UI(搜索 “S-UI Hysteria2” 一键部署)。 - 多协议组合:Hysteria2 + Reality/VLESS(用 v2ray-agent 或 mack-a 脚本)。 - 备份:定期备份 /etc/hysteria/config.yaml。 - 卸载bash <(curl -fsSL https://get.hy2.sh/) --remove 安全提醒:密码要强,定期换 IP/节点,勿大流量单节点跑敏感操作。实际体验取决于 VPS 线路(CN2 GIA 最佳)。 教程已测试可行(基于官方 2026 年文档)。如果卡在某一步(比如具体 VPS 系统、域名解析报错、客户端截图),告诉我你的 VPS 系统/是否有域名,我可以继续细化或提供一键脚本补充方案!🚀

Pandoc 以其强大的格式兼容性著称,被设计为一个“万能文档转换器”。根据官方手册,它支持超过 40 种输入格式,涵盖了常见的文本标记语言、办公文档、电子书及学术文献格式等。

📄 Pandoc 主要支持的输入格式

以下是部分常用输入格式及其说明:

格式类别 输入格式 (Format) 说明
文本标记语言 markdown Pandoc 增强版的 Markdown,支持表格、脚注、引用等高级语法。
gfm GitHub 风格的 Markdown。
html HTML 网页文件。
latex LaTeX 源文件。
rst reStructuredText,常用于 Python 项目文档。
org Emacs Org-mode 文档。
asciidoc AsciiDoc 标记语言。
办公文档 docx Microsoft Word 文档。
pptx Microsoft PowerPoint 演示文稿。
xlsx Microsoft Excel 电子表格。
odt OpenDocument 文本文档。
电子书 epub EPUB 电子书。
学术/数据 ipynb Jupyter Notebook 文件。
bibtex / biblatex BibTeX/BibLaTeX 参考文献数据库。
csv / tsv CSV/TSV 表格数据。

🔍 如何查看完整列表

你可以通过在终端中运行以下两个命令,随时获取你的 Pandoc 版本所支持的所有输入和输出格式的完整列表:

  1. 查看所有支持的输入格式
    1
    pandoc --list-input-formats
  2. 查看所有支持的输出格式
    1
    pandoc --list-output-formats

需要我为你演示一下如何用 pandoc 命令将你手头的某个文档(比如 Word 或 Markdown)转换成其他格式吗?

Pandoc 和 MarkItDown 虽然都能处理文档,但它们的设计哲学和目标场景完全不同。简单来说:Pandoc 是一位力求精准的”文档格式翻译官”,而 MarkItDown 则是一位专为 AI 服务的”信息精简专家”

两者的核心区别可以用下面这个表格来概括:

对比维度 Pandoc (文档翻译官) MarkItDown (AI 信息专家)
核心目标 格式间的高保真转换,力求保留文档的完整结构和排版。 为 LLM 准备数据,从任何文件中提取出 AI 易读的干净文本。
格式生态 通用且强大,支持超过 40 种输入/输出格式(如 docxlatexepub)。 输入广泛,输出唯一,能读取 Office、PDF、音视频等,但只输出 Markdown
结构保留 忠实还原。对标题层级、表格、脚注、参考文献等复杂结构还原度极高。 实用主义。优先保证内容可读,但复杂的表格或版式可能会被简化,甚至丢失标题层级。
易用与集成 命令行驱动,功能强大但有一定学习门槛。 设计为 AI 生态一部分。原生支持 MCP 服务器,可轻松集成到 Claude Desktop 等 AI 工具中。
性能与资源 轻量高效,处理基于文本的文档速度很快,资源占用低。 设计轻量,但在处理图片 OCR 或音视频转录时,会依赖云端 AI 服务,消耗相对较大。

🎯 优缺点一览

Pandoc

  • 优点:格式支持广,转换质量高,社区成熟,高度可定制(支持 Lua 过滤器等)。
  • 缺点:对 AI 工作流的集成不如 MarkItDown 直接,在处理纯扫描件 PDF 时效果有限。

MarkItDown

  • 优点:对 AI 极其友好(能显著节省 Token 消耗),使用和集成非常方便,输入格式支持范围极广(特别是音视频)。
  • 缺点:不追求版式保真,复杂文档的结构和格式容易丢失,音视频处理等功能依赖外部云服务。

💡 如何选择?

选谁,完全取决于你的任务最终服务于人还是服务于 AI

  • 服务于人(如排版、出版、精读):选 Pandoc。例如,把论文从 Markdown 转成排版精美的 PDF,或在 Word 和 LaTeX 之间互转,Pandoc 是最稳妥的选择。
  • 服务于 AI(如构建知识库、RAG、AI 摘要):选 MarkItDown。它能帮你快速、低成本地把各种杂乱的文档处理成 AI 最爱”吃”的干净文本,效率极高。

Pandoc 是一个“文档转换器”,而 MkDocs 是一个“站点生成器”。两者的核心差异在于:一个负责处理文档本身(转换格式),另一个负责呈现文档(搭建网站)。

它们之间并非竞争或替代关系,在实际工作流中反而经常是上下游的协作关系。下面是具体对比:

⚙️ 核心区别对比

对比维度 Pandoc MkDocs
核心定位 通用文档转换器:专注于在各种文档格式间进行转换 。 静态站点生成器:专注于将 Markdown 文件构建成文档网站 。
主要用途 将文档转换为另一种格式,如 DOCXPDFMarkdownEPUB 等。 搭建项目文档、技术手册、博客等需要网站形式呈现的内容。
处理方式 命令行工具:通过指令执行一次性或批量的格式转换任务 。 工程化工具:基于配置文件 (mkdocs.yml) 和命令来构建、预览和部署网站。
最终产出 单个文件(如 .pdf.docx.html),或一种新格式的文本流。 一个完整的静态网站,包含 HTML/CSS/JS 文件、目录结构和资源。
目标用户 学者、作家、开发者等需要处理跨格式文档的群体 。 软件项目文档工程师、开源项目维护者、技术写作者。
设计哲学 内容与格式分离,追求精准的格式转换。 内容与展示分离,追求清晰的文档组织和阅读体验。

🔄 协作关系:Pandoc 是 MkDocs 的幕后功臣

MkDocs 本身并不“写”文档,它主要负责将你写好的 Markdown 文件按设定好的主题和导航渲染成网站。而 Pandoc 则负责打通内容来源

一个典型的协作场景是:利用 Pandoc 的强大转换能力,将非 Markdown 格式的文档转换为 Markdown,再交给 MkDocs 来构建网站。

  • 场景:需要将现有的 Confluence 或 Word 文档迁移到新的 MkDocs 文档站。
  • 过程:有工具可以先用 Pandoc 将 Confluence 导出的 HTML 批量转换为 Markdown 格式 ,然后 MkDocs 就可以直接使用这些 Markdown 文件来生成网站了。

🎯 优缺点与选型建议

Pandoc

  • 优点
    • 格式支持极广:支持超过40种文档格式的读写,包括 Markdown、DOCX、PDF、HTML、LaTeX、EPUB 等 。
    • 转换质量高:在保留文档结构(标题、表格、链接等)方面表现出色,尤其适合学术和技术文档。
    • 高度可定制:支持模板、过滤器等高级功能,满足复杂需求 。
  • 缺点
    • 命令行操作:无图形界面,对不熟悉终端的用户有门槛。
    • 非所见即所得:是转换工具而非编辑器,无法即时预览排版效果。

MkDocs

  • 优点
    • 快速轻量:构建网站速度极快,操作简单。
    • 主题生态好:拥有如 Material for MkDocs 等优秀的第三方主题,能快速搭建专业美观的文档站。
    • 专注于文档:为技术文档场景优化,体验出色。
  • 缺点
    • 格式支持单一:主要处理 Markdown 格式,无法直接处理 Word 等格式。
    • 产出形式固定:只能生成网站,不能输出 PDF、EPUB 等文件(需配合插件)。

💎 总结

如果你的任务是:“帮我把这份 Word 文档转成 Markdown 格式。” -> 选择 Pandoc
如果你的任务是:“我们需要一个团队知识库网站。” -> 选择 MkDocs
如果你的任务是:“我要把公司所有旧的 Word/Confluence 文档都迁移到一个新的文档网站上。” -> 先用 Pandoc 转换成 Markdown,再交给 MkDocs 建站。

说实话,微软难得出一款好东西。

最近发现个神器,叫 MarkItDown。

markitdown

干啥的?

你手里那些乱七八糟的文档——

PDF、Word、Excel、PPT、甚至音频文件、YouTube 视频链接…

扔进去,秒变 Markdown。

懂行的都知道,Markdown 现在是大模型最”吃得消”的格式。


别的转换工具常见问题:

❌ 表格乱成一锅粥

❌ 排版全崩

❌ 提取出来全是脏数据

这个工具的核心就三个字:够干净。

不用写解析器,不用调格式,不用事后擦屁股。

安装也简单

一行命令搞定:

bash

pip install markitdown

然后直接开整:

bash

markitdown 你的文件.pdf -o 输出.md

完事。


目前 GitHub 已经 58K+ Star,微软 AutoGen 团队出品。

处理图片还能自动 OCR 识别文字,音频直接转录成文本。

对于经常要喂数据给 AI 的人来说,这工具能省不少事。

有需要的可以去 GitHub

搜 microsoft/markitdown。

微软的 MarkItDown 确实非常好用,效果在它的目标场景下表现很出色。它并非一个追求版式高保真的万能转换器,而是 一个专门为 AI 大模型(LLM)准备数据的”利器”

我为你整理了一份它的核心优缺点和效果分析,看完你就能判断它是否适合你了:

📊 MarkItDown 效果速览

优点 不足与限制
格式支持极广:支持 Office 文档、PDF、HTML、图片 (OCR)、音视频、CSV/JSON 等,覆盖日常绝大多数文件类型。 复杂版式效果差:对于包含复杂表格、多栏排版或图表的PDF,转换后结构可能错乱,标题层级也可能丢失。
LLM 友好设计:专为 AI 处理优化,能保留标题、表格、链接等文档结构。有报告称可节省高达 80% 的 Token 消耗。 OCR 和音视频依赖外部服务:图片 OCR 和音视频转录通常需要配置 Azure 或 OpenAI 等服务的 API 密钥,本地处理能力有限。
性能高效、易用:转换速度快,内存占用低。安装简单 (pip install 'markitdown[all]'),支持命令行和 Python API 调用。 非高保真转换:不适用于需要完美重现原始排版的场景,在这方面它不如传统的 Pandoc。
强大的生态集成:支持插件系统,并可配置为 MCP Server 集成到 Claude Desktop 等 AI 工具中,扩展性强。 早期版本不稳定:有用户实测发现部分格式(如带图文档)转换失败,或遇到编码问题。

🎯 核心适用场景

它的优点和缺点都非常明确,因此主要适用于以下场景:

  1. 为 AI 应用准备数据:这是它的核心功能。在构建 RAG 知识库、AI 摘要、文档分析等工作流中,将原始文档转为 MarkItDown 是绝佳的预处理步骤。
  2. 日常文档快速提取:当需要快速从 Word、PPT 或标准 Excel 中提取文本和主要结构时,它的效率很高,格式也足够阅读。
  3. 自动化与批处理:其轻量级和高效特性,非常适合在服务器端或 CI/CD 流水线中批量处理文档。

💡 选择建议

  • 如果你为了喂给 AI:那它非常合适,是目前最方便的选择之一。
  • 如果你为了完美排版:那它不太合适,传统工具如 PandocIBM Docling 可能是更好的选择。
  • 如果你的文档以复杂表格或扫描件为主:需要谨慎评估。建议先试用,或考虑集成 Azure Document Intelligence 等云服务来增强效果。

安装和使用 Pandoc 非常简单,它本质上是一个强大的命令行文档转换工具,可以轻松地在各种文档格式间进行转换。

📥 如何安装 Pandoc

你可以根据自己的操作系统选择安装方式:

操作系统 推荐安装方法(在终端中执行) 备选方案
Windows 使用 wingetwinget install --source winget --exact --id JohnMacFarlane.Pandoc 使用 Chocolatey:choco install pandoc,或直接下载安装包
macOS 使用 Homebrewbrew install pandoc 使用 MacPorts:sudo port install pandoc,或下载安装包
Linux Debian/Ubuntu: sudo apt-get install pandoc
Fedora/RHEL: sudo dnf install pandoc
Arch Linux: sudo pacman -S pandoc
如需最新版,可从官网下载二进制包手动安装 。

安装完成后,在终端输入 pandoc --version,如果看到版本信息,就说明安装成功了。

一个小提示:如果你使用 RStudio IDE 进行写作,它已内置了 Pandoc,通常无需再单独安装。

🚀 基本使用方法

Pandoc 的使用遵循一个非常直观的模式,核心就是在终端(或命令提示符)中执行命令:

基础转换命令

最基础的命令格式是:

1
pandoc [输入文件] -o [输出文件]

Pandoc 会根据文件后缀名(如 .md, .docx, .html自动识别输入和输出的格式,非常方便。

1
2
3
4
5
# 将 Markdown 文件转换为 Word 文档
pandoc myfile.md -o myfile.docx

# 将 Word 文档转换为 HTML 网页
pandoc report.docx -o report.html

常用进阶选项

  • 生成独立文档 (-s):对于 HTML、LaTeX 等格式,加上 -s--standalone 会生成一个包含页眉、页脚的完整文件,而不是一个片段。
    1
    pandoc myfile.md -s -o myfile.html
  • 直接生成 PDF:Pandoc 默认通过 LaTeX 引擎创建 PDF,因此你需要预先安装 LaTeX 环境(如 MiKTeX 或 TinyTeX)。
    1
    pandoc myfile.md -o myfile.pdf --pdf-engine=xelatex
    --pdf-engine=xelatex 参数用于处理中文等Unicode字符,能获得更好的排版效果。
  • 处理网络文件:你可以直接输入一个网页URL,Pandoc 会抓取内容并转换。
    1
    pandoc https://www.example.com -f html -t markdown -o output.md

进阶使用:作为Python库

如果你是Python开发者,也可以将其作为库来调用:

1
2
3
4
import pypandoc
# 将一段文本从 Markdown 转换为 reStructuredText
output = pypandoc.convert_text('# 这是一个标题', 'rst', format='md')
print(output)

这种方式能更灵活地将 Pandoc 集成到你的自动化脚本中。

WebClaw 和 Firecrawl 两者其实都是为 AI 时代设计的工具,都能与 AI 无缝集成。它们真正的区别不在于”是否需要接入 AI”,而在于 “运行模式”“目标用户” 的不同。

📊 核心差异:模式与定位

我帮你重新梳理一下它们的核心差异,这样看会更清楚:

对比维度 WebClaw Firecrawl
运行模式 本地优先:一个高性能的Rust命令行工具,数据和操作都在你的电脑上完成 。 云端API优先:一个功能全面的云服务平台,核心功能通过网络API调用 。
核心优势 速度与隐私:亚毫秒级响应,8/10的功能可免费本地使用,无需API Key,数据不上云,对开发者极友好 。 强大与易用:开箱即用,内置浏览器渲染和反爬池,能处理最复杂的网站(如大量JS渲染的SPA应用)。
AI集成方式 提供MCP Server,可作为工具被Claude Desktop、Cursor等AI助手在本地调用 提供云API和MCP Server,同样能被AI助手调用,但处理过程在云端完成 。

🤔 回到你的需求:如果是做采集任务,谁更适合?

现在,我们可以根据你的具体场景来做选择了:

场景一:你是一个开发者/极客,追求效率、隐私,或者需要大规模、高频次地采集数据

在这个场景下,WebClaw 是为你量身定做的。它极致的速度和零成本(大部分功能)能让你在本地快速完成大量任务,非常适合:

  • 批量爬取文档站、博客:为你的私有知识库或RAG应用准备数据。
  • 自动化监控:写个脚本定时检测网页变化。
  • 集成到你的AI编程助手:在 Cursor 或 Claude Desktop 中直接让 AI 帮你查文档、读论文 。

场景二:你的目标是处理复杂的现代网站(如电商详情页),或不想在本地折腾环境,只希望快速获得结果

在这个场景下,Firecrawl 的云端服务是更省心的选择。它的强大之处在于把复杂问题都解决了,比如:

  • 抓取需要登录、交互或大量JS渲染的网站:它的云浏览器池能模拟真实用户行为。
  • 用自然语言提取结构化数据:你只需要说“提取这个页面的产品名称和价格”,它会用AI帮你直接解析成JSON格式 。
  • 企业内部非技术团队使用:市场、运营人员也能通过简单的API调用获取竞品信息 。

一句话总结
WebClaw 像一套放在你手边的专业级工具箱,高效、精准,由你完全掌控。
Firecrawl 更像一个 “全托管”的云端服务,你把需求告诉它,它在云端搞定一切复杂环节,把最终结果交给你。

所以,你的理解是对的,它们确实代表了两种思路。但“接入AI”不是分界线,“本地优先” vs “云端优先” 才是选择的关键。

490张无损专辑打包来了,音质炸裂那种,随便一张拿出来都是精品。搞音乐的、发烧友、还是单纯想听好音乐的,这波不收你亏大了。 免费的,就看你手速够不够快。 https://pan.quark.cn/s/0971297370d8

Read more »

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

0%