{"id":50669136,"url":"https://github.com/emlog/pudding_post","last_synced_at":"2026-06-08T09:03:56.905Z","repository":{"id":362436828,"uuid":"1259053624","full_name":"emlog/pudding_post","owner":"emlog","description":"布丁发布","archived":false,"fork":false,"pushed_at":"2026-06-04T06:44:48.000Z","size":250,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-04T08:18:29.731Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/emlog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-04T06:41:20.000Z","updated_at":"2026-06-04T06:50:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/emlog/pudding_post","commit_stats":null,"previous_names":["emlog/pudding_post"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/emlog/pudding_post","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlog%2Fpudding_post","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlog%2Fpudding_post/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlog%2Fpudding_post/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlog%2Fpudding_post/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emlog","download_url":"https://codeload.github.com/emlog/pudding_post/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emlog%2Fpudding_post/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34055275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-08T09:03:56.012Z","updated_at":"2026-06-08T09:03:56.892Z","avatar_url":"https://github.com/emlog.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pudding Post - AI 文章智能采集发布助手\n\nPudding Post 是一款基于 AI 驱动的文章采集与管理桌面端工具。系统使用 Flutter 构建，支持智能网页抓取解析、URL 分组管理、RSS 订阅源解析以及一键同步发布至 Emlog 等博客系统。\n\n---\n\n## 核心功能\n\n### 1. 内容采集与智能识别\n- **网页正文智能提取**：支持对单篇网页文章详情页进行 AI 解析，自动过滤广告，提取标题、Markdown 格式正文与封面大图。\n- **列表页链接提取**：智能分析文章列表页及下一页分页链接，快速构建采集队列。\n- **RSS/Atom 订阅源解析**：自动嗅探并解析 RSS 订阅源，支持全文 RSS 免大模型（0 Token）直接提取及摘要 RSS 自动分流采集。\n\n### 2. 网址分组管理\n- **URL 分组维护**：支持创建和删除网址分组，在分组内灵活添加、删除高频采集的目标网址。\n- **一键分组批量采集**：支持一键运行特定分组下的全部 URL 进行批量抓取，并自动进行去重校验。\n\n### 3. 内容与发布管理\n- **本地内容库**：卡片式管理已采文章，支持模糊搜索、物理删除与一键清空。\n- **Markdown 编辑器**：内置 Markdown 预览及编辑器，支持在发布前对标题、正文及封面图进行二次修改。\n- **多渠道批量发布**：支持配置 Emlog 等博客系统的 API 接口，并支持批量一键同步发布。\n\n### 4. 大模型配置\n- **多模型管理**：支持添加多组 OpenAI 兼容格式的模型配置（如 DeepSeek、OpenAI 等）。\n- **单选互斥生效**：支持多模型并存管理，开启某个模型时自动关闭其他模型，保证同一时间有且仅有一个活动模型生效。\n\n---\n\n## 技术栈\n\n- **前端框架**：Flutter (Dart) 支持 macOS, Windows 桌面端\n- **本地数据库**：SQLite (基于 sqflite_common_ffi 引擎)\n- **网络层**：Dio (大模型 API 请求及博客接口通信)\n- **状态管理**：Provider (ChangeNotifier)\n\n---\n\n## 启动与运行说明\n\n### 准备环境\n- Flutter SDK (\u003e= 3.10)\n- 对应平台的桌面开发工具链 (Xcode / Visual Studio)\n\n### 1. 获取依赖\n```bash\nflutter pub get\n```\n\n### 2. 运行应用\n```bash\nflutter run -d macos\n```\n\n### 3. 构建发布版本\n```bash\n# macOS\nflutter build macos\n\n# Windows\nflutter build windows\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femlog%2Fpudding_post","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femlog%2Fpudding_post","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femlog%2Fpudding_post/lists"}