[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-LeslieLeung--glean":3,"tool-LeslieLeung--glean":65},[4,18,28,36,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,2,"2026-04-10T01:20:03",[27,13,15,14],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":24,"last_commit_at":34,"category_tags":35,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[27,14],{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":24,"last_commit_at":42,"category_tags":43,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[15,16,44,27,13,45,46,14,47],"视频","其他","语言模型","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":17},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[46,16,45],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":17},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[45,15,16,14],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":122,"forks":123,"last_commit_at":124,"license":125,"difficulty_score":10,"env_os":126,"env_gpu":127,"env_ram":127,"env_deps":128,"category_tags":141,"github_topics":142,"view_count":147,"oss_zip_url":80,"oss_zip_packed_at":80,"status":17,"created_at":148,"updated_at":149,"faqs":150,"releases":180},145,"LeslieLeung\u002Fglean","glean","A self-hosted RSS reader and personal knowledge management tool.","Glean（拾灵）是一个可自行部署的 RSS 阅读器与个人知识管理工具，帮助信息密集型用户高效聚合、整理和回顾网络内容。它解决了信息过载与碎片化阅读的问题，让用户在一个统一界面中订阅、分类、标记并稍后阅读来自不同来源的文章。Glean 特别适合开发者、研究人员、内容创作者等需要持续追踪大量信息源的用户。其核心亮点包括支持多级文件夹与标签组织、自动同步更新、干净的阅读视图，以及注重隐私的自托管架构。未来还将引入 AI 功能，如智能推荐、文章摘要与自动打标（支持自带密钥）。通过 Docker 一键部署，既提供完整版（含向量数据库 Milvus），也提供轻量版，兼顾功能与易用性。目前项目仍在开发中，适合愿意尝试早期版本并关注数据自主权的技术用户。","# Glean 拾灵\n\n**[English](.\u002FREADME.md)** | **[中文](.\u002FREADME.zh-CN.md)**\n\n> [!IMPORTANT]\n> Join our [Discord](https:\u002F\u002Fdiscord.gg\u002FKMKC4sRVSJ) to stay updated on the latest developments and get support.\n>\n> This project is still in development and is not ready for production use.\n\nA self-hosted RSS reader and personal knowledge management tool.\n\n> **Glean** (拾灵) helps information-heavy consumers efficiently manage their reading through intelligent RSS aggregation.\n\n![Glean](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLeslieLeung_glean_readme_d15f98ebaadf.png)\n\n## Features\n\n### Core Features\n- 📰 **RSS Subscription** - Subscribe and organize RSS\u002FAtom feeds with OPML import\u002Fexport\n- 📚 **Smart Reading** - Clean reading experience with content filtering\n- 🔖 **Read Later** - Save articles for later reading with auto-cleanup\n- 📁 **Folders & Tags** - Multi-level folders and tags for organization\n- ⭐ **Bookmarks** - Save articles from feeds or external URLs\n- 🔧 **Background Sync** - Automatic feed updates every 15 minutes\n- 🔒 **Self-hosted** - Full data ownership with Docker deployment\n- 🎨 **Modern UI** - Beautiful, responsive warm dark theme interface\n- 👨‍💼 **Admin Dashboard** - User management and system monitoring\n\n### Planned Features (WIP)\n- 🧠 **Smart Recommendations** - AI-powered preference learning and article scoring\n- ⚙️ **Rule Engine** - Automated processing with Jinja2-style conditions\n- 🤖 **AI Features** - Summary generation, auto-tagging, keyword extraction (BYOK)\n- 📄 **Full Content Fetch** - Fetch complete article content for RSS summaries\n- 🔌 **Chrome Extension** - One-click bookmarking from browser\n- 📱 **Mobile PWA** - Progressive Web App for mobile devices\n\n## Quick Start\n\n### One-Command Deployment\n\n```bash\n# Download docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# Start Glean (full deployment with Milvus)\ndocker compose up -d\n\n# Access:\n# - Web App: http:\u002F\u002Flocalhost\n# - Admin Dashboard: http:\u002F\u002Flocalhost:3001 (default: admin\u002FAdmin123!)\n```\n\n**Default Admin Account**: An admin account is automatically created with:\n- Username: `admin`\n- Password: `Admin123!`\n- ⚠️ **Change this password in production!**\n\n**Lite Deployment** (without Milvus, if you don't need Phase 3 features):\n\n```bash\n# Download lite version\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.lite.yml -o docker-compose.yml\n\n# Start Glean\ndocker compose up -d\n\n# Admin Dashboard: http:\u002F\u002Flocalhost:3001 (default: admin\u002FAdmin123!)\n```\n\n### Customize Admin Account (Optional)\n\nTo use custom admin credentials instead of the defaults, create a `.env` file **before** starting:\n\n```bash\n# Set custom admin credentials in .env\ncat > .env \u003C\u003C EOF\nADMIN_USERNAME=admin\nADMIN_PASSWORD=YourSecurePassword123!\nSECRET_KEY=$(openssl rand -base64 32)\nEOF\n\n# Start services\ndocker compose up -d\n```\n\nTo disable auto-creation and create admin manually:\n\n```bash\n# Disable auto-creation in .env\necho \"CREATE_ADMIN=false\" >> .env\n\n# Start services\ndocker compose up -d\n\n# Create admin manually\ndocker exec -it glean-backend \u002Fapp\u002Fscripts\u002Fcreate-admin-docker.sh\n```\n\n## Configuration\n\nFor production, customize your deployment with environment variables. Download the example file:\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002F.env.example -o .env\n```\n\n**Important settings to change:**\n\n| Variable            | Description          | Default                             |\n| ------------------- | -------------------- | ----------------------------------- |\n| `SECRET_KEY`        | JWT signing key      | **Must change in production!**      |\n| `POSTGRES_PASSWORD` | Database password    | `glean` (**Change in production!**) |\n| `ADMIN_PASSWORD`    | Admin password       | `Admin123!` (**Change!**)           |\n| `WEB_PORT`          | Web interface port   | `80`                                |\n| `ADMIN_PORT`        | Admin dashboard port | `3001`                              |\n| `CREATE_ADMIN`      | Auto-create admin    | `true` (set `false` to disable)     |\n\nFor all configuration options, see [.env.example](.env.example).\n\n## Docker Images\n\nPre-built images are available on GitHub Container Registry:\n\n- `ghcr.io\u002Fleslieleung\u002Fglean-backend:latest` - API server & worker\n- `ghcr.io\u002Fleslieleung\u002Fglean-web:latest` - Web frontend\n- `ghcr.io\u002Fleslieleung\u002Fglean-admin:latest` - Admin dashboard\n\nSupported architectures: `linux\u002Famd64`, `linux\u002Farm64`\n\n### Testing Pre-release Versions\n\nWant to test upcoming features? Use pre-release versions (alpha\u002Fbeta\u002Frc):\n\n**Method 1: Using environment variable (recommended)**\n\n```bash\n# Set the IMAGE_TAG in .env file\necho \"IMAGE_TAG=v0.3.0-alpha.1\" >> .env\n\n# Or export it directly\nexport IMAGE_TAG=v0.3.0-alpha.1\n\n# Start with pre-release images\ndocker compose up -d\n```\n\n**Method 2: Inline environment variable**\n\n```bash\nIMAGE_TAG=v0.3.0-alpha.1 docker compose up -d\n```\n\n**Note**: Pre-release versions are for testing only. They won't trigger auto-updates for Electron apps and are not recommended for production use.\n\nSee available pre-release versions on the [Releases page](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Freleases).\n\n## Deployment\n\nThe default deployment includes all services (full version):\n- **Web App** (port 80) - Main user interface\n- **Admin Dashboard** (port 3001) - User management and system monitoring\n- **Backend API** - FastAPI server\n- **Worker** - Background task processor (feed fetching, cleanup)\n- **PostgreSQL** - Database\n- **Redis** - Task queue\n- **Milvus** - Vector database for smart recommendations and preference learning (Phase 3)\n\n**Lite deployment** (without Milvus) is also available using `docker-compose.lite.yml`.\n\nFor detailed deployment instructions and configuration, see [DEPLOY.md](DEPLOY.md).\n\n## Tech Stack\n\n**Backend:**\n- Python 3.11+ \u002F FastAPI \u002F SQLAlchemy 2.0\n- PostgreSQL \u002F Redis \u002F arq (task queue)\n\n**Frontend:**\n- React 18 \u002F TypeScript \u002F Vite\n- Tailwind CSS \u002F Zustand \u002F TanStack Query\n\n## Development\n\nSee **[DEVELOPMENT.md](.\u002FDEVELOPMENT.md)** for complete development setup instructions.\n\nQuick start:\n\n```bash\n# Clone and setup\ngit clone https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean.git\ncd glean\nnpm install\n\n# Start infrastructure\nmake up\n\n# Initialize database (first time only)\nmake db-upgrade\n\n# Install pre-commit hooks (optional but recommended)\nmake pre-commit-install\n\n# Start all services\nmake dev-all\n\n# Access:\n# - Web: http:\u002F\u002Flocalhost:3000\n# - Admin: http:\u002F\u002Flocalhost:3001\n# - API Docs: http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fdocs\n```\n\n### Pre-commit Hooks\n\nThe project uses pre-commit hooks to ensure code quality:\n\n```bash\n# Install hooks (one-time setup)\nmake pre-commit-install\n\n# Run hooks manually on all files\nmake pre-commit-run\n\n# Uninstall hooks (if needed)\nmake pre-commit-uninstall\n```\n\nHooks automatically run on commit and check:\n- Backend: ruff format, ruff linter, pyright type checking\n- Frontend: ESLint, Prettier formatting\n- General: trailing whitespace, file endings, YAML\u002FJSON\u002FTOML validation\n\n## Roadmap\n\n| Phase                     | Status    | Features                                                       |\n| ------------------------- | --------- | -------------------------------------------------------------- |\n| **Phase 1: MVP**          | ✅ Done    | User system, RSS subscription, reader, admin dashboard         |\n| **Phase 2: Organization** | ✅ Done    | Bookmarks, folders, tags, read later                           |\n| **Phase 3: Preferences**  | 🚧 WIP     | Embedding pipeline, preference learning, smart recommendations |\n| **Phase 4: Rules**        | 📋 Planned | Rule engine, Jinja2 conditions, automated actions              |\n| **Phase 5: AI**           | 📋 Planned | AI summaries, auto-tagging, keyword extraction, BYOK support   |\n| **Phase 6: Extensions**   | 📋 Planned | Chrome extension, PWA, web snapshots                           |\n\nSee **[Product Requirements](.\u002Fdocs\u002Fglean-prd-v1.2.md)** for detailed feature specifications.\n\n## Documentation\n\n- **[Development Guide](.\u002FDEVELOPMENT.md)** - Set up your development environment\n- **[Deployment Guide](.\u002Fdeploy\u002FREADME.md)** - Production deployment details\n\n## Contributing\n\nContributions are welcome! Please read our [Development Guide](.\u002FDEVELOPMENT.md) first.\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Run tests and linting\n5. Submit a Pull Request\n\n## License\n\nThis project is licensed under the **AGPL-3.0 License** - see the [LICENSE](LICENSE) file for details.\n","# Glean 拾灵\n\n**[English](.\u002FREADME.md)** | **[中文](.\u002FREADME.zh-CN.md)**\n\n> [!IMPORTANT]\n> 加入我们的 [Discord](https:\u002F\u002Fdiscord.gg\u002FKMKC4sRVSJ) 以获取最新动态并获得支持。\n>\n> 本项目仍在开发中，尚未准备好用于生产环境。\n\n一个自托管的 RSS 阅读器和个人知识管理工具。\n\n> **Glean**（拾灵）通过智能 RSS 聚合，帮助信息密集型用户高效管理阅读内容。\n\n![Glean](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLeslieLeung_glean_readme_d15f98ebaadf.png)\n\n## 功能特性\n\n### 核心功能\n- 📰 **RSS 订阅** - 订阅并整理 RSS\u002FAtom 源，支持 OPML 导入\u002F导出\n- 📚 **智能阅读** - 提供干净的阅读体验，支持内容过滤\n- 🔖 **稍后阅读** - 保存文章以供后续阅读，并自动清理\n- 📁 **文件夹与标签** - 支持多级文件夹和标签进行内容组织\n- ⭐ **书签** - 从订阅源或外部 URL 保存文章\n- 🔧 **后台同步** - 每 15 分钟自动更新订阅源\n- 🔒 **自托管** - 通过 Docker 部署，完全掌控数据所有权\n- 🎨 **现代化 UI** - 美观、响应式的暖色暗黑主题界面\n- 👨‍💼 **管理员仪表盘** - 用户管理与系统监控\n\n### 计划中的功能（开发中）\n- 🧠 **智能推荐** - 基于 AI 的偏好学习与文章评分\n- ⚙️ **规则引擎** - 使用类 Jinja2 条件实现自动化处理\n- 🤖 **AI 功能** - 自动生成摘要、自动打标签、关键词提取（自带密钥 BYOK）\n- 📄 **全文抓取** - 为 RSS 摘要抓取完整文章内容\n- 🔌 **Chrome 扩展** - 浏览器一键添加书签\n- 📱 **移动 PWA** - 面向移动设备的渐进式 Web 应用（Progressive Web App）\n\n## 快速开始\n\n### 一键部署\n\n```bash\n# 下载 docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# 启动 Glean（完整部署，包含 Milvus）\ndocker compose up -d\n\n# 访问地址：\n# - Web 应用：http:\u002F\u002Flocalhost\n# - 管理员仪表盘：http:\u002F\u002Flocalhost:3001（默认账号：admin\u002FAdmin123!）\n```\n\n**默认管理员账号**：系统会自动创建一个管理员账号：\n- 用户名：`admin`\n- 密码：`Admin123!`\n- ⚠️ **在生产环境中务必修改此密码！**\n\n**轻量部署**（不含 Milvus，如果你不需要第三阶段的功能）：\n\n```bash\n# 下载轻量版配置\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.lite.yml -o docker-compose.yml\n\n# 启动 Glean\ndocker compose up -d\n\n# 管理员仪表盘：http:\u002F\u002Flocalhost:3001（默认账号：admin\u002FAdmin123!）\n```\n\n### 自定义管理员账号（可选）\n\n若要使用自定义管理员凭据而非默认值，请在启动前创建 `.env` 文件：\n\n```bash\n# 在 .env 中设置自定义管理员凭据\ncat > .env \u003C\u003C EOF\nADMIN_USERNAME=admin\nADMIN_PASSWORD=YourSecurePassword123!\nSECRET_KEY=$(openssl rand -base64 32)\nEOF\n\n# 启动服务\ndocker compose up -d\n```\n\n若要禁用自动创建并手动创建管理员账号：\n\n```bash\n# 在 .env 中禁用自动创建\necho \"CREATE_ADMIN=false\" >> .env\n\n# 启动服务\ndocker compose up -d\n\n# 手动创建管理员账号\ndocker exec -it glean-backend \u002Fapp\u002Fscripts\u002Fcreate-admin-docker.sh\n```\n\n## 配置\n\n在生产环境中，请通过环境变量自定义部署。下载示例配置文件：\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002F.env.example -o .env\n```\n\n**需要修改的重要配置项：**\n\n| 变量                | 说明                 | 默认值                              |\n| ------------------- | -------------------- | ----------------------------------- |\n| `SECRET_KEY`        | JWT 签名密钥         | **生产环境必须修改！**              |\n| `POSTGRES_PASSWORD` | 数据库密码           | `glean`（**生产环境请修改！**）     |\n| `ADMIN_PASSWORD`    | 管理员密码           | `Admin123!`（**请修改！**）         |\n| `WEB_PORT`          | Web 界面端口         | `80`                                |\n| `ADMIN_PORT`        | 管理员仪表盘端口     | `3001`                              |\n| `CREATE_ADMIN`      | 是否自动创建管理员   | `true`（设为 `false` 可禁用）       |\n\n所有配置选项详见 [.env.example](.env.example)。\n\n## Docker 镜像\n\n预构建镜像已发布至 GitHub Container Registry：\n\n- `ghcr.io\u002Fleslieleung\u002Fglean-backend:latest` - API 服务器与工作进程\n- `ghcr.io\u002Fleslieleung\u002Fglean-web:latest` - Web 前端\n- `ghcr.io\u002Fleslieleung\u002Fglean-admin:latest` - 管理员仪表盘\n\n支持架构：`linux\u002Famd64`、`linux\u002Farm64`\n\n### 测试预发布版本\n\n想提前体验新功能？可以使用预发布版本（alpha\u002Fbeta\u002Frc）：\n\n**方法 1：使用环境变量（推荐）**\n\n```bash\n# 在 .env 文件中设置 IMAGE_TAG\necho \"IMAGE_TAG=v0.3.0-alpha.1\" >> .env\n\n# 或直接导出环境变量\nexport IMAGE_TAG=v0.3.0-alpha.1\n\n# 使用预发布镜像启动\ndocker compose up -d\n```\n\n**方法 2：内联环境变量**\n\n```bash\nIMAGE_TAG=v0.3.0-alpha.1 docker compose up -d\n```\n\n**注意**：预发布版本仅用于测试。它们不会触发 Electron 应用的自动更新，不建议用于生产环境。\n\n可用的预发布版本请参见 [Releases 页面](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Freleases)。\n\n## 部署\n\n默认部署包含所有服务（完整版）：\n- **Web 应用**（端口 80）- 主用户界面\n- **管理员仪表盘**（端口 3001）- 用户管理与系统监控\n- **后端 API** - FastAPI 服务器\n- **Worker** - 后台任务处理器（抓取订阅源、清理等）\n- **PostgreSQL** - 数据库\n- **Redis** - 任务队列\n- **Milvus** - 向量数据库，用于智能推荐与偏好学习（第三阶段）\n\n也可使用 `docker-compose.lite.yml` 进行**轻量部署**（不含 Milvus）。\n\n详细部署说明与配置请参见 [DEPLOY.md](DEPLOY.md)。\n\n## 技术栈\n\n**后端：**\n- Python 3.11+ \u002F FastAPI \u002F SQLAlchemy 2.0\n- PostgreSQL \u002F Redis \u002F arq（任务队列）\n\n**前端：**\n- React 18 \u002F TypeScript \u002F Vite\n- Tailwind CSS \u002F Zustand \u002F TanStack Query\n\n## 开发\n\n完整开发环境搭建说明请参见 **[DEVELOPMENT.md](.\u002FDEVELOPMENT.md)**。\n\n快速开始：\n\n```bash\n# 克隆并初始化\ngit clone https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean.git\ncd glean\nnpm install\n\n# 启动基础设施\nmake up\n\n# 初始化数据库（仅首次需要）\nmake db-upgrade\n\n# 安装 pre-commit 钩子（可选但推荐）\nmake pre-commit-install\n\n# 启动所有服务\nmake dev-all\n\n# 访问地址：\n# - Web：http:\u002F\u002Flocalhost:3000\n# - 管理员：http:\u002F\u002Flocalhost:3001\n# - API 文档：http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fdocs\n```\n\n### Pre-commit 钩子\n\n本项目使用 pre-commit 钩子确保代码质量：\n\n```bash\n# 安装钩子（一次性设置）\nmake pre-commit-install\n\n# 手动对所有文件运行钩子\nmake pre-commit-run\n\n# 卸载钩子（如需要）\nmake pre-commit-uninstall\n```\n\n钩子会在每次提交时自动运行，检查以下内容：\n- 后端：ruff 格式化、ruff 代码检查、pyright 类型检查\n- 前端：ESLint、Prettier 格式化\n- 通用：尾部空白字符、文件结尾符、YAML\u002FJSON\u002FTOML 验证\n\n## 路线图\n\n| 阶段（Phase）             | 状态       | 功能（Features）                                               |\n| ------------------------- | ---------- | -------------------------------------------------------------- |\n| **第一阶段：MVP**         | ✅ 已完成   | 用户系统、RSS 订阅、阅读器、管理仪表盘（admin dashboard）      |\n| **第二阶段：组织管理**    | ✅ 已完成   | 书签（Bookmarks）、文件夹（folders）、标签（tags）、稍后阅读（read later） |\n| **第三阶段：偏好设置**    | 🚧 进行中   | 嵌入（Embedding）流水线、偏好学习（preference learning）、智能推荐（smart recommendations） |\n| **第四阶段：规则引擎**    | 📋 计划中   | 规则引擎（Rule engine）、Jinja2 条件、自动化操作（automated actions） |\n| **第五阶段：AI 功能**     | 📋 计划中   | AI 摘要（AI summaries）、自动打标（auto-tagging）、关键词提取（keyword extraction）、自带密钥（BYOK, Bring Your Own Key）支持 |\n| **第六阶段：扩展功能**    | 📋 计划中   | Chrome 扩展、PWA（渐进式 Web 应用）、网页快照（web snapshots） |\n\n详细的功能规格说明请参见 **[产品需求文档](.\u002Fdocs\u002Fglean-prd-v1.2.md)**。\n\n## 文档\n\n- **[开发指南](.\u002FDEVELOPMENT.md)** - 设置你的开发环境\n- **[部署指南](.\u002Fdeploy\u002FREADME.md)** - 生产环境部署详情\n\n## 贡献\n\n欢迎贡献！请先阅读我们的 [开发指南](.\u002FDEVELOPMENT.md)。\n\n1. Fork 本仓库  \n2. 创建特性分支（feature branch）  \n3. 进行修改  \n4. 运行测试和代码检查（linting）  \n5. 提交 Pull Request  \n\n## 许可证\n\n本项目采用 **AGPL-3.0 许可证**，详情请参见 [LICENSE](LICENSE) 文件。","# Glean（拾灵）快速上手指南\n\nGlean 是一个自托管的 RSS 阅读器与个人知识管理工具，帮助信息密集型用户通过智能 RSS 聚合高效管理阅读内容。\n\n> ⚠️ 项目仍在开发中，**不建议用于生产环境**。  \n> 💬 加入 [Discord](https:\u002F\u002Fdiscord.gg\u002FKMKC4sRVSJ) 获取最新动态与支持。\n\n---\n\n## 环境准备\n\n### 系统要求\n- 支持 Docker 的 Linux \u002F macOS \u002F Windows 系统\n- 推荐配置：2 核 CPU、4GB 内存（完整版含 Milvus）\n- 若仅需基础功能（不含 AI 推荐），可使用 **Lite 版本**，资源占用更低\n\n### 前置依赖\n- [Docker](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Finstall\u002F)（版本 ≥ 20.10）\n- [Docker Compose](https:\u002F\u002Fdocs.docker.com\u002Fcompose\u002Finstall\u002F)（已集成在新版 Docker 中）\n\n> 🇨🇳 **国内用户建议**：配置 Docker 镜像加速器（如阿里云、中科大镜像源），以提升拉取 `ghcr.io` 镜像的速度。\n\n---\n\n## 安装步骤\n\n### 方法一：完整部署（含 Milvus，支持未来 AI 功能）\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\ndocker compose up -d\n```\n\n### 方法二：轻量部署（推荐新手或低配设备）\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.lite.yml -o docker-compose.yml\ndocker compose up -d\n```\n\n### 自定义管理员账号（可选）\n在启动前创建 `.env` 文件以设置安全凭据：\n```bash\ncat > .env \u003C\u003C EOF\nADMIN_USERNAME=admin\nADMIN_PASSWORD=YourSecurePassword123!\nSECRET_KEY=$(openssl rand -base64 32)\nPOSTGRES_PASSWORD=YourDBPassword123!\nEOF\n\ndocker compose up -d\n```\n\n> 🔒 **重要**：默认账号为 `admin` \u002F `Admin123!`，**务必在生产环境中修改密码和密钥**！\n\n---\n\n## 基本使用\n\n1. **访问 Web 应用**  \n   浏览器打开：[http:\u002F\u002Flocalhost](http:\u002F\u002Flocalhost)\n\n2. **登录管理员后台（可选）**  \n   地址：[http:\u002F\u002Flocalhost:3001](http:\u002F\u002Flocalhost:3001)  \n   使用 `.env` 中设置的账号或默认账号登录\n\n3. **添加 RSS 订阅**  \n   - 点击左上角「+」号 → 「添加订阅」\n   - 输入 RSS\u002FAtom 链接（如 `https:\u002F\u002Fexample.com\u002Ffeed.xml`）\n   - 支持 OPML 导入导出（设置 → 导入\u002F导出）\n\n4. **阅读与管理**  \n   - 文章自动每 15 分钟同步一次\n   - 可标记「稍后读」、打标签、归类到文件夹\n   - 支持从任意网页手动添加书签（需复制链接）\n\n> ✅ 至此，你已成功运行 Glean 并开始管理信息流！更多高级功能（如规则引擎、AI 摘要）将在后续版本逐步开放。","一位独立开发者每天需要追踪 30+ 技术博客、开源项目更新和行业资讯，信息来源分散且内容质量参差不齐。\n\n### 没有 glean 时\n- 使用多个 RSS 阅读器和浏览器书签管理订阅源，内容重复且无法统一归档  \n- 遇到长文或深度技术文章只能临时保存到笔记软件，缺乏上下文关联，后续难以查找  \n- 无法自动过滤低质量内容（如营销软文、重复转载），浪费大量筛选时间  \n- 移动端阅读体验差，不同平台同步状态混乱，经常重复阅读或遗漏重要内容  \n- 所有数据托管在第三方服务，担心隐私泄露且无法灵活扩展功能  \n\n### 使用 glean 后\n- 通过自托管部署将所有 RSS\u002FAtom 订阅集中管理，支持 OPML 一键迁移原有订阅列表  \n- 利用“稍后读”和标签系统对技术文章分类归档，结合文件夹结构建立个人知识库  \n- 开启内容过滤规则，自动屏蔽关键词匹配的低质内容，提升信息摄入效率  \n- 响应式界面在手机和电脑上无缝同步阅读进度，PWA 支持离线查看已加载文章  \n- 数据完全本地掌控，未来可接入 AI 功能实现自动摘要与智能推荐，无需依赖外部平台  \n\nglean 让重度信息消费者从“被动接收”转向“主动管理”，真正把碎片化阅读转化为结构化知识资产。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLeslieLeung_glean_d15f98eb.png","LeslieLeung","Leslie Leung","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FLeslieLeung_e61ac1f4.jpg","Code for fun, and for ever.",null,"Shenzhen, China","leslieleung@pm.me","3verest_at_x","ameow.xyz","https:\u002F\u002Fgithub.com\u002FLeslieLeung",[87,91,95,99,103,107,111,115,118],{"name":88,"color":89,"percentage":90},"TypeScript","#3178c6",51.3,{"name":92,"color":93,"percentage":94},"Python","#3572A5",44.1,{"name":96,"color":97,"percentage":98},"CSS","#663399",3.4,{"name":100,"color":101,"percentage":102},"Makefile","#427819",0.4,{"name":104,"color":105,"percentage":106},"JavaScript","#f1e05a",0.3,{"name":108,"color":109,"percentage":110},"Shell","#89e051",0.2,{"name":112,"color":113,"percentage":114},"Dockerfile","#384d54",0.1,{"name":116,"color":117,"percentage":114},"HTML","#e34c26",{"name":119,"color":120,"percentage":121},"Mako","#7e858d",0,804,58,"2026-04-08T19:51:24","AGPL-3.0","Linux, macOS, Windows","未说明",{"notes":129,"python":130,"dependencies":131},"项目支持通过 Docker 部署，包含完整版（含 Milvus 向量数据库）和精简版（不含 Milvus）。生产环境需修改默认密码和 SECRET_KEY。AI 相关功能（如摘要生成、自动打标签）尚在计划中，当前版本不依赖 GPU。","3.11+",[132,133,134,135,136,137,88,138,139,140],"FastAPI","SQLAlchemy>=2.0","PostgreSQL","Redis","arq","React>=18","Tailwind CSS","Zustand","TanStack Query",[16,27],[143,144,145,146],"rss","rss-reader","mcp","mcp-server",4,"2026-03-27T02:49:30.150509","2026-04-11T16:55:44.030934",[151,156,160,165,170,175],{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},229,"使用 curl 拉取 docker-compose.yml 部署后，为什么仍是旧版本（如 0.2.1）而不是最新版（如 0.2.3）？","Docker 的 latest 标签有时不会自动拉取最新镜像。建议在启动时手动指定镜像版本，例如：`IMAGE_TAG=0.2.3 docker compose up -d`。后续文档会更新此说明。","https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\u002F85",{"id":157,"question_zh":158,"answer_zh":159,"source_url":155},230,"Mac 客户端打开后显示黑屏，无法加载界面，怎么办？","这是由于 Electron 打包时遗漏了某些文件。官方建议直接通过浏览器访问 Glean，功能完全相同且性能可能更好。该问题已在 #87 中修复。",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},231,"执行 `docker exec -it glean-backend \u002Fapp\u002Fscripts\u002Fcreate-admin-docker.sh` 创建管理员时报错“找不到 create-admin.py”怎么办？","该问题是脚本路径错误导致的，已在 v0.2.4-alpha.1 版本中修复。请拉取新镜像并指定版本运行：`IMAGE_TAG=v0.2.4-alpha.1 docker compose up -d`。","https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\u002F86",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},232,"一键部署后，默认管理员账号密码提示“Invalid username or password”，如何解决？","该问题已在 v0.2.4 版本中修复。请使用新版本重新部署：`IMAGE_TAG=v0.2.4 docker compose up -d`。","https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\u002F99",{"id":171,"question_zh":172,"answer_zh":173,"source_url":174},233,"在 NAS 上部署后，界面显示的版本号仍是 V0.1.0，但已拉取最新镜像，怎么回事？","需要同时更新 `docker-compose.yml` 文件，并在环境变量中显式指定镜像版本，例如：`IMAGE_TAG=v0.2.4`，以确保使用最新版本。","https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\u002F106",{"id":176,"question_zh":177,"answer_zh":178,"source_url":179},234,"创建管理员用户时出现错误：“'str' object has no attribute 'value'”，如何解决？","该错误是由于角色字段处理不当导致的，已在 v0.1.4 版本中修复。请升级到该版本或更高版本。","https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\u002F2",[181,186,191,196,201,206,211,216,221,226,231,236,241,246,251,256,261,266,271],{"id":182,"version":183,"summary_zh":184,"released_at":185},198546,"v0.2.3-alpha.2","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only. \n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.3-alpha.2\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.3-alpha.2\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.3-alpha.2\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.3-alpha.2\n  \n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.3-alpha.2\n  \n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.3-alpha.2\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n## What's Changed\n* fix: db session by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F75\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.3-alpha.1...v0.2.3-alpha.2","2025-12-19T09:30:20",{"id":187,"version":188,"summary_zh":189,"released_at":190},198547,"v0.2.3-alpha.1","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only. \n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.3-alpha.1\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.3-alpha.1\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.3-alpha.1\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.3-alpha.1\n  \n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.3-alpha.1\n  \n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.3-alpha.1\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n## What's Changed\n* chore(deps): update actions\u002Fcheckout action to v6 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F50\n* chore(deps): update actions\u002Fsetup-node action to v6 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F51\n* chore(deps): update dependency pnpm to v10 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F54\n* chore(deps): update softprops\u002Faction-gh-release action to v2 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F62\n* chore(deps): update dependency node to v24 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F53\n* chore(deps): update pnpm\u002Faction-setup action to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F55\n* chore(deps): update actions\u002Fcache action to v5 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F49\n* fix(deps): update dependency i18next-browser-languagedetector to v8 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F65\n* fix: milvus connection; collection not found due to race conditions by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F67\n* fix(deps): update dependency date-fns to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F63\n* fix(deps): update dependency i18next to v25 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F64\n* fix(deps): update dependency react-i18next to v16 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F66\n* chore(deps): update dependency zod to v4.2.1 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F69\n* feat: add pre release workflow by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F70\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.2...v0.2.3-alpha.1","2025-12-19T06:59:19",{"id":192,"version":193,"summary_zh":194,"released_at":195},198548,"v0.2.2","## Docker Images\n\nThis release includes the following Docker images:\n\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.2`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.2`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.2`\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n## Quick Start\n\n```bash\n# Download docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# Start Glean\ndocker compose up -d\n\n# Access at http:\u002F\u002Flocalhost\n```\n\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\n\n\n## What's Changed\n* Hotfix\u002Fdeployment by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F58\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.0...v0.2.2","2025-12-17T14:45:29",{"id":197,"version":198,"summary_zh":199,"released_at":200},198549,"v0.2.1","## Changelog\r\n\r\nFix deployment issues.\r\n\r\n> [!important]\r\n> If you're upgrading from a previous version, you'll need to purge the old data due to incompatibility with `docker compose down -v`. Note that this command will DELETE ALL DATA permanently.\r\n> Glean is still in active development, and I sincerely apologize for this inconvenience. \r\n\r\n## Docker Images\r\n\r\nThis release includes the following Docker images:\r\n\r\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.1`\r\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.1`\r\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.1`\r\n\r\n## Desktop Apps\r\n\r\nDownload the desktop application for your platform from the assets below.\r\n\r\n## Quick Start\r\n\r\n```bash\r\n# Download docker-compose.yml\r\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\r\n\r\n# Start Glean\r\ndocker compose up -d\r\n\r\n# Access at http:\u002F\u002Flocalhost\r\n```\r\n\r\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.0...v0.2.1","2025-12-16T08:13:40",{"id":202,"version":203,"summary_zh":204,"released_at":205},198550,"v0.2.0","🎉 Glean v0.2.0 发布！\r\n\r\n✨ 核心更新：\r\n• 🧠 智能偏好系统 - 基于向量学习你的阅读喜好\r\n• 📊 智能推荐视图 - 自动分层展示（推荐\u002F普通\u002F可能不感兴趣）\r\n• 👍👎 喜欢\u002F不喜欢 - 一键反馈偏好，持续优化推荐\r\n• 🔍 向量检索 - Milvus 驱动的语义相似度计算\r\n• 🌐 国际化支持 - 中英文双语界面\r\n\r\n🛠️ 系统增强：\r\n• 统一日志系统 - 结构化日志，便于调试\r\n• 管理后台升级 - 系统配置、注册开关\r\n• UI 组件库更新 - 基于 COSS UI 的现代化界面\r\n\r\n🎉 Glean v0.2.0 Released!\r\n\r\n✨ Core Updates:\r\n• 🧠 Preference System - Vector-based learning of your reading preferences\r\n• 📊 Smart View - Automatic tiered display (Recommended\u002FNormal\u002FLikely Not Interested)\r\n• 👍👎 Like\u002FDislike - One-click preference feedback for continuous recommendation optimization\r\n• 🔍 Vector Search - Milvus-powered semantic similarity computation\r\n• 🌐 Internationalization Support - Bilingual interface in Chinese and English\r\n\r\n🛠️ System Enhancements:\r\n• Unified Logging System - Structured logs for easier debugging\r\n• Admin Dashboard Upgrade - System configuration and registration toggle\r\n• UI Component Library Update - Modern interface based on COSS UI\r\n\r\n## What's Changed\r\n* Add Claude Code GitHub Workflow by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F4\r\n* fix(backend): fix CI errors with linting and testing by @frostming in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F3\r\n* Package frontend with Electron by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F6\r\n* Persist user login state in Electron app by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F8\r\n* Fix development setup script and default configuration by @eic0 in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F11\r\n* chore: Configure Renovate by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F13\r\n* fix(deps): update all non-major dependencies by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F14\r\n* chore(deps): update actions\u002Fcheckout action to v6 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F15\r\n* chore(deps): update astral-sh\u002Fsetup-uv action to v7 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F18\r\n* chore(deps): update actions\u002Fsetup-node action to v6 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F17\r\n* chore(deps): update postgres docker tag to v18 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F29\r\n* chore(deps): update redis docker tag to v8 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F30\r\n* chore(deps): update codecov\u002Fcodecov-action action to v5 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F19\r\n* chore(deps): update softprops\u002Faction-gh-release action to v2 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F31\r\n* chore(deps): update docker\u002Fbuild-push-action action to v6 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F25\r\n* Fix frontend lint issues by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F40\r\n* Fix TypeScript error in client electronAPI property by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F41\r\n* chore(deps): update dependency electron-builder to v26 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F21\r\n* chore(deps): update dependency @vitejs\u002Fplugin-react-swc to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F20\r\n* chore(deps): update node.js to v24 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F26\r\n* fix(deps): update dependency @hookform\u002Fresolvers to v5 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F33\r\n* chore(deps): update pnpm\u002Faction-setup action to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F28\r\n* fix(deps): update dependency react-router-dom to v7 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F35\r\n* fix(deps): update dependency zod to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F37\r\n* chore(deps): update dependency vite to v7 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F24\r\n* fix(deps): update dependency date-fns to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F34\r\n* fix(deps): update dependency tailwind-merge to v3 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F36\r\n* fix(deps): update dependency zustand to v5 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F38\r\n* chore(deps): update pnpm to v10 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F27\r\n* fix(deps): update dependency lucide-react to ^0.561.0 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F42\r\n* chore(deps): update dependency eslint-config-prettier to v10 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F23\r\n* chore(deps): update typescript-eslint monorepo to v8 (major) by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F32\r\n* chore(deps): update dependency eslint to v9 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F22\r\n* chore(deps): update dependency globals to v16 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F43\r\n* feat: Add system settings and registration control by @eic0 in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F12\r\n","2025-12-15T20:38:08",{"id":207,"version":208,"summary_zh":209,"released_at":210},198551,"v0.1.4","## Docker Images\n\nThis release includes the following Docker images:\n\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.1.4`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.1.4`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.1.4`\n\n## Quick Start\n\n```bash\n# Download docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# Start Glean\ndocker compose up -d\n\n# Access at http:\u002F\u002Flocalhost\n```\n\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.1.3...v0.1.4","2025-12-02T02:15:11",{"id":212,"version":213,"summary_zh":214,"released_at":215},198552,"v0.1.3","## Docker Images\n\nThis release includes the following Docker images:\n\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.1.3`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.1.3`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.1.3`\n\n## Quick Start\n\n```bash\n# Download docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# Start Glean\ndocker compose up -d\n\n# Access at http:\u002F\u002Flocalhost\n```\n\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.1.2...v0.1.3","2025-12-01T20:01:15",{"id":217,"version":218,"summary_zh":219,"released_at":220},198553,"v0.1.2","## Docker Images\n\nThis release includes the following Docker images:\n\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.1.2`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.1.2`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.1.2`\n\n## Quick Start\n\n```bash\n# Download docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# Start Glean\ndocker compose up -d\n\n# Access at http:\u002F\u002Flocalhost\n```\n\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.1.1...v0.1.2","2025-11-30T20:47:09",{"id":222,"version":223,"summary_zh":224,"released_at":225},198554,"v0.1.1","## Docker Images\n\nThis release includes the following Docker images:\n\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.1.1`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.1.1`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.1.1`\n\n## Quick Start\n\n```bash\n# Download docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# Start Glean\ndocker compose up -d\n\n# Access at http:\u002F\u002Flocalhost\n```\n\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.1.0...v0.1.1","2025-11-30T20:18:40",{"id":227,"version":228,"summary_zh":229,"released_at":230},198555,"v0.1.0","## Docker Images\n\nThis release includes the following Docker images:\n\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.1.0`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.1.0`\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.1.0`\n\n## Quick Start\n\n```bash\n# Download docker-compose.yml\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\n\n# Start Glean\ndocker compose up -d\n\n# Access at http:\u002F\u002Flocalhost\n```\n\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcommits\u002Fv0.1.0","2025-11-30T20:07:59",{"id":232,"version":233,"summary_zh":234,"released_at":235},198537,"v0.2.5","# Glean v0.2.5 Release Notes\r\n\r\n## Highlights\r\n\r\nThis release introduces **MCP (Model Context Protocol) server support**, enabling AI assistants (e.g., Claude Desktop) to search and interact with your Glean RSS subscriptions. A full API token management system was added to support secure authentication for MCP clients.\r\n\r\n## 🚀 New Features\r\n\r\n### MCP Server\r\n\r\nA built-in MCP server exposing Glean's core functionality to LLM clients via Streamable HTTP transport. Available tools:\r\n\r\n- `search_entries` — Search articles by keyword across title, content, and summary\r\n- `get_entry` — Retrieve full details of a specific article\r\n- `list_entries_by_date` — List articles within a date range, with optional read status and feed filters\r\n- `list_subscriptions` — List RSS feed subscriptions with unread counts\r\n\r\n### API Token Management\r\n\r\nA complete token lifecycle system for MCP authentication:\r\n\r\n- Create named, long-lived API tokens with optional expiration (30 days \u002F 90 days \u002F 1 year \u002F never)\r\n- Tokens are hashed with bcrypt at rest; the plain token is only shown once upon creation\r\n- List, revoke tokens, and automatically track last-used timestamps\r\n\r\n### Settings UI — API Tokens Tab\r\n\r\nA new tab in the Settings page for managing API tokens from the browser:\r\n\r\n- Token creation dialog with name and expiration options\r\n- One-click copy-to-clipboard for newly created tokens\r\n- Revocation with confirmation dialog\r\n- Built-in MCP configuration guide showing Claude Desktop JSON config with the current domain auto-filled\r\n\r\n# Glean v0.2.5 发布说明\r\n\r\n## 亮点\r\n\r\n本次发布引入了 **MCP（Model Context Protocol）服务器支持**，使 AI 助手（如 Claude Desktop）可以搜索和访问你在 Glean 中订阅的 RSS 内容。同时新增了完整的 API Token 管理系统，用于 MCP 客户端的安全认证。\r\n\r\n## 🚀 新功能\r\n\r\n### MCP 服务器\r\n\r\n内置 MCP 服务器，通过 Streamable HTTP 传输协议向 LLM 客户端暴露 Glean 核心功能。可用工具：\r\n\r\n- `search_entries` — 按关键词搜索文章，匹配标题、正文和摘要\r\n- `get_entry` — 获取指定文章的完整详情\r\n- `list_entries_by_date` — 按日期范围列出文章，支持已读状态和订阅源筛选\r\n- `list_subscriptions` — 列出 RSS 订阅源及未读数量\r\n\r\n### API Token 管理\r\n\r\n为 MCP 认证提供完整的令牌生命周期管理：\r\n\r\n- 创建命名的长期有效 API Token，可选过期时间（30 天 \u002F 90 天 \u002F 1 年 \u002F 永不过期）\r\n- Token 以 bcrypt 哈希存储，明文仅在创建时展示一次\r\n- 支持列出、吊销令牌，并自动记录最近使用时间\r\n\r\n### 设置页面 — API Tokens 标签页\r\n\r\n在设置页面新增标签页，可在浏览器中管理 API Token：\r\n\r\n- Token 创建对话框，支持设置名称和过期时间\r\n- 新创建的 Token 支持一键复制到剪贴板\r\n- 吊销操作带确认对话框\r\n- 内置 MCP 配置指南，展示 Claude Desktop JSON 配置示例并自动填充当前域名\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.4...v0.2.5","2026-01-29T13:21:55",{"id":237,"version":238,"summary_zh":239,"released_at":240},198538,"v0.2.5-alpha.4","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only.\n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.4\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.4\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.4\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.4\n\n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.4\n\n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.4\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.5-alpha.3...v0.2.5-alpha.4","2026-01-22T04:59:52",{"id":242,"version":243,"summary_zh":244,"released_at":245},198539,"v0.2.5-alpha.3","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only.\n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.3\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.3\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.3\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.3\n\n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.3\n\n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.3\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.5-alpha.2...v0.2.5-alpha.3","2026-01-22T03:55:02",{"id":247,"version":248,"summary_zh":249,"released_at":250},198540,"v0.2.5-alpha.2","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only.\n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.2\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.2\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.2\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.2\n\n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.2\n\n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.2\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.5-alpha.1...v0.2.5-alpha.2","2026-01-22T03:23:27",{"id":252,"version":253,"summary_zh":254,"released_at":255},198541,"v0.2.5-alpha.1","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only.\n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.1\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.1\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.1\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.5-alpha.1\n\n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.5-alpha.1\n\n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.5-alpha.1\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.4...v0.2.5-alpha.1","2026-01-22T01:25:14",{"id":257,"version":258,"summary_zh":259,"released_at":260},198542,"v0.2.4","# Glean v0.2.4 Release Notes\r\n\r\n## 🚀 New Features\r\n\r\n### Desktop & PWA Support\r\n\r\n- **Electron Desktop App**: Native desktop application support for Windows, macOS, and Linux\r\n- **Progressive Web App (PWA)**: Install Glean as a standalone app on mobile and desktop browsers\r\n- **Improved Server Configuration**: Enhanced API configuration dialog with health checks, timeout management, and URL validation\r\n\r\n### User Management\r\n\r\n- **Default Admin Account**: Automatically creates default admin account on first startup for easier deployment\r\n- **Admin Creation Script**: New command-line script for creating admin users (`backend\u002Fscripts\u002Fcreate-admin.py`)\r\n- **Simplified Setup**: Removed password strength requirements for more flexible user management\r\n\r\n### UI\u002FUX Enhancements\r\n\r\n- **Enhanced Mobile Navigation**: Improved mobile UI with better transitions and navigation experience\r\n- **Article Reader Improvements**: Enhanced button visibility and accessibility in ArticleReader and sidebar components\r\n- **Smart Sorting**: Optimized smart sorting logic for folders and feeds\r\n- **Better Layout**: Improved settings page layout with adjusted grid spacing\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- **Settings UI**: Fixed overlapping appearance selector in settings page\r\n- **Smart Filters**: Clarified smart filter behavior and updated conditional rendering in ReaderPage\r\n- **Electron Build**: Resolved Electron build issues\r\n- **Deployment**: Fixed deployment-related issues\r\n- **Session Management**: Updated session management in create-admin script\r\n\r\n## 📚 Documentation\r\n\r\n- **Updated Best Practices**: Added guidelines for using `window` vs `globalThis` in browser-specific APIs\r\n- **Deployment Guide**: Enhanced deployment documentation with new admin account setup instructions\r\n- **Improved Comments**: Enhanced code comments to clarify filter behavior\r\n\r\n---\r\n\r\n# Glean v0.2.4 发布说明\r\n\r\n\r\n## 🚀 新功能\r\n\r\n### 桌面端与 PWA 支持\r\n\r\n- **Electron 桌面应用**：支持 Windows、macOS 和 Linux 原生桌面应用\r\n- **渐进式 Web 应用 (PWA)**：可在移动端和桌面浏览器上安装为独立应用\r\n- **改进的服务器配置**：增强 API 配置对话框，支持健康检查、超时管理和 URL 验证\r\n\r\n### 用户管理\r\n\r\n- **默认管理员账户**：首次启动时自动创建默认管理员账户，简化部署流程\r\n- **管理员创建脚本**：新增命令行脚本用于创建管理员用户 (`backend\u002Fscripts\u002Fcreate-admin.py`)\r\n- **简化设置**：移除密码强度要求，提供更灵活的用户管理\r\n\r\n### 界面与交互优化\r\n\r\n- **增强的移动端导航**：改进移动端界面，优化过渡动画和导航体验\r\n- **文章阅读器改进**：增强文章阅读器和侧边栏组件的按钮可见性和可访问性\r\n- **智能排序**：优化文件夹和订阅源的智能排序逻辑\r\n- **布局优化**：改进设置页面布局，调整网格间距\r\n\r\n## 🐛 错误修复\r\n\r\n- **设置界面**：修复设置页面中外观选择器重叠的问题\r\n- **智能过滤器**：明确智能过滤器行为，更新 ReaderPage 中的条件渲染\r\n- **Electron 构建**：解决 Electron 构建问题\r\n- **部署问题**：修复部署相关问题\r\n- **会话管理**：更新创建管理员脚本中的会话管理\r\n\r\n## 📚 文档\r\n\r\n- **最佳实践更新**：添加在浏览器特定 API 中使用 `window` 与 `globalThis` 的指南\r\n- **部署指南**：增强部署文档，添加新的管理员账户设置说明\r\n- **注释改进**：增强代码注释以阐明过滤器行为\r\n\r\n## 🔧 依赖更新\r\n\r\n- 更新 react-i18next 至 v16.5.3\r\n- 更新 typescript-eslint 至 v8.53.0\r\n- 更新 turbo 至 v2.7.4\r\n- 更新 zod 至 v4.3.5\r\n- 更新 @tanstack\u002Freact-query 至 v5.90.16\r\n- 更新 react-hook-form 至 v7.69.0\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.3...v0.2.4","2026-01-16T20:19:45",{"id":262,"version":263,"summary_zh":264,"released_at":265},198543,"v0.2.4-alpha.1","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only.\n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.4-alpha.1\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.4-alpha.1\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.4-alpha.1\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.4-alpha.1\n\n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.4-alpha.1\n\n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.4-alpha.1\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n## What's Changed\n* chore(deps): update dependency react-hook-form to v7.69.0 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F82\n* chore(deps): update dependency turbo to v2.7.2 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F84\n* chore(deps): update typescript-eslint monorepo to v8.50.1 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F81\n* feat: enable default admin account creation on first startup by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F88\n* feat: improve electron server setting experience by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F87\n* feat: add script for creating admin user by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F94\n* chore(deps): update dependency zod to v4.3.5 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F93\n* chore(deps): update dependency @tanstack\u002Freact-query to v5.90.16 - autoclosed by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F90\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.3...v0.2.4-alpha.1","2026-01-06T13:04:14",{"id":267,"version":268,"summary_zh":269,"released_at":270},198544,"v0.2.3","# Glean v0.2.3 Release Notes\r\n\r\n## 🚀 New Features\r\n\r\n### Full-Text Content Extraction\r\n- **Bookmark Full-Text Content**: Automatically extract and display full article content for bookmarks, making it easier to read and search saved content\r\n- **RSS Full Content Support**: Enhanced RSS parser to extract complete article content from feeds\r\n- **Improved HTML Processing**: Better handling of HTML content with inline code formatting support\r\n\r\n### Security & Code Quality\r\n- **XSS Protection**: Added HTML sanitization with DOMPurify to prevent cross-site scripting attacks\r\n- **Pre-commit Checks**: Implemented automated code quality checks before commits\r\n\r\n## 🐛 Bug Fixes\r\n\r\n- **Embedding System**: Fixed Milvus connection issues and race conditions that caused \"collection not found\" errors\r\n- **Database Sessions**: Resolved database session management issues in embedding functionality\r\n- **HTML Processing**: Removed duplicate scripts and improved HTML content processing\r\n- **Admin UI Settings**: Updated embedding functionality and admin UI settings\r\n\r\n---\r\n\r\n# Glean v0.2.3 发布说明\r\n\r\n## 🚀 新功能\r\n\r\n### 全文内容提取\r\n- **书签全文内容**：自动提取并显示书签的完整文章内容，让阅读和搜索保存的内容更加便捷\r\n- **RSS 全文支持**：增强 RSS 解析器，可从订阅源中提取完整的文章内容\r\n- **改进的 HTML 处理**：更好地处理 HTML 内容，支持行内代码格式化\r\n\r\n### 安全性与代码质量\r\n- **XSS 防护**：使用 DOMPurify 添加 HTML 清理功能，防止跨站脚本攻击\r\n- **提交前检查**：实现提交前自动代码质量检查\r\n\r\n## 🐛 错误修复\r\n\r\n- **嵌入系统**：修复 Milvus 连接问题和竞态条件导致的\"集合未找到\"错误\r\n- **数据库会话**：解决嵌入功能中的数据库会话管理问题\r\n- **HTML 处理**：移除重复脚本，改进 HTML 内容处理\r\n- **管理界面设置**：更新嵌入功能和管理界面设置\r\n\r\n## Docker Images\r\n\r\nThis release includes the following Docker images:\r\n\r\n- `ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.3`\r\n- `ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.3`\r\n- `ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.3`\r\n\r\n## Desktop Apps\r\n\r\nDownload the desktop application for your platform from the assets below.\r\n\r\n## Quick Start\r\n\r\n```bash\r\n# Download docker-compose.yml\r\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FLeslieLeung\u002Fglean\u002Fmain\u002Fdocker-compose.yml -o docker-compose.yml\r\n\r\n# Start Glean\r\ndocker compose up -d\r\n\r\n# Access at http:\u002F\u002Flocalhost\r\n```\r\n\r\nSee [README](https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean#quick-start) for full documentation.\r\n\r\n\r\n## What's Changed\r\n* chore(deps): update actions\u002Fcheckout action to v6 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F50\r\n* chore(deps): update actions\u002Fsetup-node action to v6 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F51\r\n* chore(deps): update dependency pnpm to v10 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F54\r\n* chore(deps): update softprops\u002Faction-gh-release action to v2 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F62\r\n* chore(deps): update dependency node to v24 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F53\r\n* chore(deps): update pnpm\u002Faction-setup action to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F55\r\n* chore(deps): update actions\u002Fcache action to v5 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F49\r\n* fix(deps): update dependency i18next-browser-languagedetector to v8 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F65\r\n* fix: milvus connection; collection not found due to race conditions by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F67\r\n* fix(deps): update dependency date-fns to v4 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F63\r\n* fix(deps): update dependency i18next to v25 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F64\r\n* fix(deps): update dependency react-i18next to v16 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F66\r\n* chore(deps): update dependency zod to v4.2.1 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F69\r\n* feat: add pre release workflow by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F70\r\n* fix: db session by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F75\r\n* Fix db session and admin UI improvement by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F78\r\n* chore: bump version to 0.2.3-alpha.3 by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F79\r\n* Extract Full-text by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F80\r\n* chore(deps): update pnpm to v10.26.2 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F72\r\n* fix(deps): update dependency lucide-react to ^0.562.0 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F77\r\n* chore(deps): update dependency react-router-dom to v7.11.0 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F73\r\n* chore(deps): update dependency eslint-plugin-react-refresh to v0.4.26 by @renovate[bot] in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F68\r\n* chore: bump version to 0.2.3 by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F83\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.2...v0.2.3","2025-12-24T14:25:50",{"id":272,"version":273,"summary_zh":274,"released_at":275},198545,"v0.2.3-alpha.3","## ⚠️ This is a Alpha\n\n> **Warning**: This is a pre-release version intended for testing purposes only. \n> Do not use in production environments.\n\n## Docker Images\n\nThis pre-release includes the following Docker images:\n\n```bash\n# Pull images\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.3-alpha.3\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.3-alpha.3\ndocker pull ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.3-alpha.3\n```\n\n## Testing with Docker Compose\n\nCreate a `docker-compose.override.yml` file:\n\n```yaml\nversion: '3.8'\n\nservices:\n  backend:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-backend:v0.2.3-alpha.3\n  \n  web:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-web:v0.2.3-alpha.3\n  \n  admin:\n    image: ghcr.io\u002FLeslieLeung\u002Fglean-admin:v0.2.3-alpha.3\n```\n\nThen run:\n\n```bash\ndocker compose up -d\n```\n\n## Desktop Apps\n\nDownload the desktop application for your platform from the assets below.\n\n**Note**: Desktop apps for pre-release versions will NOT auto-update.\n\n## Feedback\n\nFound an issue? Please report it at:\nhttps:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fissues\n\n---\n\n## Changelog\n\n\n## What's Changed\n* Fix db session and admin UI improvement by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F78\n* chore: bump version to 0.2.3-alpha.3 by @LeslieLeung in https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fpull\u002F79\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FLeslieLeung\u002Fglean\u002Fcompare\u002Fv0.2.3-alpha.2...v0.2.3-alpha.3","2025-12-22T01:29:57"]