DeepSeek Harness 插件:谷值自动执行的任务计划表

前言

在 DeepSeek Harness(DSH)里管理任务计划,常见做法是在会话列表中记录或用脚本批量执行。这种方式难以看到任务排队、实时用量和结果汇总,也无法利用峰谷价差降低成本。

nwasvsad/dsh-task-plan 插件在 DSH 的「任务计划」页面提供一张任务计划表,支持将任务写入、按谷值时段自动并发执行,并记录每条任务的 token、费用、耗时与结果。插件不注册模型侧工具,空闲时不增加请求 token,可与 dsh-task-digest 分离安装、启停。

插件定位

  • 插件名称:dsh-task-plan
  • 维护者:nwasvsad
  • 分类:工作流
  • 核心价值:把待执行任务变成可排期、可监控的会话队列,利用谷值时段自动并发执行,并在任务表里查看实时用量与结果。

核心功能

任务计划表

  • 每个任务包含标题、说明、类型、工作目录、启用开关等字段。
  • 计划数据持久化到本地 JSON,重启不丢失。
  • 支持新建、修改(运行中仅允许改标题)、删除任务。

谷值自动执行

  • 默认北京时间 18:00 执行当天所有 pending 任务。
  • 若配置时刻落在峰时且 offPeakOnly=true,自动顺延到下一个谷值起点(12:00 或 18:00)。
  • 周末/节假日不调整。
  • 峰时与计费口径与 dsh-token-cost、dsh-task-digest 保持一致:
  • 峰时 = 周一至周五(排除 holidays 配置的法定节假日)09:00–12:00、14:00–18:00;其余为谷值。
  • 价格(元 / 百万 token,缓存命中 / 未命中 / 输出):
    • deepseek-flash:谷 0.02 / 1 / 4,峰 0.04 / 2 / 8
    • deepseek-v4-pro:谷 0.15 / 4.5 / 13.5,峰 0.3 / 9 / 27

并发与费用可见

  • 每个任务对应一个独立 Session,默认并发 2,可配置 1–8。
  • 单个任务失败/超时不影响其他任务。
  • 任务完成后,按峰/谷单价估算 token 金额,显示在任务表和结果摘要中。
  • 金额为按公开单价估算,非账单;官方调价时需修改 lib/tier.js 的 RATE_TABLE。

零常驻 token

  • 不注册任何模型侧工具、skill 或 prompt 片段。
  • 空闲时不增加请求 token。

可恢复

  • Host 重启时,将上次 queued/running 的任务标记为 interrupted 并补一条记录,不自动重跑,可在页面手动重试。

安装与启用

本包是标准 DSH 组合包(dsh.bundle.patch + cordis.patch.yml),可直接从 GitHub 安装。

# 推荐固定 commit,避免后续推送改变实际运行内容
dsh plugin --profile web add github:nwasvsad/dsh-task-plan#<commit>

也可以使用插件市场索引(Discover → Index sources):

https://nwasvsad.github.io/dsh-plugin-market/index.json

安装后默认使用 $DSH_HOME/task-plan,可在 profile 的 cordis.patch.yml 里按需覆盖配置。

配置

键 默认 说明
enabled true false 时 Host 不调度、页面显示禁用
dataDir $DSH_HOME/task-plan plan.json 根目录
defaultCwd process.cwd() 任务未写 cwd 时的工作目录
agentPreset 部署默认 任务 Session 的 preset;默认不传
runAt '18:00' 每日自动执行时刻(北京时间)
offPeakOnly true 峰时顺延到下一个谷值起点
autoRunEnabled true 关闭后只允许手动执行
holidays [] 全天谷值的 YYYY-MM-DD
concurrency 2 1–8
maxTasksPerRun 20 单次 run 上限,其余留到下一次/手动
taskTimeoutMs 1800000 单任务超时(30 分钟)
startTimeoutMs 15000 等待 Agent 进入 running 的上限
pollIntervalMs 500 Agent 状态轮询
currency '¥' 金额前缀

非法值会回落到默认值并记日志。

典型用法

安装完成后,刷新 http://127.0.0.1:3080,左侧栏会出现「任务计划」图标。

  1. 打开「任务计划」页面,新建任务:
    - 标题:如「每周数据清洗」
    - 说明:描述任务目的
    - 类型:选择对应类型
    - 工作目录:如 /workspace/data
    - 启用开关:打开

  2. 在任意会话里点击左侧「任务计划」图标,可切回看板,查看排队/运行/完成状态、耗时、token、金额与结果摘要。

  3. 点「打开会话」直接跳到对应 Session,查看实时对话、工具调用与输出;会话头部的 token-cost 徽标显示实时用量。

  4. 当天任务执行完毕后,若需要日报,可安装独立插件 dsh-task-digest。

适用场景与注意

  • Host 必须常开:本插件不依赖 OS 计划任务;Host 停机则当天不执行,pending 留到下一次。
  • 权限审批:任务 Session 继承部署的 sandbox/approval 策略;需要人工审批的操作会挂起到超时。建议把自动任务写成无需审批的工作区操作。
  • 一个任务 = 一个 Session:已完成任务不会每天自动重复;需要重复的任务请手动重试或每天新增(暂不做 recurrence)。
  • 标题即会话名:Host 会 best-effort rename,失败时退回首条 prompt 自动标题。
  • 卸载影响:卸载本插件不会删除历史 Session 或 plan.json;日报不受影响。

生态背景

DSH 理念是「一切皆插件」,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

参考资料

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

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

Xiaoye