AndrewRao114/vault-activity-heatmap
GitHub: AndrewRao114/vault-activity-heatmap
一款 Obsidian 社区插件,将笔记编辑活动可视化为跨设备的 GitHub 风格热力图仪表盘,并提供任务追踪、编辑时间轴和可选的 AI 总结功能。
Stars: 104 | Forks: 11
这是一个为你的 Obsidian vault 打造的 GitHub 风格贡献图,包含每日任务、
编辑时间轴、AI 周/月度总结、通知以及仅限面板的视觉主题。
Vault Activity Heatmap 将你的记笔记节奏化作一个安静的仪表盘:
只需触碰一篇笔记,对应的日子便会微微亮起;当你在某个文件夹或多篇笔记中持续耕耘时,
方块的颜色就会变得更深。点击某一天,即可回顾当天的更改、计划,
以及还有哪些尚待处理的事项。
## 目录
- [功能](#features)
- [截图](#screenshots)
- [快速开始](#quick-start)
- [移动端与同步](#mobile-and-sync)
- [设置](#settings)
- [隐私与风险](#privacy-and-risk)
- [安装](#installation)
- [支持与贡献](#support-and-contributing)
- [开发](#development)
- [路线图](#roadmap)
## 功能
| 功能 | 作用 |
| --- | --- |
| 每日活动热力图 | 每天显示一个方块,写作强度越大的日子颜色越深。 |
| 文件夹过滤 | 查看整个 vault 或专注于单个文件夹,如日记、项目或研究资料。 |
| Markdown 活动追踪 | 通过 Obsidian 的 vault API 记录创建/编辑的笔记,并支持重命名/移动事件。 |
| 日期详情面板 | 点击方块即可查看任务、已编辑笔记以及带时间戳的编辑时间轴。 |
| 简洁的笔记标签 | 默认显示简短的文件名,在需要完整路径时可一键切换至“显示路径”。 |
| 每日反思任务 | 添加并完成 Microsoft To Do 风格的任务,同时保留 markdown 复选框作为唯一事实来源。 |
| 编辑会话 | 将快速保存的动作归并为短小的会话,例如 `14:31-14:45 | +240 B | 6 次保存`。 |
| AI 总结 | 可选的周/月度总结功能,使用你自己的 Anthropic 或 OpenAI 兼容 API 密钥。 |
| 通知 | 可选的桌面通知,以及通过 ntfy 或兼容端点发送的手机/webhook 推送。 |
| 面板主题 | 使用 RGB 颜色、图片背景和循环的 MP4/WebM 视频背景,仅自定义此插件面板。 |
| 跨设备仪表盘 | 通过你现有的 vault 同步服务,合并来自桌面端、iOS 和 Android 的活动数据。 |
## 截图
### 热力图与日期详情

### 外观设置

### AI 总结与通知

## 快速开始
1. 从侧边栏的日历图标打开热力图,或运行 `Open activity heatmap`。
2. 点击日期方块以查看笔记、任务和编辑会话。
3. 右键点击日期方块,或在移动端长按,以添加反思任务。
4. 如果你想让现有笔记立即显示,请运行 `Backfill history from existing file dates`。
5. 可选操作:在插件设置中配置 AI 总结和通知。
## 移动端与同步
跨设备仪表盘同步功能已在 `1.4.0` 版本中提供。在首次进行多设备迁移之前,请备份你的 vault,并确保所有连接的设备使用相同的插件版本。
| 平台 | 界面 | 支持情况 |
| --- | --- | --- |
| Windows, macOS, Linux | 侧边栏面板 | 支持 |
| iPhone 与 Android 手机 | 带日期详情卡片的全宽视图 | 支持 |
| iPad 与 Android 平板 | 可调整大小的面板 | 支持 |
该插件不运行同步服务器。其具备冲突安全性的仪表盘状态由同步你 vault 的同一服务商承载。针对 Windows/macOS/iOS/Android 组合设备,推荐使用 Obsidian Sync。请在每台设备上启用并激活已安装的社区插件同步功能。
本地更改会在 750 毫秒内进入队列,并在 3 秒内强制写入磁盘。一旦 Obsidian 报告外部设置发生更改,打开的仪表盘就会立即刷新。网络传输时间仍取决于你的同步服务商,且当 Obsidian 处于后台运行状态时,移动操作系统可能会延迟投递。
有关设置、限制和故障排除,请参阅[移动端与跨设备同步](docs/mobile-sync.md)。
## 设置
### 追踪
- 选择强度是根据独立笔记数量还是总编辑次数计算。
- 设置活动阈值,例如 `1, 3, 6, 10`。
- 排除诸如模板、归档或附件等文件夹。
- 选择显示的周数以及一周的起始日。
### 每日反思任务
- 配置反思文件夹。
- 配置文件名的日期格式,例如 `YYYY-MM-DD`。
- 配置插入任务的标题位置。
- 在详情面板中切换任务和时间轴部分的显示状态。
### AI 总结
AI 总结为可选功能,需要你提供自己的 API 密钥。
支持的提供商:
- Anthropic
- OpenAI 兼容端点
该插件会收集已编辑笔记的摘录及活动统计数据,随后将每周
或每月的总结写入你的 vault。它不会上传你的整个 vault;
仅发送生成所请求总结所需的上下文。
API 密钥和 webhook URL 使用 Obsidian 安全且存储于本地的 SecretStorage。
请在每台设备上独立选择或创建所需的密钥。无论是密钥值还是该设备上选定的密钥标识符,均不会被同步。
### 面板主题
仅自定义此插件面板,而不会更改你的 Obsidian 主题:
- RGB/hex 热力图方块颜色
- 空方块颜色
- 面板文本颜色
- 面板背景颜色
- 来自 vault 路径或 URL 的图片背景
- 循环静音的 MP4/WebM 背景
- 用于提升可读性的变暗和模糊控制
## 隐私与风险
Vault Activity Heatmap 旨在将常规追踪保留在本地。仅在你启用需要网络的功能时,
才会进行网络访问。
| 领域 | 行为 |
| --- | --- |
| 本地存储 | 可合并的元数据存储在插件的 `data.json` 中;设备偏好设置及该设备的恢复分片保留在 vault 作用域的本地存储中。 |
| Vault 枚举 | 插件可枚举 vault 文件,用于热力图统计、文件夹过滤和历史数据回填。 |
| Vault 读取 | 插件读取笔记内容仅用于日常任务解析及可选的 AI 总结摘录。 |
| Vault 写入 | 插件通过 Obsidian 的 vault API 写入每日反思任务和生成的总结笔记。 |
| 网络请求 | 常规热力图追踪在本地进行。远程背景 URL、AI 总结以及 webhook/手机通知均属于可选的入网功能。 |
| API 密钥 | API 密钥、webhook URL 以及每台设备的密钥选择均使用设备本地的 Obsidian 存储,且不包含在 `data.json` 中。 |
| 同步的元数据 | 如果启用了插件配置同步,服务商将会接收到笔记路径、时间戳、计数、会话及设备标识符。 |
| 发布溯源 | 发布资产由 GitHub Actions 构建并包含构件证明。 |
降低风险的建议:
- 除非确有需要,否则请保持 AI 总结处于禁用状态。
- 为 AI 总结使用受限的 API 密钥,而非个人的通用密钥。
- 对 webhook/ntfy 通知 URL 保密。
- 排除不应出现在活动统计中的私密文件夹。
- 在分享你的 vault 之前,检查 `.obsidian/plugins/vault-activity-heatmap/data.json`;它包含活动元数据,但不包含 API 密钥。
- 仅从官方发布资产安装:`manifest.json`、`main.js` 和 `styles.css`。
## 安装
### 通过 Obsidian 社区插件
使用[直接安装链接](obsidian://show-plugin?id=vault-activity-heatmap),
或通过以下方式安装:
`Settings -> Community plugins -> Browse -> Vault Activity Heatmap`
### 手动安装
1. 从
[Releases](https://github.com/AndrewRao114/vault-activity-heatmap/releases) 下载最新版本。
2. 将这些文件复制到:
`/.obsidian/plugins/vault-activity-heatmap/`
- `manifest.json`
- `main.js`
- `styles.css`
3. 重启 Obsidian 或重新加载社区插件。
4. 启用 **Vault Activity Heatmap**。
5. 如果你想让现有笔记立即显示,请运行 **Backfill history from existing file dates**。
## 开发
使用 Node.js 22 和 npm,与验证工作流保持一致。从干净的检出分支开始:
```
npm ci
npm run dev
npm run test
npm run build
npm run typecheck
```
发布资产为以下三个编译后的插件文件:
- `manifest.json`
- `main.js`
- `styles.css`
## 路线图
- 更多总结服务提供商
- 可选的总结模板
- 在完成提供商延迟测试后,进行可选的加密仪表盘中继研究
- 仅当原生小组件或快速捕捉功能足以支撑未来的配套应用时,才予以开发
## 许可证
MIT。详见 [LICENSE](LICENSE)。
标签:AI总结, MITM代理, Obsidian插件, 效率工具, 暗色界面, 知识管理, 自动化攻击