Ai书签管理工具开发全记录(一):项目总览与技术蓝图
文章目录
- Ai书签管理工具开发全记录(一):项目总览与技术蓝图 ✨
- 1. 项目背景与核心价值 💡
- 1.1. 核心特点
- 2. 技术架构分析 🏗️
- 功能架构全景图
- 典型工作流
- 3. 核心技术栈选择 🛠️
- 4. 预期使用功能说明 📋
Ai书签管理工具开发全记录(一):项目总览与技术蓝图 ✨
1. 项目背景与核心价值 💡
在这个信息爆炸的时代,我们经常遇到很多有价值的网页,如何高效地保存、管理和检索这些数字资源成为了一大挑战。本项目旨在开发一个智能化的终端书签管理工具AiBookmark
(以下简称abm
),通过命令行界面与AI技术的深度结合,重塑书签管理的用户体验。
1.1. 核心特点
- 极速操作 ⚡:摆脱浏览器插件或复杂GUI界面,通过简单的CLI命令完成所有操作
- AI加持 🤖:自动解析网页内容生成智能标签,让无序收藏变有序知识库
- 多平台互通 🔗:同时提供TUI界面、HTTP API和Web界面,满足各种使用场景
- 智能协同 🛠️:支持MCP,方便在cherry studio等支持mcp的客户端和ai进行协同操作
2. 技术架构分析 🏗️
功能架构全景图
┌───────────────────────────────────────────────────────┐
│ Ai Bookmark Core │
├─────────────┬─────────────┬─────────────┬─────────────┤
│ CLI Module │ AI Module │ TUI Module │ Serve Module│
└──────┬──────┴──────┬──────┴──────┬──────┴──────┬──────┘│ │ │ │
┌──────▼──────┐ ┌────▼─────┐ ┌─────▼────┐ ┌──────▼──────┐
│ Quick Add │ │ AI │ │ Terminal │ │ RESTful API │
│ & Search │ │ Analysis │ │ UI │ │ & Web APP │
└─────────────┘ └──────────┘ └──────────┘ └─────────────┘
典型工作流
3. 核心技术栈选择 🛠️
为了便于分发和使用,采用go
语言进行开发。打包出来只有单个二进制文件,添加到系统环境变量即可,无需安装。
技术栈选型:
- 开发语言: go + vue
框架选择:
关键需求 | 技术方案 | 优势 |
---|---|---|
命令行交互 | Cobra | 支持子命令自动补全 |
终端UI | tcell+v2 | 真彩色/跨平台支持 |
Web服务 | Gin+Element Plus | 高性能前端一体化 |
AI集成 | eino | 字节开源的ai框架 |
数据持久化 | GORM | 好用的orm框架 |
4. 预期使用功能说明 📋
abm --help
查询使用帮助abm
可以启动tui界面,通过上下左右
箭头可以进行导航,可以对书签进行搜索abm serve
启动web服务器,可以通过-p
参数指定端口amb mcp
可以启动mcp服务器amb add <url>
可以进行增加书签,如果没有指定分类和描述,会进入交互式界面amb add <url> --ai
可以让ai自动分析网页,给出结构化数据。通过--yes
参数可以直接采用生成的结构化数据,否则进入交互式界面对生成的数据进行编辑。
实际开发过程中会对使用方式做动态优化,实际以开发过程为准。