DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

fffgfffff /

fffgfffff/cike-taskboard

Verified

此刻 · 任务排程 — DSH 本地任务排程与到点提醒

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@300e9ffb

此刻 · 任务排程(DSH 插件)

英文名 Cike / Moment,技术包名 dsh-taskboard(本地开发版)。 一句话:贴着实时时间排今天的任务,到点弹窗提醒。

把「任务排程小窗」重做成了 DeepSeek Harness 的 Web 插件:左侧栏入口 + 贴边悬浮小窗, 记录今天要做的事,按优先级与截止时间自动排进上班时间;到点提醒;支持未来 7 天和虚拟时间轴。 放不下的明确列出来,不自动删除、不自动降级。

数据全部保存在本机 ~/.dsh/dsh-taskboard/state.json,不联网、不登录。

完整需求、时间字段定义、操作清单与去重决定见 需求与操作清单.md。 新用户请直接看 使用教程.md;安全审计见 安全审计.md。

形态

  • 完整面板:左侧栏「任务排程」→ 输入框 + 时间轴 + 没排上 + 已完成 + 页脚统计。
  • 悬浮小窗:默认吸附在右侧,收起时是一条 13px 的淡蓝细条;点击细条展开(不再悬停自动弹),细条可上下拖动/滚轮/↑↓调整位置。 按住标题栏可拖动,松手按窗口中心吸附到左/右边缘;位置、开合、左右侧会记住。 卡片上的 × 只是收起成细条,不会把小窗彻底弄丢;要彻底隐藏/重新打开用设置里的「悬浮小窗」开关;关闭后页头会出现「打开悬浮窗」。
  • 跟随主题:直接使用 DSH 的 --dsw-* 主题变量,深色/浅色界面都自动适配。

功能

区块 行为
记录 一行文字即一件事;回车添加;可顺带选 P0–P3、预计耗时、截止日期/时刻;预计耗时旁有「到下班」一键按当前/固定开始到下班算时长
今天从现在 今天自动添加任务会从当前时间接着排,不回填到早上;页脚「可用 / 富余」也按当前时间 → 下班计算
提醒 任务到点弹「现在开始」,下个任务开始前弹「N 分钟后开始」;设置里可关、可调提前分钟、可关提示音
返回对话 在完整面板左上角「返回对话」,一键切回刚才的会话;只切主面板,不改变当前会话
固定时间 「固定时间」里可填开始/结束,或点「现在」;结束留空 = 只固定开始;开始落在午休/上班前会自动落到最近的可工作分钟
未来 7 天 页头小日历按钮:今天 + 未来 7 天,每天独立时间轴;今天下班结束归档后,未完成的任务才会顺延到次日
虚拟时间轴 独立草稿:自由加任务、调顺序/固定开始,实时预览;确认后覆盖到选中日期;可导出/导入 JSON
排程 已过期 → 截止近 → 优先级高 → 添加顺序;从最早的空白开始连续铺满
自动分段 长任务先填满上午,午休后接着排;绕开固定任务继续填,不把长任务整体挪到下午;每段单独显示「续」
实时高亮 每 15 秒刷新;正在进行的任务亮蓝、带「进行中 · 剩 X」;时间轴上有「现在」标记线
超时 计划结束还没打勾会标「超计划 X」;编辑器里 +15/+30 分钟延长、也可直接改预计/实际;后续任务自动顺延
提前完成 勾选即完成,按计划分段自动估一个实际用时;已完成里显示「实 X / 提前 X」;可手改实际
从现在重排 页头按钮把还没做的任务从当前时间重新排,「恢复全天」还原全天计划;跨天自动失效
约束 不占用午休;午休/下班/工作时段可在设置里改;单段小于 10 分钟的碎片不切开
固定 可指定开始时刻;固定的长任务也在午休处自动分段;撞午休/下班/别的固定任务只标红,位置不动
超载 需求总时长 > 可用时长时显示超载量;总时间都不够的任务整件进「没排上」,不会只排一半
处置 没排上的可一键顺延到明天或删除,由使用者决定
完成 勾选后进入「已完成」;可撤销
跨天 次日首次打开/跨天轮询时先按天归档,再把昨天没打勾的顺延到今天并标「顺延」;当天没下班不会顺延;首次运行不搬运历史
只改今天 临时改上下班/午休(如加班到 21:00),次日自动恢复
数据 原子写入 JSON、自动留上一份备份;可导出/导入;兼容旧版小窗的 state.json
历史 按天归档、只读查看,不参与当天排程

安装(本地开发)

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

也可以从本地目录安装(在仓库根目录执行):

dsh plugin --profile desktop add .

首次安装/升级后,DSH 的 HMR 会重新组合 profile;如果界面没出现,刷新一次页面即可。 也可以在「设置 → 插件」里确认 dsh-taskboard 已启用。

卸载

dsh plugin --profile desktop remove dsh-taskboard

数据目录 ~/.dsh/dsh-taskboard/ 不会自动删除,需要时手动清理。

开发

cd dsh-taskboard
node scripts/build.mjs      # src → lib(客户端 bundle + 宿主入口 + 共享内核)
node --test tests/*.test.js # 排程内核 / 宿主存储 / 客户端冒烟,45 项

源码结构:

src/
  scheduler.js        排程内核:宿主、浏览器、测试共用同一份(不重复实现)
  host.js             宿主半侧:本地 JSON、跨天归档/顺延、/dsh-taskboard 路由
  client/
    00-core.js        数据仓库、主题化 CSS、图标
    10-ui.js          弹层、设置、历史、日历
    15-virtual.js     虚拟时间轴
    20-page.js        完整面板、时间轴、行内编辑器
    30-dock.js        贴边悬浮小窗
    40-reminders.js   到点提醒
    99-apply.js       插槽注册(sidebar.panellist / main / shell.overlay)
scripts/build.mjs     拼接构建 + 语法检查
lib/                  构建产物(DSH 实际加载这里)

浏览器半侧必须是一个普通副作用脚本:顶层调用 window.__ModuleLoader__.load({ id, factory(require) }),React 由 DSH 的模块种子表提供, 因此不打包 React。宿主半侧复用同一份 scheduler.js,跨天逻辑与界面看到的排程不会漂移。

与旧版桌面小窗的关系

旧版 taskboard\(Windows Forms 独立窗口)保留不动;本插件是同一套需求在 DSH 里的重做:

  • 保留了字段、超载/没排上/顺延/归档/只改今天等行为;
  • 按新反馈调整:长任务不再整体躲到下午,而是先填满上午、午休后接着排;时间轴实时高亮当前任务;快速添加支持「固定时间 / 从现在开始」;
  • 窗口形态从「独立桌面窗口」改成「DSH 内的贴边悬浮小窗 + 完整面板」;
  • 数据从 taskboard\data\state.json 改成 ~/.dsh/dsh-taskboard/state.json, 设置里可以直接导入旧文件。

超时 / 提前完成怎么操作

  • 任务超过了预计时间
    • 计划结束时间一过、又没打勾,任务行会出现「超计划 X」。
    • 点任务行展开编辑器:+15 分钟 / +30 分钟 直接延长,后面的任务自动顺延;也可以直接改「预计耗时」。
    • 如果整天的计划已经偏了,点页头 「从现在重排」:只把还没做的任务从当前时间重排,之前的时段不再参与;点 「恢复全天」 回到完整计划。
  • 提前完成任务
    • 点左侧勾选框即可;系统会按计划分段估算一个实际用时(例如计划 09:00–10:00、09:30 勾选 → 实际 30 分钟)。
    • 已完成区显示「实 30m / 提前 15m」,完成时刻也保留。
    • 想让后面的任务立刻前移,点 「从现在重排」;不点则保持全天计划。
    • 实际用时不准确:取消勾选 → 在编辑器「实际」里改 → 再勾选;已有实际值不会被自动覆盖。
  • 实际耗时
    • 编辑器里的「实际」字段随时可填;超额完成就填真实投入(如 90 分钟),已完成区会显示「超 30m」。
  • 一键填到下班
    • 预计耗时旁的 「到下班」:按当前时间(固定时间时按开始时间)到下班的工作分钟数自动填入,午休自动扣掉。
    • 任务编辑器里也有「到下班」,按固定开始时刻(没有固定则按现在)算到下班。
    • 截止时间用「截止(最后期限)」的日期/时刻字段;它和「结束时间」不是一回事:结束只用于折算耗时,截止用于排序和过期提醒。

到点提醒

  • 设置 → 提醒:总开关、下个任务提前 N 分钟、提示音。
  • 今天有任务到第一段开始时,右下角弹出「现在开始」;下个任务进入提前窗口时弹「N 分钟后开始」。
  • 弹窗上可以直接 完成 或 知道了;同一任务同一开始时刻只提醒一次。
  • 只提醒今天的时间轴;未来日期和虚拟时间轴不会弹。

未来 7 天

  • 页头小日历按钮 → 选 今天 + 未来 7 天;每一天有独立时间轴,添加任务只进选中日期。
  • 今天下班结束、跨天归档后,昨天没完成的任务才会顺延到今天;当天没结束不会提前搬。
  • 未来日期的「到下班」按上班时间算全天,不受今天的实时时间影响。

虚拟时间轴

  • 页头 虚拟 按钮:独立草稿,随便加任务、上移/下移、设固定开始;右侧实时预览排程。
  • 覆盖到选中日期:确认后清空该日期现有任务,换成虚拟时间轴(包括已完成)。
  • 导出 下载 JSON;另一台设备点 导入 选这个文件,就得到同一份虚拟时间轴。

今天从现在开始

  • 今天在上班时间内用「自动排」添加任务时,会自动把排程锚点设到当前时间:新任务从当前时间接着排,不会回填到早上。
  • 页脚「可用 / 富余」按 当前时间 → 下班 计算,不受上午已经排过什么影响。
  • 想回到全天视图,点「恢复全天」;之后再添加自动任务会重新从现在开始。

已知边界

  • 自动分段后,同一任务在时间轴上会出现多行(第二段起标「续」);勾选/编辑任意一段都是操作整件事。
  • 「固定时间」的结束时间按上班时间折算耗时:例如 10:00–15:00、午休 1 小时,实际计 4 小时工作,排出来是 10–12 + 13–15。
  • 单段不足 10 分钟的碎片不切开,留给后面的小事,避免把任务切成没意义的几分钟。
  • 总可用时间都不够时,整件进「没排上」,不会只排一半。
  • 悬浮小窗吸附的是 DSH 窗口内的左右边缘,不是操作系统桌面边缘。
  • 历史最多保留 120 份按天归档,超出后自动清理最旧的。
  • 拖动排序只影响「截止与优先级都相同」时的先后,不会覆盖截止/优先级规则。

悬浮小窗不见了?

按顺序试:

  1. 看 DSH 窗口最右侧有没有一条淡蓝细条:点一下就会展开。
  2. 打开「任务排程 → 设置 → 悬浮小窗」,把「在窗口右侧显示贴边悬浮小窗」打开;只有被彻底关闭时,任务排程页头才会出现「打开悬浮窗」按钮。
  3. 打开「任务排程 → 设置 → 悬浮小窗」,把「在窗口右侧显示贴边悬浮小窗」打开。
  4. 如果之前点过小窗上的 ×,旧版本会把小窗彻底关掉;新版本会自动迁移成「只收起成细条」。
—/ 5

No ratings yet

Verified DSH bundle

Commit 300e9ffb3526

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout