Introduction¶
People who work with the DSH desktop client likely have this experience: to-dos are scattered in sticky notes, schedules are recorded in paper notebooks, weather and the lunar calendar require opening a separate webpage, and when writing weekly reports, you have to double-check what you did today. The idea behind dsh-schedule-calendar is not to open a separate set of tools, but to stuff multi-city weather, almanac good/bad days, lunar calendar, schedules and reminders, work to-dos, daily/weekly reports, zodiac horoscopes, good luck check-ins, and work/school countdowns into DSH’s sidebar tabs. It relies on the tab capabilities provided by the host plugin dsh-better-sidebar and is responsible only for content and data.
Below is an introduction in the order of “What is this → Core Features → Install and Enable → Typical Usage → Applicable Scenarios and Notes”.
What is this¶
- Author / Maintainer: loyalchiiina
- Category: Online Tools (Community Directory)
- Current Version: 0.3.7 (package.json)
- License: MIT
- Location: https://github.com/loyalchiiina/dsh-schedule-calendar
- Directory Page: https://www.skillhub.cn/plugins/loyalchiiina/dsh-schedule-calendar
It is a sidebar plugin for the DSH desktop client profile, designed for individuals or small teams who need to manage schedules, to-dos, reports, and daily information in the same interface. The community directory page currently shows 0 stars, making it a relatively new project.
Core Features¶
The features introduced below are from the README, grouped by interface module.
Multi-City Weather¶
Add cities via cascading “Province / City / District” selection or keyword search; district-level uses Nominatim geocoding, falling back to Open-Meteo. Weather is displayed in a horizontal table for today, tomorrow, the day after tomorrow, and the day after that (4 days), with a “🔄 Refresh” button and automatic retry on failure.
Almanac and Lunar Calendar¶
The Almanac section displays the lunar date and the day’s good/bad activities at the top of “Today” and to the right of the day of the week. It uses a local almanac algorithm and is fixed by day.
The calendar view shows the lunar calendar, solar terms, and statutory holidays. Weekend, personal rest days, statutory holidays, and makeup work days are distinguished by background color, which can be customized in settings. The right column of the calendar allows clicking a date to view or add a schedule for that day, and supports right-clicking to add a schedule.
Schedules and Reminders¶
Schedules support title, date, time, notes, and advance reminders. Repeat rules include none, daily, weekly, monthly, yearly, and lunar yearly (suitable for birthdays). Records include creation time and are sorted by “Next Occurrence”: past ones are grayed out, upcoming ones are highlighted.
Work To-dos¶
To-dos can have a due date. Incomplete items are sorted by due date, and overdue ones display red “⚠ Overdue”. Completed items show the completion time.
Daily / Weekly Reports¶
Daily reports support “One-click Generation”, automatically counting today’s schedule, incomplete tasks, and completed tasks. It also supports batch generation by date range. Weekly reports automatically summarize the daily reports and completion status for the week. They can still be manually modified and saved after generation.
Zodiac Horoscopes and Good Luck Check-in¶
In “Settings”, fill in everyone’s birthday, choosing between solar or lunar calendar and including the year; the system automatically identifies the zodiac sign. The bottom of “Today” displays the zodiac icon and the day’s fortune, including comprehensive, love, career, wealth, lucky color, and lucky number, and provides zodiac compatibility (Top 3 best matches, and compatibility scores with the other 11 signs).
The Good Luck Check-in has a buff bar at the top of “Today”. Daily check-ins randomly draw “Great Fortune / Making a Fortune / Getting Rich” and other lucky words, accompanied by health reminders. Consecutive check-ins accumulate days.
Staff Schedules and Work/School Countdown¶
Supports managing multiple people, each of whom can switch between “Two-day weekend / Alternating big/small week / Single day off / Custom days”. The semantics of “Big/Small week” are: Big week means Saturday and Sunday are off (equal to two-day weekend), Small week means Saturday is work and Sunday is off; you can specify whether this week is a big week or a small week, and it will alternate automatically thereafter.
The work/school countdown displays the remaining time until work starts and until work ends in real-time based on the selected person’s schedule, and reminds you when the time is up.
Entry¶
The plugin injects a “Schedule Assistant” button at the bottom of the native left sidebar; clicking it opens the right panel. It can also be selected from “New Tab” on the right.
Installation and Enablement¶
This plugin targets the desktop profile. The README explicitly states: The desktop profile is exclusively occupied by Electron, dsh plugin --profile desktop will be rejected, and the profile needs to be manually modified. The following steps come from the original README.
- Put the plugin package in the local plugin directory (or install it to the machine via npm):
# Method 1: Put in local plugin directory
# ~/.dsh/local-plugins/dsh-schedule-calendar
# Method 2: npm install
npm i dsh-schedule-calendar
- Edit
~/.dsh/profiles/desktop/package.json, and add a local reference independencies:
{
"dsh-schedule-calendar": "link:<absolute path to this package>"
}
If using npm installation, write the version number instead of link: here.
Also add the bundle to the profile configuration:
{
"dsh": {
"profile": {
"bundles": [
"dsh-schedule-calendar"
]
}
}
}
- Execute the installation command in that profile directory:
cd ~/.dsh/profiles/desktop
pnpm install
- Exit DSH completely and restart. The host does not support hot reload; after restarting, the “Schedule Assistant” button will appear at the bottom of the left sidebar.
Data and Privacy¶
Plugin data is only written to data/store.json inside the local plugin package; nothing is uploaded to any server. Weather, cities, holidays, almanac, and zodiac horoscopes are proxied or generated locally by the host; if these external information sources are unavailable, the interface provides a degraded hint and does not affect the use of schedules and to-dos themselves. When the entire package is packaged or backed up, the data goes with the plugin package.
Typical Usage¶
-
After first enabling, first add personnel in “Settings”, setting name, birthday (for zodiac), and schedule (Two-day weekend / Alternating big/small week / Single day off / Custom).
-
Add city weather in the “Today” view and confirm the forecast displays correctly; do a daily check-in while you’re at it.
-
Create schedules for recurring items, such as weekly meetings every Monday morning choosing “Weekly” repetition; birthdays etc. repeat by Lunar Year.
-
Record to-dos for items that need to be delivered that day and fill in the due date; overdue ones will be marked red in the list.
-
Generate a daily report with “One-click Generation” before leaving work; when organizing the week’s situation, use the weekly report to automatically summarize, then manually supplement the conclusions.
Applicable Scenarios and Notes¶
Suitable scenarios:
- People who rely on the DSH desktop client for daily work and want to see schedules, to-dos, weather, the lunar calendar, and reports all in the same sidebar.
- People who need to manage work schedules according to different shifts (especially alternating big/small weeks), such as team leaders.
- People who need daily/weekly reports to automatically count today’s schedule and incomplete to-dos.
Points to note:
- The plugin runs with the permissions of the current DSH process and can access local files and the network that the process can access. You should open the source code and the
license(MIT) yourself before installing to confirm. - Installation requires manually editing the
package.jsonof the desktop profile; the README notes thatdsh plugin --profile desktopwill be rejected. You must completely exit DSH and restart after modifying it. - Depends on the host plugin
dsh-better-sidebar; you need to confirm that this host plugin is available first. - Weather and city geocoding rely on external services (Nominatim / Open-Meteo); if the network is down or the service is unavailable, it will only provide a degraded hint and will not read/write schedule data.
- The plugin uses the local file
data/store.jsonfor storage; note to back it up together with the plugin package; deleting or replacing the plugin package will take away this data.
Conclusion¶
The value of dsh-schedule-calendar lies in gathering a pile of scattered daily information into DSH’s existing sidebar, rather than opening another independent tool. While it covers a wide range of functions, its implementation and entry points both depend on dsh-better-sidebar and the desktop profile. Before installation, you must manually modify the configuration according to the README and check the source code and license.
- Directory Page: https://www.skillhub.cn/plugins/loyalchiiina/dsh-schedule-calendar
- GitHub: https://github.com/loyalchiiina/dsh-schedule-calendar