文章目錄
- 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
參數可以直接采用生成的結構化數據,否則進入交互式界面對生成的數據進行編輯。
實際開發過程中會對使用方式做動態優化,實際以開發過程為準。