dsh-plugin-qiyao: A local-only seven-day calendar plugin

Introduction

The positioning of DSH (Discord Skill Hub) is “Everything is a plugin”. Common plugins either modify the toolchain or take over a specific type of resource. This plugin is very lightweight: typing /qiyao in the session returns which day of the Seven Luminaries it is today, the traditional symbolism for that day, and what you can do with it. It does not connect to the internet, does not predict, and does not give luck/fortune judgments; it works the same whether the network is disconnected or not.

Below is an introduction to the positioning, features, installation method, and design trade-offs of nanrener/dsh-plugin-qiyao.

What is this

The plugin name is nanrener/dsh-plugin-qiyao, source code is on GitHub, the directory page is on skillhub.cn, and the maintainer is nanrener. The name in package.json is qiyao-calendar, current version 1.4.3, MIT license, zero dependencies, and no internet. The description is consistent with the introduction: check what day it is daily, Sun/Moon/Mars/Water/Metal/Earth, and give some inspiration for arrangement; it doesn’t judge luck. The directory category is “Fun & Dress-up”.

One-sentence summary: It turns the calendar trivia of “What day is the Seven Luminaries?” and “What is suitable for this day?” into a local command.

Core Features

The README starts by listing what it doesn’t do to avoid misunderstanding:

  • No fortune telling: The Seven Luminaries in traditional calendars only track days; fortune telling is handled by the Six Luminaries, Gengchu, or the 28 Mansions systems.
  • No internet: Dates, copy, and rotations are all calculated locally.
  • No prediction: It only provides the traditional symbolism for that day; you judge what to do yourself.

It actually does four things:

  1. Input /qiyao, return daily information: the Luminaries, the corresponding planet, symbolic meaning, plus “Today’s Top Pick” and “Also Suitable” suggestions.
  2. Supports querying specific dates, e.g., /qiyao 2026-11-10. It also recognizes 2026/11/10 and 2026年11月10日.
  3. There is a button in the top bar; clicking it opens the same Seven Luminaries information popup.
  4. You can place a qiyao-todos.txt in the “Documents” folder, organizing your to-dos by Luminaries.

The data for the top button is inline, split into two implementations: the host side index.js handles the command, and client.js is the browser-side build, with a data copy injected into client.js by the script.

Installation and Activation

The installation method does not involve the dsh plugin add command. The README provides a graphical flow: Open the DSH plugin page → Add plugin → Fill in the repository address:

https://github.com/nanrener/dsh-plugin-qiyao

For local development, you can also drag the repository folder directly. After installation, you need to restart once—the /qiyao command hot-reloads, but the top bar button belongs to the client-side plugin, which is bundled into the page at startup, so refreshing the page will not rescan the plugin directory.

Typical Usage

After installation, use it directly in the session:

/qiyao

Output looks like:

📅 Wood Luminaries Day (♃ Jupiter) · Nov 5
✨ Jupiter: Expansion, opportunity, growth, learning, travel
✅ Today's Top Pick: Start learning something, even if only for 20 minutes
📋 Also Suitable: Discuss cooperation, coffee with someone, ask a senior, sign up for a course, business trip, book flight

Query other dates:

/qiyao 2026-11-10

Manage your own matters: Create qiyao-todos.txt in the “Documents” folder, one line per item:

Submit weekly report
Reply to client emails
Wednesday | Write draft proposal
Saturday | Archive and backup

Items without a prefix appear every day; items with a prefix appear only on that Luminaries day, otherwise they are held temporarily. Three prefix formats are recognized: 周三 (Wednesday), 星期三 (Wednesday), 水曜日 (Water Luminaries Day). When the file does not exist, these lines will not display; if you don’t want to use it, treat it as if this feature doesn’t exist.

Applicable Scenarios and Notes

Suitable for those who want to use a lightweight local calendar for schedule and mood reference, but don’t want the plugin to go online or read other data. Two points to note: First, the plugin runs with the current DSH process permissions; its behavior is equivalent to the code you authorized. You should check the source code and license (MIT) before installing. Second, the top button does not contain your own added items; the browser side cannot read local files; to see the full content, check /qiyao.

The content is divided into three layers; the README clearly requests not to confuse them:

  • Calendar History Facts. Sun Day = Sunday, Moon Day = Monday… Earth Day = Saturday; this is verifiable. The tracking of days by the Seven Luminaries originated from the Babylonian planetary timekeeping system, was introduced to East Asia via the Indian Hsiu Yao Jing (Sūrya-siddhānta), and was written into Japanese weekday names in the 9th year of Meiji (1876), still used today.
  • Planetary Symbolism. The theme and boundary fields come from the Western astrological planetary symbolism system; it is a symbolic system, not knowledge.
  • Modern Translation. picks (Top Pick Pool) and fit (Fit Pool) are results of the author translating symbolism into contemporary life actions. There is no classical source, so do not take it as a basis for sources.

The README’s “Design Trade-offs” explains three details: The Top Pick pool is fixed at 8 items, and the Fit pool is fixed at 20 items (20 is coprime with 7; paired with 14 it would be divisible by 7, causing the same weekday to always show the same item); the top button can’t read host data files, so the data copy is inlined; changing the copy requires running node scripts/build-client.mjs to regenerate. The entire card uses only one accent color; the traditional colors of the Seven Luminaries only appear in symbols, the left border of the Top Pick block, and the light background. Additionally, the “Pitfalls” section records that ctx.command(...) is the old syntax, and the official use is ctx.commands.register({ name, description, input, handler }); package.json with a BOM will make pnpm report Invalid JSON; the popup uses the native popover attribute so it won’t be clipped by an ancestor overflow: hidden.

Conclusion

If your need is simply “checking what day it is every day,” this plugin is sufficient, and because it doesn’t connect to the internet and has zero dependencies, installing and uninstalling it is a burden-free process. Directory page: https://www.skillhub.cn/plugins/nanrener/dsh-plugin-qiyao , Source code: https://github.com/nanrener/dsh-plugin-qiyao .

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye