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

低谷任务队列 GeorgeCooper72/dsh-lowtide

DeepSeek Harness
GeorgeCooper7218 天前有提交已提供中文文档扫描:无法判定

把任务排进队列,低谷时段自动运行并生成报告

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add GeorgeCooper72/dsh-lowtide
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · tool
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 18 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/11/3) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · GeorgeCooper72
  • · dsh-lowtide
  • · tarball)
扫描于 2026/11/3(1 天前)

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-lowtide 忙的时候把任务排进队列,便宜的时候它们自己跑。 半自动或全自动,避开模型的高峰时段和高峰价格。DeepSeek Harness 必备插件。 hero 三个任务在队列里等待,价格状态在会话头部亮着,你的时段一到就自动运行 简介 lowtide 是 DeepSeek Harness (dsh) 的插件。它解决的问题很朴素,也很自然: 平时想让智能体干点活,你得坐在电脑前,给智能体发指令,等回复,再人工审一遍。可这套流程似乎忘了:你有大把空闲时间,也有机会躲开某些模型的高峰/低谷定价。 装上 lowtide,一天是这样过的:白天想到什么活,就丢进队列,扫一眼,放行。任务攒到你设定的时间(比如晚上 7 点以后——那是 DeepSeek 的低谷价时段),然后自己跑起来。第二天早上打开报告:干得好的留下,干得不好的打回。 就这么点事。可用上一周,你的工作节奏真的会慢下来——别忘了,「时间就是金钱,效率就是生命」……
展开完整文档(README 剩余 1 节)
dsh-lowtide

忙的时候把任务排进队列,便宜的时候它们自己跑。

半自动或全自动,避开模型的高峰时段和高峰价格。DeepSeek Harness 必备插件。

hero

三个任务在队列里等待,价格状态在会话头部亮着,你的时段一到就自动运行

简介

lowtide 是 DeepSeek Harness (dsh) 的插件。它解决的问题很朴素,也很自然:

平时想让智能体干点活,你得坐在电脑前,给智能体发指令,等回复,再人工审一遍。可这套流程似乎忘了:你有大把空闲时间,也有机会躲开某些模型的高峰/低谷定价。

装上 lowtide,一天是这样过的:白天想到什么活,就丢进队列,扫一眼,放行。任务攒到你设定的时间(比如晚上 7 点以后——那是 DeepSeek 的低谷价时段),然后自己跑起来。第二天早上打开报告:干得好的留下,干得不好的打回。

就这么点事。可用上一周,你的工作节奏真的会慢下来——别忘了,「时间就是金钱,效率就是生命」……

几项关键能力:

- 四种执行策略:单次、迭代、采样、评审——从「跑一遍就够」到「跑五个候选我来挑」
- 168 个单元测试 + 10 个端到端用例,CI 在 ubuntu / windows × node 22 / 24 上全绿
- 一份构建产物同时服务桌面端和 Web 端——装一次,两边都能用
- 低谷执行落在 DeepSeek 的低谷时段:同一批任务的花费约为高峰时的一半

和智能体共度的一天,大概是这样……

下班前十分钟。 代码审完了,给明天立三张单:一个重构(迭代,3 轮)、一份周报(单次)、一个拿不准的设计(采样,4 个候选)。全部放行,关机,走人。第二天坐到工位,晨报写着:重构做完了,周报起草好了,四个候选设计并排摆着,每个都标了花费。

周五晚上。 一口气把一周的杂活排进队列:依赖清理、补测试、数据脚本。周末全天都是低谷价。你出门,它在家干活。周一查报告——失败的重新跑,好的合并。
上午 10 点,灵光一闪。 你正和智能体讨论一个紧急 bug,忽然想到「对了,文档也要更新」。拦截卡片弹出来:现在跑是高峰价,今晚大约半价——差价写得明明白白。点「排队到低谷时段」;草稿原样保留,你回去继续查 bug。

一台常开的服务器。 你有台机器 7×24 跑着 dsh。切到 L3 全自动,然后从任何地方通过 API(POST /ds-lowtide/tasks)提交任务。它按计划执行,写好报告。没人盯着,但沙箱、每日预算、文件锁都还在。

给客户的交付物。 用审查策略:跑一次,然后自动开一个独立会话,按你选的重点把结果拆开审视(比如「专挑数据源错误」)。第二天早上你拿到的不是光秃秃的结果——而是结果加一份批判性审查。

人在国外。 你在旧金山;DeepSeek 的高峰是北京时间,对你来说落在前一天的傍晚和夜里。设置会把官方时段换算成你的本地时钟,一键采用。你按自己的作息设窗口,账目始终和官方表对齐。

lowtide 怎么运作

① Intake ② Adjudicate ③ Execute ④ Accept
Whenever you have The queue dock When the off-peak When you're back:
a moment: one-click groups tasks by window opens: five open the report — from the intercept workspace; triage preflight gates pass, results + diff card, or file a → line by line: → then sandboxed runs → + actual spend
ticket (4 strategies) ✓approve ⏸defer one batch per window + money saved
✕drop / approve-all

任务的一生:pending-review → queued → preflight → running → done / failed / stale / timeout,外加 deferred(推迟)和 dropped(软删除,可恢复)。

第二步是 lowtide 和「全自动脚本」的分水岭:每个任务都必须经你的手放行才能跑(L2 里你在窗口前 30 分钟一次性放行整批)。机器不能自己挪进运行队列。执行自动化,决策不自动化。正因如此,你才能安心缺席。

lowtide 界面导览

新建任务弹窗。 四种策略并排,每种都配一句大白话提示;轮次、优先级、运行模式随任务一起设——不用跑回设置页。任务落地即「待审查」。不经过你,什么都进不了队列。

new-task-modal
高级选项。 模型、推理强度、优先级 0 到 9、新会话还是接续上一个会话,以及锁定文件列表——全在一个小面板里。简单说说锁定文件:列表上的任何文件在执行前都会做 sha256 校验,一旦对不上你登记的内容,任务就作废,拒绝运行。否则你排队时盯着的那个文件,可能在等待期间被另一个任务改写,而这个任务会盲目地把它覆盖掉。

advanced-options

任选模型。 批量运行默认用官方 deepseek-flash(DeepSeek-V4.1-Flash;已退役的 deepseek-v4-flash 这个名字仍然路由到那里,按 Flash 价格计费),但每个任务可以自己选模型——凡是接入你 Harness 的都在下拉列表里,按服务商分组。私有服务商也能用。非官方模型没有公开价目表,所以账本会如实写「价格未知」;想让记账精确,就在设置里加一个价格覆盖。

model-picker

窗口编辑器。 多时段、跨夜、按星期几——都没问题。下面是一条实时的 24 小时价格带:红色是高峰,绿色是低谷,还有一个标记显示你现在的位置。不在 UTC+8 时区,点一下「采用官方高峰时段」,就把北京时间换算成你本地的时钟。

window-editor

设置页。 窗口时段、每批任务数、单任务时长上限、并发数、每日预算、报告历史、自主级别、价格覆盖——全是图形界面,不用配置文件。官方定价规则(包括新增的全周末低谷)也在同一页上用大白话讲清楚。

settings

日常使用中还会出现三块 UI:价格胶囊(会话头部——忙碌/空闲、队列长度;点它编辑窗口)、高峰拦截卡片(高峰时段输入时弹出,把差价讲明白,你的草稿还在)、以及执行报告(早间简报:先讲省了多少,异常置顶,候选等你挑选,一键复制 Markdown)。

关于 lowtide 工作区

每个任务都在一个工作区里运行。那一个下拉框决定三件事。

它能碰哪些文件。 任务在沙箱里运行,边界就是工作区目录。选错了,轻则找不到文件,重则改了不该改的东西。

它和谁排队。 同一工作区的任务串行执行(两个任务永远不会抢同一个仓库);不同工作区并行执行(默认上限 3,可调)。想要吞吐量?把不相关的工作分散到不同工作区。想要顺序?就放在一个里。

报告怎么分组。 停靠栏和早间报告都按工作区组织——等你有了真实的任务量,这种分组就显出价值了。
工单弹窗里的 Workspace 下拉框有三个来源:Use current workspace(会话所在的工作区,最常见的情况)、列表里已有的工作区(每个都带绝对路径,一眼就能认出是哪个项目)、Custom path…(手动输入路径)。如果会话模式选了「Continue previous」,你还要挑工作区和具体对话——任务会带着那段对话的上下文接着跑。

我的建议:一个项目一个工作区,别混。 预检里的 git 快照和文件锁都按工作区隔离,把多个项目塞进同一个工作区,只会把自己绕晕。

四种策略,以及什么时候用哪种

| 策略 | 做什么 | 什么时候用 | 成本 |
| Single | 跑一遍,完事 | 简单、定义清楚的任务 | 1× |
| Iterative | 一个会话里跑 2–5 轮,每轮按你的「iteration lens」改进上一轮;两轮结果足够接近就提前停 | 需要打磨的活:写作、方案、代码 | ~N× |
| Sampling | 2–5 个隔离会话各产出一份完整候选,并排展示并附成本——你来挑;机器不做审美判断 | 标题、点子、设计:你要的是选项,不是答案 | ~N× |
| Review | 跑完之后,另起一个独立会话,按你的「review focus」把结果拆开审视,写成报告 | 重要交付物,发布前再过一遍 | ~2× |

三档自主级别

- L1 逐任务:每个任务都要你单独点 ✓。早期用,或者仓库很金贵时用。
- L2 批量(默认):任务在待审区排队;批次开始前 30 分钟弹出闸门卡片,一次性放行全部任务;不放行就不跑。日常主力。
- L3 全自动:提交的任务立刻排队,在沙箱里错峰运行,零确认(切换时要确认两次)。为常开服务器准备。

单个任务可以在工单弹窗里覆盖全局级别。

架构:你不在的时候它怎么跑

让智能体在你睡觉时跑批处理任务,要求不低。底下四层保证它安全。

Cordis 微内核。 dsh 跑在 Cordis 微内核插件生态上:每项能力都是插件,插件之间靠服务注入通信,而不是直接依赖。lowtide 的宿主端是一组规规矩矩的 Cordis 服务——路由、调度器、状态机——各司其职,注册进内核,随 harness 启动,卸载干净。说白了:它不是钉在 dsh 上的一层皮,而是长在内核里的器官。

两张脸,一份产物。 宿主端(Node.js)管调度、执行和账本;浏览器端(React)管每一个像素。一次构建同时产出两边——而且 dsh Desktop 的 GUI 本身就是 web 渲染的,所以桌面端和 web 端不需要单独分支。同样的字节,同样的行为。
平台无关的核心。 lowtide-core 承载窗口模型、价格表、计费公式、队列摘要、账本和批量窗口计算——全是纯函数,不碰任何 dsh API,单独打包、单独测试。实际收益:核心已经过 44 个纯函数单元测试反复捶打;哪天你把 lowtide 移植到别的智能体框架,这个包可以原样拎出来用。

纵深防御。 五道预检门(工作区还在不在、git HEAD 有没有动、锁定文件的 sha256 对不对得上、窗口放不放得下、预算还剩不剩)——任何一道没过,任务就置为过期或延后,绝不盲跑。三套沙箱预设,审批一律设为 never——无人值守意味着没人点「允许」,所以放行什么在开跑之前就定好。状态文件原子写入,损坏时回滚到备份。HTTP 路由只接受本机的同源请求。

状态同步走 SSE,带 4 秒轮询兜底——队列动,界面跟着动。

安装

一行安装(预构建): dsh plugin --profile web add https://github.com/KelaoHu/dsh-lowtide/releases/latest/download/dsh-lowtide.tgz——或者按下面的步骤从源码构建。

前置条件:Node ^22.19 || >=24,pnpm 11.7。所有依赖都在公共 npm registry 上——不需要私有 registry。

先装 dsh(二选一):从 DeepSeek 官方渠道下载 Desktop,或者用 npm install -g @deepseek-ai/dsh 装命令行。然后在 dsh 的设置里配好一个能用的模型(比如官方 DeepSeek API key)——lowtide 从不碰你的凭据。

兼容性(dsh-lowtide ≥ 0.2.6): dsh 命令行 ≥ 0.1.5-rc.1 或 DSH Desktop 2.0.3。浏览器那一半只使用每一代 shell 都会静态播种的模块词,所以同一份产物在两边都能启动;0.1.1 时代的命令行 shell 与桌面端共用同一张播种表,表现应当一致,但只测了上面两个目标。(0.2.2 及更早版本在命令行 0.1.5 上启动失败——见 issue #4。)0.2.6 把声明的宿主范围放宽到 >=0.1.0-rc.7 <0.2.1-0: 0.2.3–0.2.5 用的是 caret(^0.1.0-rc.7,后来是 ^0.1.5-rc.1),它的 0.x 上界够不到 0.2.0 这条线,于是 DSH 0.2.0-rc.2 的兼容性门禁拒绝安装或启动它们。

然后克隆、构建、安装:

git clone https://github.com/KelaoHu/dsh-lowtide
cd dsh-lowtide
pnpm install

Build the core layer first (the plugin's tests resolve its output)
pnpm --filter lowtide-core bundle
Then the plugin: host half + browser half in one pass
pnpm --filter dsh-lowtide bundle

Install into a profile — one artifact serves desktop and web
npx @deepseek-ai/dsh@0.1.5-rc.1 plugin --profile desktop add ./packages/dsh-lowtide # Desktop
npx @deepseek-ai/dsh@0.1.5-rc.1 plugin --profile web add ./packages/dsh-lowtide # Web

Start the dev instance (port 3080)
pnpm --filter dsh-lowtide dev
随后打开 dsh:你应该能在会话头部看到价格胶囊,在输入区旁边看到队列停靠栏。如果没有,请查看下面的常见问题。

日常使用

三种提交任务的方式。 拦截卡片(在高峰时段输入,一键提交,草稿原样变成工单);工单弹窗(输入区旁边的「New」——提示词、策略、轮数、优先级);或者 API(POST /ds-lowtide/tasks,接进你自己的自动化流程)。

队列停靠栏里的日常。 按工作区分组,分为待处理 / 已完成 / 已丢弃。每个任务都有行内操作:✓ 批准、⏸ 延后、✕ 丢弃(软删除,可恢复)。「Approve all」释放全部任务;「clear finished」保持整洁(账本不受影响);「Run now」跳过等待,立即启动一批——调试时就靠它。

时间语义。 官方高峰时段按北京时间判定(DeepSeek 按北京时间计费,账本因此对得上;周末全天都是低谷)。自定义时段和运行窗口按你的本地时间判定,支持跨夜区间和按星期几的规则。窗口结束只停止新的启动;正在运行的任务绝不会被打断。

账本。 ledger[YYYY-MM-DD] = { yuan, savedYuan }——花费与节省,按天累计。显示的价格就是计费价格:一个公式,精确到分,可审计。

配置参考

GET /ds-lowtide/config 读取;PUT 部分更新(未列出的字段会被拒绝):

| 字段 | 类型 | 默认值 | 说明 |
| autonomy | 'l1'\|'l2'\|'l3' | l2 | 自主级别;可在工单弹窗中按任务覆盖 |
| batch.window | "HH:MM-HH:MM" | 19:00-23:30 | 低谷运行窗口(本地时区);对应 batch.windows[0] |
| batch.windows | "HH:MM-HH:MM"[] | — | 多个运行窗口(1–6);每个窗口每天跑一批。缺省时使用单个 batch.window |
| batch.tz | IANA 时区 | 系统 | 运行窗口时区(留空 = 本地) |
| batch.gateLeadMin | 分钟 | 30 | 批次闸门提前量 |
| batch.maxTasksPerNight | 数字 | 10 | 每批任务数上限 |
| batch.maxDurationMin | 分钟 | 240 | 单任务时长上限(超时取消并重试一次) |
| batch.maxConcurrency | 数字 | 3 | 最大并发 1–8(工作区内串行,工作区之间并行) |
| batch.paused | 布尔 | false | 暂停自动批处理 |
| budgetDailyYuan | ¥ | 0 | 每日预算(0 = 不限) |
| windows[] | 数组 | [] | 自定义时段;为空 = 官方高峰(北京时间) |
| windows[].level | peak\|off\|custom | — | 高峰 / 低谷 / 自定义(低谷价格 × 倍数) |
| windows[].start/end | "HH:MM" | — | 本地时钟,支持跨夜 |
| windows[].days | 1..7 数组 | 每天 | ISO 星期(1 = 周一 … 7 = 周日) |
| windows[].tz | IANA 时区 | 系统 | 每个时段的时区 |
| windows[].multiplier | 数字 | 1 | 自定义时段的低谷价格倍数 |
| prices[model].{peak,off}.{input,inputCached,output} | ¥/1M | official | 价格表覆盖项 |

HTTP API

前缀 /ds-lowtide/,位于同源 + 回环信任围栏之后:

| 方法 | 路径 | 用途 |
| GET | /state | 聚合状态(价格/倒计时/队列/最新报告) |
| GET | /events | SSE 增量推送(客户端回退到 4s 轮询) |
| GET/PUT | /config | 读取/写入配置 |
| POST | /tasks | 提交工单 |
| POST | /tasks/:id/approve \| defer \| drop \| cancel \| retry \| restore \| delete \| choose-candidate | 裁决与管理 |
| POST | /tasks/approve-all | 全部批准 |
| POST | /estimate | 估算:高峰 vs 低谷 |
| POST | /batch/run-now | 立即运行批次 |
| POST | /dismiss | 今天剩余时间不再拦截 |
| GET | /health | 心跳 |

权限预设

| 预设 | 沙箱 | 审批 |
| lt-readonly | read-only | never |
| lt-standard | workspace-write | never |
| lt-trusted | danger-full-access | never |

录入界面不提供选择——所有任务都在 lt-standard 下运行;另外两个留给 API 调用方(POST /tasks 上的 permissionPreset)。不经过预检,什么都不会运行。

数据与状态

- 所有内容都持久化在 $DSH_HOME/lowtide.json(原子写入,损坏时自动回滚);设置 DSH_PROFILE 后,状态按配置档隔离。同一时间一个文件只能有一个写入者——没有配置档隔离时,不要同时运行 Desktop 和 Web。
- 每个窗口一个批次,过夜安全;空队列不会产生空报告。
- 延迟恢复:窗口开始时,预检延迟的任务自动重新入队(失败 ≥3 次后);手动延迟的任务回到待审核。

测试与 CI

pnpm --filter lowtide-core test # 44 pure-function core tests
pnpm --filter dsh-lowtide test # 124 plugin unit tests
pnpm --filter dsh-lowtide exec playwright test # e2e (needs dsh web running on :3080)

十个 e2e 规格串行运行,从双面加载冒烟测试到针对真实 API 的完整录入→裁决→运行→报告循环。仓库包含一个 GitHub Actions 工作流:每次 push / PR 都在四个环境上运行 install → build → typecheck → 完整单元测试套件。

安全

- 路由只接受回环 + 同源;不要把 3080 端口暴露到公网——用 SSH 隧道或带认证的反向代理。
- Windows 沙箱是缓解级别的;Linux/macOS 完全强制执行。无人值守使用时,叠加文件允许列表和每日预算。
- 切换到 L3 全自动会询问两次。
- 状态文件保存完整的任务提示词和路径;备份时请相应处理。
- 通过 [ 私下报告漏洞
预览分享卡片长什么样 ↓GeorgeCooper72/dsh-lowtide
分享 · DeepSeek Harness Hub
GeorgeCooper72/dsh-lowtide

把任务排进队列,低谷时段自动运行并生成报告

这是你的仓库?认领条目

回到顶部