🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

日程提醒面板 MARIOMLY/dsh-schedule-panel

DeepSeek Harness
MARIOMLY52 天前有提交已提供中文文档扫描:含敏感能力

在侧栏日历中管理日程,到点弹通知提醒你

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MARIOMLY/dsh-schedule-panel
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 52 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-schedule-panel(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:46:59

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 13 处,展示前 13 条)
  • 写入本地文件
    lib/index.js:386
    await writeFile(join(dir, 'tray-command.txt'), 'hide', 'utf8')
  • 发起网络请求
    lib/client/index.js:635
    store.fetch();
  • 发起网络请求
    lib/client/index.js:673
    fetch() {
  • 发起网络请求
    lib/client/index.js:1024
    if (document.visibilityState === "visible") store.fetch();
  • 读取本地文件
    verify.mjs:51
    const src = readFileSync(`${PKG}/src/client/contribution.ts`, 'utf8')
  • 读取本地文件
    verify.mjs:78
    const bundle = readFileSync(`${PKG}/lib/client/index.js`, 'utf8')
  • 执行外部命令来自配置/变量
    verify.mjs:108
    execFileSync(process.execPath, [`${PKG}/tools/check-contribution.mjs`, report], { stdio: 'inherit' })
  • 读取本地文件
    verify.mjs:109
    const checked = JSON.parse(readFileSync(report, 'utf8'))
  • 执行外部命令来自配置/变量
    verify.mjs:127
    execFileSync(process.execPath, [`${PKG}/tools/check-client-wiring.mjs`, report], { stdio: 'inherit' })
  • 读取本地文件
    verify.mjs:128
    const wiring = JSON.parse(readFileSync(report, 'utf8'))
  • 执行外部命令来自配置/变量
    verify.mjs:143
    execFileSync(process.execPath, [`${PKG}/tools/check-reminders.mjs`, report], { stdio: 'inherit' })
  • 读取本地文件
    verify.mjs:144
    const reminders = JSON.parse(readFileSync(report, 'utf8'))
  • 写入本地文件
    verify.mjs:156
    writeFileSync(`${PKG}/verify.txt`, out.join('\n'), 'utf8')
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-fs@deepseek-ai/dsh-tools@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 侧栏日历管理日程
  • 到点弹通知提醒

日程面板——一个可以提醒你的小插件

README

由 DeepSeek 最新模型翻译生成
dsh-schedule-panel 给 DeepSeek Harness Web 界面加一个「日程」面板:左侧栏日历 + 主面板月/周/概览视图,并注册一个同名的 schedule 工具,面板与模型工具共用同一份数据。 数据存在 DSH 自己的持久化存储域里(ctx.storageDomain,落在 $DSH_HOME/storages/storage_panel.json),重启后仍在,不受工具文件沙箱限制。 功能 | 功能 | 说明 | | 月 / 周 / 概览视图 | 每天格子里直接显示日程标题(最多 4 条,超出显示"+N 项") | | 新建 / 编辑 / 完成 / 删除 | 标题、时间(省略=全天)、分类、备注 | | 到点提醒 | 每条日程可单独设置提前量(0/5/10/15/30/60/120/1440 分钟);到点弹系统通知,不可用时退化为面板顶部横幅 | | 提醒总开关 | 工具栏一个手动开关,状态记在浏览器本地;关掉后不再轮询、不再弹任何提醒 | | 补课机制 | 窗口最小化/后台时浏览器会降频定时器;恢复后按"上次检查时刻"把关闭期间到点的提醒补发(标题会写「错过的日程提醒」) | | 收进托盘 | 桌面应用(Chromium --app 窗口)里多一个按钮,请常驻托盘宿主把窗口隐藏到系统托盘 |
展开完整文档(README 剩余 1 节)
dsh-schedule-panel

给 DeepSeek Harness Web 界面加一个「日程」面板:左侧栏日历 + 主面板月/周/概览视图,并注册一个同名的 schedule 工具,面板与模型工具共用同一份数据。

数据存在 DSH 自己的持久化存储域里(ctx.storageDomain,落在 $DSH_HOME/storages/storage_panel.json),重启后仍在,不受工具文件沙箱限制。

功能

| 功能 | 说明 |
| 月 / 周 / 概览视图 | 每天格子里直接显示日程标题(最多 4 条,超出显示"+N 项") |
| 新建 / 编辑 / 完成 / 删除 | 标题、时间(省略=全天)、分类、备注 |
| 到点提醒 | 每条日程可单独设置提前量(0/5/10/15/30/60/120/1440 分钟);到点弹系统通知,不可用时退化为面板顶部横幅 |
| 提醒总开关 | 工具栏一个手动开关,状态记在浏览器本地;关掉后不再轮询、不再弹任何提醒 |
| 补课机制 | 窗口最小化/后台时浏览器会降频定时器;恢复后按"上次检查时刻"把关闭期间到点的提醒补发(标题会写「错过的日程提醒」) |
| 收进托盘 | 桌面应用(Chromium --app 窗口)里多一个按钮,请常驻托盘宿主把窗口隐藏到系统托盘 |
| schedule 工具 | 让我在会话里读写同一份日程:action=list/add/update/remove/clear,支持 remindBefore |

安装

从本地目录(link 方式,改源码即时生效)
dsh plugin --profile web add D:\path\to\dsh-schedule-panel-ts

或从 git
dsh plugin --profile web add https://github.com/MARIOMLY/dsh-schedule-panel.git

dsh plugin 会用 pnpm 把包装进 profile,并按包内 dsh.bundle 声明把本包追加到 dsh.profile.bundles,启动时合并 cordis.patch.yml 里的 insert——所以重启后自动加载,不需要手改 profile 文件。

仓库里提交了 lib/(构建产物),因此从 git 安装无需本地构建。

结构

lib/index.js 宿主半:普通 ESM。注册 Cordis 服务 schedulePanel(Typert Remote)与模型工具 schedule;落盘走 ctx.storageDomain lib/client/index.js 浏览器半:ModuleLoader 工厂格式(客户端产物必须是这个格式) src/client/ 浏览器半源码(React + TSX) src/client/contribution.ts 手写的 Remote 契约(描述符 + codec) tools/ 构建后包装、离线校验脚本 cordis.patch.yml 本包的 bundle patch(composition insert 一行)

开发

pnpm install
pnpm exec tsc --noEmit
pnpm run build # tsdown(cjs) + tools/wrap-client.mjs 包成 ModuleLoader 工厂
node verify.mjs # 离线校验:产物格式/契约/接线/提醒逻辑,失败即 exit 1

verify.mjs 覆盖的都是实际踩过的坑,例如:

- 客户端产物必须是 window.__ModuleLoader__.load 工厂格式(裸 ESM 会让整批客户端模块中止)
- Remote 描述符每个 codec 必须有非空 typeSymbol(少了会报一句毫不相关的 reading 'length')
- 端点名不能撞 Cordis Service 原型成员(remove 撞过,故改名 drop)
- store 必须是模块级/globalThis 单例;首次拉取不能依赖多个 effect 的相对顺序
- 到点提醒的时间窗口、边界、每条各自的提前量、补课语义(20 项单测)

实现要点

- 宿主半是纯 JS:Node 24 不支持标准装饰器语法,且官方 codegen 依赖未发布的 @deepseek-ai/dsh-type-meta,所以走网关的 SRC 回退——它用 Function.prototype.toString 读方法形参名当 wire 字段,因此宿主形参名必须与 src/client/contribution.ts 里的 wire 逐字一致(verify.mjs 会断言)。
- 客户端拿到的是 { ok, value } 信封:浏览器侧 Remote 方法返回信封,而直接打宿主 HTTP RPC 返回裸对象。所有调用统一走 callSnapshot() 拆信封。
- 通知权限必须由用户手势触发:所以页头放显式入口,并对 requestPermission() 加超时(Chromium --app 窗口可能既不弹询问也不返回)。
- 网页无法隐藏原生窗口:桌面应用的"收进托盘"是客户端写指令文件 → 常驻托盘宿主轮询后执行。

License

MIT
预览分享卡片长什么样 ↓MARIOMLY/dsh-schedule-panel
分享 · DeepSeek Harness Hub
MARIOMLY/dsh-schedule-panel

在侧栏日历中管理日程,到点弹通知提醒你

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部