# Xian Favor - 收藏关注系统 一个灵活的收藏管理系统,支持文本、链接、专栏、待办等多种内容类型,提供命令行、API、Web三种操作方式。 ## 功能特性 - **多种内容类型**: 文本片段、网址链接、个人专栏、待办事项 - **标签系统**: 灵活的标签分类,支持多标签 - **状态管理**: 待办事项支持待处理/进行中/已完成状态 - **优先级**: 待办事项支持低/中/高/紧急优先级 - **截止日期**: 待办事项支持设置截止日期 - **全文搜索**: 快速搜索标题、内容、备注 - **统计面板**: 实时统计各类型、状态数量 ## 安装 ```bash cd works/xian-favor pip install -e . ``` ## 使用方式 ### 命令行 (CLI) ```bash # 添加文本笔记 xian_favor add text "这是我的笔记" -t "笔记,重要" # 添加链接 xian_favor add link "https://example.com" --title "示例网站" -t "技术" # 添加专栏 xian_favor add column "https://column.example.com/feed" --title "技术专栏" --source "RSS" -t "订阅" # 添加待办(高优先级,截止日期) xian_favor add todo "完成项目" -p high -d "2026-12-31" -t "工作" # 列出所有条目 xian_favor list # 筛选:只看待办 xian_favor list --type todo # 筛选:只看进行中的待办 xian_favor list --type todo --status in_progress # 筛选:按标签 xian_favor list --tag 技术 # 搜索 xian_favor search "关键词" # 查看详情 xian_favor show 1 # 编辑 xian_favor edit 1 --status completed --note "已完成" # 完成待办(快捷命令) xian_favor done 1 # 删除 xian_favor delete 1 # 标签管理 xian_favor tags xian_favor tags --delete "旧标签" # 统计信息 xian_favor stats # 启动API服务 xian_favor serve --port 19014 ``` ### API 服务 启动服务: ```bash xian_favor serve # 或指定端口 xian_favor serve --port 19014 ``` API端点: | 端点 | 方法 | 说明 | |------|------|------| | `/api/items` | GET | 列出条目 (支持 type/status/tag/keyword 参数) | | `/api/items` | POST | 创建条目 | | `/api/items/` | GET | 获取详情 | | `/api/items/` | PUT | 更新条目 | | `/api/items/` | DELETE | 删除条目 | | `/api/items//done` | POST | 完成待办 | | `/api/tags` | GET | 列出标签 | | `/api/tags` | POST | 创建标签 | | `/api/tags/` | DELETE | 删除标签 | | `/api/emails` | GET | 列出邮箱 | | `/api/emails` | POST | 创建邮箱 | | `/api/emails/` | PUT | 更新邮箱 | | `/api/emails/` | DELETE | 删除邮箱 | | `/api/send-email` | POST | 发送收藏到邮箱 | | `/api/stats` | GET | 统计信息 | | `/api/search` | GET | 搜索 (参数 q=关键词) | ### Web 界面 访问 `http://localhost:19014` 即可使用Web界面: - 侧边栏快速筛选(类型、状态) - 搜索框实时搜索 - 统计卡片实时更新 - 添加/编辑/删除操作 - 一键完成待办 ## 数据存储 数据保存在 `data/xian_favor.db` (SQLite数据库) ## 端口 - 默认端口: **19014** ## 项目结构 ``` xian-favor/ ├── xian_favor/ │ ├── __init__.py │ ├── cli.py # 命令行工具 │ ├── api.py # API + Web服务 │ ├── db.py # 数据库操作 │ └── config.py # 配置 ├── data/ │ └── xian_favor.db # 数据库 ├── pyproject.toml ├── requirements.txt └── README.md ``` ## 版本历史 - **v2.1.0** (2026-04-16): 待办截止时间支持日期+时间 - 截止日期改为日期时间选择器 - 列表显示友好格式:今天 18:30、明天 09:00 等 - 详情页显示完整格式:2026年4月16日 18:30 - 后端支持多种日期格式解析 - 只有日期的待办视为当天 23:59 到期 - **v2.0.1** (2026-04-16): 转换弹窗优化 - 内容预览保留换行格式,提高可读性 - 转换方式默认改为复制创建 - **v2.0.0** (2026-04-16): 收藏转待办功能(大版本更新) - 新增 `/api/items//convert` API - **直接转换**:原收藏变为待办,数据合并 - **复制创建**:保留原收藏,新建待办任务 - 文本/链接/专栏类型可转换 - 内容自动合并到待办备注 - 前端列表和详情页添加转换按钮 - 弹窗配置:标题、状态、优先级、截止日期 - v1.11.0 (2026-04-16): 已完成待办可重新打开 - 新增 `/api/items//reopen` 接口 - 前端列表已完成待办显示重新打开按钮(↻图标) - 可恢复为 pending 或 in_progress 状态 - v1.10.0 (2026-04-16): 网页端待办到期提醒功能 - 新增提醒 API `/api/reminders` - 获取已过期、今天到期、即将到期的待办 - 前端顶部提醒栏显示提醒数量和概要 - 弹窗详情支持快速完成待办 - 每5分钟自动刷新提醒 - v1.9.2 (2026-04-14): 邮件发送历史记录 - 详情页面显示邮件发送记录(发送邮箱、时间) - 支持多次发送,显示多条记录 - 发送成功/失败状态标记 - v1.9.0 (2026-04-14): 发送邮件功能 + 邮箱管理 - 每个收藏卡片添加"发送邮件"按钮 - 选择已有邮箱或输入新邮箱发送 - 新邮箱自动保存到邮箱管理 - 邮箱管理页面:添加、编辑、删除邮箱 - SMTP配置支持环境变量(SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS) - v1.8.0 (2026-04-13): AI自动添加功能,智能识别文本类型并整理数据 - 首页新增"AI添加"按钮 - 粘贴文本/链接/笔记等,AI自动识别类型并提取关键信息 - 支持文本、链接、专栏、待办四种类型自动识别 - 自动生成标签和标题 - v1.7.0 (2026-04-13): 编辑收藏时支持更改类型,动态显示对应字段 - v1.6.0 (2026-04-13): 标签管理添加编辑功能,支持修改标签名称 - v1.5.1 (2026-04-13): 标签管理添加搜索功能,实时过滤标签列表 - v1.5.0 (2026-04-13): 首页添加分页功能,每页20条记录 - v1.4.0 (2026-04-13): 首页添加导出按钮,一键导出所有收藏为JSON文件 - v1.3.2 (2026-04-13): 编辑和添加模态框改为大尺寸(modal-lg) - v1.3.1 (2026-04-13): 备注改名为详情,支持换行显示,扩大输入框 - v1.3.0 (2026-04-13): 标签管理功能和输入自动提示 - 侧边栏新增"标签管理"入口 - 标签管理页面:显示所有标签、使用条目数、创建/删除标签 - 添加/编辑时标签输入支持自动提示(输入时显示匹配的已有标签) - 点击提示标签快速添加 - v1.2.1 (2026-04-13): 卡片显示两行,第二行显示内容预览 - v1.2.0 (2026-04-13): 压缩首页卡片高度,更紧凑的列表布局 - v1.1.1 (2026-04-13): 编辑备注改为多行输入框 - v1.1.0 (2026-04-13): 网页端支持查看详情和编辑功能 - v1.0.0 (2026-04-12): 初始版本,支持CLI/API/Web三种模式