obsidian-dashboard
Zero-configuration dashboard for Obsidian that auto-scans your vault and displays comprehensive writing statistics & visualizations
🏠 Obsidian 知识库仪表盘
一键扫描 Obsidian 仓库,展示全面的知识库统计与可视化
自动扫描整个 Obsidian Vault 中的所有 Markdown 文件,在单个文档中展示完整的知识库统计:
- 📊 统计卡片 — 总字数、总笔记数、今日字数、7 日日均
- 📅 年度创作热力图 — GitHub 风格贡献热力图,近 365 天创作记录
- 🔥 创作连续记录 — 当前连续天数、历史最长连续、有创作天数、篇均阅读时长
- 📊 月度创作趋势 — 近 12 个月创作量柱状图
- 📅 30 天创作日历 — 月视图日历,直观看到每日创作量
- 🔄 创作节奏环形图 — 按星期统计创作分布(周一为一周起始)
- 📅 年度概览 — 按年份统计笔记数、总字数、篇均字数
- 🏷️ 标签云 — 标签使用频率可视化
- 📂 分类统计 — 文章分类条形统计
- 💊 文章健康度 — 简介/标签/字数统计/阅读时间填写率
- 📏 笔记字数分布 — 5 档字数区间分布
- 🔗 链接统计 — 内链/外链数量、篇均字数、篇均阅读时长
- 📚 Top 10 长文 — 字数最多的 10 篇文章
- 🔄 最近更新 — 最近更新的 10 篇文章
- 🕐 最近创建 — 最近创建的 10 篇文章
🔥 最新更新
v1.1.0(2026-06-23) 新增可直接运行在 Obsidian 中的热点追踪仪表盘:
- 全网热点按百度、微博、抖音、知乎、B站、快手、头条分开展示
- 支持抖音 / 小红书 / 公众号热榜,以及 AI 公众号 / AI B站 / AI 小红书昨日榜
- 支持共振热点、新入榜 / 连续在榜 / 消退、7 / 14 天趋势
- 支持关注词、屏蔽词、选题池和一键生成今日简报
- API Key 与工作数据保存在 Obsidian 本地,不依赖本地后端或其他常驻项目
完整版本说明见 CHANGELOG.md。
🚀 快速开始
前置条件
-
安装以下 Obsidian 插件:
- Dataview(核心,必须)
- Obsidian Style Settings(可选,用于主题样式调节)
- Datacore(可选)
-
在 Obsidian 设置中启用 DataviewJS:设置 → Dataview → Enable JavaScript Queries。
安装步骤
1. 添加 CSS 样式
将 snippets/dashboard-stats.css 复制到你的 Obsidian Vault 目录下的 .obsidian/snippets/ 文件夹:
你的Vault目录/
└── .obsidian/
└── snippets/
└── dashboard-stats.css
在 Obsidian 设置 → 外观 → CSS 代码片段 中启用 dashboard-stats。
2. 创建仪表盘文档
将 templates/仪表盘模板.md 的内容复制到你的 Obsidian Vault 中的任意位置(建议命名为 00-仪表盘 或 Dashboard)。
如果需要热点追踪,把 templates/热点追踪仪表盘模板.md 复制到 Vault 中即可。该模板已内嵌仪表盘样式,不依赖外部 CSS snippet;它会直接在 Obsidian 中调用 RedFox 热榜接口,默认覆盖:
- 全网实时热点
- 抖音昨日榜
- 小红书昨日榜
- 公众号昨日榜
- AI 公众号昨日榜
- AI B站昨日榜
- AI 小红书昨日榜
使用方式:
- 在模板页面顶部输入 RedFox API Key,点击「保存 Key」
- 配置「关注词 / 屏蔽词」,点击「保存策略」
- 点击「刷新全部榜单」抓取当前全网热点和各平台昨日榜
- 首次使用可点击「补抓 7 天历史」或「补抓 14 天历史」,生成趋势基线
- 通过「榜单 / 共振热点 / 新入连续消退 / 选题池 / 今日简报」切换工作视图
- 需要沉淀的热点可点击「加入选题」或「存为笔记」
内置能力:
- 全网热点按媒体拆分展示,不混成一个总榜
- 关注词高亮,屏蔽词从榜单、共振和简报中隐藏
- 共振热点:基于本地标题相似度识别跨平台同时出现的热点
- 新入榜 / 连续在榜 / 消退:基于本地历史快照计算生命周期
- 选题池:本地记录待跟进、已跟进、已发布、忽略
- 今日简报:一键生成 Markdown 简报到
Hot/今日简报/
说明:API Key、关注词、屏蔽词、选题池和视图状态仅保存在当前 Obsidian 的 localStorage,不会写入 Vault 文件。刷新和补抓历史会消耗 RedFox 调用额度;补抓 14 天历史约等于 6 个昨日榜数据源 × 14 天,即约 84 次接口调用。
3. 刷新文档
打开该文档,DataviewJS 代码块将自动执行,扫描全库并展示统计数据。首次加载可能需要 10-30 秒(取决于笔记数量)。
📝 笔记属性配置
仪表盘支持自定义笔记属性名,无需修改核心代码——只需编辑 templates/仪表盘模板.md 顶部的 F 配置对象:
const F = {
created: ['创建时间', '创建日期', 'ctime'],
updated: ['更新时间', '更新日期', 'utime'],
author: '作者',
desc: '简介',
tags: ['标签', 'tags'],
category: '分类',
wordCount:'字数统计',
readTime: '阅读时间',
};
- 把字段名改为你自己的习惯命名即可(如把
创建时间改为date) - 支持多个备选名称(用数组),按优先级依次查找
- 兼容英文 frontmatter(如
tags、date等)
常见配置示例
如果你习惯使用英文字段名:
const F = {
created: ['date', 'created', 'ctime'],
updated: ['updated', 'utime'],
author: 'author',
desc: 'description',
tags: ['tags', 'tag'],
category: 'category',
wordCount: 'wordCount',
readTime: 'readingTime',
};
如果你习惯使用自定义字段名:
const F = {
created: ['写于', '创建于'],
updated: ['最后修改', '更新于'],
author: '署名',
desc: '摘要',
tags: ['标记'],
category: '栏目',
wordCount: '字数',
readTime: '阅读',
};
🎨 自定义
修改热力图颜色
编辑 snippets/dashboard-stats.css,找到热力图单元格颜色定义:
.heatmap-cell.level-1 { background: rgba(167, 131, 1, 0.2); }
.heatmap-cell.level-2 { background: rgba(167, 131, 1, 0.45); }
.heatmap-cell.level-3 { background: rgba(167, 131, 1, 0.7); }
.heatmap-cell.level-4 { background: rgba(167, 131, 1, 0.95); }
将 rgba(167, 131, 1, ...) 改为你喜欢的颜色(如 rgba(0, 122, 255, ...) 为蓝色)。
同样修改 templates/仪表盘模板.md 中的内联 SVG 颜色数组。
修改统计卡片
在 templates/仪表盘模板.md 中找到 Stats Cards 部分,添加/删除卡片:
[['🆕', '新标签', '数值'], /* 添加新卡片 */].forEach(...)
⚙️ 工作原理
- 批量扫描:以 30 篇/批的速度读取所有 Markdown 文件,避免阻塞 UI
- Frontmatter 解析:优先使用 Obsidian
metadataCache,中文字段名回退到正则提取 - 字数统计:去除 frontmatter 后,按原始字符数统计
- 时间处理:
创建时间>创建日期> 文件修改时间(回退) - 可视化渲染:使用
this.containerAPI 和 SVG 进行渲染,确保 Electron 兼容性
📁 项目结构
obsidian-dashboard/
├── CHANGELOG.md # 版本更新记录
├── README.md # 说明文档
├── LICENSE # MIT 协议
├── snippets/
│ └── dashboard-stats.css # CSS 样式(复制到 .obsidian/snippets/)
└── templates/
├── 仪表盘模板.md # 知识库仪表盘模板
└── 热点追踪仪表盘模板.md # 热点追踪仪表盘模板
🤝 贡献
欢迎提交 Issue 和 PR!
友情链接:https://linux.do/
📄 协议
MIT License — Copyright (c) 2025 Panda-995
How to Install
- Download the dashboard markdown file from GitHub
- Drop it into your vault (anywhere)
- Install the Homepage plugin and point it at the file
- Enable any listed CSS snippets for the intended look
Stats
Stars
57
Forks
3
License
MIT
Last updated 2mo ago