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

潮汐暂停 wobenshiwomu/dsh-tide

DeepSeek Harness
wobenshiwomu23 天前有提交已提供中文文档扫描:未发现敏感能力

峰时提醒暂停,余额不足自动收尾并唤醒续跑

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

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

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

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    src/index.mjs:247
    const fetchFn = deps.fetch ?? ((...args) => fetch(...args))
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 峰时提醒
  • 余额不足自动停机
  • 看门狗唤醒续跑

DeepSeek Harness 插件:看时机的优雅暂停 —— 峰时提醒(15 秒窗口)、余额不足优雅降级停机、看门狗自动唤醒续跑。人机双交接,日志全留痕 | Graceful pause on timing for DSH

README

由 DeepSeek 最新模型翻译生成
dsh-tide DeepSeek Harness 插件:看时机的优雅暂停(Graceful Pause on Timing)。 退潮时暂停,涨潮时回来 —— 在「时机不对」的时刻,让智能体优雅地把项目停在安全点、留下可继承的交接,而不是硬停或继续烧钱。 两条链路(同一套骨架:暂停 → 双交接 → 条件唤醒) Part 1 · 峰时提醒(温和事件:给你选择权) - 谷→峰切换(「梁文谷」转「梁文峰」)时,向最近活跃的会话注入一条用户可见提醒:「在 15 秒内回复『暂停』可优雅收尾(先留交接,等便宜时段再继续);不回复则照常推进。」 - 回复「暂停」→ 进入收尾:模型写两份交接(人一份 + 模型一份)→ 调用 submit_pause_handoff 落盘 → 会话进入「已暂停」。 - 超时默认继续:有些项目「宁愿多花钱、不能停」——15 秒是「抓在场的人」的窗口,不是等你做决定的窗口。设计上这是「同意机制」,不是「省钱强制」。 - Never Ask 模式下静默跳过(不打扰)。 Part 2 · 余额降级(危险事件:强制处理) - 余额 ≤ lowBalanceCNY → 向活跃会话注入降级收尾指令(不需要用户同意),模型写双交接后停下。
展开完整文档(README 剩余 1 节)
dsh-tide

DeepSeek Harness 插件:看时机的优雅暂停(Graceful Pause on Timing)。
退潮时暂停,涨潮时回来 —— 在「时机不对」的时刻,让智能体优雅地把项目停在安全点、留下可继承的交接,而不是硬停或继续烧钱。

两条链路(同一套骨架:暂停 → 双交接 → 条件唤醒)

Part 1 · 峰时提醒(温和事件:给你选择权)
- 谷→峰切换(「梁文谷」转「梁文峰」)时,向最近活跃的会话注入一条用户可见提醒:「在 15 秒内回复『暂停』可优雅收尾(先留交接,等便宜时段再继续);不回复则照常推进。」
- 回复「暂停」→ 进入收尾:模型写两份交接(人一份 + 模型一份)→ 调用 submit_pause_handoff 落盘 → 会话进入「已暂停」。
- 超时默认继续:有些项目「宁愿多花钱、不能停」——15 秒是「抓在场的人」的窗口,不是等你做决定的窗口。设计上这是「同意机制」,不是「省钱强制」。
- Never Ask 模式下静默跳过(不打扰)。

Part 2 · 余额降级(危险事件:强制处理)
- 余额 ≤ lowBalanceCNY → 向活跃会话注入降级收尾指令(不需要用户同意),模型写双交接后停下。
- 看门狗:暂停后按 watchdogSeconds(默认 15 分钟)轮询余额;恢复到 resumeBalanceCNY 以上 → 自动唤醒模型继续任务(模型交接原文随唤醒消息注入)。
- 未达恢复线则保持暂停,不重复打扰。

工作机制(全部使用公开 API,已在本机 DSH 源码逐项验证)

| 环节 | 机制 |
| 时间驱动 | 宿主 setInterval tick(默认 10s);峰谷为北京时间周一至五 09:00–12:00、14:00–18:00(peakWindows 可覆盖,支持 leadMinutes 提前量) |
| 注入提醒/审计 | session.append('user/message', msg, { surfaceOp: 'append' }) —— surfaceOp 在回合外上下文是必须的(surface 契约),审计元数据在 source.tide 字段 |
| 唤醒模型 | ctx.sessionController.resolveAgent(sid) → agent.followup(message) → ctx.sessions.flush()(与 dsh-schedule 同款用法) |
| 收尾产物 | submit_pause_handoff 工具:human 交接写工作目录 TIDE-PAUSED-handoff.md(+归档),model 交接写 $DSH_HOME/storages/dsh-tide/handoffs/<会话>.md 并随唤醒注入 |
| 余额 | 官方 GET {baseUrl}/user/balance(Bearer,key 走 ctx.credentials → 环境变量兜底),免费不耗额度 |
| 状态 | 内存状态机 + 落盘 state.json(暂停项跨重启);问询窗口/暂停标记可从会话日志重建(跨进程可用) |

安装

GitHub 直装(推荐,国内网络可直连,无需 npm 账号):

dsh plugin --profile web add 'https://codeload.github.com/wobenshiwomu/dsh-tide/tar.gz/v0.1.0'

或在图形界面:侧栏「插件」→ 添加插件 → 填上面这条 URL。装完重启 DSH 生效。
URL 末段的 v0.1.0 是版本标签;升级时换成本仓库的新版本标签重装即可。

本地/开发安装(本机路径):

dsh plugin --profile web add /path/to/dsh-tide

配置(profile 用户层 cordis.patch.yml,覆盖构建默认):

- id: dsh-tide
config:
lowBalanceCNY: 1 # 低余额触发线(元) resumeBalanceCNY: 3 # 余额恢复线(元,须大于触发线)
peakWindows: ['1-5 09:00-12:00', '1-5 14:00-18:00']
leadMinutes: 0 # 峰时提醒提前量(分钟) askTimeoutSeconds: 15 # 提醒时效 watchdogSeconds: 900 # 看门狗轮询间隔

⚠️ 触发线必须小于恢复线(low < resume);相等或倒置会形成「唤醒后立刻再暂停」循环,启动时会打印配置提醒。

配置项(全量)

| 键 | 默认 | 说明 |
| askEnabled | true | 峰时提醒总开关 |
| peakWindows | 周一至五 09:00–12:00 / 14:00–18:00 | 峰段(北京时间),格式 "<0-6/*> <HH:MM>-<HH:MM>" |
| leadMinutes | 0 | 峰时提醒提前量 |
| askTimeoutSeconds | 15 | 提醒中承诺的回复窗口 |
| askValidMinutes | 10 | 窗口后仍有效的答复时限(超过视为继续) |
| guardWhileWrapping | true | 收尾期间拦下「开新战线」工具(denyPattern) |
| denyPattern | job_\|create_goal\|update_goal\|todo_write\|send_message\|subagent\|workflow\|ralph | 收尾期拦截正则 |
| activeWindowMinutes | 720 | 只提醒最近活跃过的会话 |
| balanceEnabled | true | 余额降级总开关 |
| lowBalanceCNY | 5 | 低余额触发线(≤ 即触发) |
| resumeBalanceCNY | 20 | 恢复线(> 即唤醒) |
| balancePollSeconds | 60 | 常规余额轮询间隔 |
| watchdogSeconds | 900 | 暂停后的看门狗间隔 |
| balanceBaseUrl | https://api.deepseek.com | 余额接口 base |
| apiKeyRef | DEEPSEEK_API_KEY | 凭据服务引用名 |
| tickSeconds | 10 | 宿主 tick 间隔 |
| storageDir | $DSH_HOME/storages/dsh-tide | 状态与模型交接目录 |
| debugSeedSessions | [] | 调试:预置为"已追踪"的会话 ID |

审计(都在会话日志里,source.tide 字段)

subtype: ask(峰时提醒)· consent(用户同意)· decline(继续)· expired(过期)· wrap(收尾指令)· paused(已暂停,含双交接路径)· woken(看门狗唤醒)· resumed(手动恢复)。

已知边界

- 节假日不建模:官方峰段不含法定节假日;本插件按"周一至五"计算(节假日白天会按峰处理,偏差方向保守——最多多提醒一次)。
- resolveAgent 会接管会话:提醒送到哪个会话,该会话的写句柄就属于当前实例;多实例(web + headless 同时)共用同一会话时会出现锁冲突——单实例使用无影响。
- 不采用原生 ask_user_question:其 timed 模式非宿主默认,且设置项所在的嵌套行无法被用户层 patch 覆盖(实测);本插件的非阻塞提醒方案不依赖任何 ask 模式, headless 环境行为一致。
- 收尾质量取决于模型;submit_pause_handoff 是兜底(未调用则不会标记"已暂停")。
- 与 dsh-calm 架构同源(pre-step 注入 + 工具闸门),可共存。

测试

npm install # 首次:安装测试所需的宿主依赖
npm test # 仿真测试:89 项断言(时钟/窗口/同意/双交接/看门狗/跨重启/跨进程)

e2e/ 目录留有真实环境 E2E 用过的配置样例(含 mock 余额服务器脚本)供参考。
预览分享卡片长什么样 ↓wobenshiwomu/dsh-tide
分享 · DeepSeek Harness Hub
wobenshiwomu/dsh-tide

峰时提醒暂停,余额不足自动收尾并唤醒续跑

回到顶部