>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Go

如何将所有新闻源和指标汇总到一个简洁的仪表盘

1,000 星标

你是否有过这样的经历——每天早上都要在无数标签页之间来回切换?先刷 Reddit,再看 Hacker News,查一下天气,看看服务器上的 Docker 容器运行状态,再看看你最喜欢的库在 GitHub 上有没有更新。这么一圈下来,工作热情早就消散殆尽了。

我一直在寻找一个解决方案,能把所有这些数字噪音汇聚到一个简洁的页面上。现在看来,我找到了一个既不花哨也不复杂的项目。它就是 Dynacat。

这个 Dynacat 到底是什么

本质上,它是一个轻量级的自托管仪表盘。该项目是从另一个工具 Glance 分叉而来,但更专注于动态数据。如果说 Glance 有时让人觉得有些静态,那么 Dynacat 就是为数据“实时更新”而量身打造的,并且能与外部服务良好配合。

这里的主要亮点是简洁。整套后端采用 Go 语言编写,前端是纯 JS,没有臃肿的框架。最终生成一个不到 20 MB 的二进制文件,不占用内存,几乎可以在任何"铁盒子"上运行,无论是老旧的树莓派还是家用 NAS。

可以在屏幕上展示什么

开发者没有重复造轮子,而是实现了最常用的功能。以下是我在十分钟内就配置好的内容:

  • 新闻聚合。RSS 订阅源、Reddit 和 Hacker News 的最新帖子。你可以配置限制:比如只显示 5 条最新新闻,这样就不会被信息淹没。
  • 资源监控。Docker 容器状态和整体服务器统计。不打开终端就能看到所有指标都"绿色",非常方便。
  • 开发动态。GitHub 发布列表。再也不用刷新仓库页面来查看新版本是否发布了。
  • 媒体。YouTube 频道的最新视频和 Twitch 主播状态。
  • 金融和天气。股票报价、加密货币以及你所在城市的天气预报。

有趣的是,该项目支持自定义小部件。如果"开箱即用"的功能不够用,你可以通过 Dynawidgets 自己打磨解决方案。

如何配置

无需管理面板和鼠标点击。整个仪表盘的描述都存放在 YAML 文件中。对某些人来说这可能是个缺点,但对开发者来说简直是纯粹的享受。你可以把配置放入 Git 进行版本控制,然后快速部署到任何地方。

以下是一个典型页面配置的示例:

  - name: Work
    columns:
      - size: small
        widgets:
          - type: calendar
            first-day-of-week: monday
          - type: weather
            location: Moscow, RU
            units: metric

      - size: full
        widgets:
          - type: hacker-news
          - type: releases
            repositories:
              - Panonim/dynacat
              - golang/go

结构非常直观:将页面分成若干列,然后把小部件放入列中。如果信息太多,可以创建多个标签页。

设计和移动端

作者显然很清楚我们会一边喝咖啡一边用手机打开这个仪表盘。界面是响应式的,在智能手机上看起来就像原生应用一样。

此外还支持主题切换。如果你不喜欢默认外观,可以从预设主题中选择,也可以自己调整 CSS。没有"辣眼睛"的颜色,一切都非常极简。

启动时的一些细节

在配置过程中,我注意到有几件事值得提前了解:

  1. DNS 问题。如果你在家里运行了 Pi-Hole 或 AdGuard Home,它们可能会阻止小部件频繁请求外部 API。文档建议直接在拦截器设置中提高限制即可。
  2. 扩展冲突。一个已知问题:Dark Reader 浏览器扩展可能会破坏某些小部件的布局(比如行情图表)。最好立即将仪表盘域名添加到例外列表。
  3. 安全性。默认情况下,Dynacat 禁止从其他域嵌入 iframe。如果你打算把它放到另一个门户页面(如 Homepage)中,需要调整服务器配置。

结论:值得一试吗

如果你已经有家用服务器,或者只是厌倦了书签栏的混乱,Dynacat 是"起始页"角色的绝佳候选。

它肯定会吸引以下人群:

  • HomeLab 玩家。
  • 想要在一个地方查看项目和服务器状态的人。
  • 重视界面速度的极简主义者。

这个项目还很年轻,但核心功能运行稳定。页面加载时间约为一秒,资源消耗极低——这似乎正是舒适监控所需的,无需额外麻烦。

去看看 Dynacat 仓库,README 中有文档链接,详细描述了所有参数。我想我该去给自己的订阅源再加几个 RSS 了。

相关项目