
Zen Os
ZEN-OS is a modern Obsidian command center with Google Classroom sync, AI assistant, CTF tracker, Pomodoro timer, and quick links in a single dashboard.
⦠ZEN-OS Dashboard
A professional Obsidian command center with Google Classroom sync, AI assistant, CTF tracker, and quick links ā all in a single dataviewjs note.
š¦ Download ZEN-OS v5.0 ā unzip and copy into your vault. That's it.

šø More Screenshots
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() |
Features
- Assignment Pipeline ā Syncs all Google Classroom assignments with due dates, live countdowns, urgency coloring, priority levels, and calendar view
- AI Assistant ā Powered by Groq / Gemini / OpenAI / OpenRouter / Together / Grok with full vault search, persistent memory across sessions, follow-up chat, and save-to-note
- CTF Tracker ā Live feed from CTFtime.org with registration tracking and event details
- Quick Links ā Bookmark manager with categories and AI auto-fill
- Task List ā Built-in task manager with priorities, notes, and quiz mode
- Recent Files ā Most recently modified vault files, shown inline
- Setup Wizard ā A full-screen 8-step wizard guides you through everything on first launch
- Resizable cards ā Drag the right edge to resize cards across a 4-column grid
- Drag-to-reorder cards ā Rearrange all cards on both columns
- Pomodoro timer ā Built into the System card
- Vault search ā Full-text search across all your notes, used automatically by the AI
- Per-provider model override ā Switch AI provider and model inline from the chat header
- Dark / Light mode ā Auto-detected, full CSS variable support for both themes
Requirements
| Requirement | Details |
|---|---|
| Obsidian | Any recent version |
| Dataview plugin | Community plugin ā enable JavaScript queries |
| Google Workspace plugin | Companion plugin (included) ā for Calendar / Classroom / Drive sync |
| Google account | For Classroom + Drive sync |
| AI key (optional) | Groq is free and recommended |
Installation
1. Copy the files
your-vault/
āāā Dashboard.md
āāā .obsidian/
ā āāā snippets/
ā ā āāā Dashboard-Zen.css
ā āāā plugins/
ā āāā google-workspace-obsidian/
ā āāā main.js
ā āāā manifest.json
ā āāā styles.css
2. Enable the CSS snippet
Open Obsidian ā Settings ā Appearance ā CSS Snippets ā enable Dashboard-Zen.
3. Enable the Dataview plugin
Go to Settings ā Community Plugins ā Browse, search Dataview, install and enable it. Then in its settings, turn on Enable JavaScript Queries.
4. Enable the Google Workspace plugin
Enable it from Settings ā Community Plugins. Then go to its settings tab to connect your Google account.
5. Open the dashboard
Open Dashboard.md in Reading View (not Editing View). The setup wizard will launch automatically.
Setup Wizard
The wizard runs on first launch and walks you through:
- Welcome ā overview of features
- Plugin ā checks if the Google Workspace plugin is installed and connected
- Branding ā set your dashboard title and tagline
- Theme ā pick one of 8 accent colors (saved as a CSS snippet to your vault)
- Google ā connect your Google account via OAuth
- AI ā add an API key (Groq is free and fastest)
- Review ā confirm everything before saving
- Launch ā confetti, countdown, done
After the wizard completes, it saves a CSS snippet and a config note to your vault.
To re-run the wizard: clear zos-wizard-complete and zos-setup-complete from localStorage (or use the dashboard settings menu).
Getting a Free AI Key
The AI assistant supports multiple providers with automatic fallback. Groq is recommended ā it's free and fast.
| Provider | Free Tier | Get Key |
|---|---|---|
| Groq ā | Yes | console.groq.com/keys |
| Gemini | Yes | aistudio.google.com/app/apikey |
| OpenRouter | Yes (some models) | openrouter.ai/keys |
| Together | Yes (some models) | api.together.xyz |
| OpenAI | No | platform.openai.com/api-keys |
| Grok (xAI) | No | console.x.ai |
Paste the key in the wizard's AI step. You can configure multiple providers ā the dashboard tries them in order and falls back automatically if one is rate-limited.
Google OAuth Setup (for developers forking this)
The companion plugin handles OAuth via a Cloudflare Worker proxy. If you fork this project and want your own OAuth client:
- Go to Google Cloud Console ā APIs & Services ā Credentials
- Create an OAuth 2.0 Client ID (Web application)
- Enable these APIs: Google Calendar API, Google Classroom API, Google Drive API
- Update the worker URL in the plugin's
main.js
File Structure
zen-os/
āāā Dashboard.md ā Main dataviewjs note
āāā .obsidian/
ā āāā snippets/
ā ā āāā Dashboard-Zen.css ā Stylesheet (enable in Appearance settings)
ā āāā plugins/
ā āāā google-workspace-obsidian/
ā āāā main.js
ā āāā manifest.json
ā āāā styles.css
āāā README.md ā This file
Auto-created by wizard:
_config/
āāā zen-os-config.md ā Your settings
āāā ai-keys.md ā Optional: store GitHub/Grok keys here
Storing AI Keys in Vault (Optional)
Instead of entering keys in the wizard, you can store them in _config/ai-keys.md:
github_key: your_github_models_key_here
grok_key: your_grok_key_here
The dashboard reads this file on every load and registers them as AI providers automatically.
Keyboard Shortcuts
| Key | Action |
|---|---|
ā or Enter | Next step in wizard |
ā | Previous step in wizard |
Troubleshooting
Assignments not loading
- Make sure the Google Workspace plugin is installed, enabled, and connected to your Google account
- Click the refresh icon (āŗ) in the top-right of the header
- Re-run the setup wizard if needed
AI not responding
- Open browser console (
Ctrl+Shift+I) and look for errors - Make sure your API key is valid ā re-enter it via the dashboard settings menu
- Groq and Gemini have rate limits; the dashboard will auto-retry other providers
- If all providers are rate-limited, wait ~30 minutes
Accent color not applying
- Go to Settings ā Appearance ā CSS Snippets and make sure
Dashboard-Zenis enabled - If it's missing, re-run the wizard to regenerate it
Wizard appears again after setup
- This can happen if localStorage was cleared; just run through the wizard again
CTFs not loading
- CTFtime.org has CORS restrictions; this uses Obsidian's
requestUrlto bypass them - Only works inside Obsidian (not in browser preview)
Credits
Built with Obsidian, Dataview, and the Google Calendar Plugin.
Fonts: Syne, DM Sans, JetBrains Mono.
CTF data from CTFtime.org.
License
MIT ā free to use, modify, and share. Attribution appreciated but not required.
How to Install
- Download the repository ZIP below
- Unzip it and find the CSS snippet file
- Move the CSS file into your vault's
.obsidian/snippets/folder - Open Obsidian ā Settings ā Appearance ā CSS Snippets ā Enable it
Stats
Stars
53
Forks
4
Last updated 2mo ago
Categories






