gitdeck
多账户GitHub/Forgejo仪表盘
⭐ 362 TypeScript MIT
✓ 解决什么问题
解决开发者维护多个 GitHub 或 Forgejo 账户时,需要跨平台、跨仓库集中查看 Issue、PR、流量、安全警报和 CI 状态的问题。避免在多个页面之间反复切换,将所有关键信息聚合到一个本地仪表盘中。
✓ 最适合
适合管理多个组织或个人 GitHub 账户的开发者,以及同时使用 GitHub 和自托管 Forgejo 实例的团队。特别需要每日摘要、跨仓库 Issue 分类和仓库健康评分的场景。
✗ 不适合
不适合仅管理单一仓库或单个账户的轻度用户,因为本地运行和 OAuth 配置的开销大于收益。也不适合需要深度 CI/CD 集成或复杂部署流水线管理的场景(仅展示 Actions 运行状态)。
快速上手
在 GitHub 创建 OAuth App 并启用 Device Flow,获取 Client ID
export GITDECK_GITHUB_CLIENT_ID=你的ClientID
npx debba/gitdeck
项目详情
Gitdeck 是一个开源本地仪表盘,用于探索和管理多个账户下的仓库、Issue、Pull Request、流量和 CI 活动。项目基于 TypeScript (Node 后端 + React 19 前端),后端通过 GitHub OAuth Device Flow 获取令牌并缓存到 ~/.gitdeck/,令牌从不传输至浏览器。支持 GitHub 和 Forgejo 兼容平台(如 Codeberg、自托管)。
核心功能包括:
- 仓库网格:分页显示仓库,包含描述、语言、Star 数 (362+ 仓库示例)、Fork 数、开放 Issue 数、最后推送时间和健康评分。可按组织、语言、可见性、是否 fork/归档筛选,按 Star 数或活跃度排序。
- 跨仓库 Issue/PR 列表:统一的筛选侧边栏,方便跨项目分类。
- 洞察视图:所有仓库的概览,包含警报(如“Issue 需关注”“安全警报需关注”“X 天未推送”)、机会、流量与活跃度相关性。每个仓库标记状态:Strong / Watch / Risky。
- 安全警报:Dependabot 和代码扫描结果专用视图。
- 每日摘要:每仓库当天变动摘要(Star、Fork、Issue 变化),支持 Markdown 格式复制;可选 OpenAI 生成叙述(需配置
OPENAI_API_KEY)。 - 看板视图:将 Issue 分组为 Backlog、To-do、In progress、Ready、In review 等列。
- 单仓库视图:包含 Stars/Forks 历史图表、语言分布、贡献者列表(分页,含提交数)、最近 Releases、Fork 列表(按 Star 或推送排序)、14 天流量(浏览/克隆/唯一访客/热门路径/引荐来源)、仓库引用(包括曾用名)和依赖关系。
架构为单仓库双进程:后端 Node HTTP 服务器 (src/server.ts) 处理 OAuth 并代理所有 REST/GraphQL API,前端 Vite 构建 SPA 由同一个 Node 进程托管。测试使用 Vitest + jsdom。UI 翻译位于 src/i18n/,支持多语言。