dsh-quadrant-todolist: DSH Sidebar Four-Quadrant To-Do Manager

Preface

When working with DSH, todos usually go one of two ways: either they are scattered in the chat with the agent, requiring you to dig through records to start working again; or they are pasted as a list at the beginning of the conversation, which drifts apart from actual progress a few days later. The common problem with both approaches is that the list lacks a single source of truth, making it hard for humans to view and for the agent to use.

The dsh-quadrant-todolist introduced below places todos in the sidebar of the DSH host, allowing humans and the agent to read and write the same todos.json. Users can schedule, check off items, and view statistics in the interface, while the agent can create items and change statuses via the personal_todo tool.

What is this plugin

  • Repository & Plugin Identifier: dsh-quadrant-todolist, GitHub repository https://github.com/ZIYE-JK/dsh-quadrant-todolist
  • Maintainer: ZIYE-JK (Author in package.json is ZIYE-JK, Natte listed separately in contributors)
  • Current Version: 1.0.0
  • License: MIT
  • Source: Significantly rewritten from Natte’s dsh-sidebar-todo@0.2.3, upstream copyright notices retained in LICENSE as required by MIT
  • Stars: 1 (GitHub API stargazers_count, read on 2026-11-06)
  • Community Directory: SkillHub’s plugin page places it under the “Workflow” category, https://www.skillhub.cn/plugins/ZIYE-JK/dsh-quadrant-todolist
  • Not yet published to npm, package name set to dsh-quadrant-todolist

The plugin does not import any @deepseek-ai/* packages (no dependencies, no peerDependencies), relying only on contracts provided by the host at runtime, including window.__ModuleLoader__.load, sidebar slots sidebar.panellist / main, ctx.webServer.register, ctx.tools.register, and ctx.locale registration. When these contracts change, behavior ranges from “entry disappears” to “panel constantly shows read failure”; the README lists the corresponding relationships item by item.

Interface and Views

The sidebar interface is divided into four views: Planning (Four-Quadrant Matrix), Monthly View, Weekly View, and Statistics. The header can switch to “Calendar” to view the monthly view: each cell shows at most two items, excess items are collapsed to +N; clicking a day shows the day’s schedule on the right, where you can directly check items or “Create New” on that day.

The Four-Quadrant Matrix is the default view, used to separate tasks by importance/urgency dimensions. The Statistics view shows completion status by period. System notifications and Feishu notifications fall within the capabilities listed in the current version; specific configuration items are not detailed in the README and are not expanded here.

Creating and Editing

Creating and editing use the same modal, with fields including title, notes, date, time, priority, category, and recurrence rules.

At the top of the modal is a “One-line Input” line: typing “Submit weekly report #Work tomorrow 3 PM” will automatically fill in date, time, priority, and category, with the rest manually adjustable. Supported parsing items include date (today/tomorrow/the day after tomorrow/week X/next week X/N days later/Month D/End of month), time (15:00, 3 PM, noon, midnight), priority (p1/p2/p3, !), and category (#name).

One rule worth noting is that one line generates only one todo item; the first recognized date in the sentence takes effect, with the remaining content left in the title as is.

Recurring Tasks

Recurrence options support daily, weekly (multi-select weekdays), monthly (specify day), and end date. Recurrence settings also include legal working days, Ebbinghaus memory curve, and “Last Day of Month”.

There are a few conventions regarding behavior:

  1. Only the instance expected to be completed this week appears in the list—daily items appear on their specific day, weekly items are visible for the whole week, monthly items for the whole month; once checked off, the row disappears and reappears in the next cycle.
  2. Checking it off completes this specific instance (the date shown on the row), not the series itself.
  3. Recurring tasks do not enter the “Completed” list and do not participate in “Backlog” determination.
  4. If no start date is specified for the recurrence rule, it is calculated based on the creation date; the agent can provide only repeat and it will still appear normally in the list and calendar.
  5. Newly created recurring tasks, if the first occurrence date has not yet arrived, will first show the next occurrence date rather than being invisible immediately after creation.
  6. “31st of every month” will be skipped in months with only 30 days, and will not automatically fall to the end of the month.

Agent Tools

The tool name on the agent side is personal_todo, with action being optional: list / add / update / complete / confirm / delete.

// add / update accept repeat parameter
{ "repeat": { "freq": "weekly", "weekdays": [1,2,3,4,5], "until": "2026-12-31" } }
// complete specifies which instance to complete by date, defaults to today
{ "action": "complete", "date": "2026-11-09" }

list marks recurring tasks with “Recurring·This Instance MM-DD”, referring to the one expected to be completed this time; occurrences returns all instances within a range. The tool infers recurrence rules from spoken language on its own, without requiring the user to answer “What kind of recurrence do you want?”—for example, saying “Submit daily report every Monday to Friday at 6 PM” in the conversation will cause the agent to create it directly.

Installation and Activation

The command to install from npm is as follows, but npm has not yet been published, so do not use this path for now:

dsh plugin --profile web add dsh-quadrant-todolist

The currently recommended way is to install directly from GitHub source:

dsh plugin --profile web add github:ZIYE-JK/dsh-quadrant-todolist

Installing from source is suitable if you want to keep up with the latest commits; updates follow commits, without version numbers. After installation, “Todo” appears below “Automation Tasks” in the sidebar; you can also search for dsh-quadrant-todolist or “Todo” in the host’s “Plugins → Discover” and install from the market.

For local development, you can install the repository directory directly into the profile (linked method, changes take effect immediately):

plugin_manager install_bundle  target: <this repository directory>

Note: After changing index.js, you must close and reopen the plugin row to reload the module; changing only client.js will be picked up by HMR automatically.

Data and Configuration

Data defaults to %DSH_PROFILE_DIR%/data/dsh-todolist/todos.json, which is plain JSON and can be opened, edited, and backed up directly. The structure is as follows:

{ "version": 1, "todos": [ { "id": "t_...", "title": "交周报", "dueDate": "2026-10-22", "done": false } ] }

When the file is corrupted, it is backed up as todos.corrupt-<timestamp>.json, then started with an empty list.

Configuration is changed in the plugin row of cordis.patch.yml:

- id: dsh-quadrant-todolist
  config:
    staleDays: 7   # How many days without a date counts as "Backlog"
    dataPath: ''   # Optional, override default data file path

Compatibility and Post-Upgrade Self-Check

Compatibility table provided in the README:

Host Version Plugin Version Conclusion
0.2.2-rc.1 1.0.0 Verified usable (2026-11-06)
0.2.1-rc.3 0.2.1 Verified usable, fixed startup crash of 0.2.0
0.2.1-rc.3 0.2.0 Startup crash, do not use
0.2.1-rc.2 0.1.0 Verified usable

engines.dsh in package.json is >=0.2.1-rc.2 || >=0.2.2-rc.1, and engines.node is >=22.

Do not skip the first two steps when self-checking after upgrading the host: Reload plugins (set_plugin close then open) → Click “Todo” in the sidebar → Have the agent call personal_todo list once → Run node --test. The reason is that node --test only covers one static convention in lib/ and client.js (registration id equals package name); if the host interface itself breaks, the test still shows green.

Applicable Scenarios and Notes

Suitable for these requirements: wanting a long-term todo list instead of re-stating it every time a new session starts; wanting the agent to read/write this list directly; needing to view schedules and completion statistics by week/month, and needing recurrence awareness of legal working days.

A few points to note:

  1. The plugin runs with the permissions of the current DSH process; before enabling, you should read the source code and LICENSE first.
  2. The site’s plugin category page is just a community directory; SkillHub has no official affiliation with DeepSeek / Shanghai Fangzhu AI Technology Co., Ltd., and is not an official app store.
  3. Do not install the upstream dsh-sidebar-todo at the same time—both register the same /todo/api route and share the same data file.
  4. Installing from source has no version numbers, so check the commit history before upgrading.

Conclusion

The value of this plugin lies in converging todos into a single file, a single interface, and a set of agent tools, so humans and the agent do not need to maintain their own states separately. Star count and version iterations are still in early stages, but the compatibility table and contract descriptions in the README are written quite specifically, making it suitable for direct self-checking.

  • Directory Page: https://www.skillhub.cn/plugins/ZIYE-JK/dsh-quadrant-todolist
  • Repository: https://github.com/ZIYE-JK/dsh-quadrant-todolist
羽毛球分组比赛记分
小程序二维码

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

Xiaoye