NOTEDASHBOARD
Panda-995

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

🚀 快速开始

前置条件

  1. 安装以下 Obsidian 插件:

  2. 在 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 小红书昨日榜

使用方式:

  1. 在模板页面顶部输入 RedFox API Key,点击「保存 Key」
  2. 配置「关注词 / 屏蔽词」,点击「保存策略」
  3. 点击「刷新全部榜单」抓取当前全网热点和各平台昨日榜
  4. 首次使用可点击「补抓 7 天历史」或「补抓 14 天历史」,生成趋势基线
  5. 通过「榜单 / 共振热点 / 新入连续消退 / 选题池 / 今日简报」切换工作视图
  6. 需要沉淀的热点可点击「加入选题」或「存为笔记」

内置能力:

  • 全网热点按媒体拆分展示,不混成一个总榜
  • 关注词高亮,屏蔽词从榜单、共振和简报中隐藏
  • 共振热点:基于本地标题相似度识别跨平台同时出现的热点
  • 新入榜 / 连续在榜 / 消退:基于本地历史快照计算生命周期
  • 选题池:本地记录待跟进、已跟进、已发布、忽略
  • 今日简报:一键生成 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(如 tagsdate 等)

常见配置示例

如果你习惯使用英文字段名:

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(...)

⚙️ 工作原理

  1. 批量扫描:以 30 篇/批的速度读取所有 Markdown 文件,避免阻塞 UI
  2. Frontmatter 解析:优先使用 Obsidian metadataCache,中文字段名回退到正则提取
  3. 字数统计:去除 frontmatter 后,按原始字符数统计
  4. 时间处理创建时间 > 创建日期 > 文件修改时间(回退)
  5. 可视化渲染:使用 this.container API 和 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

Related

How to Install

  1. Download the dashboard markdown file from GitHub
  2. Drop it into your vault (anywhere)
  3. Install the Homepage plugin and point it at the file
  4. Enable any listed CSS snippets for the intended look

Stats

Stars

57

Forks

3

License

MIT

Last updated 2mo ago

Categories