项目状态基线
更新时间:2026-08-04
本文描述代码与文档当前已经具备的能力,不代表所有后续规划都已完成。具体发布版本以生产 deployment-info.json 和 GitHub main 为准。
当前生产架构
- GitHub Pages:Vue 应用
/StarHub/与 VitePress 文档/StarHub/docs/; - Cloudflare Pages Functions:
/api/health与/api/oauth/token; - 浏览器 IndexedDB v8:所有业务数据;
- GitHub API:Stars、仓库详情、README 和取消 Star;
- 用户选择的 AI API:仅在用户启动分类任务后接收必要输入。
没有 StarHub 业务后端、用户数据库、跨设备同步或启用的 PWA。
已完成能力
认证、部署与安全
- GitHub OAuth Web Flow、state、PKCE S256 与服务端 Secret;
- OAuth token JSON POST、Origin/redirect 精确校验、禁止缓存;
- GitHub token 会话存储与最长 12 小时生命周期;
- GitHub Pages main 自动部署、部署提交标识和公网冒烟测试;
- CSP、静态安全、生产依赖审计和 Cloudflare 构建进入检查链。
仓库管理与性能
- 大规模分页同步、限流状态和关系保留;
- 搜索、语言/分类/重点筛选、多排序与 50–1000 分页;
- 合并后的单一详情摘要卡、README 安全渲染;
- README 请求取消、worker 解析和快速切换防卡顿保护;
- 取消 Star 以远端成功为准,再更新本地状态。
分类与重点标记
- 普通分类的创建、编辑、删除、批量关联和仅名称导入;
- 稳定 category ID、中英文名称、别名、说明、示例、排除项和层级;
- 正式注册表导入预览:新增、更新、重命名、合并和冲突;
- 合并关系去重、安全重命名、事务迁移、最多 10 个快照和撤销;
- 分类管理搜索、项目数量排序、空分类筛选和侧栏显示优化;
- 重点标记独立于分类,可过滤和优先排序。
AI 分类
- 五类供应商配置、会话级 API Key、HTTPS endpoint 校验与连接测试;
- AI 只能使用任务锁定的正式注册表及其版本;
- 元数据第一轮、短仓库 ID、结构化输出或 JSON 模式;
- 批次白名单、重复/遗漏/未知 ID、未知分类和完整性校验;
- 持久任务、分段、暂停、恢复、取消、失败项重试和状态统计;
- 结果审核、置信度、理由、人工分类调整、质量评价和写入前选择;
- 暂停时提交当前有效草稿并结束任务,剩余仓库以后创建新任务;
- 低置信度或人工标错项目的 README 二阶段增强、缓存和长度限制;
- 审核后事务写入与本批撤销。
数据与国际化
- IndexedDB v8:8 张业务表;
- 仓库关系只以
repoTags为事实来源; - StarHub v4 完整备份包含仓库、分类关系、重点标记和分类注册表;
- 中英文主流程、明暗主题和英文 fallback;
- 用户、部署、排障、架构和开发交接文档已统一重写。
已知限制和风险
| 优先级 | 问题 | 影响 |
|---|---|---|
| P0 | 完整备份导入和“清空全部”未清理 AI 任务、任务项、README 缓存 | 导入后可能看到不属于当前数据集的历史任务,配额无法完整释放 |
| P1 | v4 备份不含 AI 任务、README 缓存、迁移快照 | 换设备不能恢复任务进度和治理撤销历史 |
| P1 | “未分类”只是无 repoTags,尚无持续处理队列 | 新增 Stars 需要手动创建下一任务 |
| P1 | 真实 10k–20k 分类仍需要长期压力、成本和恢复测试 | 浏览器内存、供应商限流和任务时长存在差异 |
| P2 | AI Key 已改用 sessionStorage,但没有独立计时 TTL | 标签页长时间不关闭时 Key 会一直保留,需补显式过期策略 |
| P2 | 国际化仍有少量兜底文本和外部内容非双语 | 切换语言时可能出现源语言内容 |
| P2 | 缺少新版关键流程截图 | 文档可操作但视觉引导不足 |
| P2 | 没有正式版本发布与兼容矩阵 | 用户难以判断备份/schema 与版本关系 |
测试现状
单元测试覆盖同步、OAuth 回调与 scopes、认证会话、数据变更队列、分类关系、分类治理、AI 安全协议、任务、抽样、规模分段、评测、README 增强、重点标记、搜索视图、详情性能和主要 UI 源码约束。
仍必须人工测试:真实 OAuth、GitHub 限流、不同 AI 供应商、旧 IndexedDB 原地升级、浏览器配额、生产 Pages 缓存、移动端和长时间任务恢复。
下一步
按后续路线图与接手说明执行。第一项必须先修复 AI 历史表清理一致性,然后进入 D2“未分类仓库持续处理”,再建立评测、可观测性和发布规范。