如何将所有新闻源和指标汇总到一个简洁的仪表盘
你是否有过这样的经历——每天早上都要在无数标签页之间来回切换?先刷 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。没有"辣眼睛"的颜色,一切都非常极简。

启动时的一些细节
在配置过程中,我注意到有几件事值得提前了解:
- DNS 问题。如果你在家里运行了 Pi-Hole 或 AdGuard Home,它们可能会阻止小部件频繁请求外部 API。文档建议直接在拦截器设置中提高限制即可。
- 扩展冲突。一个已知问题:Dark Reader 浏览器扩展可能会破坏某些小部件的布局(比如行情图表)。最好立即将仪表盘域名添加到例外列表。
- 安全性。默认情况下,Dynacat 禁止从其他域嵌入 iframe。如果你打算把它放到另一个门户页面(如 Homepage)中,需要调整服务器配置。
结论:值得一试吗
如果你已经有家用服务器,或者只是厌倦了书签栏的混乱,Dynacat 是"起始页"角色的绝佳候选。
它肯定会吸引以下人群:
- HomeLab 玩家。
- 想要在一个地方查看项目和服务器状态的人。
- 重视界面速度的极简主义者。
这个项目还很年轻,但核心功能运行稳定。页面加载时间约为一秒,资源消耗极低——这似乎正是舒适监控所需的,无需额外麻烦。
去看看 Dynacat 仓库,README 中有文档链接,详细描述了所有参数。我想我该去给自己的订阅源再加几个 RSS 了。
相关项目