把任务排进低谷时段,无人值守自动跑完并交回报告
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SarahLombardo/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
- · SarahLombardo
- · 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。
一台常开的服务器。 你有台机器 24 小时跑着 dsh。切到 L3 全自动,然后从任何地方通过 API(POST /ds-lowtide/tasks)提交任务。它按计划执行,写好报告。没人盯着,但沙箱、每日预算、文件锁一样都在。
给客户的交付物。 用审查策略:跑一次,然后自动开一个独立会话,按你选定的重点把结果拆开揉碎(比如「专找数据源错误」)。第二天早上你拿到的不是光秃秃的结果——是结果加一份批判性审查。
人在国外。 你在旧金山;DeepSeek 的高峰是北京时间,对你来说落在傍晚和上半夜。设置会把官方时段换算成你的本地时间,一键采用。你按自己的作息划窗口,账本始终跟官方表对齐。
lowtide 怎么运作
① 收件 ② 裁定 ③ 执行 ④ 验收你有空的时候: 队列坞按工作区 错峰窗口打开时: 你回来时:从拦截卡片一键提交, 分组任务;逐行 → 五道预检门通过, → 打开报告——或提工单(4 种策略) 分诊: 然后沙箱运行 结果 + diff ✓批准 ⏸推迟 每个窗口一批 + 实际花费 ✕丢弃 / 全部批准 + 省下的钱
任务的一生: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」,你还要挑工作区和具体对话——任务会带着那段对话的上下文继续跑。
我的建议:一个项目一个工作区,别混。 preflight 里的 git 快照和文件锁都按工作区划分;把多个项目塞进同一个工作区,只会把自己绕晕。
四种策略,以及各自的使用时机
| 策略 | 做什么 | 什么时候用 | 成本 |
| Single | 跑一遍,完事 | 简单、定义明确的任务 | 1× |
| Iterative | 在一个会话里跑 2–5 轮,每轮都按你的「iteration lens」改进上一轮;两轮结果足够像就提前停 | 需要打磨的活:写作、方案、代码 | ~N× |
| Sampling | 2–5 个隔离会话各自产出一份完整候选,并排展示并附上成本——你来挑;机器不做审美判断 | 标题、点子、设计:你要的是选项,不是答案 | ~N× |
| Review | 跑完之后,另起一个独立会话,按你的「review focus」把结果拆开审视,并写出发现 | 重要交付物,发布前再过一遍 | ~2× |
三档自主级别
- L1 per-task:每个任务都要你单独点 ✓。早期用,或者仓库很金贵时用。
- L2 batch(默认):任务排队等审核;批次开始前 30 分钟出现一张 gate card,一次性放行全部;不放行就不跑。日常主力。
- L3 full-auto:提交的任务立刻排队,在沙箱里错峰运行,零确认(切换时会问两次)。为常驻服务器而生。
单个任务可以在工单弹窗里覆盖全局级别。
架构:你不在的时候它怎么跑
让智能体在你睡觉时跑批处理任务,是个不小的要求。底下有四层撑着,才让它安全。
Cordis 微内核。 dsh 跑在 Cordis 微内核插件生态上:每项能力都是插件,插件之间靠服务注入通信,而不是直接依赖。lowtide 的 host 半边就是一组规规矩矩的 Cordis 服务——路由、调度器、状态机——各干各的活,注册进内核,随 harness 启动,卸载时干干净净。说白了:它不是贴在 dsh 上的一层皮,而是长在内核里的一个器官。
两张脸,一份产物。 host 半边(Node.js)管调度、执行和账本;浏览器半边(React)管每一个像素。一次构建同时产出两者——而且 dsh Desktop 的 GUI 本身就是网页渲染的,所以桌面端和 Web 端不需要分开维护分支。同样的字节,同样的行为。
平台无关的内核。 lowtide-core 装着窗口模型、价格表、计费公式、队列摘要、账本,以及批量窗口的计算——全是纯函数,不碰任何 dsh API,单独打包,自带测试。实际好处:内核已经被 44 个纯函数单元测试反复捶打过,哪天你想把 lowtide 移植到别的智能体框架,这个包可以原封不动地拎出来。
纵深防御。 五道预检闸门(工作区还在不在、git HEAD 有没有动、锁定文件的 sha256 对不对得上、窗口放不放得下、预算还剩不剩)——任何一道没过,任务就标记为过期或延后,绝不盲跑。三套沙箱预设,审批一律设为 never——无人值守就意味着没人点「允许」,所以能做什么在开跑之前就定好了。状态文件原子写入,损坏时回滚到备份。HTTP 路由只接受来自本机的同源请求。
状态同步走 SSE,带 4 秒轮询兜底——队列动,UI 跟着动。
安装
一行安装(预构建): 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
SarahLombardo/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
这是你的仓库?认领条目