启动我的第一个开源项目:Aelion

今天开始放暑假了,我决定趁暑假编写我的第一个开源项目:一个定位类似 Alist 的个人网盘(或者叫文件管理系统?),我给它起名叫 Aelion。

为什么要写开源项目?我期末的时候找了一个月的实习,海投中大厂,但是没有人鸟我,甚至连一个面试都没捞到,不知道是因为我太菜还是因为我是 27 届。而我又不想去小厂,那就不找了,回家!

为什么要写网盘?在我还没上大学的时候,我就经常自己建一些网站玩。那时候我特别喜欢一个叫 cloudreve 的网盘项目( https://github.com/cloudreve/cloudreve ),期待着以后自己也能写出这么牛逼的项目。既然决定写一个开源项目,那就完成这个愿望吧。

为什么叫 Aelion?因为我想写的是类似于 Alist 的个人向网盘,在起名的时候,我看着 Alist 的名字,想到了一个很喜欢的形象,是 wlop 老师创作的风之女神 Aeolian,于是决定小改一下,叫 Aelion。

Aeolian

关于开发计划,我希望先实现网盘的核心功能以及一些其他项目没有的特色功能,随后再对一些可插拔式的功能慢慢开发。在我的理解中,我将网盘划分为以下几个大的模块:

对外接口:用户与网盘交互的接口,比如 HTTP、webdav、S3 等。

文件处理:上传、下载、基础文件系统操作(目录系统、删除、重命名等)、预览、搜索等。

存储策略:包括本地、节点、各类对象存储等。

在 Alist 和 Cloudreve 已经发展了好几年的基础上,这个计划看起来像重复造轮子(虽然事实上好像就是),但我做这个项目也有其意义。首先,我可以摸清网盘系统的每个细节,自己参与到全链路的开发中,我认为这种摸清整个业务场景的经历是很有利于我的发展的。然后,在两位巨人的肩膀上,我也可以做出很多改进。

在项目的第一个测试版本中,我希望实现最基本的功能,即简易的注册登录、基础的上传下载删除等、本地存储策略与文件系统实现、初具人形的前端。

随着项目的发展,我希望后期实现:

  • 完善的注册登录系统,包括邮箱、手机号、CAPTCHA等。

  • 完善的权限系统,包括用户组、用户组权限、文件权限、文件权限预设等。

  • 和 cloudreve 一样完善的文件操作,包括断点续传、打包下载、在线压缩解压、在线预览、在线编辑(包括文本文件、Office、draw.io等)、获取直链、分享、转存等。

  • 和 Alist 一样丰富的存储策略,同时对外支持 webdav、S3 等。

  • 比 cloudreve 更好看的前端,实现多个平台的客户端。

  • 完善的文档。

同时,在最近使用 Trae、cursor 等 AI IDE 时,我萌生了给网盘添加一些 AI 相关功能的想法。比如用自然语言搜索文件(如:“我的最新版简历”),同时可以直接在网盘系统中进行 chat,好处是可以直接将网盘内文件或目录添加到上下文(比如 IDE 中将目录添加到上下文)。或许还可以实现一些 MCP 功能,有很多方向可以探索。

你刚刚浪费了人生中宝贵的几分钟。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇