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

日历任务编排 MAGMA27/dsh-calendar

DeepSeek Harnessv0.1.10
MAGMA2734 天前有提交已提供中文文档扫描:含敏感能力

在日历上安排待办并定时触发 Agent 执行

34.7/100
综合分
1
GitHub 星标
450
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @magma27/dsh-calendar
npm 源 · @magma27/dsh-calendar 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

✓npm 包@magma27/dsh-calendar @ 0.1.10
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/4 09:46:22

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 36 处,展示前 36 条)
  • 发起网络请求
    lib/index.js:2610
    const outcome = await approval.approver.request({
  • 发起网络请求
    lib/index.js:6089
    const outcome = await approval.request({
  • 读取本地文件
    lib/index.js:8010
    if (!existsSync(p)) return void 0;
  • 读取本地文件
    lib/index.js:8011
    const raw = readFileSync(p, "utf8");
  • 读取本地文件
    lib/index.js:8022
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
  • 写入本地文件
    lib/index.js:8022
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
  • 写入本地文件
    lib/index.js:8026
    writeFileSync(fd, JSON.stringify(doc, null, 2));
  • 写入本地文件
    lib/index.js:8032
    chmodSync(tmp, 384);
  • 写入本地文件
    lib/index.js:8034
    renameSync(tmp, p);
  • 读取本地文件
    lib/index.js:8082
    return parseLedgerLock(readFileSync(lockPath, "utf8"));
  • 读取本地文件
    lib/index.js:8094
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
  • 写入本地文件
    lib/index.js:8094
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
  • 删除本地文件
    lib/index.js:8115
    unlinkSync(lockPath);
  • 写入本地文件
    lib/index.js:8122
    writeFileSync(fd, JSON.stringify(record));
  • 删除本地文件
    lib/index.js:8129
    unlinkSync(lockPath);
  • 删除本地文件
    lib/index.js:8146
    unlinkSync(lockPath);
  • 发起网络请求
    lib/client.js:700
    return await readJson(await fetch(`${this.base}/state`, {
  • 发起网络请求
    lib/client.js:706
    return await readJson(await fetch(`${this.base}/options`, {
  • 发起网络请求
    lib/client.js:716
    return await readJson(await fetch(`${this.base}/action`, {
  • 发起网络请求
    src/client/host-api.ts:66
    const res = await fetch(`${this.base}/state`, { cache: 'no-store', signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS) })
  • 发起网络请求
    src/client/host-api.ts:71
    const res = await fetch(`${this.base}/options`, { cache: 'no-store', signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS) })
  • 发起网络请求
    src/client/host-api.ts:77
    const res = await fetch(`${this.base}/action`, {
  • 读取本地文件
    src/host-ledger.ts:102
    if (!existsSync(p)) return undefined
  • 读取本地文件
    src/host-ledger.ts:103
    const raw = readFileSync(p, 'utf8')
  • 读取本地文件
    src/host-ledger.ts:115
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
  • 写入本地文件
    src/host-ledger.ts:115
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
  • 写入本地文件
    src/host-ledger.ts:119
    writeFileSync(fd, JSON.stringify(doc, null, 2))
  • 写入本地文件
    src/host-ledger.ts:125
    chmodSync(tmp, 0o600)
  • 写入本地文件
    src/host-ledger.ts:129
    renameSync(tmp, p)
  • 读取本地文件
    src/host-ledger.ts:189
    return parseLedgerLock(readFileSync(lockPath, 'utf8'))
  • 读取本地文件
    src/host-ledger.ts:203
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
  • 写入本地文件
    src/host-ledger.ts:203
    if (!existsSync(dir)) mkdirSync(dir, { recursive: true })
  • 删除本地文件
    src/host-ledger.ts:228
    unlinkSync(lockPath)
  • 写入本地文件
    src/host-ledger.ts:238
    writeFileSync(fd, JSON.stringify(record))
  • 删除本地文件
    src/host-ledger.ts:242
    try { unlinkSync(lockPath) } catch { }
  • 删除本地文件
    src/host-ledger.ts:261
    try { unlinkSync(lockPath) } catch { }
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-preset-registry@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

4 张 · 点击查看大图

功能亮点

  • 日历安排待办
  • 定时触发智能体执行
  • 创建管理周期任务
展开完整介绍(122 字)↓

dsh-calendar 是 DSH Web 的日历与智能体任务插件,用来规划待办、安排时间、调度一次性或周期性智能体运行,还能让智能体通过 calendar_task 创建和管理任务;智能体也能查看你的日历任务和执行历史,帮你回顾计划与进度。

README

由 DeepSeek 最新模型翻译生成
📅 dsh-calendar DSH Web 的 Host 权威日历与定时 Agent 任务插件 [!NOTE] 当前源码适配 DSH 0.2.0-rc.2,包括设置表单和 UI Workspace 导航 API。 dsh-calendar 是 DSH Web 的日历与 Agent 任务插件。你可以用它管理待办、安排时间、设置一次性或重复的 Agent 任务,也可以让 Agent 通过 calendar_task 创建和管理任务;还可以基于日历任务和执行记录,让 Agent 帮你复盘工作安排与完成情况。 预览 周视图月视图 矩阵视图议程视图 功能 - 通过日历视图拖拽创建和安排定时任务。 - 支持周视图、月视图、议程视图和艾森豪威尔矩阵视图。 - 支持紧急度/重要度分级、子任务和直接勾选完成。 - 支持一次性或每日/每周触发 Agent,可选择跳过周末与节假日。 - 执行 Agent 时,可指定工作区、session、provider/model、Agent preset 和权限 preset。 - 提供 calendar_task 工具,让 Agent 通过同一个 Host 账本创建、查询、更新、删除和设置定时任务。 - Host 权威账本与执行记录,浏览器刷新后状态仍保持一致。
展开完整文档(README 剩余 1 节)
📅 dsh-calendar
DSH Web 的 Host 权威日历与定时 Agent 任务插件

[!NOTE]
当前源码适配 DSH 0.2.0-rc.2,包括设置表单和 UI Workspace 导航 API。

dsh-calendar 是 DSH Web 的日历与 Agent 任务插件。你可以用它管理待办、安排时间、设置一次性或重复的 Agent 任务,也可以让 Agent 通过 calendar_task 创建和管理任务;还可以基于日历任务和执行记录,让 Agent 帮你复盘工作安排与完成情况。

预览

周视图月视图

矩阵视图议程视图

功能

- 通过日历视图拖拽创建和安排定时任务。
- 支持周视图、月视图、议程视图和艾森豪威尔矩阵视图。
- 支持紧急度/重要度分级、子任务和直接勾选完成。
- 支持一次性或每日/每周触发 Agent,可选择跳过周末与节假日。
- 执行 Agent 时,可指定工作区、session、provider/model、Agent preset 和权限 preset。
- 提供 calendar_task 工具,让 Agent 通过同一个 Host 账本创建、查询、更新、删除和设置定时任务。
- Host 权威账本与执行记录,浏览器刷新后状态仍保持一致。

Agent 工具:calendar_task

calendar_task 是 Agent 管理日历任务的统一接口。每次调用传入一个 action;所有修改都使用与日历 UI 相同的 Host 权威账本。

时间字段是有意区分的:startAt/endAt 表示日历时间块,dueAt 表示一次性的绝对触发时间,repeat 配合 triggerAgent 和可选的 triggerAt 表示重复触发;接口中没有 scheduleAt 参数。

| action | 功能 |
| options | 查询可用的工作区、session、provider、模型和模式。 |
| create | 创建任务,可同时设置执行目标和定时规则。 |
| get | 查询单个任务及其执行摘要。 |
| list | 按时间、状态、session、模型等条件查询任务或执行记录。 |
| update | 修改任务标题、时间、内容或执行设置。 |
| setQuadrant | 设置任务的紧急度和重要度。 |
| setDone | 标记任务完成或未完成。 |
| addSubtask | 添加子任务清单项。 |
| setSubtaskDone | 标记子任务完成或未完成。 |
| removeSubtask | 删除子任务。 |
| setSchedule | 添加、修改或清除一次性/每日/每周定时。 |
| run | 立即启动一次 Agent 执行。 |
| delete | 删除任务。 |

从 npm 安装

不要把它安装到普通 Node 项目里;应当让 DSH 把 npm 包安装到目标 profile:

~~~sh

DSH 的 profile 插件管理会调用 pnpm;没有 pnpm 时先安装一次

npm install --global pnpm

安装到 DSH Web profile

dsh plugin --profile web add '@magma27/dsh-calendar'

首次安装或升级后重启 Web profile

dsh web

验证插件是否进入 profile:

~~~sh
dsh --profile web --dump-config

升级或卸载:

~~~sh
dsh plugin --profile web update '@magma27/dsh-calendar'
dsh plugin --profile web remove '@magma27/dsh-calendar'

从源码安装

~~~sh
pnpm install
pnpm typecheck
pnpm test
pnpm build

用本地目录挂载到 DSH Web profile

dsh plugin --profile web add link:<path-to-dsh-calendar>

重启 DSH Web;仅刷新浏览器不会替换已加载的 Host bundle

dsh web

使用与安全边界

- 日历入口位于 DSH Web 侧边栏;任务详情中的执行设置可以选择当前 session、已有 session 或新建 session。
- Agent 可以通过 calendar_task 创建、查询、更新和删除任务;sessionId: "current" 表示当前调用 Agent 的 session。
- 空白 triggerAt 使用任务块开始时间;已设定的绝对触发时间与任务块移动解耦。
- Host 恢复时会把错过的到期任务标记为失败,不会追赶执行;重复规则也不会补跑错过的日期。
- 定时执行会真实消耗 LLM API 额度。Host 会拒绝不完整的 provider/model 绑定和超出递归深度的自动触发子任务。
- Host 账本锁会记录持有进程;异常退出后,若下次启动确认锁中的 PID 已不存在,会自动回收残留锁;仍存活或无法确认的锁则继续拒绝启动。
- 任务账本默认位于 $DSH_HOME/calendar/ledger-v1.json。不要把本地账本、日志或 profile 目录提交到 Git。

开发命令

~~~sh
pnpm typecheck
pnpm test
pnpm build

主要目录:

~~~text
src/core/ 纯函数领域模型与重复规则 src/host-*.ts Host 账本、路由、调度器和执行器 src/client/ 日历视图、表单和 Host transport tests/ core、Host、client 测试

更新记录

| 日期 | 内容 |
| 2026-10-01 | 将 SDK 依赖统一到 DSH 0.2.0-rc.2,并迁移设置与 Session 导航 API。 |
| 2026-09-17 | 增加异常退出后的账本残留锁自动恢复、存活进程检查和旧版锁格式兼容。 |
| 2026-09-04 | 补充 DSH 0.1.2-rc.1 的 Host 服务适配迁移说明,并同步更新安装、构建与运行边界。 |

许可证

Apache-2.0 © 2026 MAGMA27,详见 LICENSE。
预览分享卡片长什么样 ↓MAGMA27/dsh-calendar
分享 · DeepSeek Harness Hub
MAGMA27/dsh-calendar

在日历上安排待办并定时触发 Agent 执行

这是你的仓库?认领条目

回到顶部