基于Cloudflare woker + CF R2 +CF D1 + Grok Xai的Web Archive
项目地址
有时候一些很好的技术文章想要收集一下
偶然看见这个项目 我非常喜欢 于是写个教程(主要是记录一下,因为部署很简单)
Web Archive 是一个网页归档工具,包含以下几个部分:
- 浏览器插件:将网页保存为网页快照,并上传到服务端。
- 服务端: 接收浏览器插件上传的快照,并存储在数据库和存储桶中。
- web 客户端: 查询快照并展示。
服务端基于 Cloudflare Worker 的全套服务,包含 D1 数据库、R2 存储桶。
功能
- 网页归档,搜索,分享
- 文件夹分类
- 移动端适配
- AI 生成 tag 分类
- 阅读模式
插件下载:
部署
一键部署(推荐!!)
- 打开https://web-archive-docs.pages.dev/deploy.html
- 点一下Deploy with Workers

- 授权一下GitHub
- 再去Cloudflare官网复制Wokers Account ID

- 生成Api令牌,使用Cloudflare Workers模板

- 手动添加一条D1的编辑权限

- 有了Account ID和Api Token按要求填入
- 然后下一步允许Workflows,这样它以后就会自动更新到新版本

- 第一次应该会失败?重新Re-run all jobs后就部署成功了(也许要三次?)

- 这里进去设置一下管理员密码就可以开始使用了(pages.dev被q了),所以最好在自定义域里自定义域名(?)

配置使用Xai

API URL :
https://api.x.ai/v1/chat/completions
模型:
grok-2-latest
当然你想用OpenAI也是可以的 还有Cloudflare的AI也行
本地开发部署(建议用上面的方式部署~除非你10G R2不够用)
安装nodejs npm git pm2 pnpm
apt install nodejs npm git
npm install -g pnpm@latest-10 pm2
git clone https://github.com/Ray-D-Song/web-archive.git
cd web-archive
初始化本地环境
pnpm install
pnpm init:local
输入y回车
pm2启动后端、前端并开机自动启动
pm2 start pnpm --name "web-archive-server" -- run dev:server
pm2 start pnpm --name "web-archive-web" -- run dev:web
pm2 save
pm2 startup
pm2 logs
反向代理
看web-archive-web的端口 然后用caddy或nginx反代一下
我用的是caddy,端口我的是7749就如下
test.*****.de {
reverse_proxy 127.0.0.1:7749
}
启动caddy
sudo systemctl reload caddy
D1和R2在
/web-archive/packages/server/.wrangler/state/v3文件下面
插件使用
插件下载:
效果展示



支持
想部署到服务器上有没有搬法
@z318969887 #2 服务器上可以用archivebox试试?
CF相关的服务是免费的嘛?
@Flanker #4 我觉得个人使用基本不可能超过免费额度
R2 https://developers.cloudflare.com/r2/pricing/#free-tier
存储 10GB/月
A类操作 100 万个请求 / 月
B类操作 1000 万个请求 / 月
出口(数据传输到 Internet) 免费
D1 https://developers.cloudflare.com/workers/platform/pricing/#d1
读取的行数 500 万 / 天
写入的行数 100,000 / 天
存储 5 GB(总计)
@Anon #5
真棒啊,马上就去试试。
好东西
学习了
D1免费额度5g,时间长了肯定不够吧
@奥德彪 #9 刚才测试了一下 保存了5个ns推荐阅读和5个别人的博客
D1占用
R2使用情况