把任务排进队列,低谷时段自动跑完并交报告
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add omareriksson018/dsh-lowtide该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 18 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/11/3) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 取源不可用(Error: github tarball HTTP 404 @ https:
- · api.github.com
- · repos
- · omareriksson018
- · dsh-lowtide
- · tarball)
扫描于 2026/11/4(0 天前)
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
为 DeepSeek Harness(dsh)做错峰任务委派:闲时规划任务,到非高峰时段无人值守自动跑,回来只看报告。人工裁决,支持桌面端和网页端。
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 是低谷价),然后自己跑起来。第二天早上打开报告:做得好的留下,不行的打回去。
就这么点东西。可用上一周,你的工作节奏真的会慢下来——别忘了,「时间就是金钱,效率就是生命」……
几个关键能力:
- 四种执行策略:single、iterative、sampling、review——从「跑一遍就够」到「跑五个候选我来挑」
- 168 个单元测试 + 10 个端到端用例,CI 在 ubuntu / windows × node 22 / 24 上全绿
- 一份构建产物同时服务桌面端和 Web 端——装一次,两边都能用
- 低谷时段执行,正好落在 DeepSeek 的谷时:同一批任务的花费大约是高峰时的一半
用智能体过普通的一天,可能是这样……
下班前十分钟。 你刚审完代码,顺手给明天记了三张单子:一个重构(iterative,3 轮)、一份周报(single)、一个你还没拿准的设计(sampling,4 个候选)。全部放行,关机,走人。第二天坐到工位,晨报上写着:重构做完了,周报起草好了,四份候选设计并排摆着,每份的花费都标了出来。
周五晚上。 一口气把一周的杂活排进队列:清理依赖、补测试、数据脚本。周末全天都是谷价。你出门,它在家干活。周一你看报告——失败的重试,做得好的合并。
上午 10 点的灵光一闪。 你正跟智能体聊一个紧急 bug,忽然想到「对了,文档也顺手更新一下」。拦截卡片弹出来:现在跑是高峰价,今晚大约半价——差价写得清清楚楚。点「排到低谷时段」;你的草稿原封不动,你回去继续查 bug。
一台常开的服务器。 你有台机器 7×24 跑着 dsh。切到 L3 全自动,然后从任何地方通过 API(POST /ds-lowtide/tasks)提交任务。它按计划跑,跑完写好报告。没人盯着,但沙箱、每日预算、文件锁一样都在。
给客户的交付物。 用 review 策略:跑一次,然后自动开一个独立会话,按你选定的重点把结果拆开揉碎(比如「专找数据源错误」)。第二天早上你拿到的不是干巴巴的结果——是结果加一份批判性评审。
人在国外。 你在旧金山;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(会话所在的位置——最常见的情况)、列表里已有的 workspace(每一项都显示绝对路径,你随时知道是哪个项目)、或者 Custom path…(手动输入)。如果会话模式选了「Continue previous」,你还要挑 workspace 和具体的对话——任务会带着那段对话的上下文继续。
我的建议:一个项目一个 workspace——别混。 preflight 里的 git 快照和文件锁都按 workspace 划分;把多个项目混进同一个 workspace,很容易把自己绕晕。
四种策略,以及各自的使用时机
| 策略 | 做什么 | 什么时候用 | 成本 |
| Single | 跑一遍,结束 | 简单、定义清晰的任务 | 1× |
| Iterative | 在一个会话里跑 2–5 轮,每轮通过你的「iteration lens」改进上一轮;两轮结果足够像就提前停 | 需要打磨的活儿:写作、方案、代码 | ~N× |
| Sampling | 2–5 个隔离会话各自产出一份完整候选,并排展示并附上成本——你来挑;机器不做审美判断 | 标题、点子、设计:你要的是选项,不是答案 | ~N× |
| Review | 跑完之后,一个独立会话通过你的「review focus」把结果拆开审视,并写出发现 | 重要交付物,发布前再过一遍 | ~2× |
三档自主级别
- L1 逐任务:每个任务都要你单独点 ✓。早期用,或者仓库很金贵时用。
- L2 批量(默认):任务在 review 里等着;批次开始前 30 分钟出现一张 gate card,一次性放行全部;不放行就不跑。日常主力。
- L3 全自动:提交的任务立刻排队,在沙箱里于低峰时段运行,零确认(切换时会问两次)。为常驻服务器而生。
单个任务可以在工单弹窗里覆盖全局级别。
架构:你不在的时候它怎么跑
让智能体在你睡觉时跑批量任务,是个不小的要求。底下有四层保证安全。
Cordis 微内核。 dsh 跑在 Cordis 微内核插件生态上:每项能力都是插件,插件之间通过服务注入通信,而不是直接依赖。lowtide 的 host 半边是一组规规矩矩的 Cordis 服务——路由、调度器、状态机——各司其职,注册进内核,随 harness 启动,卸载干净。说白了:它不是贴在 dsh 上的一层皮,而是长在内核里的一个器官。
两张脸,一份产物。 host 半边(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 之后:你应该能在会话头部看到价格胶囊,在输入区旁边看到队列停靠栏。如果没有,看看下面的 FAQ。
日常使用
三种提交任务的方式。 拦截卡片(在高峰时段输入,一键点击,草稿原样变成工单);工单弹窗(输入区旁边的「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 增量推送(客户端回退到 4 秒轮询) |
| 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 | 只读 | 从不 |
| lt-standard | 工作区可写 | 从不 |
| lt-trusted | 完全访问(危险) | 从不 |
录入界面不提供选择——所有任务都在 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 全自动会询问两次。
- 状态文件保存完整任务提示词和路径;备份时请相应处理。
- 通过 [ 私下报告漏洞预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
omareriksson018/dsh-lowtide
把任务排进队列,低谷时段自动跑完并交报告
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,826已汉化DSH
72.2
花束设计alchaincyf/huashu-design
一句话生成网页、原型、PPT 与信息图等可交付设计
★ 28,638已汉化DSH
71.7
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
这是你的仓库?认领条目