cike-taskboard:在 DSH 里贴着实时时间排任务、到点提醒

Introduction

When writing agents or debugging workflows in DSH, the chat window often consumes all attention, while to-do items are scattered in notes or standalone tools. Ordinary to-do lists only record “things to do”; they rarely squeeze today into the gaps between work and rest based on the current moment, nor do they pop up proactively when a task starts. The old desktop mini-window could schedule, but it was a separate interface from the DSH session.

Moment · Task Scheduling (GitHub: fffgfffff/cike-taskboard, package name dsh-taskboard) turns the same scheduling logic into a DSH web plugin: a full panel on the left sidebar + a floating mini-window attached to the edge. Data is stored in local JSON, offline, no login required. Below is an introduction to what it does, how to install, and how to use it daily.

What is this

  • Maintainer: fffgfffff
  • Category: Workflow (categorized under DSH Community Directory)
  • One-liner: Schedule today’s tasks based on real-time; pop up reminders at the scheduled time; supports the next 7 days and virtual timelines.
  • English Name: Cike / Moment

The plugin registers a sidebar entry and a shell overlay under the DSH desktop profile. The scheduling kernel scheduler.js is shared between the host and the browser to avoid inconsistency between the interface and the locally computed plan.

Interface Layout

  1. Full Panel: Left sidebar “Task Scheduling” → Input box, timeline, “Unscheduled”/”Completed”, footer statistics. Top-left has “Return to Chat”, which only switches back to the main panel view without changing the current session.
  2. Floating Mini-window: Defaults to snapping to the right edge of the DSH window. When collapsed, it is a thin light blue strip about 13px wide; click the strip to expand (no longer pops up automatically on hover). The strip can be dragged up/down or adjusted via mouse wheel/arrow keys. Dragging the title bar moves the window; releasing it snaps the window center to the left/right edge. Position and open/close state are remembered. The × on the card only collapses it to the strip; to hide completely or reopen, use the “Floating Mini-window” toggle in settings.
  3. Theme: Uses DSH’s --dsw-* variables; light and dark modes adapt to the client theme.

Core Features (Verified)

Recording and Scheduling

  • One line of text is one task, press Enter to add; can set P0-P3, estimated duration, deadline/time; next to estimated duration is “To End of Work” which calculates work minutes to end of work based on current or fixed start (deducting lunch).
  • Start from Now (Today): Tasks added during working hours are scheduled starting from the current time, not backfilled to the morning; the footer “Available / Surplus” is calculated based on the current time to end of work.
  • Scheduling Rules: Expired → Due Soon → High Priority → Added Order; fills from the earliest empty slot continuously. Long tasks are automatically split: first fill the morning, continue after lunch, bypass fixed tasks, and don’t move the whole task to the afternoon; each segment is separately labeled “Continued”. Segments smaller than 10 minutes are not split.
  • Fixed Time: Can fill start/end or click “Now”; leaving end blank means only fixing the start. It turns red if it conflicts with lunch, work hours, or other fixed tasks, but the position remains unchanged.
  • Overload: When total required duration exceeds available duration, it shows the overload amount; tasks that cannot fit entirely enter “Unscheduled”, they won’t be partially scheduled; can be pushed to tomorrow or deleted.
  • Overtime: If the planned end time is unchecked, it shows “Over Plan X”; the editor can add +15/+30 mins or change estimate, automatically delaying subsequent tasks. The header “Reschedule from Now” reschedules incomplete tasks from the current time; “Restore Full Day” restores the full-day plan (invalid across days).
  • Early Completion: Checking it marks it complete; the completed area can show actual and early completion time, and “Actual” can be manually edited.

Reminders

  • Settings → Reminders: Master switch, remind N minutes before the next task, sound.
  • Pops up “Starting Now” when the first segment of today starts; pops up “Starting in N minutes” when the next task enters the reminder window. The popup can be Completed or Got It; the same task is only reminded once at the same start time. Only applies to the today timeline; future dates and virtual timelines do not trigger popups.

Next 7 Days and Virtual Timeline

  • Header mini-calendar: Today + next 7 days, independent timeline for each day. After today’s work ends and archives, unfinished tasks from yesterday are only pushed to today and marked “Delayed”.
  • Virtual Timeline: Independent draft, can adjust order and fixed start time with real-time preview; Overwriting to Selected Date clears existing tasks on that day (including completed ones). Supports export/import JSON.

Data and Constraints

  • State file: ~/.dsh/dsh-taskboard/state.json; atomic writes with backup of previous version; can export/import; settings allow importing the old desktop mini-window’s state.json.
  • Lunch, work hours, and work periods can be modified in settings; “Only Change Today” restores the next day automatically.
  • Daily history archives are read-only, keeping up to 120 copies.
  • Real-time highlighting refreshes approximately every 15 seconds; the timeline has a “Now” marker line.

Installation and Activation

Assuming the DSH desktop environment is installed, use the command in the README to add the plugin from GitHub:

dsh plugin --profile desktop add github:fffgfffff/cike-taskboard

After first installation or upgrade, DSH’s HMR will recombine the profile; if the interface doesn’t appear, refresh the page once. You can confirm dsh-taskboard is enabled in “Settings → Plugins”.

Uninstall:

dsh plugin --profile desktop remove dsh-taskboard

Uninstalling does not delete the data directory ~/.dsh/dsh-taskboard/; clean it up manually if needed.

Current package.json version is 0.2.0, license MIT, requires Node >=20 (for development build).

Typical Usage

  1. Open the left sidebar “Task Scheduling”, enter items in the input box and press Enter; select priority, duration, deadline if needed, or use “To End of Work” to fill remaining work time.
  2. When adding tasks in the mid-to-late working hours, they default to scheduling from “Now”; if the plan drifts, use “Reschedule from Now” or “Restore Full Day”.
  3. Enable reminders in settings and set the advance minutes; handle current or next item when the popup appears.
  4. To preview weekly workload, use the header calendar to switch dates; use the “Virtual” draft for large-scale adjustments, then overwrite to specific dates after confirmation.
  5. If the floating mini-window is missing: first look for the thin light blue strip on the right side of the DSH window and click to expand; or open “Show Floating Mini-window on Right Edge of Window” in “Task Scheduling → Settings → Floating Mini-window”.

Suitable Scenarios and Notes

Suitable for: Developers or individual users who work on the DSH desktop for a long time, want to keep to-dos on the same screen as the conversation, and need scheduling that automatically chunks by work/lunch hours.

Notes:

  • The plugin runs with the permissions of the current DSH process, and data and reminders are all completed locally; before installing, it is recommended to read the repository README, 使用教程.md and 安全审计.md, and verify the MIT license and source code.
  • The floating mini-window snaps to the DSH window’s left/right edges, not the operating system desktop edge.
  • The DSH Community Directory (SkillHub) is an independent site with no official affiliation with DeepSeek / Fantuan; plugin distribution is based on GitHub and directory page information.

Conclusion

cike-taskboard embeds “scheduling today based on the current moment + reminders at the scheduled time” into DSH, with local JSON storage and two entry points: sidebar and floating mini-window, while preserving scheduling for the next week and virtual drafts. For installation commands and behavioral details, refer to the repository README.

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

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

Xiaoye