Trae 重构的笔记应用完成啦~

离上一篇记录使用 Trae 重构笔记应用的文章已经过了好久。直到现在,终于可以出一个正式版本出来分享给大家啦~!

近期在 Trae 的协助下,给笔记附加了以下功能:

  • 支持多级菜单分类;
  • 使用 AI 生成文章的 description
  • 容器化:即使用 docker 一键部署项目
  • 支持全局搜索笔记内容,快速定位笔记;
  • 图片上传时自动进行压缩并转换格式,增强图片加载速度
  • 笔记可以发布到部署在 Github Pages 上的 hugo 或者 hexo 静态站点 ,即可以作为这类静态站点的在线编辑器
  • 使用 Vditor 编辑器,自带 Markdown 所见即所得、导出以及一键粘贴复制文章到微信公众号、知乎以及掘金

Github 地址:github.com/foxhsx/reme...

为什么要折腾?

其实并不是不愿意用已有的、功能很强大很齐全的笔记软件,比如语雀、Notion、思源和 Obsidian。这些笔记都很强,各有各的亮点,但是我一直以来最大的诉求就是:

  • 既是云笔记,可以将内容存储在私密的数据库空间;
  • 又可以选择性地将笔记和 Github 里的静态站点同步;
  • 能在跨设备使用时,不重复进行配置。

很多笔记应用都能做到第一点,而第二点目前所了解到的只有:

  • Notion + NotionNext;
  • Obsibian + NAS 或者 Github 仓库。

Notion 对于国内用户来说,加载还是比较慢的,试了一下之后直接 pass 掉了。

所以有很长一段时间我将精力都投放到了 Obsibian 上,但是说实话,基于它本身的产品设计,要做到第一点,比较麻烦,尤其是换设备的情况下,总不能换一次配置一次。

直到有一天,我决定自己写一个符合我需求的应用出来:

  • 它可以跑在云上,只需要配置一次,任何设备都能访问
  • 支持 Markdown 语法,而且需要所见即所得;
  • 数据私有化,也可以作为静态博客的在线编辑器
  • 具有笔记的基本功能:多级菜单、上传图片等等。

在 23 年的时候,花了半年左右完成了 md-note 项目,一个一直用到现在的笔记应用。它可以满足我的大部分需求,虽然也有缺陷存在,比如:

  • 页面丑,这个真的是直接套上 ElementUI 前端组件框架就上的,只求快速出一个可以用的产品出来;
  • 使用开源 Milkdown 编辑器,不过在文章内容上,会有一些限制,一些语法不支持,会导致解析错误。

但是这些缺陷是可以忍受的,毕竟它只有我一个人在使用而已。

直到 AI 的出现,给我又提供了使用 AI 进行重构的念头,故此第二版的笔记应用 remember-note 诞生了。

使用 Cursor 和 Trae

前期的时候,用了两天 Cursor,等免费体验时间到期之后,就又转到了 Trae 编辑器上。

因为模型都是 Claude 3.5,所以生产力也没下降,产出速度还是嘎嘎快,只需要输出给 AI 的指令足够明确,基本上给到我的代码都是可以直接跑通的,偶尔有一些 AI 理解不了的业务逻辑,人工花一点点时间就可以完美解决。

使用 Trae 重构进行重构时,我主要做了以下几件事:

  • 给 Trae 直接将我之前的项目文档发给了它;
  • 使用 Builder 模式,以之前的前端代码作为参考,重新使用 Vue3 来创建一个前端项目;
  • 同上,服务端也让 Trae 重写了。

框架被 Trae 重写之后,事情就变得简单得多,因为前期喂过了文档,所以在将前后端项目跑起来之后,缺失哪些功能,让它按照文档描述添加上即可。

如果是隔了几天之后再进行开发,重新把文档内容给它投喂一次,或者将缺失功能的相关文档内容喂给它也可以。就这样断断续续一个多月,项目重构就搞好了。

接下来就是将上文中说到的两个缺陷做了一下优化和修复。

首先是页面样式,其实这一点的改变并没有达到我的预期,因为我并没有专门去做设计啥的,就是图方便,直接让 Trae 仿一下 Notion 的样式,左侧是菜单右侧是笔记主体区域,然后它就成了这样:

实际开始创建笔记并编辑的时候,还是 OK 的,Vditor 编辑器真的赞:

而因为使用了 Vditor 编辑器,所以之前 Milkdown 编辑器存在的语法限制也随之被解决(Vditor: 顺手的事儿),比如直接输入链接的时候,会导致编辑器报错从而渲染不出来内容。

发布功能就是和 Github 上的静态站点联动的入口,这里加了 AI 生成描述的能力。

为了方便部署,也让 Trae 为项目生成 Docker 相关的文件:

  • 前端和服务端的 dockerfile 文件
  • docker-compose.yaml
  • 以及 nginx.conf

顺便也将一些状态作为环境变量提取到了 .env 文件中,比如 AI 配置、Github 仓库配置、OSS 配置(目前只用了阿里云)等等。详细配置可以移步到 Github: github.com/foxhsx/reme...

至此,重构这活儿 99% 都被 Trae 干完了,我就负责测试即可,目前来看:

  • 基本功能使用正常;
  • AI 生成功能正常,需要自己配置 AI Key 和 url;
  • 容器化也 OK;
  • 数据备份需要配置阿里云 OSS;
  • 将笔记同步到 Github 功能正常。

⚠️需要注意的是,因为笔记的图片是存储在部署应用的机器上的,所以图片地址也是云服务器的「IP/Url + 静态资源路径」

相关推荐
金伟API10243 小时前
如何从零打造一个极简的DeepSeek-R1大模型
人工智能·ai
江畔柳前堤3 小时前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
Shockang3 小时前
智能体环路工程实战
人工智能
美摄科技3 小时前
美摄美颜特效SDK Skill:以AI赋能智能视音频新视界
人工智能
Web3_Daisy4 小时前
Pump.fun 与 FOMO 竞争背后的 Meme 市场变局
大数据·人工智能·金融·web3·区块链
AI创界者4 小时前
MiniMax-H3 本地一键部署整合包:8G 显存玩转文图生视频、视频参考、角色替换与超分补帧全流程
人工智能·深度学习
江畔柳前堤4 小时前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程
美摄科技4 小时前
视频一键成片SDK Skill:AI智能分析与语义理解
人工智能
fthux5 小时前
装闭 RenoPit 源码解析(05):FastAPI与Celery如何执行AI装修分析
人工智能·ai·开源·github·open source·renopit
格数致用5 小时前
数据库设计与表结构详解|信息化项目全流程管理系统源码逐行精讲(五)
人工智能·政务·数据库设计·外键约束