产品说明

OctoRill 不是另一个完整的 GitHub 客户端。它更像一个“与我相关的 GitHub 动态工作区”:把需要反复查看的发布更新、社交反馈、日报和通知入口放到一个界面里,优先解决“今天发生了什么、我该先看什么”这个问题。

它整理哪些信息

  • 发布更新:围绕 Release 阅读、翻译、要点整理和详情查看。
  • 社交动态:谁给我的个人仓库加星、谁关注了我。
  • 日报:按固定时间边界汇总上一窗口里的重点更新。
  • Inbox 入口:把 GitHub Notifications 作为工作区的一部分,而不是单独再开一个页面去找。

主要界面

Landing

未登录用户先看到公开入口页。它只做两件事:说明产品定位,以及承接 GitHub OAuth 登录。

Dashboard

Dashboard 是登录后的主工作区,包含 6 个主标签:

  • 全部:按统一时间线混排发布更新与社交动态。
  • 发布:只看 Release 相关内容。
  • 加星:只看谁给我的个人仓库加星。
  • 关注:只看谁关注了我。
  • 日报:查看或手动生成日报。
  • 收件箱:查看通知列表,并跳回 GitHub 处理线程。

右侧侧栏长期保留 Inbox 快捷入口;在 日报 标签下还会显示日报列表。

管理页面

管理员还会看到两类运营界面:

  • Admin Panel:用户管理
  • Admin Jobs:同步、翻译、调度与运行时状态观测

这些页面是运维入口,不是普通用户的主阅读流。

Release 的阅读方式

Release 是 OctoRill 的核心阅读对象,支持三种 lane:

  • 原文
  • 翻译
  • 润色

用户可以先用润色视图快速扫一遍,再回到完整翻译或原文确认细节。日报中的 Release 主链接会在站内打开详情弹窗,而不是直接把用户丢回 GitHub。

日报与时间边界

日报使用固定本地时间边界,而不是浏览器即时本地时区:

  • 默认边界:08:00
  • 内容结构:项目更新 + 获星与关注

这个设计的目的不是生成一篇长报告,而是给用户一个稳定的“上一窗口回顾”。

权限与数据语义

  • GitHub OAuth:负责登录、读取与同步。
  • GitHub PAT:仅用于 Release 反馈等额外写操作;不参与日常登录。
  • SQLite:本地缓存和派生数据存储,不替代 GitHub 作为事实源。

某些数据是个性化可见范围,某些数据是共享事实:

  • 列表与日报候选受当前用户关注范围影响。
  • Release 详情与详情翻译按稳定 release_id 读取,不受当前是否还在 Star 该仓库影响。

这个项目刻意不做什么

  • 不在站内重做完整 GitHub 工作流。
  • 不处理评论、合并、通知已读等完整交互闭环。
  • 不把页面目标扩成“所有 GitHub 信息都能在这里完成”。

如果你需要更完整的实现细节、同步语义与内部约束,请看 GitHub 上的内部产品参考